diff --git a/cmake/Modules/Documentation.cmake b/cmake/Modules/Documentation.cmake index 282253eedee5da8262ee9f69efa349981b5361c7..6125155ad57663de4763117dcf4d2bce888ca4b2 100644 --- a/cmake/Modules/Documentation.cmake +++ b/cmake/Modules/Documentation.cmake @@ -15,75 +15,93 @@ if(BUILD_DOC) endif() set(VIRTUALENV ${Python3_EXECUTABLE} -m virtualenv -p ${Python3_EXECUTABLE}) endif() + find_package(Doxygen 1.8.10 REQUIRED) file(GLOB DOC_SOURCES ${LAMMPS_DOC_DIR}/src/[^.]*.rst) + add_custom_command( OUTPUT docenv COMMAND ${VIRTUALENV} docenv ) set(DOCENV_BINARY_DIR ${CMAKE_BINARY_DIR}/docenv/bin) + set(DOCENV_REQUIREMENTS_FILE ${LAMMPS_DOC_DIR}/utils/requirements.txt) + + set(SPHINX_CONFIG_DIR ${LAMMPS_DOC_DIR}/utils/sphinx-config) + set(SPHINX_CONFIG_FILE_TEMPLATE ${SPHINX_CONFIG_DIR}/conf.py.in) + set(SPHINX_STATIC_DIR ${SPHINX_CONFIG_DIR}/_static) + + # configuration and static files are copied to binary dir to avoid collisions with parallel builds + set(DOC_BUILD_DIR ${CMAKE_CURRENT_BINARY_DIR}/doc) + set(DOC_BUILD_CONFIG_FILE ${DOC_BUILD_DIR}/conf.py) + set(DOC_BUILD_STATIC_DIR ${DOC_BUILD_DIR}/_static) + set(DOXYGEN_BUILD_DIR ${DOC_BUILD_DIR}/doxygen) + set(DOXYGEN_XML_DIR ${DOXYGEN_BUILD_DIR}/xml) + + # copy entire configuration folder to doc build directory + # files in _static are automatically copied during sphinx-build, so no need to copy them individually + file(COPY ${SPHINX_CONFIG_DIR}/ DESTINATION ${DOC_BUILD_DIR}) + + # configure paths in conf.py, since relative paths change when file is copied + configure_file(${SPHINX_CONFIG_FILE_TEMPLATE} ${DOC_BUILD_CONFIG_FILE}) add_custom_command( - OUTPUT requirements.txt - DEPENDS docenv - COMMAND ${CMAKE_COMMAND} -E copy ${LAMMPS_DOC_DIR}/utils/requirements.txt requirements.txt + OUTPUT ${DOC_BUILD_DIR}/requirements.txt + DEPENDS docenv ${DOCENV_REQUIREMENTS_FILE} + COMMAND ${CMAKE_COMMAND} -E copy ${DOCENV_REQUIREMENTS_FILE} ${DOC_BUILD_DIR}/requirements.txt + COMMAND ${DOCENV_BINARY_DIR}/pip install --upgrade pip COMMAND ${DOCENV_BINARY_DIR}/pip install --upgrade ${LAMMPS_DOC_DIR}/utils/converters - COMMAND ${DOCENV_BINARY_DIR}/pip install --use-feature=2020-resolver -r requirements.txt --upgrade + COMMAND ${DOCENV_BINARY_DIR}/pip install --use-feature=2020-resolver -r ${DOC_BUILD_DIR}/requirements.txt --upgrade ) # download mathjax distribution and unpack to folder "mathjax" - if(NOT EXISTS ${CMAKE_CURRENT_BINARY_DIR}/mathjax/es5) + if(NOT EXISTS ${DOC_BUILD_STATIC_DIR}/mathjax/es5) file(DOWNLOAD "https://github.com/mathjax/MathJax/archive/3.0.5.tar.gz" "${CMAKE_CURRENT_BINARY_DIR}/mathjax.tar.gz" EXPECTED_MD5 5d9d3799cce77a1a95eee6be04eb68e7) execute_process(COMMAND ${CMAKE_COMMAND} -E tar xzf mathjax.tar.gz WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) file(GLOB MATHJAX_VERSION_DIR ${CMAKE_CURRENT_BINARY_DIR}/MathJax-*) - execute_process(COMMAND ${CMAKE_COMMAND} -E rename ${MATHJAX_VERSION_DIR} ${CMAKE_CURRENT_BINARY_DIR}/mathjax) + execute_process(COMMAND ${CMAKE_COMMAND} -E rename ${MATHJAX_VERSION_DIR} ${DOC_BUILD_STATIC_DIR}/mathjax) endif() - file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/html/_static/mathjax) - file(COPY ${CMAKE_CURRENT_BINARY_DIR}/mathjax/es5 DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/html/_static/mathjax/) # for increased browser compatibility - if(NOT EXISTS ${CMAKE_CURRENT_BINARY_DIR}/html/_static/polyfill.js) + if(NOT EXISTS ${DOC_BUILD_STATIC_DIR}/polyfill.js) file(DOWNLOAD "https://polyfill.io/v3/polyfill.min.js?features=es6" - "${CMAKE_CURRENT_BINARY_DIR}/html/_static/polyfill.js") + "${DOC_BUILD_STATIC_DIR}/polyfill.js") endif() - # note, this may run in parallel with other tasks, so we must not use multiple processes here + # set up doxygen and add targets to run it + file(MAKE_DIRECTORY ${DOXYGEN_BUILD_DIR}) + file(COPY ${LAMMPS_DOC_DIR}/doxygen/lammps-logo.png DESTINATION ${DOXYGEN_BUILD_DIR}/lammps-logo.png) + configure_file(${LAMMPS_DOC_DIR}/doxygen/Doxyfile.in ${DOXYGEN_BUILD_DIR}/Doxyfile) + get_target_property(LAMMPS_SOURCES lammps SOURCES) add_custom_command( - OUTPUT html - DEPENDS ${DOC_SOURCES} docenv requirements.txt - COMMAND ${DOCENV_BINARY_DIR}/sphinx-build -b html -c ${LAMMPS_DOC_DIR}/utils/sphinx-config -d ${CMAKE_BINARY_DIR}/doctrees ${LAMMPS_DOC_DIR}/src html - COMMAND ${CMAKE_COMMAND} -E create_symlink Manual.html ${CMAKE_CURRENT_BINARY_DIR}/html/index.html + OUTPUT ${DOXYGEN_XML_DIR}/index.xml + DEPENDS ${DOC_SOURCES} ${LAMMPS_SOURCES} + COMMAND Doxygen::doxygen ${DOXYGEN_BUILD_DIR}/Doxyfile WORKING_DIRECTORY ${DOXYGEN_BUILD_DIR} + COMMAND ${CMAKE_COMMAND} -E touch ${DOXYGEN_XML_DIR}/run.stamp ) - # copy selected image files to html output tree - file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/html/JPG) - set(HTML_EXTRA_IMAGES balance_nonuniform.jpg balance_rcb.jpg - balance_uniform.jpg bow_tutorial_01.png bow_tutorial_02.png - bow_tutorial_03.png bow_tutorial_04.png bow_tutorial_05.png - dump1.jpg dump2.jpg examples_mdpd.gif gran_funnel.png gran_mixer.png - hop1.jpg hop2.jpg saed_ewald_intersect.jpg saed_mesh.jpg - screenshot_atomeye.jpg screenshot_gl.jpg screenshot_pymol.jpg - screenshot_vmd.jpg sinusoid.jpg xrd_mesh.jpg) - set(HTML_IMAGE_TARGETS "") - foreach(_IMG ${HTML_EXTRA_IMAGES}) - string(PREPEND _IMG JPG/) - list(APPEND HTML_IMAGE_TARGETS "${CMAKE_CURRENT_BINARY_DIR}/html/${_IMG}") - add_custom_command( - OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/html/${_IMG} - DEPENDS ${LAMMPS_DOC_DIR}/src/${_IMG} ${CMAKE_CURRENT_BINARY_DIR}/html/JPG - COMMAND ${CMAKE_COMMAND} -E copy ${LAMMPS_DOC_DIR}/src/${_IMG} ${CMAKE_BINARY_DIR}/html/${_IMG} - ) - endforeach() + if(EXISTS ${DOXYGEN_XML_DIR}/run.stamp) + set(SPHINX_EXTRA_OPTS "-E") + else() + set(SPHINX_EXTRA_OPTS "") + endif() + add_custom_command( + OUTPUT html + DEPENDS ${DOC_SOURCES} docenv ${DOC_BUILD_DIR}/requirements.txt ${DOXYGEN_XML_DIR}/index.xml ${BUILD_DOC_CONFIG_FILE} + COMMAND ${DOCENV_BINARY_DIR}/sphinx-build ${SPHINX_EXTRA_OPTS} -b html -c ${DOC_BUILD_DIR} -d ${DOC_BUILD_DIR}/doctrees ${LAMMPS_DOC_DIR}/src ${DOC_BUILD_DIR}/html + COMMAND ${CMAKE_COMMAND} -E create_symlink Manual.html ${DOC_BUILD_DIR}/html/index.html + COMMAND ${CMAKE_COMMAND} -E copy_directory ${LAMMPS_DOC_DIR}/src/PDF ${DOC_BUILD_DIR}/html/PDF + COMMAND ${CMAKE_COMMAND} -E remove -f ${DOXYGEN_XML_DIR}/run.stamp + ) add_custom_target( doc ALL - DEPENDS html ${CMAKE_CURRENT_BINARY_DIR}/html/_static/mathjax/es5 ${HTML_IMAGE_TARGETS} + DEPENDS html ${DOC_BUILD_STATIC_DIR}/mathjax/es5 SOURCES ${LAMMPS_DOC_DIR}/utils/requirements.txt ${DOC_SOURCES} ) - install(DIRECTORY ${CMAKE_BINARY_DIR}/html DESTINATION ${CMAKE_INSTALL_DOCDIR}) + install(DIRECTORY ${DOC_BUILD_DIR}/html DESTINATION ${CMAKE_INSTALL_DOCDIR}) endif() diff --git a/cmake/Modules/Packages/GPU.cmake b/cmake/Modules/Packages/GPU.cmake index 04c320226a654fd832043700abe835cc3cab19ad..ac2c975da3a2c125c0a3104932c8997e207b672f 100644 --- a/cmake/Modules/Packages/GPU.cmake +++ b/cmake/Modules/Packages/GPU.cmake @@ -75,7 +75,7 @@ if(GPU_API STREQUAL "CUDA") endif() # Kepler (GPU Arch 3.5) is supported by CUDA 5 to CUDA 11 if((CUDA_VERSION VERSION_GREATER_EQUAL "5.0") AND (CUDA_VERSION VERSION_LESS "12.0")) - string(APPEND GPU_CUDA_GENCODE " -gencode arch=compute_30,code=[sm_30,compute_30] -gencode arch=compute_35,code=[sm_35,compute_35]") + string(APPEND GPU_CUDA_GENCODE " -gencode arch=compute_35,code=[sm_35,compute_35]") endif() # Maxwell (GPU Arch 5.x) is supported by CUDA 6 and later if(CUDA_VERSION VERSION_GREATER_EQUAL "6.0") diff --git a/cmake/Modules/Packages/KOKKOS.cmake b/cmake/Modules/Packages/KOKKOS.cmake index 620f1c65c62e92be331b356b6e2c1ad880d1707a..bb27a56e2da5f76967342dcad9081563bb0f013f 100644 --- a/cmake/Modules/Packages/KOKKOS.cmake +++ b/cmake/Modules/Packages/KOKKOS.cmake @@ -35,8 +35,8 @@ if(DOWNLOAD_KOKKOS) list(APPEND KOKKOS_LIB_BUILD_ARGS "-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}") include(ExternalProject) ExternalProject_Add(kokkos_build - URL https://github.com/kokkos/kokkos/archive/3.1.01.tar.gz - URL_MD5 3ccb2100f7fc316891e7dad3bc33fa37 + URL https://github.com/kokkos/kokkos/archive/3.2.00.tar.gz + URL_MD5 81569170fe232e5e64ab074f7cca5e50 CMAKE_ARGS ${KOKKOS_LIB_BUILD_ARGS} BUILD_BYPRODUCTS /lib/libkokkoscore.a ) @@ -50,7 +50,7 @@ if(DOWNLOAD_KOKKOS) target_link_libraries(lammps PRIVATE LAMMPS::KOKKOS) add_dependencies(LAMMPS::KOKKOS kokkos_build) elseif(EXTERNAL_KOKKOS) - find_package(Kokkos 3.1.01 REQUIRED CONFIG) + find_package(Kokkos 3.2.00 REQUIRED CONFIG) target_link_libraries(lammps PRIVATE Kokkos::kokkos) else() set(LAMMPS_LIB_KOKKOS_SRC_DIR ${LAMMPS_LIB_SOURCE_DIR}/kokkos) diff --git a/doc/.gitignore b/doc/.gitignore index 55b25960db371aa94df36763dbbbcd2efb104aa0..7649fb34f118015fb3501917883c6fcda8076ae4 100644 --- a/doc/.gitignore +++ b/doc/.gitignore @@ -1,6 +1,7 @@ /old /html /html-offline +/epub /latex /mathjax /spelling @@ -10,3 +11,9 @@ /Developer.pdf /doctrees /docenv +/doxygen-warn.log +/utils/sphinx-config/conf.py +/doxygen/Doxyfile +*.el +/utils/sphinx-config/_static/mathjax +/utils/sphinx-config/_static/polyfill.js diff --git a/doc/Makefile b/doc/Makefile index 293884b17f283a2d45727d6745a8029cb7a3482d..d96b523915b1bef307ffe3c1c2ec0a5ee7e686f2 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -1,21 +1,29 @@ # Makefile for LAMMPS documentation -SHELL = /bin/bash -BUILDDIR = ${CURDIR} -RSTDIR = $(BUILDDIR)/src -VENV = $(BUILDDIR)/docenv -MATHJAX = $(BUILDDIR)/mathjax -TXT2RST = $(VENV)/bin/txt2rst -ANCHORCHECK = $(VENV)/bin/rst_anchor_check - -PYTHON = $(shell which python3) +SHELL = /bin/bash +BUILDDIR = ${CURDIR} +RSTDIR = $(BUILDDIR)/src +VENV = $(BUILDDIR)/docenv +TXT2RST = $(VENV)/bin/txt2rst +ANCHORCHECK = $(VENV)/bin/rst_anchor_check +SPHINXCONFIG = $(BUILDDIR)/utils/sphinx-config +MATHJAX = $(SPHINXCONFIG)/_static/mathjax +POLYFILL = $(SPHINXCONFIG)/_static/polyfill.js + +PYTHON = $(shell which python3) +DOXYGEN = $(shell which doxygen) VIRTUALENV = virtualenv HAS_PYTHON3 = NO HAS_VIRTUALENV = NO +HAS_DOXYGEN = NO HAS_PDFLATEX = NO ifeq ($(shell which python3 >/dev/null 2>&1; echo $$?), 0) -HAS_PYTHON3 = YES +HAS_PYTHON3 = YES +endif + +ifeq ($(shell which doxygen >/dev/null 2>&1; echo $$?), 0) +HAS_DOXYGEN = YES endif ifeq ($(shell which virtualenv-3 >/dev/null 2>&1; echo $$?), 0) @@ -33,16 +41,20 @@ HAS_PDFLATEX = YES endif -SPHINXEXTRA = -j $(shell $(PYTHON) -c 'import multiprocessing;print(multiprocessing.cpu_count())') +SPHINXEXTRA = -j $(shell $(PYTHON) -c 'import multiprocessing;print(multiprocessing.cpu_count())') $(shell test -f $(BUILDDIR)/doxygen/xml/run.stamp && printf -- "-E") -.PHONY: help clean-all clean clean-spelling epub mobi rst html pdf spelling anchor_check style_check +# grab list of sources from doxygen config file. +# we only want to use explicitly listed files. +DOXYFILES = $(shell sed -n -e 's/\#.*$$//' -e '/^ *INPUT \+=/,/^[A-Z_]\+ \+=/p' doxygen/Doxyfile.in | sed -e 's/@LAMMPS_SOURCE_DIR@/..\/src/g' -e 's/\\//g' -e 's/ \+/ /' -e 's/[A-Z_]\+ \+= *\(YES\|NO\|\)//') + +.PHONY: help clean-all clean clean-spelling epub mobi rst html pdf spelling anchor_check style_check xmlgen # ------------------------------------------ help: @echo "Please use \`make ' where is one of" @echo " html create HTML doc pages in html dir" - @echo " pdf create Developer.pdf and Manual.pdf in this dir" + @echo " pdf create Manual.pdf in this dir" @echo " fetch fetch HTML and PDF files from LAMMPS web site" @echo " epub create ePUB format manual for e-book readers" @echo " mobi convert ePUB to MOBI format manual for e-book readers (e.g. Kindle)" @@ -57,23 +69,32 @@ help: # ------------------------------------------ clean-all: clean - rm -rf $(BUILDDIR)/docenv $(BUILDDIR)/doctrees $(BUILDDIR)/mathjax Manual.pdf Developer.pdf + rm -rf $(BUILDDIR)/docenv $(MATHJAX) $(BUILDDIR)/LAMMPS.mobi $(BUILDDIR)/LAMMPS.epub $(BUILDDIR)/Manual.pdf clean: clean-spelling - rm -rf html epub latex + rm -rf $(BUILDDIR)/html $(BUILDDIR)/epub $(BUILDDIR)/latex $(BUILDDIR)/doctrees $(BUILDDIR)/doxygen/xml $(BUILDDIR)/doxygen-warn.log $(BUILDDIR)/doxygen/Doxyfile $(SPHINXCONFIG)/conf.py clean-spelling: - rm -rf spelling + rm -rf $(BUILDDIR)/spelling + +$(SPHINXCONFIG)/conf.py: $(SPHINXCONFIG)/conf.py.in + sed -e 's,@DOXYGEN_XML_DIR@,$(BUILDDIR)/doxygen/xml,g' \ + -e 's,@LAMMPS_SOURCE_DIR@,$(BUILDDIR)/../src,g' \ + -e 's,@LAMMPS_PYTHON_DIR@,$(BUILDDIR)/../python,g' \ + -e 's,@LAMMPS_DOC_DIR@,$(BUILDDIR),g' $< > $@ -html: $(ANCHORCHECK) $(MATHJAX) +html: xmlgen $(SPHINXCONFIG)/conf.py $(ANCHORCHECK) $(MATHJAX) $(POLYFILL) + @$(MAKE) $(MFLAGS) -C graphviz all @(\ - . $(VENV)/bin/activate ;\ - sphinx-build $(SPHINXEXTRA) -b html -c utils/sphinx-config -d $(BUILDDIR)/doctrees $(RSTDIR) html ;\ + . $(VENV)/bin/activate ; env PYTHONWARNINGS= \ + sphinx-build $(SPHINXEXTRA) -b html -c $(SPHINXCONFIG) -d $(BUILDDIR)/doctrees $(RSTDIR) html ;\ + ln -sf Manual.html html/index.html;\ + rm -f $(BUILDDIR)/doxygen/xml/run.stamp;\ echo "############################################" ;\ rst_anchor_check src/*.rst ;\ - python utils/check-packages.py -s ../src -d src ;\ + python $(BUILDDIR)/utils/check-packages.py -s ../src -d src ;\ env LC_ALL=C grep -n '[^ -~]' $(RSTDIR)/*.rst ;\ - python utils/check-styles.py -s ../src -d src ;\ + python $(BUILDDIR)/utils/check-styles.py -s ../src -d src ;\ echo "############################################" ;\ deactivate ;\ ) @@ -82,30 +103,28 @@ html: $(ANCHORCHECK) $(MATHJAX) @rm -rf html/USER @rm -rf html/JPG @cp -r src/PDF html/PDF - @mkdir -p html/JPG - @cp `grep -A2 '\.\. .*\(image\|figure\)::' src/*.rst | grep ':target: JPG' | sed -e 's,.*:target: JPG/,src/JPG/,' | sort | uniq` html/JPG/ @rm -rf html/PDF/.[sg]* - @mkdir -p html/_static/mathjax - @cp -r $(MATHJAX)/es5 html/_static/mathjax/ @echo "Build finished. The HTML pages are in doc/html." -spelling: $(VENV) utils/sphinx-config/false_positives.txt +spelling: xmlgen $(VENV) $(SPHINXCONFIG)/false_positives.txt @(\ - . $(VENV)/bin/activate ;\ - cp utils/sphinx-config/false_positives.txt $(RSTDIR)/ ; env PYTHONWARNINGS= \ - sphinx-build -b spelling -c utils/sphinx-config -d $(BUILDDIR)/doctrees $(RSTDIR) spelling ;\ + . $(VENV)/bin/activate ; env PYTHONWARNINGS= \ + cp $(SPHINXCONFIG)/false_positives.txt $(RSTDIR)/ ; env PYTHONWARNINGS= \ + sphinx-build -b spelling -c $(SPHINXCONFIG) -d $(BUILDDIR)/doctrees $(RSTDIR) spelling ;\ + rm -f $(BUILDDIR)/doxygen/xml/run.stamp;\ deactivate ;\ ) @echo "Spell check finished." -epub: $(VENV) +epub: xmlgen $(VENV) $(SPHINXCONFIG)/conf.py $(ANCHORCHECK) + @$(MAKE) $(MFLAGS) -C graphviz all @mkdir -p epub/JPG @rm -f LAMMPS.epub - @cp src/JPG/lammps-logo.png epub/ @cp src/JPG/*.* epub/JPG @(\ . $(VENV)/bin/activate ;\ - sphinx-build $(SPHINXEXTRA) -b epub -c utils/sphinx-config -d $(BUILDDIR)/doctrees $(RSTDIR) epub ;\ + sphinx-build $(SPHINXEXTRA) -b epub -c $(SPHINXCONFIG) -d $(BUILDDIR)/doctrees $(RSTDIR) epub ;\ + rm -f $(BUILDDIR)/doxygen/xml/run.stamp;\ deactivate ;\ ) @mv epub/LAMMPS.epub . @@ -117,18 +136,13 @@ mobi: epub @ebook-convert LAMMPS.epub LAMMPS.mobi @echo "Conversion finished. The MOBI manual file is created." -pdf: $(ANCHORCHECK) +pdf: xmlgen $(VENV) $(SPHINXCONFIG)/conf.py $(ANCHORCHECK) + @$(MAKE) $(MFLAGS) -C graphviz all @if [ "$(HAS_PDFLATEX)" == "NO" ] ; then echo "PDFLaTeX was not found! Please check README.md for further instructions" 1>&2; exit 1; fi @(\ - cd src/Developer; \ - pdflatex developer; \ - pdflatex developer; \ - mv developer.pdf ../../Developer.pdf; \ - cd ../../; \ - ) - @(\ - . $(VENV)/bin/activate ;\ - sphinx-build $(SPHINXEXTRA) -b latex -c utils/sphinx-config -d $(BUILDDIR)/doctrees $(RSTDIR) latex ;\ + . $(VENV)/bin/activate ; env PYTHONWARNINGS= \ + sphinx-build $(SPHINXEXTRA) -b latex -c $(SPHINXCONFIG) -d $(BUILDDIR)/doctrees $(RSTDIR) latex ;\ + rm -f $(BUILDDIR)/doxygen/xml/run.stamp;\ echo "############################################" ;\ rst_anchor_check src/*.rst ;\ python utils/check-packages.py -s ../src -d src ;\ @@ -154,12 +168,11 @@ pdf: $(ANCHORCHECK) @rm -rf latex/USER @cp -r src/PDF latex/PDF @rm -rf latex/PDF/.[sg]* - @echo "Build finished. Manual.pdf and Developer.pdf are in this directory." + @echo "Build finished. Manual.pdf is in this directory." fetch: - @rm -rf html_www Manual_www.pdf Developer_www.pdf + @rm -rf html_www Manual_www.pdf @curl -s -o Manual_www.pdf http://lammps.sandia.gov/doc/Manual.pdf - @curl -s -o Developer_www.pdf http://lammps.sandia.gov/doc/Developer.pdf @curl -s -o lammps-doc.tar.gz http://lammps.sandia.gov/tars/lammps-doc.tar.gz @tar xzf lammps-doc.tar.gz @rm -f lammps-doc.tar.gz @@ -185,21 +198,32 @@ package_check : $(VENV) deactivate ;\ ) +xmlgen : doxygen/xml/index.xml + +doxygen/Doxyfile: doxygen/Doxyfile.in + sed -e 's/@LAMMPS_SOURCE_DIR@/..\/..\/src/g' $< > $@ + +doxygen/xml/index.xml : $(VENV) doxygen/Doxyfile $(DOXYFILES) + @(cd doxygen; $(DOXYGEN) Doxyfile && touch xml/run.stamp) # ------------------------------------------ $(VENV): - @if [ "$(HAS_PYTHON3)" == "NO" ] ; then echo "Python3 was not found! Please check README.md for further instructions" 1>&2; exit 1; fi - @if [ "$(HAS_VIRTUALENV)" == "NO" ] ; then echo "virtualenv was not found! Please check README.md for further instructions" 1>&2; exit 1; fi + @if [ "$(HAS_PYTHON3)" == "NO" ] ; then echo "python3 was not found! Please see README for further instructions" 1>&2; exit 1; fi + @if [ "$(HAS_DOXYGEN)" == "NO" ] ; then echo "doxygen was not found! Please see README for further instructions" 1>&2; exit 1; fi + @if [ "$(HAS_VIRTUALENV)" == "NO" ] ; then echo "virtualenv was not found! Please see README for further instructions" 1>&2; exit 1; fi @( \ $(VIRTUALENV) -p $(PYTHON) $(VENV); \ . $(VENV)/bin/activate; \ pip install --upgrade pip; \ - pip install --use-feature=2020-resolver -r requirements.txt; \ + pip install --use-feature=2020-resolver -r $(BUILDDIR)/utils/requirements.txt; \ deactivate;\ ) $(MATHJAX): - @git clone --depth 1 https://github.com/mathjax/MathJax.git mathjax + @git clone --depth 1 https://github.com/mathjax/MathJax.git $@ + +$(POLYFILL): $(MATHJAX) + @curl -s -o $@ "https://polyfill.io/v3/polyfill.min.js?features=es6" $(TXT2RST) $(ANCHORCHECK): $(VENV) @( \ diff --git a/doc/README b/doc/README index cbc0c425dc8c61894779e3b653697299ce7df8af..f0c74f7771bca3f38ba0eb3e5d5caef0540d0179 100644 --- a/doc/README +++ b/doc/README @@ -1,97 +1,60 @@ LAMMPS Documentation -Depending on how you obtained LAMMPS, this directory has 2 or 3 -sub-directories and optionally 2 PDF files and an ePUB file: - -src content files for LAMMPS documentation -html HTML version of the LAMMPS manual (see html/Manual.html) -utils utilities and settings for building the documentation -Manual.pdf large PDF version of entire manual -Developer.pdf small PDF with info about how LAMMPS is structured -LAMMPS.epub Manual in ePUB format - -If you downloaded LAMMPS as a tarball from the web site, all these -directories and files should be included. - -If you downloaded LAMMPS from the public SVN or Git repositories, then -the HTML and PDF files are not included. Instead you need to create -them, in one of three ways: +Depending on how you obtained LAMMPS and whether you have built +the manual yourself, this directory has a varying number of +sub-directories and files. Here is a list with descriptions: + +README this file +src content files for LAMMPS documentation +html HTML version of the LAMMPS manual (see html/Manual.html) +utils utilities and settings for building the documentation +Manual.pdf PDF version of entire manual +Developer.pdf PDF with info about how LAMMPS is structured +LAMMPS.epub Manual in ePUB format +LAMMPS.mobi Manual in MOBI (Kindle) format +lammps.1 man page for the lammps command +msi2lmp.1 man page for the msi2lmp command +mathjax code and fonts for rendering math in html +doctree temporary data +docenv python virtual environment for generating the manual +doxygen Doxygen configuration and output +.gitignore list of files and folders to be ignored by git +doxygen-warn.log logfile with warnings from running doxygen + +and: + +github-development-workflow.md notes on the LAMMPS development workflow +include-file-conventions.md notes on LAMMPS' include file conventions +documentation_conventions.md notes on writing documentation for LAMMPS + +If you downloaded a LAMMPS tarball from lammps.sandia.gov, then the html +folder and the PDF manual should be included. If you downloaded LAMMPS +from GitHub then you either need to download them or build them. (a) You can "fetch" the current HTML and PDF files from the LAMMPS web site. Just type "make fetch". This should create a html_www dir and -Manual_www.pdf/Developer_www.pdf files. Note that if new LAMMPS -features have been added more recently than the date of your version, -the fetched documentation will include those changes (but your source -code will not, unless you update your local repository). - -(b) You can build the HTML and PDF files yourself, by typing "make -html" or by "make pdf", respectively. This requires various tools -including the Python documentation processing tool Sphinx, which the -build process will attempt to download and install on your system into -a python virtual environment, if not already available. The PDF file -will require a working LaTeX installation with several add-on packages -in addition to the Python/Sphinx setup. See more details below. - ----------------- - -The generation of all documentation is managed by the Makefile in this -dir. - -Options: +Manual_www.pdf/Developer_www.pdf files. These files will always +represent the latest published patch/development version of LAMMPS. -make html # generate HTML in html dir using Sphinx -make pdf # generate 2 PDF files (Manual.pdf,Developer.pdf) - # in this dir via Sphinx and PDFLaTeX -make fetch # fetch HTML doc pages and 2 PDF files from web site - # as a tarball and unpack into html dir and 2 PDFs -make epub # generate LAMMPS.epub in ePUB format using Sphinx -make clean # remove intermediate RST files created by HTML build -make clean-all # remove entire build folder and any cached data +(b) You can build the HTML and PDF files yourself, by typing "make html" +or by "make pdf", respectively. This requires various tools and files. +Some of them have to be installed (more on that below). For the rest the +build process will attempt to download and install into a python virtual +environment and local folders. ---------------- -Installing prerequisites for HTML build - -To run the HTML documention build toolchain, Python 3 and virtualenv -have to be installed. Here are instructions for common setups: - -# Ubuntu - -sudo apt-get install python-virtualenv - -# Fedora (up to version 21) -# Red Hat Enterprise Linux or CentOS (up to version 7.x) - -sudo yum install python3-virtualenv - -# Fedora (since version 22) - -sudo dnf install python3-virtualenv +Installing prerequisites for the documentation build -# MacOS X +To run the HTML documention build toolchain, python 3.x, doxygen, git, +and virtualenv have to be installed. Also internet access is initially +required to download external files and tools. -## Python 3 - -Download the latest Python 3 MacOS X package from -https://www.python.org and install it. This will install both Python -3 and pip3. - -## virtualenv - -Once Python 3 is installed, open a Terminal and type - -pip3 install virtualenv - -This will install virtualenv from the Python Package Index. - ----------------- - -Installing prerequisites for PDF build - -Same as for HTML plus a compatible LaTeX installation with -support for PDFLaTeX. Also the following LaTeX packages need -to be installed (e.g. from texlive): +Building the PDF format manual requires in addition a compatible LaTeX +installation with support for PDFLaTeX and several add-on LaTeX packages +installed. This includes: - amsmath +- anysize - babel - capt-of - cmap @@ -105,24 +68,13 @@ to be installed (e.g. from texlive): - tabulary - upquote - wrapfig ----------------- - -Installing prerequisites for epub build - -## ePUB -Same as for HTML. This uses the same tools and configuration -files as the HTML tree. The ePUB format conversion currently -does not support processing mathematical expressions via MathJAX, -so there will be limitations on some pages. For the time being -until this is resolved, building and using the PDF format file -is recommended instead. - -For converting the generated ePUB file to a mobi format file -(for e-book readers like Kindle, that cannot read ePUB), you -also need to have the 'ebook-convert' tool from the "calibre" -software installed. http://calibre-ebook.com/ -You first create the ePUB file with 'make epub' and then do: - -ebook-convert LAMMPS.epub LAMMPS.mobi +Building the EPUB format requires LaTeX installation with the same packages +as for the PDF format plus the 'dvipng' command to convert the embedded math +into images. The MOBI format is generated from the EPUB format file by using +the tool 'ebook-convert' from the 'calibre' e-book management software +(https://calibre-ebook.com). +---------------- +More details this can be found in the manual itself. The online +version is at: https://lammps.sandia.gov/doc/Manual_build.html diff --git a/doc/documentation_conventions.md b/doc/documentation_conventions.md new file mode 100644 index 0000000000000000000000000000000000000000..40526d940d45743290a91fc57e083e7c4202834d --- /dev/null +++ b/doc/documentation_conventions.md @@ -0,0 +1,93 @@ +# Outline of LAMMPS documentation file conventions + +This purpose of this document is to provide a point of reference +for LAMMPS developers and contributors as to what conventions +should be used to structure and format files in the LAMMPS manual. + +Last change: 2020-04-23 + +## File format and tools + +In fall 2019, the LAMMPS documentation file format has changed from +a home grown minimal markup designed to generate HTML format files +from a mostly plain text format to using the reStructuredText file +format. For a transition period all files in the old .txt format +were transparently converted to .rst and then processed. The txt2rst +tool is still included in the distribution to obtain an initial .rst +file for integration into the manual. Since the transition to +reStructured text as source format, many of the artifacts or the +translation have been removed though and parts of the documentation +refactored and expanded to take advantage of the capabilities +reStructuredText and associated tools. The conversion from the +source to the final formats (HTML, PDF, and optionally e-book +reader formats ePUB and MOBI) is mostly automated and controlled +by a Makefile in the `doc` folder. This makefile assumes that the +processing is done on a Unix-like machine and Python 3.5 or later +and a matching virtualenv module are available. Additional Python +packages (like the Sphinx tool and several extensions) are +transparently installed into a virtual environment over the +internet using the `pip` package manager. Further requirements +and details are discussed in the manual. + +## Work in progress + +The refactoring and improving of the documentation is an ongoing +process, so statements in this document may not always be fully +up-to-date. If in doubt, contact the LAMMPS developers. + +## General structure + +The layout and formatting of added files should follow the example +of the existing files. Since those are directly derived from their +former .txt format versions and the manual has been maintained in +that format for many years, there is a large degree of consistency +already, so comparision with similar files should give you a good +idea what kind of information and sections are needed. + +## Formatting conventions + +Filenames, folders, paths, (shell) commands, definitions, makefile +settings and similar should be formatted as "literals" with +double backward quotes bracketing the item: \`\`path/to/some/file\`\` + +Keywords and options are formatted in italics: \*option\* + +Mathematical expressions, equations, symbols are typeset using +either a `.. math:`` block or the `:math:` role. + +Groups of shell commands or LAMMPS input script or C/C++ source +code should be typeset into a `.. code-block::` section. A syntax +highlighting extension for LAMMPS input scripts is provided, so +`LAMMPS` can be used to indicate the language in the code block +in addition to `bash`, `c`, or `python`. When no syntax style +is indicated, no syntax highlighting is performed. + +As an alternative, e.g. to typeset the syntax of file formats +a `.. parsed-literal::` block can be used, which allows some +formatting directives, which means that related characters need +to be escaped with a preceding backslash: `\*`. + +Special remarks can be highlighted with a `.. note::` block and +strong warnings can be put into a `.. warning::` block. + +## Required steps when adding a custom style to LAMMPS + +When adding a new style (e.g. pair style or a compute or a fix) +or a new command, it is **required** to include the corresponding +documentation. Those are often new files that need to be added. +In order to be included in the documentation, those new files +need to be reference in a `.. toctree::` block. Most of those +use patterns with wildcards, so the addition will be automatic. +However, those additions also need to be added to some lists of +styles or commands. The `make style\_check` command will perform +a test and report any missing entries and list the affected files. +Any references defined with `.. \_refname:` have to be unique +across all documentation files and this can be checked for with +`make anchor\_check`. Finally, a spell-check should be done, +which is triggered via `make spelling`. Any offenses need to +be corrected and false positives should be added to the file +`utils/sphinx-config/false\_positives.txt`. + +## Required additional steps when adding a new package to LAMMPS + +TODO diff --git a/doc/doxygen/.gitignore b/doc/doxygen/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..2539ab748e4dfeb1749ed0b9f923b94ef469853f --- /dev/null +++ b/doc/doxygen/.gitignore @@ -0,0 +1 @@ +/xml diff --git a/doc/doxygen/Doxyfile.in b/doc/doxygen/Doxyfile.in new file mode 100644 index 0000000000000000000000000000000000000000..9acd994a687358b2c39da64ae43030ff43cd4359 --- /dev/null +++ b/doc/doxygen/Doxyfile.in @@ -0,0 +1,528 @@ +# Doxyfile 1.8.15 -*- makefile -*- + +DOXYFILE_ENCODING = UTF-8 +PROJECT_NAME = "LAMMPS Programmer's Guide" +PROJECT_NUMBER = "24 August 2020" +PROJECT_BRIEF = "Documentation of the LAMMPS library interface and Python wrapper" +PROJECT_LOGO = lammps-logo.png +CREATE_SUBDIRS = NO +ALLOW_UNICODE_NAMES = NO +OUTPUT_LANGUAGE = English +OUTPUT_TEXT_DIRECTION = LTR + +BRIEF_MEMBER_DESC = YES +REPEAT_BRIEF = YES + +ALWAYS_DETAILED_SEC = NO +INLINE_INHERITED_MEMB = NO +FULL_PATH_NAMES = NO +INHERIT_DOCS = YES +TAB_SIZE = 2 + +# 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 = YES +IDL_PROPERTY_SUPPORT = 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 = 2 + +#--------------------------------------------------------------------------- +# 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 = YES + +# 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 = YES + +# 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 = YES + +# 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 + +# 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 = YES + +# 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 = YES + +# 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 = YES + +# 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 = NO + +# 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 = YES + +# 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 = NO + +# 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 = NO + +# 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 = NO + +# 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 https://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. If +# EXTRACT_ALL is set to YES then this flag will automatically be disabled. +# The default value is: NO. + +WARN_NO_PARAMDOC = YES + +# If the WARN_AS_ERROR tag is set to YES then doxygen will immediately stop when +# a warning is encountered. +# The default value is: NO. + +WARN_AS_ERROR = 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 = "../doxygen-warn.log" + +#--------------------------------------------------------------------------- +# 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. See also FILE_PATTERNS and EXTENSION_MAPPING +# Note: If this tag is empty the current directory is searched. + +INPUT = @LAMMPS_SOURCE_DIR@/utils.cpp \ + @LAMMPS_SOURCE_DIR@/utils.h \ + @LAMMPS_SOURCE_DIR@/library.cpp \ + @LAMMPS_SOURCE_DIR@/library.h \ + @LAMMPS_SOURCE_DIR@/lammps.cpp \ + @LAMMPS_SOURCE_DIR@/lammps.h \ + @LAMMPS_SOURCE_DIR@/lmptype.h \ + @LAMMPS_SOURCE_DIR@/pointers.h \ + @LAMMPS_SOURCE_DIR@/atom.cpp \ + @LAMMPS_SOURCE_DIR@/atom.h \ + @LAMMPS_SOURCE_DIR@/input.cpp \ + @LAMMPS_SOURCE_DIR@/input.h \ + @LAMMPS_SOURCE_DIR@/tokenizer.cpp \ + @LAMMPS_SOURCE_DIR@/tokenizer.h \ + @LAMMPS_SOURCE_DIR@/text_file_reader.cpp \ + @LAMMPS_SOURCE_DIR@/text_file_reader.h \ + @LAMMPS_SOURCE_DIR@/potential_file_reader.cpp \ + @LAMMPS_SOURCE_DIR@/potential_file_reader.h \ + +# 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 = YES + +#--------------------------------------------------------------------------- +# Configuration options related to output +#--------------------------------------------------------------------------- + +GENERATE_HTML = NO +GENERATE_LATEX = NO +GENERATE_XML = YES +XML_OUTPUT = xml +XML_PROGRAMLISTING = YES +XML_NS_MEMB_FILE_SCOPE = NO + +#--------------------------------------------------------------------------- +# Configuration options related to the preprocessor +#--------------------------------------------------------------------------- + +# If the ENABLE_PREPROCESSING tag is set to YES, doxygen will evaluate all +# C-preprocessor directives found in the sources and include files. +# The default value is: YES. + +#ENABLE_PREPROCESSING = YES +ENABLE_PREPROCESSING = NO + +# If the MACRO_EXPANSION tag is set to YES, doxygen will expand all macro names +# in the source code. If set to NO, only conditional compilation will be +# performed. Macro expansion can be done in a controlled way by setting +# EXPAND_ONLY_PREDEF to YES. +# The default value is: NO. +# This tag requires that the tag ENABLE_PREPROCESSING is set to YES. + +MACRO_EXPANSION = NO + +# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES then +# the macro expansion is limited to the macros specified with the PREDEFINED and +# EXPAND_AS_DEFINED tags. +# The default value is: NO. +# This tag requires that the tag ENABLE_PREPROCESSING is set to YES. + +EXPAND_ONLY_PREDEF = NO + +# If the SEARCH_INCLUDES tag is set to YES, the include files in the +# INCLUDE_PATH will be searched if a #include is found. +# The default value is: YES. +# This tag requires that the tag ENABLE_PREPROCESSING is set to YES. + +SEARCH_INCLUDES = YES + +# The INCLUDE_PATH tag can be used to specify one or more directories that +# contain include files that are not input files but should be processed by the +# preprocessor. +# This tag requires that the tag SEARCH_INCLUDES is set to YES. + +INCLUDE_PATH = + +# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard +# patterns (like *.h and *.hpp) to filter out the header-files in the +# directories. If left blank, the patterns specified with FILE_PATTERNS will be +# used. +# This tag requires that the tag ENABLE_PREPROCESSING is set to YES. + +INCLUDE_FILE_PATTERNS = + +# The PREDEFINED tag can be used to specify one or more macro names that are +# defined before the preprocessor is started (similar to the -D option of e.g. +# gcc). The argument of the tag is a list of macros of the form: name or +# name=definition (no spaces). If the definition and the "=" are omitted, "=1" +# is assumed. To prevent a macro definition from being undefined via #undef or +# recursively expanded use the := operator instead of the = operator. +# This tag requires that the tag ENABLE_PREPROCESSING is set to YES. + +PREDEFINED = + +# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then this +# tag can be used to specify a list of macro names that should be expanded. The +# macro definition that is found in the sources will be used. Use the PREDEFINED +# tag if you want to use a different macro definition that overrules the +# definition found in the source code. +# This tag requires that the tag ENABLE_PREPROCESSING is set to YES. + +EXPAND_AS_DEFINED = + +# If the SKIP_FUNCTION_MACROS tag is set to YES then doxygen's preprocessor will +# remove all references to function-like macros that are alone on a line, have +# an all uppercase name, and do not end with a semicolon. Such function macros +# are typically used for boiler-plate code, and will confuse the parser if not +# removed. +# The default value is: YES. +# This tag requires that the tag ENABLE_PREPROCESSING is set to YES. + +SKIP_FUNCTION_MACROS = YES + diff --git a/doc/doxygen/lammps-logo.png b/doc/doxygen/lammps-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..787d855a1c178405b12976af7f0faaf429c8aee3 Binary files /dev/null and b/doc/doxygen/lammps-logo.png differ diff --git a/doc/graphviz/.gitignore b/doc/graphviz/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..b134fdb6f1bd395533766827e52a89647f02d308 --- /dev/null +++ b/doc/graphviz/.gitignore @@ -0,0 +1,3 @@ +/*.png +/*.svg +/*.pdf diff --git a/doc/graphviz/Makefile b/doc/graphviz/Makefile new file mode 100644 index 0000000000000000000000000000000000000000..fb6411379db5049c85f481886f3340d3d2be837c --- /dev/null +++ b/doc/graphviz/Makefile @@ -0,0 +1,30 @@ +# Makefile for generating images with graphviz +# +SHELL = /bin/bash +BUILDDIR = ${CURDIR}/.. +IMGDIR = $(BUILDDIR)/src/JPG +IMGSRC = $(wildcard *.dot) +IMGPNG = $(IMGSRC:%.dot=$(IMGDIR)/%.png) + +HAS_DOT = NO +ifeq ($(shell which dot >/dev/null 2>&1; echo $$?), 0) +HAS_DOT = YES +endif + +all: $(IMGPNG) + +clean: + rm -f $(IMGSVG) $(IMGPDF) $(IMGPNG) *~ + +ifeq ($(HAS_DOT),YES) +$(IMGDIR)/%.png: %.dot + dot -Tpng -o $@ $< +endif + +ifeq ($(HAS_DOT),NO) +$(IMGDIR)/%.png: %.dot + @echo '###################################################' + @echo '# Need to install "graphviz" to regenerate graphs #' + @echo '###################################################' +endif + diff --git a/doc/graphviz/lammps-classes.dot b/doc/graphviz/lammps-classes.dot new file mode 100644 index 0000000000000000000000000000000000000000..408ab36f65cf3e0fea52b9d1e3f16cbe4acb289e --- /dev/null +++ b/doc/graphviz/lammps-classes.dot @@ -0,0 +1,90 @@ +// LAMMPS Class topology +digraph lammps { + rankdir="LR" + La [shape=circle label="LAMMPS"] + At [shape=box label="Atom" color=blue] + Ci [shape=box label="CiteMe"] + Co [shape=box label="Comm" color=blue] + Do [shape=box label="Domain" color=blue] + Er [shape=box label="Error" color=blue] + Fo [shape=box label="Force" color=blue] + Gr [shape=box label="Group" color=blue] + In [shape=box label="Input" color=blue] + Ko [shape=box label="KokkosLMP"] + Ak [shape=box label="AtomKK" color=blue] + Mk [shape=box label="MemoryKK" color=blue] + Me [shape=box label="Memory" color=blue] + Mo [shape=box label="Modify" color=blue] + Ne [shape=box label="Neighbor" color=blue] + Ou [shape=box label="Output" color=blue] + Py [shape=box label="Python" color=blue] + Up [shape=box label="Update" color=blue] + Un [shape=box label="Universe" color=blue] + Ti [shape=box label="Timer" color=blue] + Rg [label="Region" color=red] + Rb [shape=box label="RegionBlock"] + Rs [shape=box label="RegionSphere"] + Av [label="AtomVec" color=red] + It [label="Integrate" color=red] + Mi [label="Min" color=red] + Pa [label="Pair" color=red] + Bo [label="Bond" color=red] + An [label="Angle" color=red] + Di [label="Dihedral" color=red] + Im [label="Improper" color=red] + Ks [label="Kspace" color=red] + Du [label="Dump" color=red] + Fi [label="Fix" color=red] + Cp [label="Compute" color=red] + Th [label="Thermo"] + Va [label="Variable"] + Ew [shape=box label="Ewald"] + Pp [shape=box label="PPPM"] + Ff [label="FFT3d"] + Re [label="Remap"] + Gc [label="GridComm"] + Cb [shape=box label="CommBrick"] + Ct [shape=box label="CommTiled"] + Aa [shape=box label="AtomVecAtomic"] + Am [shape=box label="AtomVecMolecular"] + Lj [shape=box label="PairLJCut"] + Lo [shape=box label="PairLJCutOMP"] + Lg [shape=box label="PairLJCutGPU"] + Te [shape=box label="PairTersoff"] + Bh [shape=box label="BondHarmonic"] + Bf [shape=box label="BondFENE"] + Fa [shape=box label="FixAveTime"] + Fn [shape=box label="FixNVE"] + Fh [shape=box label="FixNH"] + Fp [shape=box label="FixNPT"] + Ft [shape=box label="FixNVT"] + Da [shape=box label="DumpAtom"] + Dc [shape=box label="DumpCustom"] + Dg [shape=box label="DumpCFG"] + Ve [shape=box label="Verlet"] + Rr [shape=box label="Respa"] + Po [shape=box label="PPPMOmp"] + La -> {At Ci Co Do Er Fo Gr In Ko Ak Mk Me Mo Ne Ou Py Ti Up Un} [penwidth=2] + Do -> {Rg} [penwidth=2] + Co -> {Cb Ct} [style=dashed penwidth=2] + Rg -> {Rb Rs} [style=dashed penwidth=2] + In -> Va [penwidth=2] + Mo -> {Fi Cp} [penwidth=2] + Fo -> {Pa Bo An Di Im Ks} [penwidth=2] + Ks -> {Ew Pp} [style=dashed penwidth=2] + Pp -> {Ff Re Gc} [penwidth=2] + Pp -> {Po} [style=dashed penwidth=2] + Up -> {It Mi} [penwidth=2] + It -> {Ve Rr} [style=dashed penwidth=2] + Ou -> {Du Th} [penwidth=2] + Du -> {Da Dc} [style=dashed penwidth=2] + Dc -> {Dg} [style=dashed penwidth=2] + At -> Av [penwidth=2] + Av -> {Aa Am} [style=dashed penwidth=2] + Pa -> {Lj Te} [style=dashed penwidth=2] + Lj -> {Lo Lg} [style=dashed penwidth=2] + Bo -> {Bh Bf} [style=dashed penwidth=2] + Fi -> {Fa Fn Fh} [style=dashed penwidth=2] + Fh -> {Fp Ft} [style=dashed penwidth=2] +} + diff --git a/doc/include-file-conventions.md b/doc/include-file-conventions.md index 51f67afbbbe5a3625ba4ac4c0607a74451183672..e3448cb8ce05491c69a7e31c0a324cb3ba5b2d76 100644 --- a/doc/include-file-conventions.md +++ b/doc/include-file-conventions.md @@ -3,7 +3,7 @@ This purpose of this document is to provide a point of reference for LAMMPS developers and contributors as to what include files and definitions to put where into LAMMPS source. -Last change 2019-07-05 +Last change 2020-08-31 ## Table of Contents @@ -99,10 +99,13 @@ Include files should be included in this order: #### pointers.h -The `pointer.h` header file also includes `cstdio` and `lmptype.h` -(and through it `stdint.h`, `intttypes.h`, cstdlib, and `climits`). +The `pointer.h` header file also includes `cstdio`, `cstddef`, +`string`, `lmptype.h`, and `utils.h` (and through those indirectly + `stdint.h`, `intttypes.h`, cstdlib, and `climits`). This means any header including `pointers.h` can assume that `FILE`, -`NULL`, `INT_MAX` are defined. +`NULL`, `INT_MAX` are defined, they may freely use std::string +and functions from the utils namespace without including the +corresponding header files. ## Tools diff --git a/doc/requirements.txt b/doc/requirements.txt deleted file mode 100644 index 045559d8c4e48cbec389c090517182e03506fe5b..0000000000000000000000000000000000000000 --- a/doc/requirements.txt +++ /dev/null @@ -1,4 +0,0 @@ -Sphinx -sphinxcontrib-spelling -breathe -Pygments diff --git a/doc/src/Build_basics.rst b/doc/src/Build_basics.rst index 0ddf65ab46402174263b851e986ed6a78c1dcc29..baace2e063adfddf1d99dc8ef5ba0ea8208a0e6c 100644 --- a/doc/src/Build_basics.rst +++ b/doc/src/Build_basics.rst @@ -471,7 +471,7 @@ LAMMPS source distribution. .. code-block:: bash make html # create HTML doc pages in html directory - make pdf # create Developer.pdf and Manual.pdf in this directory + make pdf # create Manual.pdf in this directory make fetch # fetch HTML and PDF files from LAMMPS web site make clean # remove all intermediate files make clean-all # reset the entire doc build environment diff --git a/doc/src/Build_development.rst b/doc/src/Build_development.rst index 5af264f29d0efa8cc22cf6eab2dd7f4ae2357333..cd432dddcb86764386dc2ae018ebaa5e8ffd6f78 100644 --- a/doc/src/Build_development.rst +++ b/doc/src/Build_development.rst @@ -378,22 +378,22 @@ The images below illustrate how the data is presented. .. list-table:: * - .. figure:: JPG/coverage-overview-top.png - :target: JPG/coverage-overview-top.png + :scale: 25% Top of the overview page - .. figure:: JPG/coverage-overview-manybody.png - :target: JPG/coverage-overview-manybody.png + :scale: 25% Styles with good coverage - .. figure:: JPG/coverage-file-top.png - :target: JPG/coverage-file-top.png + :scale: 25% Top of individual source page - .. figure:: JPG/coverage-file-branches.png - :target: JPG/coverage-file-branches.png + :scale: 25% Source page with branches diff --git a/doc/src/Build_extras.rst b/doc/src/Build_extras.rst index bde06159f3d97643d8c4d23222132335c8ce2461..b72dd95046a4d3609b80d4376de37affe6357d51 100644 --- a/doc/src/Build_extras.rst +++ b/doc/src/Build_extras.rst @@ -361,9 +361,12 @@ be specified in uppercase. * - AMDAVX - HOST - AMD 64-bit x86 CPU (AVX 1) - * - EPYC + * - ZEN - HOST - - AMD EPYC Zen class CPU (AVX 2) + - AMD Zen class CPU (AVX 2) + * - ZEN2 + - HOST + - AMD Zen2 class CPU (AVX 2) * - ARMV80 - HOST - ARMv8.0 Compatible CPU @@ -445,12 +448,18 @@ be specified in uppercase. * - TURING75 - GPU - NVIDIA Turing generation CC 7.5 GPU + * - AMPERE80 + - GPU + - NVIDIA Ampere generation CC 8.0 GPU * - VEGA900 - GPU - AMD GPU MI25 GFX900 * - VEGA906 - GPU - AMD GPU MI50/MI60 GFX906 + * - INTEL_GEN + - GPU + - Intel GPUs Gen9+ Basic CMake build settings: ^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/doc/src/Developer/.gitignore b/doc/src/Developer/.gitignore deleted file mode 100644 index 38f7323f7bf456cba2bcbbe8a9a6441b72ee183d..0000000000000000000000000000000000000000 --- a/doc/src/Developer/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -/developer.aux -/developer.log -/developer.toc diff --git a/doc/src/Developer/classes.fig b/doc/src/Developer/classes.fig deleted file mode 100644 index a2d9b6d6f14d1dcc3c30f76e4d529310dd1df13e..0000000000000000000000000000000000000000 --- a/doc/src/Developer/classes.fig +++ /dev/null @@ -1,198 +0,0 @@ -#FIG 3.2 Produced by xfig version 3.2.5a -Portrait -Center -Inches -Letter -100.00 -Single --2 -1200 2 -2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 - 2232 1170 3540 1170 3540 1505 2232 1505 2232 1170 -2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 - 2220 1830 3015 1830 3015 2219 2220 2219 2220 1830 -2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 - 2226 3285 3300 3285 3300 3665 2226 3665 2226 3285 -2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 - 2223 5190 3225 5190 3225 5525 2223 5525 2223 5190 -2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 - 2232 7125 3090 7125 3090 7478 2232 7478 2232 7125 -2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 - 2226 10230 3300 10230 3300 10565 2226 10565 2226 10230 -2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 - 4026 10305 4980 10305 4980 10592 4026 10592 4026 10305 -2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 - 4029 9900 5205 9900 5205 10250 4029 10250 4029 9900 -2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 - 4038 9315 5370 9315 5370 9659 4038 9659 4038 9315 -2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 - 4023 8955 4530 8955 4530 9278 4023 9278 4023 8955 -2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 - 4029 8475 5190 8475 5190 8762 4029 8762 4029 8475 -2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 - 4008 8115 5430 8115 5430 8408 4008 8408 4008 8115 -2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 - 4026 7425 4995 7425 4995 7712 4026 7712 4026 7425 -2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 - 4035 6720 4650 6720 4650 7025 4035 7025 4035 6720 -2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 - 4044 7080 4830 7080 4830 7358 4044 7358 4044 7080 -2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 - 4032 6105 5205 6105 5205 6419 4032 6419 4032 6105 -2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 - 4026 5715 5115 5715 5115 6062 4026 6062 4026 5715 -2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 - 4023 3585 4605 3585 4605 3872 4023 3872 4023 3585 -2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 - 3954 1680 5175 1680 5175 1997 3954 1997 3954 1680 -2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 - 1 1 2.00 120.00 240.00 - 1620 5235 2100 615 -2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 - 1 1 2.00 120.00 240.00 - 1605 5445 2070 10695 -2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 - 1 1 2.00 120.00 240.00 - 3120 1935 3855 1800 -2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 - 1 1 2.00 120.00 240.00 - 3150 2115 3765 2250 -2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 - 1 1 2.00 120.00 240.00 - 3135 7230 3945 6840 -2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 - 1 1 2.00 120.00 240.00 - 3150 7335 3945 8610 -2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 - 1 1 2.00 120.00 240.00 - 5265 8610 6195 8400 -2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 - 1 1 2.00 120.00 240.00 - 5280 8655 6180 8820 -2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 - 1 1 2.00 120.00 240.00 - 3345 10290 3930 10020 -2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 - 1 1 2.00 120.00 240.00 - 3360 10395 3930 10425 -2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 - 1 1 2.00 120.00 240.00 - 3360 10455 3930 10755 -2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 - 2193 360 3435 360 3435 647 2193 647 2193 360 -2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 - 1 1 2.00 120.00 240.00 - 3398 3472 3923 3307 -2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 - 1 1 2.00 120.00 240.00 - 3413 3601 3923 3721 -2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 - 1 1 2.00 120.00 240.00 - 3285 2806 3870 2802 -2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 - 1 1 2.00 120.00 240.00 - 3315 5372 3900 5368 -2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 - 6354 2280 7470 2280 7470 2585 6354 2585 6354 2280 -2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 - 6348 1875 7320 1875 7320 2222 6348 2222 6348 1875 -2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 - 3954 2070 5505 2070 5505 2372 3954 2372 3954 2070 -2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 - 1 1 2.00 120.00 240.00 - 5634 2137 6230 2045 -2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 - 1 1 2.00 120.00 240.00 - 5670 2310 6265 2418 -2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 - 3900 2640 5400 2640 5400 2975 3900 2975 3900 2640 -2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 - 4038 3165 5385 3165 5385 3497 4038 3497 4038 3165 -2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 - 4245 4110 5730 4110 5730 4499 4245 4499 4245 4110 -2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 - 4233 4545 6390 4545 6390 4862 4233 4862 4233 4545 -2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 - 4026 5190 5385 5190 5385 5525 4026 5525 4026 5190 -2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 - 4038 7755 5310 7755 5310 8075 4038 8075 4038 7755 -2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 - 6270 8250 7365 8250 7365 8610 6270 8610 6270 8250 -2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 - 6273 8655 7380 8655 7380 8978 6273 8978 6273 8655 -2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 - 4041 10620 5985 10620 5985 10943 4041 10943 4041 10620 -2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 - 2217 10830 3135 10830 3135 11156 2217 11156 2217 10830 -2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 - 2229 9780 3240 9780 3240 10118 2229 10118 2229 9780 -2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 - 2214 9015 3285 9015 3285 9362 2214 9362 2214 9015 -2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 - 2208 5850 3420 5850 3420 6209 2208 6209 2208 5850 -2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 - 2217 4275 3615 4275 3615 4634 2217 4634 2217 4275 -2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 - 2235 2655 3150 2655 3150 3000 2235 3000 2235 2655 -2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 - 60 5115 1500 5115 1500 5610 60 5610 60 5115 -2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 - 1 1 2.00 120.00 240.00 - 3486 6018 4011 5853 -2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 - 1 1 2.00 120.00 240.00 - 3486 6129 3996 6249 -2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 - 1 1 2.00 120.00 240.00 - 3361 9291 3991 9531 -2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 - 1 1 2.00 120.00 240.00 - 3345 9129 4005 9099 -2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 - 1 1 2.00 120.00 240.00 - 3691 4412 4216 4277 -2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 - 1 1 2.00 120.00 240.00 - 3695 4561 4175 4711 -2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 - 2220 735 3129 735 3129 1043 2220 1043 2220 735 -4 0 1 50 -1 18 18 0.0000 4 225 1275 2265 1455 Universe\001 -4 0 1 50 -1 18 18 0.0000 4 285 735 2265 2175 Input\001 -4 0 1 50 -1 18 18 0.0000 4 225 780 2265 2925 Atom\001 -4 0 1 50 -1 18 18 0.0000 4 285 1020 2265 3600 Update\001 -4 0 1 50 -1 18 18 0.0000 4 285 1320 2265 4575 Neighbor\001 -4 0 1 50 -1 18 18 0.0000 4 225 945 2265 5475 Comm\001 -4 0 1 50 -1 18 18 0.0000 4 225 1110 2265 6150 Domain\001 -4 0 1 50 -1 18 18 0.0000 4 225 810 2265 7425 Force\001 -4 0 1 50 -1 18 18 0.0000 4 285 975 2265 9300 Modify\001 -4 0 1 50 -1 18 18 0.0000 4 285 900 2265 10050 Group\001 -4 0 1 50 -1 18 18 0.0000 4 285 990 2265 10500 Output\001 -4 0 1 50 -1 18 18 0.0000 4 225 825 2265 11100 Timer\001 -4 0 0 50 -1 18 18 0.0000 4 225 1170 3990 1950 Variable\001 -4 0 4 50 -1 18 18 0.0000 4 225 1470 3990 2325 Command\001 -4 0 4 50 -1 18 18 0.0000 4 285 1275 4065 3450 Integrate\001 -4 0 4 50 -1 18 18 0.0000 4 225 525 4065 3825 Min\001 -4 0 0 50 -1 18 18 0.0000 4 285 1230 4065 5475 Irregular\001 -4 0 4 50 -1 18 18 0.0000 4 285 1020 4065 6000 Region\001 -4 0 0 50 -1 18 18 0.0000 4 225 975 4065 6375 Lattice\001 -4 0 4 50 -1 18 18 0.0000 4 225 435 4065 9225 Fix\001 -4 0 4 50 -1 18 18 0.0000 4 285 1305 4065 9600 Compute\001 -4 0 4 50 -1 18 18 0.0000 4 225 570 4065 6975 Pair\001 -4 0 4 50 -1 18 18 0.0000 4 285 840 4065 7665 Angle\001 -4 0 4 50 -1 18 18 0.0000 4 225 1215 4065 8010 Dihedral\001 -4 0 4 50 -1 18 18 0.0000 4 285 1305 4065 8355 Improper\001 -4 0 4 50 -1 18 18 0.0000 4 285 1095 4065 8700 KSpace\001 -4 0 4 50 -1 18 18 0.0000 4 285 855 4065 10545 Dump\001 -4 0 0 50 -1 18 18 0.0000 4 225 1815 4065 10890 WriteRestart\001 -4 0 0 50 -1 18 18 0.0000 4 225 930 6315 8550 FFT3D\001 -4 0 0 50 -1 18 18 0.0000 4 285 1005 6315 8925 Remap\001 -4 0 0 50 -1 18 18 0.0000 4 225 885 6390 2175 Finish\001 -4 0 0 50 -1 18 18 0.0000 4 285 1050 6390 2550 Special\001 -4 0 4 50 -1 18 18 0.0000 4 225 1305 3990 2925 AtomVec\001 -4 0 4 50 -1 18 18 0.0000 4 225 765 4065 7320 Bond\001 -4 0 0 50 -1 18 18 0.0000 4 225 1095 4065 10200 Thermo\001 -4 0 0 50 -1 18 18 0.0000 4 285 1380 4305 4425 NeighList\001 -4 0 0 50 -1 18 18 0.0000 4 285 2025 4305 4800 NeighRequest\001 -4 0 1 50 -1 18 18 0.0000 4 285 1155 2250 600 Memory\001 -4 0 0 50 -1 18 18 0.0000 4 225 1305 120 5475 LAMMPS\001 -4 0 1 50 -1 18 18 0.0000 4 225 735 2265 1005 Error\001 diff --git a/doc/src/Developer/classes.pdf b/doc/src/Developer/classes.pdf deleted file mode 100644 index 566089ac9ee204802a09d920e84d0c250f729d48..0000000000000000000000000000000000000000 Binary files a/doc/src/Developer/classes.pdf and /dev/null differ diff --git a/doc/src/Developer/developer.tex b/doc/src/Developer/developer.tex deleted file mode 100644 index c7f619c84f040a95c797fdd13b5a347c81d3a04a..0000000000000000000000000000000000000000 --- a/doc/src/Developer/developer.tex +++ /dev/null @@ -1,699 +0,0 @@ -\documentclass{article} -\usepackage{graphicx} - -\begin{document} - -\centerline{\Large \bf LAMMPS Developer Guide} -\centerline{\bf 23 Aug 2011} - -\vspace{0.5in} - -This document is a developer guide to the LAMMPS molecular dynamics -package, whose WWW site is at lammps.sandia.gov. It describes the -internal structure and algorithms of the code. Sections will be added -as we have time, and in response to requests from developers and -users. - -\tableofcontents - -\pagebreak -\section{LAMMPS source files} - -LAMMPS source files are in two directories of the distribution -tarball. The src directory has the majority of them, all of which are -C++ files (*.cpp and *.h). Many of these files are in the src -directory itself. There are also dozens of ``packages'', which can be -included or excluded when LAMMPS is built. See the -doc/Section\_build.html section of the manual for more information -about packages, or type ``make'' from within the src directory, which -lists package-related commands, such as ``make package-status''. The -source files for each package are in an all-uppercase sub-directory of -src, like src/MOLECULE or src/USER-CUDA. If the package is currently -installed, copies of the package source files will also exist in the -src directory itself. The src/STUBS sub-directory is not a package -but contains a dummy version of the MPI library, used when building a -serial version of the code. - -The lib directory also contains source code for external libraries, -used by a few of the packages. Each sub-directory, like meam or gpu, -contains the source files, some of which are in different languages -such as Fortran. The files are compiled into libraries from within -each sub-directory, e.g. performing a ``make'' in the lib/meam directory -creates a libmeam.a file. These libraries are linked to during a -LAMMPS build, if the corresponding package is installed. - -LAMMPS C++ source files almost always come in pairs, such as run.cpp -and run.h. The pair of files defines a C++ class, the Run class in -this case, which contains the code invoked by the ``run'' command in a -LAMMPS input script. As this example illustrates, source file and -class names often have a one-to-one correspondence with a command used -in a LAMMPS input script. Some source files and classes do not have a -corresponding input script command, e.g. ``force.cpp'' and the Force -class. They are discussed in the next section. - -\pagebreak -\section{Class hierarchy of LAMMPS} - -Though LAMMPS has a lot of source files and classes, its class -hierarchy is quite simple, as outlined in Fig \ref{fig:classes}. Each -boxed name refers to a class and has a pair of associated source files -in lammps/src, e.g. ``memory.cpp'' and ``memory.h''. More details on the -class and its methods and data structures can be found by examining -its *.h file. - -LAMMPS (lammps.cpp/h) is the top-level class for the entire code. It -holds an ``instance'' of LAMMPS and can be instantiated one or more -times by a calling code. For example, the file src/main.cpp simply -instantiates one instance of LAMMPS and passes it the input script. - -The file src/library.cpp contains a C-style library interface to the -LAMMPS class. See the lammps/couple and lammps/python directories for -examples of simple programs that use LAMMPS through its library -interface. A driver program can instantiate the LAMMPS class multiple -times, e.g. to embed several atomistic simulation regions within a -mesoscale or continuum simulation domain. - -There are a dozen or so top-level classes within the LAMMPS class that -are visible everywhere in the code. They are shaded blue in Fig -\ref{fig:classes}. Thus any class can refer to the y-coordinate of -local atom $I$ as atom$\rightarrow$x[i][1]. This visibility is -enabled by a bit of cleverness in the Pointers class (see -src/pointers.h) which every class inherits from. - -There are a handful of virtual parent classes in LAMMPS that define -what LAMMPS calls ``styles''. They are shaded red in Fig -\ref{fig:classes}. Each of these are parents of a number of child -classes that implement the interface defined by the parent class. For -example, the fix style has around 100 child classes. They are the -possible fixes that can be specified by the fix command in an input -script, e.g. fix nve, fix shake, fix ave/time, etc. The corresponding -classes are Fix (for the parent class), FixNVE, FixShake, FixAveTime, -etc. The source files for these classes are easy to identify in the -src directory, since they begin with the word ``fix'', e,g, -fix\_nve.cpp, fix\_shake,cpp, fix\_ave\_time.cpp, etc. - -The one exception is child class files for the ``command'' style. These -implement specific commands in the input script that can be invoked -before/after/between runs or which launch a simulation. Examples are -the create\_box, minimize, run, and velocity commands which encode the -CreateBox, Minimize, Run, and Velocity classes. The corresponding -files are create\_box,cpp, minimize.cpp, run.cpp, and velocity.cpp. -The list of command style files can be found by typing ``grep -COMMAND\_CLASS *.h'' from within the src directory, since that word in -the header file identifies the class as an input script command. -Similar words can be grepped to list files for the other LAMMPS -styles. E.g. ATOM\_CLASS, PAIR\_CLASS, BOND\_CLASS, REGION\_CLASS, -FIX\_CLASS, COMPUTE\_CLASS, DUMP\_CLASS, etc. - -\begin{figure}[htb] - \begin{center} - \includegraphics[height=4in]{classes.pdf} - \end{center} - \caption{Class hierarchy within LAMMPS source code.} -\label{fig:classes} -\end{figure} - -More details on individual classes in Fig \ref{fig:classes} are as -follows: - -\begin{itemize} - -\item The Memory class handles allocation of all large vectors and - arrays. - -\item The Error class prints all error and warning messages. - -\item The Universe class sets up partitions of processors so that - multiple simulations can be run, each on a subset of the processors - allocated for a run, e.g. by the mpirun command. - -\item The Input class reads an input script, stores variables, and - invokes stand-alone commands that are child classes of the Command - class. - -\item As discussed above, the Command class is a parent class for - certain input script commands that perform a one-time operation - before/after/between simulations or which invoke a simulation. They - are instantiated from within the Input class, invoked, then - immediately destructed. - -\item The Finish class is instantiated to print statistics to the - screen after a simulation is performed, by commands like run and - minimize. - -\item The Special class walks the bond topology of a molecular system - to find first, second, third neighbors of each atom. It is invoked by - several commands, like read\_data, read\_restart, and replicate. - -\item The Atom class stores all per-atom arrays. More precisely, they - are allocated and stored by the AtomVec class, and the Atom class - simply stores a pointer to them. The AtomVec class is a parent - class for atom styles, defined by the atom\_style command. - -\item The Update class holds an integrator and a minimizer. The - Integrate class is a parent style for the Verlet and rRESPA time - integrators, as defined by the run\_style input command. The Min - class is a parent style for various energy minimizers. - -\item The Neighbor class builds and stores neighbor lists. The - NeighList class stores a single list (for all atoms). The - NeighRequest class is called by pair, fix, or compute styles when - they need a particular kind of neighbor list. - -\item The Comm class performs interprocessor communication, typically - of ghost atom information. This usually involves MPI message - exchanges with 6 neighboring processors in the 3d logical grid of - processors mapped to the simulation box. Sometimes the Irregular - class is used, when atoms may migrate to arbitrary processors. - -\item The Domain class stores the simulation box geometry, as well as - geometric Regions and any user definition of a Lattice. The latter - are defined by region and lattice commands in an input script. - -\item The Force class computes various forces between atoms. The Pair - parent class is for non-bonded or pair-wise forces, which in LAMMPS - lingo includes many-body forces such as the Tersoff 3-body - potential. The Bond, Angle, Dihedral, Improper parent classes are - styles for bonded interactions within a static molecular topology. - The KSpace parent class is for computing long-range Coulombic - interactions. One of its child classes, PPPM, uses the FFT3D and - Remap classes to communicate grid-based information with neighboring - processors. - -\item The Modify class stores lists of Fix and Compute classes, both - of which are parent styles. - -\item The Group class manipulates groups that atoms are assigned to - via the group command. It also computes various attributes of - groups of atoms. - -\item The Output class is used to generate 3 kinds of output from a - LAMMPS simulation: thermodynamic information printed to the screen - and log file, dump file snapshots, and restart files. These - correspond to the Thermo, Dump, and WriteRestart classes - respectively. The Dump class is a parent style. - -\item The Timer class logs MPI timing information, output at the end - of a run. - -\end{itemize} - -%%\pagebreak -%%\section{Spatial decomposition and parallel operations} -%%distributed memory -%%Ref to JCP paper -%%diagram of 3d grid of procs and spatial decomp -%%6-way comm -%%ghost atoms, PBC added when comm (in atom class) - -%%\pagebreak -%%\section{Fixes, computes, variables} -%%fixes intercolate in timestep, store per-atom info -%%computes based on current snapshot -%%equal- and atom-style variables -%%output they produce - see write-up in HowTo - -\pagebreak -\section{How a timestep works} - -The first and most fundamental operation within LAMMPS to understand -is how a timestep is structured. Timestepping is performed by the -Integrate class within the Update class. Since Integrate is a parent -class, corresponding to the run\_style input script command, it has -child classes. In this section, the timestep implemented by the -Verlet child class is described. A similar timestep is implemented by -the Respa child class, for the rRESPA hierarchical timestepping -method. The Min parent class performs energy minimization, so does -not perform a literal timestep. But it has logic similar to what is -described here, to compute forces and invoke fixes at each iteration -of a minimization. Differences between time integration and -minimization are highlighted at the end of this section. - -The Verlet class is encoded in the src/verlet.cpp and verlet.h files. -It implements the velocity-Verlet timestepping algorithm. The -workhorse method is Verlet::run(), but first we highlight several -other methods in the class. - -\begin{itemize} - -\item The init() method is called at the beginning of each dynamics - run. It simply sets some internal flags, based on user settings in - other parts of the code. - -\item The setup() or setup\_minimal() methods are also called before - each run. The velocity-Verlet method requires current forces be - calculated before the first timestep, so these routines compute - forces due to all atomic interactions, using the same logic that - appears in the timestepping described next. A few fixes are also - invoked, using the mechanism described in the next section. Various - counters are also initialized before the run begins. The - setup\_minimal() method is a variant that has a flag for performing - less setup. This is used when runs are continued and information - from the previous run is still valid. For example, if repeated - short LAMMPS runs are being invoked, interleaved by other commands, - via the ``pre no'' and ``every'' options of the run command, the - setup\_minimal() method is used. - -\item The force\_clear() method initializes force and other arrays to - zero before each timestep, so that forces (torques, etc) can be - accumulated. - -\end{itemize} - -Now for the Verlet::run() method. Its structure in hi-level pseudo -code is shown in Fig \ref{fig:verlet}. In the actual code in -src/verlet.cpp some of these operations are conditionally invoked. - -\begin{figure}[htb] - \begin{center} - \begin{verbatim} -loop over N timesteps: - ev_set() - - fix->initial_integrate() - fix->post_integrate() - - nflag = neighbor->decide() - if nflag: - fix->pre_exchange() - domain->pbc() - domain->reset_box() - comm->setup() - neighbor->setup_bins() - comm->exchange() - comm->borders() - fix->pre_neighbor() - neighbor->build() - else - comm->forward_comm() - - force_clear() - fix->pre_force() - - pair->compute() - bond->compute() - angle->compute() - dihedral->compute() - improper->compute() - kspace->compute() - - comm->reverse_comm() - - fix->post_force() - fix->final_integrate() - fix->end_of_step() - - if any output on this step: output->write() - \end{verbatim} - \end{center} - \caption{Pseudo-code for the Verlet::run() method.} -\label{fig:verlet} -\end{figure} - -The ev\_set() method (in the parent Integrate class), sets two flags -({\em eflag} and {\em vflag}) for energy and virial computation. Each -flag encodes whether global and/or per-atom energy and virial should -be calculated on this timestep, because some fix or variable or output -will need it. These flags are passed to the various methods that -compute particle interactions, so that they can skip the extra -calculations if the energy and virial are not needed. See the -comments with the Integrate::ev\_set() method which document the flag -values. - -At various points of the timestep, fixes are invoked, -e.g. fix$\rightarrow$initial\_integrate(). In the code, this is -actually done via the Modify class which stores all the Fix objects -and lists of which should be invoked at what point in the timestep. -Fixes are the LAMMPS mechanism for tailoring the operations of a -timestep for a particular simulation. As described elsewhere -(unwritten section), each fix has one or more methods, each of which -is invoked at a specific stage of the timestep, as in Fig -\ref{fig:verlet}. All the fixes defined in an input script with an -initial\_integrate() method are invoked at the beginning of each -timestep. Fix nve, nvt, npt are examples, since they perform the -start-of-timestep velocity-Verlet integration to update velocities by -a half-step, and coordinates by a full step. The post\_integrate() -method is next. Only a few fixes use this, e.g. to reflect particles -off box boundaries in the FixWallReflect class. - -The decide() method in the Neighbor class determines whether neighbor -lists need to be rebuilt on the current timestep. If not, coordinates -of ghost atoms are acquired by each processor via the forward\_comm() -method of the Comm class. If neighbor lists need to be built, several -operations within the inner if clause of Fig \ref{fig:verlet} are -first invoked. The pre\_exchange() method of any defined fixes is -invoked first. Typically this inserts or deletes particles from the -system. - -Periodic boundary conditions are then applied by the Domain class via -its pbc() method to remap particles that have moved outside the -simulation box back into the box. Note that this is not done every -timestep. but only when neighbor lists are rebuilt. This is so that -each processor's sub-domain will have consistent (nearby) atom -coordinates for its owned and ghost atoms. It is also why dumped atom -coordinates can be slightly outside the simulation box. - -The box boundaries are then reset (if needed) via the reset\_box() -method of the Domain class, e.g. if box boundaries are shrink-wrapped -to current particle coordinates. A change in the box size or shape -requires internal information for communicating ghost atoms (Comm -class) and neighbor list bins (Neighbor class) be updated. The -setup() method of the Comm class and setup\_bins() method of the -Neighbor class perform the update. - -The code is now ready to migrate atoms that have left a processor's -geometric sub-domain to new processors. The exchange() method of the -Comm class performs this operation. The borders() method of the Comm -class then identifies ghost atoms surrounding each processor's -sub-domain and communicates ghost atom information to neighboring -processors. It does this by looping over all the atoms owned by a -processor to make lists of those to send to each neighbor processor. -On subsequent timesteps, the lists are used by the -Comm::forward\_comm() method. - -Fixes with a pre\_neighbor() method are then called. These typically -re-build some data structure stored by the fix that depends on the -current atoms owned by each processor. - -Now that each processor has a current list of its owned and ghost -atoms, LAMMPS is ready to rebuild neighbor lists via the build() -method of the Neighbor class. This is typically done by binning all -owned and ghost atoms, and scanning a stencil of bins around each -owned atom's bin to make a Verlet list of neighboring atoms within the -force cutoff plus neighbor skin distance. - -In the next portion of the timestep, all interaction forces between -particles are computed, after zeroing the per-atom force vector via -the force\_clear() method. If the newton flag is set to ``on'' by the -newton command, forces on both owned and ghost atoms are calculated. - -Pairwise forces are calculated first, which enables the global virial -(if requested) to be calculated cheaply (at the end of the -Pair::compute() method), by a dot product of atom coordinates and -forces. By including owned and ghost atoms in the dot product, the -effect of periodic boundary conditions is correctly accounted for. -Molecular topology interactions (bonds, angles, dihedrals, impropers) -are calculated next. The final contribution is from long-range -Coulombic interactions, invoked by the KSpace class. - -If the newton flag is on, forces on ghost atoms are communicated and -summed back to their corresponding owned atoms. The reverse\_comm() -method of the Comm class performs this operation, which is essentially -the inverse operation of sending copies of owned atom coordinates to -other processor's ghost atoms. - -At this point in the timestep, the total force on each atom is known. -Additional force constraints (external forces, SHAKE, etc) are applied -by Fixes that have a post\_force() method. The second half of the -velocity-Verlet integration is then performed (another half-step -update of the velocities) via fixes like nve, nvt, npt. - -At the end of the timestep, fixes that define an end\_of\_step() -method are invoked. These typically perform a diagnostic calculation, -e.g. the ave/time and ave/spatial fixes. The final operation of the -timestep is to perform any requested output, via the write() method of -the Output class. There are 3 kinds of LAMMPS output: thermodynamic -output to the screen and log file, snapshots of atom data to a dump -file, and restart files. See the thermo\_style, dump, and restart -commands for more details. - -The iteration performed by an energy minimization is similar to the -dynamics timestep of Fig \ref{fig:verlet}. Forces are computed, -neighbor lists are built as needed, atoms migrate to new processors, -and atom coordinates and forces are communicated to neighboring -processors. The only difference is what Fix class operations are -invoked when. Only a subset of LAMMPS fixes are useful during energy -minimization, as explained in their individual doc pages. The -relevant Fix class methods are min\_pre\_exchange(), -min\_pre\_force(), and min\_post\_force(). Each is invoked at the -appropriate place within the minimization iteration. For example, the -min\_post\_force() method is analogous to the post\_force() method for -dynamics; it is used to alter or constrain forces on each atom, which -affects the minimization procedure. - -\pagebreak -\section{Extending LAMMPS} - -The Section\_modify.html file in the doc directory of -the LAMMPS distribution gives an overview of how LAMMPS can -be extended by writing new classes that derive from existing -parent classes in LAMMPS. Here, some specific coding -details are provided for writing a new fix. - -\subsection{New fixes} - -(this section provided by Kirill Lykov) -\vspace{0.25cm} - -Writing fixes is a flexible way of extending LAMMPS. Users can -implement many things using fixes: - -\begin{itemize} -\item changing particles attributes (positions, velocities, forces, etc.). -Example: FixFreeze. -\item reading/writing data. Example: FixRestart. -\item implementing boundary conditions. Example: FixWall. -\item saving information about particles for future use (previous positions, -for instance). Example: FixStoreState. -\end{itemize} - -All fixes are derived from class Fix and must have constructor with the -signature: FixMine(class LAMMPS *, int, char **). - -Every fix must be registered in LAMMPS by writing the following lines -of code in the header before include guards: - - \begin{center} - \begin{verbatim} -#ifdef FIX_CLASS -FixStyle(your/fix/name,FixMine) -#else - \end{verbatim} - \end{center} - -Where ``your/fix/name'' is a name of your fix in the script and FixMine -is the name of the class. This code allows LAMMPS to find your fix -when it parses input script. In addition, your fix header must be -included in the file ``style\_fix.h''. In case if you use LAMMPS make, -this file is generated automatically - all files starting with prefix -fix\_ are included, so call your header the same way. Otherwise, don't -forget to add your include into ``style\_fix.h''. - -Let's write a simple fix which will print average velocity at the end -of each timestep. First of all, implement a constructor: - - \begin{center} - \begin{verbatim} -FixPrintVel::FixPrintVel(LAMMPS *lmp, int narg, char **arg) -: Fix(lmp, narg, arg) -{ - if (narg < 4) - error->all(FLERR,"Illegal fix print command"); - - nevery = atoi(arg[3]); - if (nevery <= 0) - error->all(FLERR,"Illegal fix print command"); -} - \end{verbatim} - \end{center} - -In the constructor you should parse your fix arguments which are -specified in the script. All fixes have pretty the same syntax: fix -[fix\_identifier] [group\_name] [fix\_name] [fix\_arguments]. The -first 3 parameters are parsed by Fix class constructor, while -[fix\_arguments] should be parsed by you. In our case, we need to -specify how often we want to print an average velocity. For instance, -once in 50 timesteps: fix 1 print/vel 50. There is a special variable -in Fix class called nevery which specifies how often method -end\_of\_step() is called. Thus all we need to do is just set it up. - -The next method we need to implement is setmask(): -\begin{center} -\begin{verbatim} -int FixPrintVel::setmask() -{ - int mask = 0; - mask |= FixConst::END_OF_STEP; - return mask; -} -\end{verbatim} -\end{center} - -Here user specifies which methods of your fix should be called during -the execution. For instance, END\_OF\_STEP corresponds to the -end\_of\_step() method. Overall, there are 8 most important methods, -methods are called in predefined order during the execution of the -verlet algorithm as was mentioned in the Section 3: - -\begin{itemize} -\item initial\_integrate() -\item post\_integrate() -\item pre\_exchange() -\item pre\_neighbor() -\item pre\_force() -\item post\_force() -\item final\_integrate() -\item end\_of\_step() -\end{itemize} - -Fix developer must understand when he wants to execute his code. In -case if we want to write FixPrintVel, we need only end\_of\_step(): - -\begin{center} -\begin{verbatim} -void FixPrintVel::end_of_step() -{ - // for add3, scale3 - using namespace MathExtra; - - double** v = atom->v; - int nlocal = atom->nlocal; - double localAvgVel[4]; // 4th element for particles count - memset(localAvgVel, 0, 4 * sizeof(double)); - for (int particleInd = 0; particleInd < nlocal; ++particleInd) { - add3(localAvgVel, v[particleInd], localAvgVel); - } - localAvgVel[3] = nlocal; - double globalAvgVel[4]; - memset(globalAvgVel, 0, 4 * sizeof(double)); - MPI_Allreduce(localAvgVel, globalAvgVel, 4, MPI_DOUBLE, MPI_SUM, world); - scale3(1.0 / globalAvgVel[3], globalAvgVel); - if (comm->me == 0) { - printf("\%e, \%e, \%e\n", - globalAvgVel[0], globalAvgVel[1], globalAvgVel[2]); - } -} -\end{verbatim} -\end{center} - -In the code above, we use MathExtra routines defined in -``math\_extra.h''. There are bunch of math functions to work with -arrays of doubles as with math vectors. - -In this code we use an instance of Atom class. This object is stored -in the Pointers class (see ``pointers.h''). This object contains all -global information about the simulation system. Data from Pointers -class available to all classes inherited from it using protected -inheritance. Hence when you write you own class, which is going to use -LAMMPS data, don't forget to inherit from Pointers. When writing -fixes we inherit from class Fix which is inherited from Pointers so -there is no need to inherit from it directly. - -The code above computes average velocity for all particles in the -simulation. Yet you have one unused parameter in fix call from the -script - [group\_name]. This parameter specifies the group of atoms -used in the fix. So we should compute average for all particles in the -simulation if group\_name == all, but it can be any group. The group -information is specified by groupbit which is defined in class Fix: - -\begin{center} -\begin{verbatim} -for (int particleInd = 0; particleInd < nlocal; ++particleInd) { - if (atom->mask[particleInd] & groupbit) { - //Do all job here - } -} -\end{verbatim} -\end{center} - -Class Atom encapsulates atoms positions, velocities, forces, etc. User -can access them using particle index. Note, that particle indexes are -usually changed every timestep because of sorting. - -Lets consider another Fix example. We want to have a fix which stores -atoms position from previous time step in your fix. The local atoms -indexes will not be valid on the next iteration. In order to handle -this situation there are several methods which should be implemented: - -\begin{itemize} -\item \verb|double memory_usage| - return how much memory fix uses -\item \verb|void grow_arrays(int)| - do reallocation of the per particle arrays - in your fix -\item \verb|void copy_arrays(int i, int j, int delflag)| - copy i-th per-particle - information to j-th. Used when atoms sorting is performed. if delflag is set - and atom j owns a body, move the body information to atom i. -\item \verb|void set_arrays(int i)| - sets i-th particle related information to zero -\end{itemize} - -Note, that if your class implements these methods, it must call add calls of -add\_callback and delete\_callback to constructor and destructor: - -\begin{center} -\begin{verbatim} -FixSavePos::FixSavePos(LAMMPS *lmp, int narg, char **arg) { - //... - atom->add_callback(0); -} - -FixSavePos::~FixSavePos() { - atom->delete_callback(id, 0); -} -\end{verbatim} -\end{center} - -Since we want to store positions of atoms from previous timestep, we -need to add double** x to the header file. Than add allocation code to -constructor: - -\verb|memory->create(this->x, atom->nmax, 3, "FixSavePos:x");|. Free memory -at destructor: \verb|memory->destroy(x);| - -Finally, implement mentioned methods: - -\begin{center} -\begin{verbatim} -double FixSavePos::memory_usage() -{ - int nmax = atom->nmax; - double bytes = 0.0; - bytes += nmax * 3 * sizeof(double); - return bytes; -} - -void FixSavePos::grow_arrays(int nmax) -{ - memory->grow(this->x, nmax, 3, "FixSavePos:x"); -} - -void FixSavePos::copy_arrays(int i, int j, int delflag) -{ - memcpy(this->x[j], this->x[i], sizeof(double) * 3); -} - -void FixSavePos::set_arrays(int i) -{ - memset(this->x[i], 0, sizeof(double) * 3); -} - -int FixSavePos::pack_exchange(int i, double *buf) -{ - int m = 0; - buf[m++] = x[i][0]; - buf[m++] = x[i][1]; - buf[m++] = x[i][2]; - - return m; -} - -int FixSavePos::unpack_exchange(int nlocal, double *buf) -{ - int m = 0; - x[nlocal][0] = buf[m++]; - x[nlocal][1] = buf[m++]; - x[nlocal][2] = buf[m++]; - - return m; -} -\end{verbatim} -\end{center} - -Now, a little bit about memory allocation. We used Memory class which -is just a bunch of template functions for allocating 1D and 2D -arrays. So you need to add include ``memory.h'' to have access to them. - -Finally, if you need to write/read some global information used in -your fix to the restart file, you might do it by setting flag -restart\_global = 1 in the constructor and implementing methods void -write\_restart(FILE *fp) and void restart(char *buf). - -\end{document} diff --git a/doc/src/Errors_messages.rst b/doc/src/Errors_messages.rst index f3be94a23926bbe0bd567a022fa47f2cede72e63..6a694217f8ab91a55c4799ebc31ad76cce821c53 100644 --- a/doc/src/Errors_messages.rst +++ b/doc/src/Errors_messages.rst @@ -502,10 +502,10 @@ Doc page with :doc:`WARNING messages ` *Bond/react: Unknown section in map file* Please ensure reaction map files are properly formatted. -*Bond/react: Atom affected by reaction too close to template edge* +*Bond/react: Atom/Bond type affected by reaction too close to template edge* This means an atom which changes type or connectivity during the reaction is too close to an 'edge' atom defined in the map - file. This could cause incorrect assignment of bonds, angle, etc. + file. This could cause incorrect assignment of bonds, angle, etc. Generally, this means you must include more atoms in your templates, such that there are at least two atoms between each atom involved in the reaction and an edge atom. diff --git a/doc/src/Howto_cmake.rst b/doc/src/Howto_cmake.rst index afea5fea1d38a999789758a3ca5c1938a655ec0b..9176600820085b67e7076bf60467602ec89e2015 100644 --- a/doc/src/Howto_cmake.rst +++ b/doc/src/Howto_cmake.rst @@ -191,19 +191,19 @@ You start the command ``ccmake ../cmake`` in the ``build`` folder. .. list-table:: * - .. figure:: JPG/ccmake-initial.png - :target: JPG/ccmake-initial.png + :scale: 33% :align: center Initial ``ccmake`` screen - .. figure:: JPG/ccmake-config.png - :target: JPG/ccmake-config.png + :scale: 33% :align: center Configure output of ``ccmake`` - .. figure:: JPG/ccmake-options.png - :target: JPG/ccmake-options.png + :scale: 33% :align: center Options screen of ``ccmake`` @@ -236,19 +236,19 @@ not required, it can also be entered from the GUI. .. list-table:: * - .. figure:: JPG/cmake-gui-initial.png - :target: JPG/cmake-gui-initial.png + :scale: 40% :align: center Initial ``cmake-gui`` screen - .. figure:: JPG/cmake-gui-popup.png - :target: JPG/cmake-gui-popup.png + :scale: 60% :align: center Generator selection in ``cmake-gui`` - .. figure:: JPG/cmake-gui-options.png - :target: JPG/cmake-gui-options.png + :scale: 40% :align: center Options screen of ``cmake-gui`` diff --git a/doc/src/Howto_couple.rst b/doc/src/Howto_couple.rst index c652d4f599ffff96bdc74f099cfe54a01c439207..2eadbb522e27eb68893bf0eb53b11419124f29d2 100644 --- a/doc/src/Howto_couple.rst +++ b/doc/src/Howto_couple.rst @@ -12,96 +12,52 @@ LAMMPS can be coupled to other codes in at least 4 ways. Each has advantages and disadvantages, which you will have to think about in the context of your application. ----------- - -(1) Define a new :doc:`fix ` command that calls the other code. In -this scenario, LAMMPS is the driver code. During its timestepping, -the fix is invoked, and can make library calls to the other code, -which has been linked to LAMMPS as a library. This is the way the -`POEMS `_ package that performs constrained rigid-body motion on -groups of atoms is hooked to LAMMPS. See the :doc:`fix poems ` command for more details. See the -:doc:`Modify ` doc pages for info on how to add a new fix to -LAMMPS. - -.. _poems: http://www.rpi.edu/~anderk5/lab - ----------- - -(2) Define a new LAMMPS command that calls the other code. This is -conceptually similar to method (1), but in this case LAMMPS and the -other code are on a more equal footing. Note that now the other code -is not called during the timestepping of a LAMMPS run, but between -runs. The LAMMPS input script can be used to alternate LAMMPS runs -with calls to the other code, invoked via the new command. The -:doc:`run ` command facilitates this with its *every* option, which -makes it easy to run a few steps, invoke the command, run a few steps, -invoke the command, etc. - -In this scenario, the other code can be called as a library, as in -(1), or it could be a stand-alone code, invoked by a system() call -made by the command (assuming your parallel machine allows one or more -processors to start up another program). In the latter case the -stand-alone code could communicate with LAMMPS through files that the -command writes and reads. - -See the :doc:`Modify command ` doc page for info on how -to add a new command to LAMMPS. - ----------- - -(3) Use LAMMPS as a library called by another code. In this case the -other code is the driver and calls LAMMPS as needed. Or a wrapper -code could link and call both LAMMPS and another code as libraries. -Again, the :doc:`run ` command has options that allow it to be -invoked with minimal overhead (no setup or clean-up) if you wish to do -multiple short runs, driven by another program. - -Examples of driver codes that call LAMMPS as a library are included in -the examples/COUPLE directory of the LAMMPS distribution; see -examples/COUPLE/README for more details: - -* simple: simple driver programs in C++ and C which invoke LAMMPS as a - library -* plugin: simple driver program in C which invokes LAMMPS as a plugin - from a shared library. -* lammps_quest: coupling of LAMMPS and `Quest `_, to run classical - MD with quantum forces calculated by a density functional code -* lammps_spparks: coupling of LAMMPS and `SPPARKS `_, to couple - a kinetic Monte Carlo model for grain growth using MD to calculate - strain induced across grain boundaries - -.. _quest: http://dft.sandia.gov/Quest - -.. _spparks: http://www.sandia.gov/~sjplimp/spparks.html - -The :doc:`Build basics ` doc page describes how to build -LAMMPS as a library. Once this is done, you can interface with LAMMPS -either via C++, C, Fortran, or Python (or any other language that -supports a vanilla C-like interface). For example, from C++ you could -create one (or more) "instances" of LAMMPS, pass it an input script to -process, or execute individual commands, all by invoking the correct -class methods in LAMMPS. From C or Fortran you can make function -calls to do the same things. See the :doc:`Python ` doc -pages for a description of the Python wrapper provided with LAMMPS -that operates through the LAMMPS library interface. - -The files src/library.cpp and library.h contain the C-style interface -to LAMMPS. See the :doc:`Howto library ` doc page for a -description of the interface and how to extend it for your needs. - -Note that the lammps_open() function that creates an instance of -LAMMPS takes an MPI communicator as an argument. This means that -instance of LAMMPS will run on the set of processors in the -communicator. Thus the calling code can run LAMMPS on all or a subset -of processors. For example, a wrapper script might decide to -alternate between LAMMPS and another code, allowing them both to run -on all the processors. Or it might allocate half the processors to -LAMMPS and half to the other code and run both codes simultaneously -before syncing them up periodically. Or it might instantiate multiple -instances of LAMMPS to perform different calculations. - ----------- - -(4) Couple LAMMPS with another code in a client/server mode. This is -described on the :doc:`Howto client/server ` doc -page. +1. Define a new :doc:`fix ` command that calls the other code. In + this scenario, LAMMPS is the driver code. During timestepping, + the fix is invoked, and can make library calls to the other code, + which has been linked to LAMMPS as a library. This is the way how the + :ref:`LATTE ` package, which performs density-functional + tight-binding calculations using the `LATTE software `_ + to compute forces, is hooked to LAMMPS. + See the :doc:`fix latte ` command for more details. + Also see the :doc:`Modify ` doc pages for info on how to + add a new fix to LAMMPS. + +.. spacer + +2. Define a new LAMMPS command that calls the other code. This is + conceptually similar to method (1), but in this case LAMMPS and the + other code are on a more equal footing. Note that now the other code + is not called during the timestepping of a LAMMPS run, but between + runs. The LAMMPS input script can be used to alternate LAMMPS runs + with calls to the other code, invoked via the new command. The + :doc:`run ` command facilitates this with its *every* option, + which makes it easy to run a few steps, invoke the command, run a few + steps, invoke the command, etc. + + In this scenario, the other code can be called as a library, as in + 1., or it could be a stand-alone code, invoked by a system() call + made by the command (assuming your parallel machine allows one or + more processors to start up another program). In the latter case the + stand-alone code could communicate with LAMMPS through files that the + command writes and reads. + + See the :doc:`Modify command ` doc page for info on how + to add a new command to LAMMPS. + +.. spacer + +3. Use LAMMPS as a library called by another code. In this case the + other code is the driver and calls LAMMPS as needed. Or a wrapper + code could link and call both LAMMPS and another code as libraries. + Again, the :doc:`run ` command has options that allow it to be + invoked with minimal overhead (no setup or clean-up) if you wish to + do multiple short runs, driven by another program. Details about + using the library interface are given in the :doc:`library API + ` documentation. + +.. spacer + +4. Couple LAMMPS with another code in a client/server mode. This is + described on the :doc:`Howto client/server ` doc + page. diff --git a/doc/src/Howto_library.rst b/doc/src/Howto_library.rst index 774d9838c143d7631acbff2427db7cf279884a4e..afa8dde9417828b791fe4db289fface181644a89 100644 --- a/doc/src/Howto_library.rst +++ b/doc/src/Howto_library.rst @@ -2,241 +2,36 @@ Library interface to LAMMPS =========================== As described on the :doc:`Build basics ` doc page, LAMMPS -can be built as a library, so that it can be called by another code, -used in a :doc:`coupled manner ` with other codes, or -driven through a :doc:`Python interface `. +can be built as a static or shared library, so that it can be called by +another code, used in a :doc:`coupled manner ` with other +codes, or driven through a :doc:`Python interface `. + +At the core of LAMMPS is the ``LAMMPS`` class which encapsulates the +state of the simulation program through the state of the various class +instances that it is composed of. So a calculation using LAMMPS +requires to create an instance of the ``LAMMPS`` class and then send it +(text) commands, either individually or from a file, or perform other +operations that modify the state stored inside that instance or drive +simulations. This is essentially what the ``src/main.cpp`` file does +as well for the standalone LAMMPS executable with reading commands +either from an input file or stdin. + +Creating a LAMMPS instance can be done by using C++ code directly or +through a C-style interface library to LAMMPS that is provided in the +files ``src/library.cpp`` and ``library.h``. This +:ref:`C language API `, can be used from C and C++, +and is also the basis for the :doc:`Python ` and +:doc:`Fortran ` interfaces or wrappers included in the +LAMMPS source code. + +The ``examples/COUPLE`` and ``python/examples`` directories contain some +example programs written in C++, C, Fortran, and Python, which show how +a driver code can link to LAMMPS as a library, run LAMMPS on a subset of +processors (so the others are available to run some other code +concurrently), grab data from LAMMPS, change it, and send it back into +LAMMPS. + +A detailed documentation of the available APIs and examples of how to +use them can be found in the :doc:`Programmer Documentation +` section of this manual. -All of these methodologies use a C-style interface to LAMMPS that is -provided in the files src/library.cpp and src/library.h. The -functions therein have a C-style argument list, but contain C++ code -you could write yourself in a C++ application that was invoking LAMMPS -directly. The C++ code in the functions illustrates how to invoke -internal LAMMPS operations. Note that LAMMPS classes are defined -within a LAMMPS namespace (LAMMPS_NS) if you use them from another C++ -application. - -The examples/COUPLE and python/examples directories have example C++ -and C and Python codes which show how a driver code can link to LAMMPS -as a library, run LAMMPS on a subset of processors, grab data from -LAMMPS, change it, and put it back into LAMMPS. - -Thread-safety -------------- - -LAMMPS has not initially been conceived as a thread-safe program, but -over the years changes have been applied to replace operations that -collide with creating multiple LAMMPS instances from multiple-threads -of the same process with thread-safe alternatives. This primarily -applies to the core LAMMPS code and less so on add-on packages, especially -when those packages require additional code in the *lib* folder, -interface LAMMPS to Fortran libraries, or the code uses static variables -(like the USER-COLVARS package. - -Another major issue to deal with is to correctly handle MPI. Creating -a LAMMPS instance requires passing an MPI communicator, or it assumes -the MPI_COMM_WORLD communicator, which spans all MPI processor ranks. -When creating multiple LAMMPS object instances from different threads, -this communicator has to be different for each thread or else collisions -can happen, or it has to be guaranteed, that only one thread at a time -is active. MPI communicators, however, are not a problem, if LAMMPS is -compiled with the MPI STUBS library, which implies that there is no MPI -communication and only 1 MPI rank. - -Provided APIs -------------- - -The file src/library.cpp contains the following functions for creating -and destroying an instance of LAMMPS and sending it commands to -execute. See the documentation in the src/library.cpp file for -details. - -.. note:: - - You can write code for additional functions as needed to define - how your code talks to LAMMPS and add them to src/library.cpp and - src/library.h, as well as to the :doc:`Python interface `. - The added functions can access or change any internal LAMMPS data you - wish. - -.. code-block:: c - - void lammps_open(int, char **, MPI_Comm, void **) - void lammps_open_no_mpi(int, char **, void **) - void lammps_close(void *) - int lammps_version(void *) - void lammps_file(void *, char *) - char *lammps_command(void *, char *) - void lammps_commands_list(void *, int, char **) - void lammps_commands_string(void *, char *) - void lammps_free(void *) - -The lammps_open() function is used to initialize LAMMPS, passing in a -list of strings as if they were :doc:`command-line arguments ` when LAMMPS is run in stand-alone mode -from the command line, and a MPI communicator for LAMMPS to run under. -It returns a ptr to the LAMMPS object that is created, and which is -used in subsequent library calls. The lammps_open() function can be -called multiple times, to create multiple instances of LAMMPS. - -LAMMPS will run on the set of processors in the communicator. This -means the calling code can run LAMMPS on all or a subset of -processors. For example, a wrapper script might decide to alternate -between LAMMPS and another code, allowing them both to run on all the -processors. Or it might allocate half the processors to LAMMPS and -half to the other code and run both codes simultaneously before -syncing them up periodically. Or it might instantiate multiple -instances of LAMMPS to perform different calculations. - -The lammps_open_no_mpi() function is similar except that no MPI -communicator is passed from the caller. Instead, MPI_COMM_WORLD is -used to instantiate LAMMPS, and MPI is initialized if necessary. - -The lammps_close() function is used to shut down an instance of LAMMPS -and free all its memory. - -The lammps_version() function can be used to determined the specific -version of the underlying LAMMPS code. This is particularly useful -when loading LAMMPS as a shared library via dlopen(). The code using -the library interface can than use this information to adapt to -changes to the LAMMPS command syntax between versions. The returned -LAMMPS version code is an integer (e.g. 2 Sep 2015 results in -20150902) that grows with every new LAMMPS version. - -The lammps_file(), lammps_command(), lammps_commands_list(), and -lammps_commands_string() functions are used to pass one or more -commands to LAMMPS to execute, the same as if they were coming from an -input script. - -Via these functions, the calling code can read or generate a series of -LAMMPS commands one or multiple at a time and pass it through the library -interface to setup a problem and then run it in stages. The caller -can interleave the command function calls with operations it performs, -calls to extract information from or set information within LAMMPS, or -calls to another code's library. - -The lammps_file() function passes the filename of an input script. -The lammps_command() function passes a single command as a string. -The lammps_commands_list() function passes multiple commands in a -char\*\* list. In both lammps_command() and lammps_commands_list(), -individual commands may or may not have a trailing newline. The -lammps_commands_string() function passes multiple commands -concatenated into one long string, separated by newline characters. -In both lammps_commands_list() and lammps_commands_string(), a single -command can be spread across multiple lines, if the last printable -character of all but the last line is "&", the same as if the lines -appeared in an input script. - -The lammps_free() function is a clean-up function to free memory that -the library allocated previously via other function calls. See -comments in src/library.cpp file for which other functions need this -clean-up. - -The file src/library.cpp also contains these functions for extracting -information from LAMMPS and setting value within LAMMPS. Again, see -the documentation in the src/library.cpp file for details, including -which quantities can be queried by name: - -.. code-block:: c - - int lammps_extract_setting(void *, char *) - void *lammps_extract_global(void *, char *) - void lammps_extract_box(void *, double *, double *, - double *, double *, double *, int *, int *) - void *lammps_extract_atom(void *, char *) - void *lammps_extract_compute(void *, char *, int, int) - void *lammps_extract_fix(void *, char *, int, int, int, int) - void *lammps_extract_variable(void *, char *, char *) - -The extract_setting() function returns info on the size -of data types (e.g. 32-bit or 64-bit atom IDs) used -by the LAMMPS executable (a compile-time choice). - -The other extract functions return a pointer to various global or -per-atom quantities stored in LAMMPS or to values calculated by a -compute, fix, or variable. The pointer returned by the -extract_global() function can be used as a permanent reference to a -value which may change. For the extract_atom() method, see the -extract() method in the src/atom.cpp file for a list of valid per-atom -properties. New names could easily be added if the property you want -is not listed. For the other extract functions, the underlying -storage may be reallocated as LAMMPS runs, so you need to re-call the -function to assure a current pointer or returned value(s). - -.. code-block:: c - - double lammps_get_thermo(void *, char *) - int lammps_get_natoms(void *) - - int lammps_set_variable(void *, char *, char *) - void lammps_reset_box(void *, double *, double *, double, double, double) - -The lammps_get_thermo() function returns the current value of a thermo -keyword as a double precision value. - -The lammps_get_natoms() function returns the total number of atoms in -the system and can be used by the caller to allocate memory for the -lammps_gather_atoms() and lammps_scatter_atoms() functions. - -The lammps_set_variable() function can set an existing string-style -variable to a new string value, so that subsequent LAMMPS commands can -access the variable. - -The lammps_reset_box() function resets the size and shape of the -simulation box, e.g. as part of restoring a previously extracted and -saved state of a simulation. - -.. code-block:: c - - void lammps_gather_atoms(void *, char *, int, int, void *) - void lammps_gather_atoms_concat(void *, char *, int, int, void *) - void lammps_gather_atoms_subset(void *, char *, int, int, int, int *, void *) - void lammps_scatter_atoms(void *, char *, int, int, void *) - void lammps_scatter_atoms_subset(void *, char *, int, int, int, int *, void *) - -The gather functions collect peratom info of the requested type (atom -coords, atom types, forces, etc) from all processors, and returns the -same vector of values to each calling processor. The scatter -functions do the inverse. They distribute a vector of peratom values, -passed by all calling processors, to individual atoms, which may be -owned by different processors. - -.. warning:: - - These functions are not compatible with the - -DLAMMPS_BIGBIG setting when compiling LAMMPS. Dummy functions - that result in an error message and abort will be substituted - instead of resulting in random crashes and memory corruption. - -The lammps_gather_atoms() function does this for all N atoms in the -system, ordered by atom ID, from 1 to N. The -lammps_gather_atoms_concat() function does it for all N atoms, but -simply concatenates the subset of atoms owned by each processor. The -resulting vector is not ordered by atom ID. Atom IDs can be requested -by the same function if the caller needs to know the ordering. The -lammps_gather_subset() function allows the caller to request values -for only a subset of atoms (identified by ID). -For all 3 gather function, per-atom image flags can be retrieved in 2 ways. -If the count is specified as 1, they are returned -in a packed format with all three image flags stored in a single integer. -If the count is specified as 3, the values are unpacked into xyz flags -by the library before returning them. - -The lammps_scatter_atoms() function takes a list of values for all N -atoms in the system, ordered by atom ID, from 1 to N, and assigns -those values to each atom in the system. The -lammps_scatter_atoms_subset() function takes a subset of IDs as an -argument and only scatters those values to the owning atoms. - -.. code-block:: c - - void lammps_create_atoms(void *, int, tagint *, int *, double *, double *, - imageint *, int) - -The lammps_create_atoms() function takes a list of N atoms as input -with atom types and coords (required), an optionally atom IDs and -velocities and image flags. It uses the coords of each atom to assign -it as a new atom to the processor that owns it. This function is -useful to add atoms to a simulation or (in tandem with -lammps_reset_box()) to restore a previously extracted and saved state -of a simulation. Additional properties for the new atoms can then be -assigned via the lammps_scatter_atoms() or lammps_extract_atom() -functions. diff --git a/doc/src/Install_linux.rst b/doc/src/Install_linux.rst index bb67f1aa843630d5226f026b6aab35b2ebd0b96f..121869187a4c51ce26d2d39004921694244dc2af 100644 --- a/doc/src/Install_linux.rst +++ b/doc/src/Install_linux.rst @@ -79,13 +79,13 @@ To get a copy of the current potentials files: which will download the potentials files to ``/usr/share/lammps-stable/potentials``. The ``lmp_stable`` binary is hard-coded to look for potential files in this directory (it does not -use the `LAMMPS_POTENTIALS` environment variable, as described +use the ``LAMMPS_POTENTIALS`` environment variable, as described in :doc:`pair_coeff ` command). The ``lmp_stable`` binary is built with the :ref:`KIM package ` which -results in the above command also installing the `kim-api` binaries when LAMMPS +results in the above command also installing the ``kim-api`` binaries when LAMMPS is installed. In order to use potentials from `openkim.org `_, you -can install the `openkim-models` package +can install the ``openkim-models`` package .. code-block:: bash diff --git a/doc/src/Intro_website.rst b/doc/src/Intro_website.rst index 0999e90907bb021809a80f0e258a8caffcae3436..125d2e0f4c0e8c3b2e74dc5089e630cab87e194f 100644 --- a/doc/src/Intro_website.rst +++ b/doc/src/Intro_website.rst @@ -23,7 +23,6 @@ this Intr are included in this list. * `Mail list `_ * `Workshops `_ * `Tutorials `_ -* `Developer guide `_ * `Pre- and post-processing tools for LAMMPS `_ * `Other software usable with LAMMPS `_ diff --git a/doc/src/JPG/lammps-classes.png b/doc/src/JPG/lammps-classes.png new file mode 100644 index 0000000000000000000000000000000000000000..e673299e9dc15c240a720820590c7e5620269e0c Binary files /dev/null and b/doc/src/JPG/lammps-classes.png differ diff --git a/doc/src/Manual.rst b/doc/src/Manual.rst index 773a5fbd75ab0fa6e63a6871c126603d2e219999..2ec830a0b78f20d03ca7ac295e8b4b967433f42a 100644 --- a/doc/src/Manual.rst +++ b/doc/src/Manual.rst @@ -27,8 +27,7 @@ all LAMMPS development is coordinated. The content for this manual is part of the LAMMPS distribution. You can build a local copy of the Manual as HTML pages or a PDF file, by following the steps on the :doc:`Manual build ` doc page. -There is also a `Developer.pdf `_ document which gives -a brief description of the basic code structure of LAMMPS. +The manual is split into two parts: 1) User documentation and 2) Programmer documentation. ---------- @@ -55,11 +54,24 @@ every LAMMPS command. Howto Examples Tools - Modify Python_head Errors Manual_build +.. _programmer_documentation: +.. toctree:: + :maxdepth: 2 + :numbered: 3 + :caption: Programmer Documentation + :name: progdoc + :includehidden: + + pg_library + Modify + pg_developer +.. pg_modify +.. pg_base + .. toctree:: :caption: Index :name: index diff --git a/doc/src/Manual_build.rst b/doc/src/Manual_build.rst index 972f38bf2e4b2b55da98c0f28ee78b3ea75c6914..a8e3f1a1c6c2a05cb5b48668263666d7fa6f818f 100644 --- a/doc/src/Manual_build.rst +++ b/doc/src/Manual_build.rst @@ -14,7 +14,6 @@ files. Here is a list with descriptions: lammps.1 # man page for the lammps command msi2lmp.1 # man page for the msi2lmp command Manual.pdf # large PDF version of entire manual - Developer.pdf # small PDF with info about how LAMMPS is structured LAMMPS.epub # Manual in ePUB e-book format LAMMPS.mobi # Manual in MOBI e-book format docenv # virtualenv folder for processing the manual sources @@ -35,7 +34,7 @@ of two ways: a. You can "fetch" the current HTML and PDF files from the LAMMPS web site. Just type ``make fetch``. This should download a html_www - directory and Manual_www.pdf/Developer_www.pdf files. Note that if + directory and a Manual_www.pdf file. Note that if new LAMMPS features have been added more recently than the date of your LAMMPS version, the fetched documentation will include those changes (but your source code will not, unless you update your local @@ -49,6 +48,11 @@ b. You can build the HTML or PDF files yourself, by typing ``make html`` only once, unless you type ``make clean-all``. After that, viewing and processing of the documentation can be done without internet access. +A current version of the manual (latest patch release, aka unstable branch) +is is available online at: `https://lammps.sandia.gov/doc/Manual.html `_ +A version of the manual corresponding to the ongoing development +(aka master branch) is available online at: `https://docs.lammps.org/ `_ + ---------- The generation of all documentation is managed by the Makefile in the @@ -58,10 +62,9 @@ available: .. code-block:: bash make html # generate HTML in html dir using Sphinx - make pdf # generate 2 PDF files (Manual.pdf,Developer.pdf) - # in doc dir via htmldoc and pdflatex - make fetch # fetch HTML doc pages and 2 PDF files from web site - # as a tarball and unpack into html dir and 2 PDFs + make pdf # generate PDF as Manual.pdf using Sphinx and pdflatex + make fetch # fetch HTML doc pages and PDF file from web site + # as a tarball and unpack into html dir and PDF make epub # generate LAMMPS.epub in ePUB format using Sphinx make mobi # generate LAMMPS.mobi in MOBI format using ebook-convert diff --git a/doc/src/Modify.rst b/doc/src/Modify.rst index 531fb6b1f3be564ce4fb9bb3ece08df47d069185..fa45c4818e69574e4532b5cdccd9eb027dc01224 100644 --- a/doc/src/Modify.rst +++ b/doc/src/Modify.rst @@ -1,5 +1,5 @@ -Modify & extend LAMMPS -********************** +Modifying & extending LAMMPS +**************************** LAMMPS is designed in a modular fashion so as to be easy to modify and extend with new functionality. In fact, about 95% of its source code diff --git a/doc/src/Packages_details.rst b/doc/src/Packages_details.rst index f2426d6ae3b3b856dd3e300d6aff8e64851a7270..3d21232a8f876b2278143be12835ea2548d4e704 100644 --- a/doc/src/Packages_details.rst +++ b/doc/src/Packages_details.rst @@ -1692,7 +1692,7 @@ USER-MEAMC package **Contents:** A pair style for the modified embedded atom (MEAM) potential -translated from the Fortran version in the (obsolete) "MEAM" package +translated from the Fortran version in the (obsolete) MEAM package to plain C++. The USER-MEAMC fully replaces the MEAM package, which has been removed from LAMMPS after the 12 December 2018 version. diff --git a/doc/src/Packages_user.rst b/doc/src/Packages_user.rst index 1d07539022ee3766eda03f3f3aa9d42b1d0ffdfc..a3efaf15c8dd16a51e6705645618905548e43077 100644 --- a/doc/src/Packages_user.rst +++ b/doc/src/Packages_user.rst @@ -6,7 +6,7 @@ name gives more details. User packages have been contributed by users, and begin with the "user" prefix. If a contribution is a single command (single file), -it is typically in the user-misc package. User packages don't +it is typically in the USER-MISC package. User packages don't necessarily meet the requirements of the :doc:`standard packages `. This means the developers will try to keep things working and usually can answer technical questions about compiling the package. If you have problems using a specific diff --git a/doc/src/Tools.rst b/doc/src/Tools.rst index 8feb2afefac32b4279de4fe78b184e67ab7dec73..3600d6c661df389b93b42f532495cb3209991e96 100644 --- a/doc/src/Tools.rst +++ b/doc/src/Tools.rst @@ -89,7 +89,6 @@ Miscellaneous tools :columns: 6 * :ref:`CMake ` - * :ref:`doxygen ` * :ref:`emacs ` * :ref:`i-pi ` * :ref:`kate ` @@ -254,21 +253,6 @@ The tool is authored by Xiaowang Zhou (Sandia), xzhou at sandia.gov. ---------- -.. _doxygen: - -doxygen tool --------------------------- - -The tools/doxygen directory contains a shell script called -doxygen.sh which can generate a call graph and API lists using -the `Doxygen software `_. - -See the included README file for details. - -The tool is authored by Nandor Tamaskovics, numericalfreedom at googlemail.com. - ----------- - .. _drude: drude tool diff --git a/doc/src/fix_bond_react.rst b/doc/src/fix_bond_react.rst index b6f3be773f212f8cf4417c31869c4fc65226d975..8d54ce755b37131d3e39489827b3f4604fc41d62 100644 --- a/doc/src/fix_bond_react.rst +++ b/doc/src/fix_bond_react.rst @@ -14,19 +14,22 @@ Syntax react react-ID react-group-ID Nevery Rmin Rmax template-ID(pre-reacted) template-ID(post-reacted) map_file individual_keyword values ... ... -* ID, group-ID are documented in :doc:`fix ` command. Group-ID is ignored. +* ID, group-ID are documented in :doc:`fix ` command. * bond/react = style name of this fix command * the common keyword/values may be appended directly after 'bond/react' * this applies to all reaction specifications (below) -* common_keyword = *stabilization* +* common_keyword = *stabilization* or *reset_mol_ids* .. parsed-literal:: *stabilization* values = *no* or *yes* *group-ID* *xmax* - *no* = no reaction site stabilization + *no* = no reaction site stabilization (default) *yes* = perform reaction site stabilization *group-ID* = user-assigned prefix for the dynamic group of atoms not currently involved in a reaction *xmax* = xmax value that is used by an internally-created :doc:`nve/limit ` integrator + *reset_mol_ids* values = *yes* or *no* + *yes* = update molecule IDs based on new global topology (default) + *no* = do not update molecule IDs * react = mandatory argument indicating new reaction specification * react-ID = user-assigned name for the reaction @@ -50,9 +53,9 @@ Syntax *stabilize_steps* value = timesteps timesteps = number of timesteps to apply the internally-created :doc:`nve/limit ` fix to reacting atoms *update_edges* value = *none* or *charges* or *custom* - none = do not update topology near the edges of reaction templates - charges = update atomic charges of all atoms in reaction templates - custom = force the update of user-specified atomic charges + *none* = do not update topology near the edges of reaction templates + *charges* = update atomic charges of all atoms in reaction templates + *custom* = force the update of user-specified atomic charges Examples """""""" @@ -154,6 +157,13 @@ due to the internal dynamic grouping performed by fix bond/react. If the group-ID is an existing static group, react-group-IDs should also be specified as this static group, or a subset. +The *reset_mol_ids* keyword invokes the :doc:`reset_mol_ids ` +command after a reaction occurs, to ensure that molecule IDs are +consistent with the new bond topology. The group-ID used for +:doc:`reset_mol_ids ` is the group-ID for this fix. +Resetting molecule IDs is necessarily a global operation, and so can +be slow for very large systems. + The following comments pertain to each *react* argument (in other words, can be customized for each reaction, or reaction step): @@ -203,9 +213,10 @@ surrounding topology. As described below, the bonding atom pairs of the pre-reacted template are specified by atom ID in the map file. The pre-reacted molecule template should contain as few atoms as possible while still completely describing the topology of all atoms affected -by the reaction. For example, if the force field contains dihedrals, -the pre-reacted template should contain any atom within three bonds of -reacting atoms. +by the reaction (which includes all atoms that change atom type or +connectivity, and all bonds that change bond type). For example, if +the force field contains dihedrals, the pre-reacted template should +contain any atom within three bonds of reacting atoms. Some atoms in the pre-reacted template that are not reacting may have missing topology with respect to the simulation. For example, the @@ -300,8 +311,8 @@ either 'none' or 'charges.' Further details are provided in the discussion of the 'update_edges' keyword. The fifth optional section begins with the keyword 'Constraints' and lists additional criteria that must be satisfied in order for the reaction to occur. Currently, -there are four types of constraints available, as discussed below: -'distance', 'angle', 'dihedral', and 'arrhenius'. +there are five types of constraints available, as discussed below: +'distance', 'angle', 'dihedral', 'arrhenius', and 'rmsd'. A sample map file is given below: @@ -421,6 +432,25 @@ temperature calculations. A uniform random number between 0 and 1 is generated using *seed*\ ; if this number is less than the result of the Arrhenius equation above, the reaction is permitted to occur. +The constraint of type 'rmsd' has the following syntax: + +.. parsed-literal:: + + rmsd *RMSDmax* *molfragment* + +where 'rmsd' is the required keyword, and *RMSDmax* is the maximum +root-mean-square deviation between atom positions of the pre-reaction +template and the local reaction site (distance units), after optimal +translation and rotation of the pre-reaction template. Optionally, the +name of a molecule fragment (of the pre-reaction template) can be +specified by *molfragment*\ . If a molecule fragment is specified, +only atoms that are part of this molecule fragment are used to +determine the RMSD. A molecule fragment must have been defined in the +:doc:`molecule ` command for the pre-reaction template. For +example, the molecule fragment could consist of only the backbone +atoms of a polymer chain. This constraint can be used to enforce a +specific relative position and orientation between reacting molecules. + Once a reaction site has been successfully identified, data structures within LAMMPS that store bond topology are updated to reflect the post-reacted molecule template. All force fields with fixed bonds, @@ -554,7 +584,7 @@ Default """"""" The option defaults are stabilization = no, prob = 1.0, stabilize_steps = 60, -update_edges = none +reset_mol_ids = yes, update_edges = none ---------- diff --git a/doc/src/pair_coeff.rst b/doc/src/pair_coeff.rst index 311163c354f1fa8ddefb6965670d752d6994b4be..ea62d839abb5af568b870b0808269e80e87ab44a 100644 --- a/doc/src/pair_coeff.rst +++ b/doc/src/pair_coeff.rst @@ -110,8 +110,8 @@ location specified. E.g. if the file is specified as "niu3.eam", it is looked for in the current working directory. If it is specified as "../potentials/niu3.eam", then it is looked for in the potentials directory, assuming it is a sister directory of the current working -directory. If the file is not found, it is then looked for in the -directory specified by the LAMMPS_POTENTIALS environment variable. +directory. If the file is not found, it is then looked for in one of +the directories specified by the ``LAMMPS_POTENTIALS`` environment variable. Thus if this is set to the potentials directory in the LAMMPS distribution, then you can use those files from anywhere on your system, without copying them into your working directory. Environment variables are @@ -136,6 +136,11 @@ Windows: % set LAMMPS_POTENTIALS="C:\\Path to LAMMPS\\Potentials" +The ``LAMMPS_POTENTIALS`` environment variable may contain paths +to multiple folders, if they are separated by ";" on Windows and +":" on all other operating systems, just like the ``PATH`` and +similar environment variables. + ---------- The alphabetic list of pair styles defined in LAMMPS is given on the diff --git a/doc/src/pair_comb.rst b/doc/src/pair_comb.rst index 7c733e62da422f7798b8de9a8de6f3ec36344c88..441f982996313e4810ba82a8aec502719e2f23c6 100644 --- a/doc/src/pair_comb.rst +++ b/doc/src/pair_comb.rst @@ -129,10 +129,10 @@ For style *comb3*\ , in addition to ffield.comb3, a special parameter file, *lib.comb3*\ , that is exclusively used for C/O/H systems, will be automatically loaded if carbon atom is detected in LAMMPS input structure. This file must be in your working directory or in the -directory pointed to by the environment variable LAMMPS_POTENTIALS, as +directories listed in the environment variable ``LAMMPS_POTENTIALS``, as described on the :doc:`pair_coeff ` command doc page. -Keyword *polar* indicates whether the force field includes +The keyword *polar* indicates whether the force field includes the atomic polarization. Since the equilibration of the polarization has not yet been implemented, it can only set polar_off at present. diff --git a/doc/src/pair_cosine_squared.rst b/doc/src/pair_cosine_squared.rst index ada5a7cfd8fa20b231fa8373c8411ffc47f63f4b..faa45c92869f0718be599728ceb02d74f1719b2d 100644 --- a/doc/src/pair_cosine_squared.rst +++ b/doc/src/pair_cosine_squared.rst @@ -107,7 +107,7 @@ These pair styles can only be used via the *pair* keyword of the Restrictions """""""""""" -The *cosine/squared* style is part of the "USER-MISC" package. It is only +The *cosine/squared* style is part of the USER-MISC package. It is only enabled if LAMMPS is build with that package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/pair_coul_diel.rst b/doc/src/pair_coul_diel.rst index 2bdf27a5e6bdca86e3de7f5df43bbda0870cae53..e979ceef3176cd55956e8279602a550104e330df 100644 --- a/doc/src/pair_coul_diel.rst +++ b/doc/src/pair_coul_diel.rst @@ -95,7 +95,7 @@ This pair style can only be used via the *pair* keyword of the Restrictions """""""""""" -This style is part of the "USER-MISC" package. It is only enabled if +This style is part of the USER-MISC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/pair_coul_slater.rst b/doc/src/pair_coul_slater.rst index ae5623f9356369545705e11e94c4e0dfb9a8bfcf..cc8e6f243c5c112e33cfbf258169fe00be03d237 100644 --- a/doc/src/pair_coul_slater.rst +++ b/doc/src/pair_coul_slater.rst @@ -95,7 +95,7 @@ Restrictions The *coul/slater/long* style requires the long-range solvers included in the KSPACE package. -These styles are part of the "USER-MISC" package. They are only enabled if +These styles are part of the USER-MISC package. They are only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/pair_gauss.rst b/doc/src/pair_gauss.rst index d8cd8af3081dd4b30fe669a60454ac62f68f5165..8c7ce7417490ff7815b3e7e77dcb4f1c7804a776 100644 --- a/doc/src/pair_gauss.rst +++ b/doc/src/pair_gauss.rst @@ -164,8 +164,18 @@ heading) the following commands could be included in an input script: Restrictions """""""""""" -The *gauss/cut* style is part of the "user-misc" package. It is only -enabled if LAMMPS is build with that package. See the :doc:`Build package ` doc page for more info. +The *gauss/cut* style is part of the USER-MISC package. It is only +enabled if LAMMPS is build with that package. See the :doc:`Build +package ` doc page for more info. + +The *gauss* style does not apply :doc:`special_bonds ` +factors. When using this pair style on a system that has bonds, the +special_bonds factors, if using the default setting of 0.0, may need to +be adjusted to some very small number (e.g. 1.0e-100), so that those +special pairs are not completely excluded from the neighbor lists, but +won't contribute forces or energies from styles (e.g. when used in +combination with a :doc:`hybrid pair style `) that do +apply those factors. Related commands """""""""""""""" diff --git a/doc/src/pair_granular.rst b/doc/src/pair_granular.rst index 4e4d96ed06ad3617f9ca260dc5400f181070b9a8..80663b7d4922f5591fa15cba77c2c6f8e76085a1 100644 --- a/doc/src/pair_granular.rst +++ b/doc/src/pair_granular.rst @@ -93,7 +93,7 @@ on particle *i* due to contact with particle *j* is given by: .. math:: - \mathbf{F}_{ne, Hooke} = k_N \delta_{ij} \mathbf{n} + \mathbf{F}_{ne, Hooke} = k_n \delta_{ij} \mathbf{n} Where :math:`\delta_{ij} = R_i + R_j - \|\mathbf{r}_{ij}\|` is the particle overlap, :math:`R_i, R_j` are the particle radii, :math:`\mathbf{r}_{ij} = \mathbf{r}_i - \mathbf{r}_j` is the vector separating the two @@ -106,7 +106,7 @@ For the *hertz* model, the normal component of force is given by: .. math:: - \mathbf{F}_{ne, Hertz} = k_N R_{eff}^{1/2}\delta_{ij}^{3/2} \mathbf{n} + \mathbf{F}_{ne, Hertz} = k_n R_{eff}^{1/2}\delta_{ij}^{3/2} \mathbf{n} Here, :math:`R_{eff} = \frac{R_i R_j}{R_i + R_j}` is the effective radius, denoted for simplicity as *R* from here on. For *hertz*\ , the @@ -123,7 +123,7 @@ Here, :math:`E_{eff} = E = \left(\frac{1-\nu_i^2}{E_i} + \frac{1-\nu_j^2}{E_j}\r modulus, with :math:`\nu_i, \nu_j` the Poisson ratios of the particles of types *i* and *j*\ . Note that if the elastic modulus and the shear modulus of the two particles are the same, the *hertz/material* model -is equivalent to the *hertz* model with :math:`k_N = 4/3 E_{eff}` +is equivalent to the *hertz* model with :math:`k_n = 4/3 E_{eff}` The *dmt* model corresponds to the :ref:`(Derjaguin-Muller-Toporov) ` cohesive model, where the force @@ -140,7 +140,7 @@ where the force is computed as: \mathbf{F}_{ne, jkr} = \left(\frac{4Ea^3}{3R} - 2\pi a^2\sqrt{\frac{4\gamma E}{\pi a}}\right)\mathbf{n} -Here, *a* is the radius of the contact zone, related to the overlap +Here, :math:`a` is the radius of the contact zone, related to the overlap :math:`\delta` according to: .. math:: @@ -167,7 +167,7 @@ following general form: \mathbf{F}_{n,damp} = -\eta_n \mathbf{v}_{n,rel} -Here, :math:`\mathbf{v}_{n,rel} = (\mathbf{v}_j - \mathbf{v}_i) \cdot \mathbf{n} \mathbf{n}` is the component of relative velocity along +Here, :math:`\mathbf{v}_{n,rel} = (\mathbf{v}_j - \mathbf{v}_i) \cdot \mathbf{n}\ \mathbf{n}` is the component of relative velocity along :math:`\mathbf{n}`. The optional *damping* keyword to the *pair_coeff* command followed by @@ -259,7 +259,9 @@ tangential model choices and their expected parameters are as follows: 1. *linear_nohistory* : :math:`x_{\gamma,t}`, :math:`\mu_s` 2. *linear_history* : :math:`k_t`, :math:`x_{\gamma,t}`, :math:`\mu_s` 3. *mindlin* : :math:`k_t` or NULL, :math:`x_{\gamma,t}`, :math:`\mu_s` -4. *mindlin_rescale* : :math:`k_t` or NULL, :math:`x_{\gamma,t}`, :math:`\mu_s` +4. *mindlin/force* : :math:`k_t` or NULL, :math:`x_{\gamma,t}`, :math:`\mu_s` +5. *mindlin_rescale* : :math:`k_t` or NULL, :math:`x_{\gamma,t}`, :math:`\mu_s` +6. *mindlin_rescale/force* : :math:`k_t` or NULL, :math:`x_{\gamma,t}`, :math:`\mu_s` Here, :math:`x_{\gamma,t}` is a dimensionless multiplier for the normal damping :math:`\eta_n` that determines the magnitude of the tangential @@ -268,11 +270,11 @@ coefficient, and :math:`k_t` is the tangential stiffness coefficient. For *tangential linear_nohistory*, a simple velocity-dependent Coulomb friction criterion is used, which mimics the behavior of the *pair -gran/hooke* style. The tangential force (\mathbf{F}_t\) is given by: +gran/hooke* style. The tangential force :math:`\mathbf{F}_t` is given by: .. math:: - \mathbf{F}_t = -min(\mu_t F_{n0}, \|\mathbf{F}_\mathrm{t,damp}\|) \mathbf{t} + \mathbf{F}_t = -\min(\mu_t F_{n0}, \|\mathbf{F}_\mathrm{t,damp}\|) \mathbf{t} The tangential damping force :math:`\mathbf{F}_\mathrm{t,damp}` is given by: @@ -294,8 +296,8 @@ keyword also affects the tangential damping. The parameter literature use :math:`x_{\gamma,t} = 1` (:ref:`Marshall `, :ref:`Tsuji et al `, :ref:`Silbert et al `). The relative tangential velocity at the point of contact is given by -:math:`\mathbf{v}_{t, rel} = \mathbf{v}_{t} - (R_i\Omega_i + R_j\Omega_j) \times \mathbf{n}`, where :math:`\mathbf{v}_{t} = \mathbf{v}_r - \mathbf{v}_r\cdot\mathbf{n}{n}`, -:math:`\mathbf{v}_r = \mathbf{v}_j - \mathbf{v}_i`. +:math:`\mathbf{v}_{t, rel} = \mathbf{v}_{t} - (R_i\mathbf{\Omega}_i + R_j\mathbf{\Omega}_j) \times \mathbf{n}`, where :math:`\mathbf{v}_{t} = \mathbf{v}_r - \mathbf{v}_r\cdot\mathbf{n}\ \mathbf{n}`, +:math:`\mathbf{v}_r = \mathbf{v}_j - \mathbf{v}_i` . The direction of the applied force is :math:`\mathbf{t} = \mathbf{v_{t,rel}}/\|\mathbf{v_{t,rel}}\|` . The normal force value :math:`F_{n0}` used to compute the critical force @@ -314,21 +316,24 @@ form: .. math:: - F_{n0} = \|\mathbf{F}_ne + 2 F_{pulloff}\| + F_{n0} = \|\mathbf{F}_{ne} + 2 F_{pulloff}\| Where :math:`F_{pulloff} = 3\pi \gamma R` for *jkr*\ , and :math:`F_{pulloff} = 4\pi \gamma R` for *dmt*\ . The remaining tangential options all use accumulated tangential -displacement (i.e. contact history). This is discussed below in the -context of the *linear_history* option, but the same treatment of the -accumulated displacement applies to the other options as well. +displacement (i.e. contact history), except for the options +*mindlin/force* and *mindlin_rescale/force*, that use accumulated +tangential force instead, and are discussed further below. +The accumulated tangential displacement is discussed in details below +in the context of the *linear_history* option. The same treatment of +the accumulated displacement applies to the other options as well. For *tangential linear_history*, the tangential force is given by: .. math:: - \mathbf{F}_t = -min(\mu_t F_{n0}, \|-k_t\mathbf{\xi} + \mathbf{F}_\mathrm{t,damp}\|) \mathbf{t} + \mathbf{F}_t = -\min(\mu_t F_{n0}, \|-k_t\mathbf{\xi} + \mathbf{F}_\mathrm{t,damp}\|) \mathbf{t} Here, :math:`\mathbf{\xi}` is the tangential displacement accumulated during the entire duration of the contact: @@ -356,7 +361,7 @@ work: .. math:: - \mathbf{\xi} = \left(\mathbf{\xi'} - (\mathbf{n} \cdot \mathbf{\xi'})\mathbf{n}\right) \frac{\|\mathbf{\xi'}\|}{\|\mathbf{\xi'}\| - \mathbf{n}\cdot\mathbf{\xi'}} + \mathbf{\xi} = \left(\mathbf{\xi'} - (\mathbf{n} \cdot \mathbf{\xi'})\mathbf{n}\right) \frac{\|\mathbf{\xi'}\|}{\|\mathbf{\xi'} - (\mathbf{n}\cdot\mathbf{\xi'})\mathbf{n}\|} Here, :math:`\mathbf{\xi'}` is the accumulated displacement prior to the current time step and :math:`\mathbf{\xi}` is the corrected @@ -372,7 +377,7 @@ discussion): .. math:: - \mathbf{\xi} = -\frac{1}{k_t}\left(\mu_t F_{n0}\mathbf{t} + \mathbf{F}_{t,damp}\right) + \mathbf{\xi} = -\frac{1}{k_t}\left(\mu_t F_{n0}\mathbf{t} - \mathbf{F}_{t,damp}\right) The tangential force is added to the total normal force (elastic plus damping) to produce the total force on the particle. The tangential @@ -387,27 +392,68 @@ overlap region) to induce a torque on each particle according to: \mathbf{\tau}_j = -(R_j - 0.5 \delta) \mathbf{n} \times \mathbf{F}_t -For *tangential mindlin*\ , the :ref:`Mindlin ` no-slip solution is used, which differs from the *linear_history* -option by an additional factor of *a*\ , the radius of the contact region. The tangential force is given by: +For *tangential mindlin*\ , the :ref:`Mindlin ` no-slip solution +is used which differs from the *linear_history* option by an additional factor +of :math:`a`, the radius of the contact region. The tangential force is given by: .. math:: - \mathbf{F}_t = -min(\mu_t F_{n0}, \|-k_t a \mathbf{\xi} + \mathbf{F}_\mathrm{t,damp}\|) \mathbf{t} + \mathbf{F}_t = -\min(\mu_t F_{n0}, \|-k_t a \mathbf{\xi} + \mathbf{F}_\mathrm{t,damp}\|) \mathbf{t} -Here, *a* is the radius of the contact region, given by :math:`a =\sqrt{R\delta}` + +Here, :math:`a` is the radius of the contact region, given by :math:`a =\sqrt{R\delta}` for all normal contact models, except for *jkr*\ , where it is given implicitly by :math:`\delta = a^2/R - 2\sqrt{\pi \gamma a/E}`, see -discussion above. To match the Mindlin solution, one should set :math:`k_t = 4G/(2-\nu)`, where :math:`G` is the shear modulus, related to Young's modulus -:math:`E` by :math:`G = E/(2(1+\nu))`, where :math:`\nu` is Poisson's ratio. This -can also be achieved by specifying *NULL* for :math:`k_t`, in which case a +discussion above. To match the Mindlin solution, one should set +:math:`k_t = 8G_{eff}`, where :math:`G_{eff}` is the effective shear modulus given by: + +.. math:: + + G_{eff} = \left(\frac{2-\nu_i}{G_i} + \frac{2-\nu_j}{G_j}\right)^{-1} + +where :math:`G` is the shear modulus, related to Young's modulus :math:`E` +and Poisson's ratio :math:`\nu` by :math:`G = E/(2(1+\nu))`. This can also be +achieved by specifying *NULL* for :math:`k_t`, in which case a normal contact model that specifies material parameters :math:`E` and :math:`\nu` is required (e.g. *hertz/material*\ , *dmt* or *jkr*\ ). In this case, mixing of the shear modulus for different particle types *i* and -*j* is done according to: +*j* is done according to the formula above. + +.. note:: + + The radius of the contact region :math:`a` depends on the normal overlap. + As a result, the tangential force for *mindlin* can change due to + a variation in normal overlap, even with no change in tangential displacement. + +For *tangential mindlin/force*, the accumulated elastic tangential force +characterizes the contact history, instead of the accumulated tangential +displacement. This prevents the dependence of the tangential force on the +normal overlap as noted above. The tangential force is given by: .. math:: - 1/G = 2(2-\nu_i)(1+\nu_i)/E_i + 2(2-\nu_j)(1+\nu_j)/E_j + \mathbf{F}_t = -\min(\mu_t F_{n0}, \|\mathbf{F}_{te} + \mathbf{F}_\mathrm{t,damp}\|) \mathbf{t} + +The increment of the elastic component of the tangential force +:math:`\mathbf{F}_{te}` is given by: + +.. math:: + + \mathrm{d}\mathbf{F}_{te} = -k_t a \mathbf{v}_{t,rel} \mathrm{d}\tau + +The changes in frame of reference of the contacting pair of particles during +contact are accounted for by the same formula as above, replacing the +accumulated tangential displacement :math:`\xi`, by the accumulated tangential +elastic force :math:`F_{te}`. When the tangential force exceeds the critical +force, the tangential force is directly re-scaled to match the value for +the critical force: + +.. math:: + + \mathbf{F}_{te} = - \mu_t F_{n0}\mathbf{t} + \mathbf{F}_{t,damp} + +The same rules as those described for *mindlin* apply regarding the tangential +stiffness and mixing of the shear modulus for different particle types. The *mindlin_rescale* option uses the same form as *mindlin*\ , but the magnitude of the tangential displacement is re-scaled as the contact @@ -421,9 +467,32 @@ Here, :math:`t_{n-1}` indicates the value at the previous time step. This rescaling accounts for the fact that a decrease in the contact area upon unloading leads to the contact being unable to support the previous tangential loading, and spurious energy is -created without the rescaling above (:ref:`Walton ` ). See also -discussion in :ref:`Thornton et al, 2013 ` , particularly -equation 18(b) of that work and associated discussion. +created without the rescaling above (:ref:`Walton ` ). + +.. note:: + + For *mindlin*, a decrease in the tangential force already occurs as the + contact unloads, due to the dependence of the tangential force on the normal + force described above. By re-scaling :math:`\xi`, *mindlin_rescale* + effectively re-scales the tangential force twice, i.e., proportionally to + :math:`a^2`. This peculiar behavior results from use of the accumulated + tangential displacement to characterize the contact history. Although + *mindlin_rescale* remains available for historic reasons and backward + compatibility purposes, it should be avoided in favor of *mindlin_rescale/force*. + +The *mindlin_rescale/force* option uses the same form as *mindlin/force*, +but the magnitude of the tangential elastic force is re-scaled as the contact +unloads, i.e. if :math:`a < a_{t_{n-1}}`: + +.. math:: + + \mathbf{F}_{te} = \mathbf{F}_{te, t_{n-1}} \frac{a}{a_{t_{n-1}}} + +This approach provides a better approximation of the :ref:`Mindlin-Deresiewicz ` +laws and is more consistent than *mindlin_rescale*. See discussions in +:ref:`Thornton et al, 2013 `, particularly equation 18(b) of that +work and associated discussion, and :ref:`Agnolin and Roux, 2007 `, +particularly Appendix A. ---------- @@ -460,7 +529,7 @@ exceeds a critical value: .. math:: - \mathbf{F}_{roll} = min(\mu_{roll} F_{n,0}, \|\mathbf{F}_{roll,0}\|)\mathbf{k} + \mathbf{F}_{roll} = \min(\mu_{roll} F_{n,0}, \|\mathbf{F}_{roll,0}\|)\mathbf{k} Here, :math:`\mathbf{k} = \mathbf{v}_{roll}/\|\mathbf{v}_{roll}\|` is the direction of the pseudo-force. As with tangential displacement, the rolling @@ -512,7 +581,7 @@ is then truncated according to: .. math:: - \tau_{twist} = min(\mu_{twist} F_{n,0}, \tau_{twist,0}) + \tau_{twist} = \min(\mu_{twist} F_{n,0}, \tau_{twist,0}) Similar to the sliding and rolling displacement, the angular displacement is rescaled so that it corresponds to the critical value @@ -763,3 +832,15 @@ Technology, 233, 30-46. .. _WaltonPC: **(Otis R. Walton)** Walton, O.R., Personal Communication + +.. _Mindlin1953: + +**(Mindlin and Deresiewicz, 1953)** Mindlin, R.D., & Deresiewicz, H (1953). +Elastic Spheres in Contact under Varying Oblique Force. +J. Appl. Mech., ASME 20, 327-344. + +.. _AgnolinRoux2007: + +**(Agnolin and Roux 2007)** Agnolin, I. & Roux, J-N. (2007). +Internal states of model isotropic granular packings. +I. Assembling process, geometry, and contact networks. Phys. Rev. E, 76, 061302. diff --git a/doc/src/pair_mesodpd.rst b/doc/src/pair_mesodpd.rst index ed486d88d7ec68cb116cfef1e1f9f17d11063cf2..093eb707ad742d9f49ee972ff9f30306f46a72ec 100644 --- a/doc/src/pair_mesodpd.rst +++ b/doc/src/pair_mesodpd.rst @@ -250,8 +250,12 @@ from :ref:`(Li2013_POF) `. The short mDPD run (about 2 minutes on a single core) generates a particle trajectory which can be visualized as follows. +.. only:: html + + .. image:: JPG/examples_mdpd.gif + :align: center + .. image:: JPG/examples_mdpd_first.jpg - :target: JPG/examples_mdpd.gif :align: center .. image:: JPG/examples_mdpd_last.jpg diff --git a/doc/src/pair_peri.rst b/doc/src/pair_peri.rst index f66705d9134d8dad999bb4736aea8bfb6ad848d9..de487df9a323bf81ba09a0d03e0cecfa54b66ff4 100644 --- a/doc/src/pair_peri.rst +++ b/doc/src/pair_peri.rst @@ -128,7 +128,7 @@ viscoelastic relaxation parameter and time constant, respectively. m_lambdai varies within zero to one. For very small values of m_lambdai the viscoelastic model responds very similar to a linear elastic model. For details please see the description in -"(Mtchell2011)". +"(Mitchell2011)". For the *peri/eps* style: @@ -142,7 +142,7 @@ For the *peri/eps* style: K is the bulk modulus and G is the shear modulus. The horizon is a cutoff distance and s00 and :math:`\alpha` are used as a bond breaking criteria. m_yield_stress is the yield stress of the material. For -details please see the description in "(Mtchell2011a)". +details please see the description in "(Mitchell2011a)". ---------- diff --git a/doc/src/pair_python.rst b/doc/src/pair_python.rst index 9ec24b47faa279377403939a9e5c050e6e47b7e8..99b8ebd766275fdab952ac34a09342a7b0da2ad0 100644 --- a/doc/src/pair_python.rst +++ b/doc/src/pair_python.rst @@ -38,12 +38,12 @@ corresponding compiled code. This penalty can be significantly reduced through generating tabulations from the python code through the :doc:`pair_write ` command, which is supported by this style. -Only a single pair_coeff command is used with the *python* pair style -which specifies a python class inside a python module or file that -LAMMPS will look up in the current directory, the folder pointed to by -the LAMMPS_POTENTIALS environment variable or somewhere in your python -path. A single python module can hold multiple python pair class -definitions. The class definitions itself have to follow specific +Only a single :doc:`pair_coeff ` command is used with the +*python* pair style which specifies a python class inside a python module +or a file that LAMMPS will look up in the current directory, a folder +pointed to by the ``LAMMPS_POTENTIALS`` environment variable or somewhere +in your python path. A single python module can hold multiple python pair +class definitions. The class definitions itself have to follow specific rules that are explained below. Atom types in the python class are specified through symbolic diff --git a/doc/src/pg_cplusplus.rst b/doc/src/pg_cplusplus.rst new file mode 100644 index 0000000000000000000000000000000000000000..2a7028b0f8b59770d968503c7e02fccc4aabb931 --- /dev/null +++ b/doc/src/pg_cplusplus.rst @@ -0,0 +1,91 @@ +Using the C++ API directly +************************** + +Using the C++ classes of the LAMMPS library is lacking some of the +convenience of the C library API, but it allows a more direct access to +simulation data and thus more low-level manipulations and tighter +integration of LAMMPS into another code. While for the complete C +library API is provided in the ``library.h`` header file, for using +the C++ API it is required to include the individual header files +defining the individual classes in use. Typically the name of the +class and the name of the header follow some simple rule. Examples +are given below. + + +Creating or deleting a LAMMPS object +************************************* + +When using the LAMMPS library interfaces, the core task is to create an +instance of the :cpp:class:`LAMMPS_NS::LAMMPS` class. In C++ this can +be done directly through the ``new`` operator. All further operations +are then initiated through calling member functions of some of the +components of the LAMMPS class or accessing their data members. The +destruction of the LAMMPS instance is correspondingly initiated by using +the ``delete`` operator. Here is a simple example: + +.. code-block:: c++ + + #include "lammps.h" + #include "universe.h" + + #include + #include + + int main(int argc, char **argv) + { + LAMMPS_NS::LAMMPS *lmp; + // custom argument vector for LAMMPS library + const char *lmpargv[] {"liblammps", "-log", "none"}; + int lmpargc = sizeof(lmpargv)/sizeof(const char *); + + // explicitly initialize MPI + MPI_Init(&argc, &argv); + + // create LAMMPS instance + lmp = new LAMMPS_NS::LAMMPS(lmpargc, (char **)lmpargv, MPI_COMM_WORLD); + // output numerical version string + std::cout << "LAMMPS version: " << lmp->universe->num_ver << std::endl; + // delete LAMMPS instance + delete lmp; + + // stop MPI environment + MPI_Finalize(); + return 0; + } + +Please note that this requires to include the ``lammps.h`` header for accessing +the members of the LAMMPS class and then the ``universe.h`` header for accessing the ``num_ver`` member of the :cpp:class:`Universe` class. + + +Executing LAMMPS commands +************************* + +Once a LAMMPS instance is created by your C++ code, you need to set up a +simulation and that is most conveniently done by "driving" it through +issuing commands like you would do when running a LAMMPS simulation from +an input script. Processing of input in LAMMPS is handled by the +:cpp:class:`Input ` class an instance of which is a +member of the :cpp:class:`LAMMPS ` class. You have +two options: reading commands from a file, or executing a single +command from a string. See below for a small example: + +.. code-block:: c++ + + #include "lammps.h" + #include "input.h" + #include + + using namespace LAMMPS_NS; + + int main(int argc, char **argv) + { + const char *lmpargv[] {"liblammps", "-log", "none"}; + int lmpargc = sizeof(lmpargv)/sizeof(const char *); + + MPI_Init(&argc, &argv); + LAMMPS *lmp = new LAMMPS(lmpargc, (char **)lmpargv, MPI_COMM_WORLD); + lmp->input->file("in.melt"); + lmp->input->one("run 100 post no"); + delete lmp; + return 0; + } diff --git a/doc/src/pg_developer.rst b/doc/src/pg_developer.rst new file mode 100644 index 0000000000000000000000000000000000000000..b6fb10e37b47b0990ca21566d5190814df756f3c --- /dev/null +++ b/doc/src/pg_developer.rst @@ -0,0 +1,1088 @@ +LAMMPS Developer Guide +********************** + +This section describes the internal structure and basic algorithms +of the LAMMPS code. This is a work in progress and additional +information will be added incrementally depending on availability +of time and requests from the LAMMPS user community. + + +LAMMPS source files +=================== + +The source files of the LAMMPS code are distributed across two +directories of the distribution. The core of the code is located in the +``src`` folder and its sub-directories. Almost all of those are C++ files +(implementation files have a ``.cpp`` extension and and headers a +``.h``). A sizable number of these files are in the ``src`` directory +itself, but there are plenty of :doc:`packages `, which can be +included or excluded when LAMMPS is built. See the :doc:`Include +packages in build ` section of the manual for more +information about that part of the build process. LAMMPS currently +supports building with :doc:`conventional makefiles ` and +through :doc:`CMake ` which differ in how packages are +enabled or disabled for a LAMMPS binary. The source files for each +package are in all-uppercase sub-directories of the ``src`` folder, for +example ``src/MOLECULE`` or ``src/USER-MISC``. The ``src/STUBS`` +sub-directory is not a package but contains a dummy MPI library, that is +used when building a serial version of the code. the ``src/MAKE`` +directory contains makefiles with settings and flags for a variety of +configuration and machines for the build process with traditional +makefiles. + +The ``lib`` directory contains the source code for several supporting +libraries or files with configuration settings to use globally installed +libraries, that are required by some of the optional packages. +Each sub-directory, like ``lib/poems`` or ``lib/gpu``, contains the +source files, some of which are in different languages such as Fortran +or CUDA. These libraries are linked to during a LAMMPS build, if the +corresponding package is installed. + +LAMMPS C++ source files almost always come in pairs, such as +``src/run.cpp`` and ``src/run.h``. The pair of files defines a C++ +class, for example the :cpp:class:`LAMMPS_NS::Run` class which contains +the code invoked by the :doc:`run ` command in a LAMMPS input script. +As this example illustrates, source file and class names often have a +one-to-one correspondence with a command used in a LAMMPS input script. +Some source files and classes do not have a corresponding input script +command, e.g. ``src/force.cpp`` and the :cpp:class:`LAMMPS_NS::Force` +class. They are discussed in the next section. + +LAMMPS class topology +===================== + +Though LAMMPS has a lot of source files and classes, its class topology +is relative flat, as outlined in the :ref:`class-topology` figure. Each +name refers to a class and has a pair of associated source files in the +``src`` folder, for example the class :cpp:class:`LAMMPS_NS::Memory` +corresponds to the files ``memory.cpp`` and ``memory.h``, or the class +:cpp:class:`LAMMPS_NS::AtomVec` corresponds to the files +``atom_vec.cpp`` and ``atom_vec.h``. Full lines in the figure represent +compositing: that is the class to the left holds a pointer to an +instance of the class to the right. Dashed lines instead represent +inheritance: the class to the right is derived from the class on the +left. Classes with a red boundary are not instantiated directly, but +they represent the base classes for "styles". Those "styles" make up +the bulk of the LAMMPS code and only a few typical examples are included +in the figure for demonstration purposes. + +.. _class-topology: +.. figure:: JPG/lammps-classes.png + + LAMMPS class topology + + This figure shows some of the relations of the base classes of the + LAMMPS simulation package. Full lines indicate that a class holds an + instance of the class it is pointing to; dashed lines point to + derived classes that are given as examples of what classes may be + instantiated during a LAMMPS run based on the input commands and + accessed through the API define by their respective base classes. At + the core is the :cpp:class:`LAMMPS ` class, which + holds pointers to class instances with specific purposes. Those may + hold instances of other classes, sometimes directly, or only + temporarily, sometimes as derived classes or derived classes or + derived classes, which may also hold instances of other classes. + +The :cpp:class:`LAMMPS_NS::LAMMPS` class is the topmost class and +represents what is referred to an "instance" of LAMMPS. It is a +composite holding references to instances of other core classes +providing the core functionality of the MD engine in LAMMPS and through +them abstractions of the required operations. The constructor of the +LAMMPS class will instantiate those instances, process the command line +flags, initialize MPI (if not already done) and set up file pointers for +input and output. The destructor will shut everything down and free all +associated memory. Thus code for the standalone LAMMPS executable in +``main.cpp`` simply initializes MPI, instantiates a single instance of +LAMMPS, and passes it the command line flags and input script. It +deletes the LAMMPS instance after the method reading the input returns +and shuts down the MPI environment before it exits the executable. + +The :cpp:class:`LAMMPS_NS::Pointers` is not shown in the +:ref:`class-topology` figure, it holds references to members of the +`LAMMPS_NS::LAMMPS`, so that all classes derived from +:cpp:class:`LAMMPS_NS::Pointers` have direct access to those reference. +From the class topology all classes with blue boundary are referenced in +this class and all classes in the second and third columns, that are not +listed as derived classes are instead derived from +:cpp:class:`LAMMPS_NS::Pointers`. + +Since all storage is encapsulated, the LAMMPS class can also be +instantiated multiple times by a calling code, and that can be either +simultaneously or consecutively. When running in parallel with MPI, +care has to be taken, that suitable communicators are used to not +create conflicts between different instances. + +The LAMMPS class currently holds instances of 19 classes representing +different core functionalities There are a handful of virtual parent +classes in LAMMPS that define what LAMMPS calls ``styles``. They are +shaded red in the :ref:`class-topology` figure. Each of these are +parents of a number of child classes that implement the interface +defined by the parent class. There are two main categories of these +``styles``: some may only have one instance active at a time (e.g. atom, +pair, bond, angle, dihedral, improper, kspace, comm) and there is a +dedicated pointer variable in the composite class that manages them. +Setups that require a mix of different such styles have to use a +*hybrid* class that manages and forwards calls to the corresponding +sub-styles for the designated subset of atoms or data. or the composite +class may have lists of class instances, e.g. Modify handles lists of +compute and fix styles, while Output handles dumps class instances. + +The exception to this scheme are the ``command`` style classes. These +implement specific commands that can be invoked before, after, or between +runs or are commands which launch a simulation. For these an instance +of the class is created, its command() method called and then, after +completion, the class instance deleted. Examples for this are the +create_box, create_atoms, minimize, run, or velocity command styles. + +For all those ``styles`` certain naming conventions are employed: for +the fix nve command the class is called FixNVE and the files are +``fix_nve.h`` and ``fix_nve.cpp``. Similarly for fix ave/time we have +FixAveTime and ``fix_ave_time.h`` and ``fix_ave_time.cpp``. Style names +are lower case and without spaces or special characters. A suffix or +multiple appended with a forward slash '/' denotes a variant of the +corresponding class without the suffix. To connect the style name and +the class name, LAMMPS uses macros like the following ATOM\_CLASS, +PAIR\_CLASS, BOND\_CLASS, REGION\_CLASS, FIX\_CLASS, COMPUTE\_CLASS, +or DUMP\_CLASS in the corresponding header file. During compilation +files with the pattern ``style_name.h`` are created that contain include +statements including all headers of all styles of a given type that +are currently active (or "installed). + + +More details on individual classes in the :ref:`class-topology` are as +follows: + +- The Memory class handles allocation of all large vectors and arrays. + +- The Error class prints all error and warning messages. + +- The Universe class sets up partitions of processors so that multiple + simulations can be run, each on a subset of the processors allocated + for a run, e.g. by the mpirun command. + +- The Input class reads and processes input input strings and files, + stores variables, and invokes :doc:`commands `. + +- As discussed above, command style classes are directly derived from + the Pointers class. They provide input script commands that perform + one-time operations before/after/between simulations or which invoke a + simulation. They are instantiated from within the Input class, + invoked, then immediately destructed. + +- The Finish class is instantiated to print statistics to the screen + after a simulation is performed, by commands like run and minimize. + +- The Special class walks the bond topology of a molecular system to + find first, second, third neighbors of each atom. It is invoked by + several commands, like :doc:`read_data `, + :doc:`read_restart `, or :doc:`replicate `. + +- The Atom class stores per-atom properties associated with atom styles. + More precisely, they are allocated and managed by a class derived from + the AtomVec class, and the Atom class simply stores pointers to them. + The classes derived from AtomVec represent the different atom styles + and they are instantiated through the :doc:`atom_style ` + command. + +- The Update class holds instances of an integrator and a minimizer + class. The Integrate class is a parent style for the Verlet and + r-RESPA time integrators, as defined by the :doc:`run_style + ` command. The Min class is a parent style for various + energy minimizers. + +- The Neighbor class builds and stores neighbor lists. The NeighList + class stores a single list (for all atoms). A NeighRequest class + instance is created by pair, fix, or compute styles when they need a + particular kind of neighbor list and use the NeighRequest properties + to select the neighbor list settings for the given request. There can + be multiple instances of the NeighRequest class and the Neighbor class + will try to optimize how they are computed by creating copies or + sub-lists where possible. + +- The Comm class performs inter-processor communication, typically of + ghost atom information. This usually involves MPI message exchanges + with 6 neighboring processors in the 3d logical grid of processors + mapped to the simulation box. There are two :doc:`communication styles + ` enabling different ways to do the domain decomposition. + Sometimes the Irregular class is used, when atoms may migrate to + arbitrary processors. + +- The Domain class stores the simulation box geometry, as well as + geometric Regions and any user definition of a Lattice. The latter + are defined by the :doc:`region ` and :doc:`lattice ` + commands in an input script. + +- The Force class computes various forces between atoms. The Pair + parent class is for non-bonded or pair-wise forces, which in LAMMPS + also includes many-body forces such as the Tersoff 3-body potential if + those are computed by walking pairwise neighbor lists. The Bond, + Angle, Dihedral, Improper parent classes are styles for bonded + interactions within a static molecular topology. The KSpace parent + class is for computing long-range Coulombic interactions. One of its + child classes, PPPM, uses the FFT3D and Remap classes to redistribute + and communicate grid-based information across the parallel processors. + +- The Modify class stores lists of class instances derived from the + :doc:`Fix ` and :doc:`Compute ` base classes. + +- The Group class manipulates groups that atoms are assigned to via the + :doc:`group ` command. It also has functions to compute + various attributes of groups of atoms. + +- The Output class is used to generate 3 kinds of output from a LAMMPS + simulation: thermodynamic information printed to the screen and log + file, dump file snapshots, and restart files. These correspond to the + :doc:`Thermo `, :doc:`Dump `, and + :doc:`WriteRestart ` classes respectively. The Dump + class is a base class with several derived classes implementing + various dump style variants. + +- The Timer class logs timing information, output at the end + of a run. + +.. TODO section on "Spatial decomposition and parallel operations" +.. diagram of 3d processor grid, brick vs. tiled. local vs. ghost +.. atoms, 6-way communication with pack/unpack functions, +.. PBC as part of the communication + +.. TODO section on "Fixes, Computes, and Variables" +.. how and when data is computed and provided and how it is +.. referenced. flags in Fix/Compute/Variable classes tell +.. style and amount of available data. + + +How a timestep works +==================== + +The first and most fundamental operation within LAMMPS to understand is +how a timestep is structured. Timestepping is performed by calling +methods of the Integrate class instance within the Update class. Since +Integrate is a base class, it will point to an instance of a derived +class corresponding to what is selected by the :doc:`run_style +` input script command. + +In this section, the timestep implemented by the Verlet class is +described. A similar timestep protocol is implemented by the Respa +class, for the r-RESPA hierarchical timestepping method. + +The Min base class performs energy minimization, so does not perform a +literal timestep. But it has logic similar to what is described here, +to compute forces and invoke fixes at each iteration of a minimization. +Differences between time integration and minimization are highlighted at +the end of this section. + +The Verlet class is encoded in the ``src/verlet.cpp`` and ``verlet.h`` +files. It implements the velocity-Verlet timestepping algorithm. The +workhorse method is ``Verlet::run()``, but first we highlight several +other methods in the class. + +- The ``init()`` method is called at the beginning of each dynamics + run. It simply sets some internal flags, based on user settings in + other parts of the code. + +- The ``setup()`` or ``setup_minimal()`` methods are also called before + each run. The velocity-Verlet method requires current forces be + calculated before the first timestep, so these routines compute + forces due to all atomic interactions, using the same logic that + appears in the timestepping described next. A few fixes are also + invoked, using the mechanism described in the next section. Various + counters are also initialized before the run begins. The + ``setup_minimal()`` method is a variant that has a flag for performing + less setup. This is used when runs are continued and information + from the previous run is still valid. For example, if repeated + short LAMMPS runs are being invoked, interleaved by other commands, + via the *pre no* and *every* options of the run command, the + ``setup_minimal()`` method is used. + +- The ``force_clear()`` method initializes force and other arrays to + zero before each timestep, so that forces (torques, etc) can be + accumulated. + +Now for the ``Verlet::run()`` method. Its basic structure in hi-level pseudo +code is shown below. In the actual code in ``src/verlet.cpp`` some of +these operations are conditionally invoked. + +.. code-block:: python + + loop over N timesteps: + if timeout condition: break + ev_set() + + fix->initial_integrate() + fix->post_integrate() + + nflag = neighbor->decide() + if nflag: + fix->pre_exchange() + domain->pbc() + domain->reset_box() + comm->setup() + neighbor->setup_bins() + comm->exchange() + comm->borders() + fix->pre_neighbor() + neighbor->build() + fix->post_neighbor() + else: + comm->forward_comm() + + force_clear() + fix->pre_force() + + pair->compute() + bond->compute() + angle->compute() + dihedral->compute() + improper->compute() + kspace->compute() + + fix->pre_reverse() + comm->reverse_comm() + + fix->post_force() + fix->final_integrate() + fix->end_of_step() + + if any output on this step: + output->write() + + # after loop + fix->post_run() + + +The ``ev_set()`` method (in the parent Integrate class), sets two flags +(*eflag* and *vflag*) for energy and virial computation. Each flag +encodes whether global and/or per-atom energy and virial should be +calculated on this timestep, because some fix or variable or output will +need it. These flags are passed to the various methods that compute +particle interactions, so that they either compute and tally the +corresponding data or can skip the extra calculations if the energy and +virial are not needed. See the comments for the ``Integrate::ev_set()`` +method which document the flag values. + +At various points of the timestep, fixes are invoked, +e.g. ``fix->initial_integrate()``. In the code, this is actually done +via the Modify class which stores all the Fix objects and lists of which +should be invoked at what point in the timestep. Fixes are the LAMMPS +mechanism for tailoring the operations of a timestep for a particular +simulation. As described elsewhere, each fix has one or more methods, +each of which is invoked at a specific stage of the timestep, as show in +the timestep pseudo-code. All the active fixes defined in an input +script, that are flagged to have an ``initial_integrate()`` method are +invoked at the beginning of each timestep. Examples are :doc:`fix nve +` or :doc:`fix nvt or fix npt ` which perform the +start-of-timestep velocity-Verlet integration operations to update +velocities by a half-step, and coordinates by a full step. The +``post_integrate()`` method is next for operations that need to happen +immediately after those updates. Only a few fixes use this, e.g. to +reflect particles off box boundaries in the :doc:`FixWallReflect class +`. + +The ``decide()`` method in the Neighbor class determines whether +neighbor lists need to be rebuilt on the current timestep (conditions +can be changed using the :doc:`neigh_modify every/delay/check +` command. If not, coordinates of ghost atoms are +acquired by each processor via the ``forward_comm()`` method of the Comm +class. If neighbor lists need to be built, several operations within +the inner if clause of the pseudo-code are first invoked. The +``pre_exchange()`` method of any defined fixes is invoked first. +Typically this inserts or deletes particles from the system. + +Periodic boundary conditions are then applied by the Domain class via +its ``pbc()`` method to remap particles that have moved outside the +simulation box back into the box. Note that this is not done every +timestep, but only when neighbor lists are rebuilt. This is so that +each processor's sub-domain will have consistent (nearby) atom +coordinates for its owned and ghost atoms. It is also why dumped atom +coordinates may be slightly outside the simulation box if not dumped +on a step where the neighbor lists are rebuilt. + +The box boundaries are then reset (if needed) via the ``reset_box()`` +method of the Domain class, e.g. if box boundaries are shrink-wrapped to +current particle coordinates. A change in the box size or shape +requires internal information for communicating ghost atoms (Comm class) +and neighbor list bins (Neighbor class) be updated. The ``setup()`` +method of the Comm class and ``setup_bins()`` method of the Neighbor +class perform the update. + +The code is now ready to migrate atoms that have left a processor's +geometric sub-domain to new processors. The ``exchange()`` method of +the Comm class performs this operation. The ``borders()`` method of the +Comm class then identifies ghost atoms surrounding each processor's +sub-domain and communicates ghost atom information to neighboring +processors. It does this by looping over all the atoms owned by a +processor to make lists of those to send to each neighbor processor. On +subsequent timesteps, the lists are used by the ``Comm::forward_comm()`` +method. + +Fixes with a ``pre_neighbor()`` method are then called. These typically +re-build some data structure stored by the fix that depends on the +current atoms owned by each processor. + +Now that each processor has a current list of its owned and ghost +atoms, LAMMPS is ready to rebuild neighbor lists via the ``build()`` +method of the Neighbor class. This is typically done by binning all +owned and ghost atoms, and scanning a stencil of bins around each +owned atom's bin to make a Verlet list of neighboring atoms within the +force cutoff plus neighbor skin distance. + +In the next portion of the timestep, all interaction forces between +particles are computed, after zeroing the per-atom force vector via the +``force_clear()`` method. If the newton flag is set to *on* by the +newton command, forces are added to both owned and ghost atoms, otherwise +only to owned (aka local) atoms. + +Pairwise forces are calculated first, which enables the global virial +(if requested) to be calculated cheaply (at O(N) cost instead of O(N**2) +at the end of the ``Pair::compute()`` method), by a dot product of atom +coordinates and forces. By including owned and ghost atoms in the dot +product, the effect of periodic boundary conditions is correctly +accounted for. Molecular topology interactions (bonds, angles, +dihedrals, impropers) are calculated next (if supported by the current +atom style). The final contribution is from long-range Coulombic +interactions, invoked by the KSpace class. + +The ``pre_reverse()`` method in fixes is used for operations that have to +be done *before* the upcoming reverse communication (e.g. to perform +additional data transfers or reductions for data computed during the +force computation and stored with ghost atoms). + +If the newton flag is on, forces on ghost atoms are communicated and +summed back to their corresponding owned atoms. The ``reverse_comm()`` +method of the Comm class performs this operation, which is essentially +the inverse operation of sending copies of owned atom coordinates to +other processor's ghost atoms. + +At this point in the timestep, the total force on each (local) atom is +known. Additional force constraints (external forces, SHAKE, etc) are +applied by Fixes that have a ``post_force()`` method. The second half +of the velocity-Verlet integration, ``final_integrate()`` is then +performed (another half-step update of the velocities) via fixes like +nve, nvt, npt. + +At the end of the timestep, fixes that contain an ``end_of_step()`` +method are invoked. These typically perform a diagnostic calculation, +e.g. the ave/time and ave/spatial fixes. The final operation of the +timestep is to perform any requested output, via the ``write()`` method +of the Output class. There are 3 kinds of LAMMPS output: thermodynamic +output to the screen and log file, snapshots of atom data to a dump +file, and restart files. See the :doc:`thermo_style `, +:doc:`dump `, and :doc:`restart ` commands for more +details. + +The the flow of control during energy minimization iterations is +similar to that of a molecular dynamics timestep. Forces are computed, +neighbor lists are built as needed, atoms migrate to new processors, and +atom coordinates and forces are communicated to neighboring processors. +The only difference is what Fix class operations are invoked when. Only +a subset of LAMMPS fixes are useful during energy minimization, as +explained in their individual doc pages. The relevant Fix class methods +are ``min_pre_exchange()``, ``min_pre_force()``, and ``min_post_force()``. +Each fix is invoked at the appropriate place within the minimization +iteration. For example, the ``min_post_force()`` method is analogous to +the ``post_force()`` method for dynamics; it is used to alter or constrain +forces on each atom, which affects the minimization procedure. + +After all iterations are completed there is a ``cleanup`` step which +calls the ``post_run()`` method of fixes to perform operations only required +at the end of a calculations (like freeing temporary storage or creating +final outputs). + +Writing LAMMPS styles +===================== + +The :doc:`Modify` section of the manual gives an overview of how LAMMPS can +be extended by writing new classes that derive from existing +parent classes in LAMMPS. Here, some specific coding +details are provided for writing code for LAMMPS. + +Writing a new fix style +^^^^^^^^^^^^^^^^^^^^^^^ + +Writing fixes is a flexible way of extending LAMMPS. Users can +implement many things using fixes: + +- changing particles attributes (positions, velocities, forces, etc.). Examples: FixNVE, FixFreeze. +- reading/writing data. Example: FixRestart. +- adding or modifying properties due to geometry. Example: FixWall. +- interacting with other subsystems or external code: Examples: FixTTM, FixExternal, FixLATTE +- saving information for analysis or future use (previous positions, + for instance). Examples: Fix AveTime, FixStoreState. + + +All fixes are derived from the Fix base class and must have a +constructor with the signature: ``FixPrintVel(class LAMMPS *, int, char **)``. + +Every fix must be registered in LAMMPS by writing the following lines +of code in the header before include guards: + +.. code-block:: c + + #ifdef FIX_CLASS + FixStyle(print/vel,FixPrintVel) + #else + /* the definition of the FixPrintVel class comes here */ + ... + #endif + +Where ``print/vel`` is the style name of your fix in the input script and +``FixPrintVel`` is the name of the class. The header file would be called +``fix_print_vel.h`` and the implementation file ``fix_print_vel.cpp``. +These conventions allow LAMMPS to automatically integrate it into the +executable when compiling and associate your new fix class with the designated +keyword when it parses the input script. + +Let's write a simple fix which will print the average velocity at the end +of each timestep. First of all, implement a constructor: + +.. code-block:: C++ + + FixPrintVel::FixPrintVel(LAMMPS *lmp, int narg, char **arg) + : Fix(lmp, narg, arg) + { + if (narg < 4) + error->all(FLERR,"Illegal fix print/vel command"); + + nevery = force->inumeric(FLERR,arg[3]); + if (nevery <= 0) + error->all(FLERR,"Illegal fix print/vel command"); + } + +In the constructor you should parse your fix arguments which are +specified in the script. All fixes have pretty the same syntax: +``fix ``. The +first 3 parameters are parsed by Fix base class constructor, while +```` should be parsed by you. In our case, we need to +specify how often we want to print an average velocity. For instance, +once in 50 timesteps: ``fix 1 print/vel 50``. There is a special variable +in the Fix class called ``nevery`` which specifies how often the method +``end_of_step()`` is called. Thus all we need to do is just set it up. + +The next method we need to implement is ``setmask()``: + +.. code-block:: C++ + + int FixPrintVel::setmask() + { + int mask = 0; + mask |= FixConst::END_OF_STEP; + return mask; + } + +Here the user specifies which methods of your fix should be called +during execution. The constant ``END_OF_STEP`` corresponds to the +``end_of_step()`` method. The most important available methods that +are called during a timestep and the order in which they are called +are shown in the previous section. + +.. code-block:: C++ + + void FixPrintVel::end_of_step() + { + // for add3, scale3 + using namespace MathExtra; + + double** v = atom->v; + int nlocal = atom->nlocal; + double localAvgVel[4]; // 4th element for particles count + memset(localAvgVel, 0, 4 * sizeof(double)); + for (int particleInd = 0; particleInd < nlocal; ++particleInd) { + add3(localAvgVel, v[particleInd], localAvgVel); + } + localAvgVel[3] = nlocal; + double globalAvgVel[4]; + memset(globalAvgVel, 0, 4 * sizeof(double)); + MPI_Allreduce(localAvgVel, globalAvgVel, 4, MPI_DOUBLE, MPI_SUM, world); + scale3(1.0 / globalAvgVel[3], globalAvgVel); + if ((comm->me == 0) && screen) { + fmt::print(screen,"{}, {}, {}\n", + globalAvgVel[0], globalAvgVel[1], globalAvgVel[2]); + } + } + +In the code above, we use MathExtra routines defined in +``math_extra.h``. There are bunch of math functions to work with +arrays of doubles as with math vectors. It is also important to note +that LAMMPS code should always assume to be run in parallel and that +atom data is thus distributed across the MPI ranks. Thus you can +only process data from local atoms directly and need to use MPI library +calls to combine or exchange data. For serial execution, LAMMPS +comes bundled with the MPI STUBS library that contains the MPI library +function calls in dummy versions that only work for a single MPI rank. + +In this code we use an instance of Atom class. This object is stored +in the Pointers class (see ``pointers.h``) which is the base class of +the Fix base class. This object contains references to various class +instances (the original instances are created and held by the LAMMPS +class) with all global information about the simulation system. +Data from the Pointers class is available to all classes inherited from +it using protected inheritance. Hence when you write you own class, +which is going to use LAMMPS data, don't forget to inherit from Pointers +or pass an Pointer to it to all functions that need access. When writing +fixes we inherit from class Fix which is inherited from Pointers so +there is no need to inherit from it directly. + +The code above computes average velocity for all particles in the +simulation. Yet you have one unused parameter in fix call from the +script: ``group_name``. This parameter specifies the group of atoms +used in the fix. So we should compute average for all particles in the +simulation only if ``group_name == "all"``, but it can be any group. +The group membership information of an atom is contained in the *mask* +property of and atom and the bit corresponding to a given group is +stored in the groupbit variable which is defined in Fix base class: + +.. code-block:: C++ + + for (int i = 0; i < nlocal; ++i) { + if (atom->mask[i] & groupbit) { + // Do all job here + } + } + +Class Atom encapsulates atoms positions, velocities, forces, etc. User +can access them using particle index. Note, that particle indexes are +usually changed every few timesteps because of neighbor list rebuilds +and spatial sorting (to improve cache efficiency). + +Let us consider another Fix example: We want to have a fix which stores +atoms position from previous time step in your fix. The local atoms +indexes may not be valid on the next iteration. In order to handle +this situation there are several methods which should be implemented: + +- ``double memory_usage()``: return how much memory the fix uses (optional) +- ``void grow_arrays(int)``: do reallocation of the per particle arrays in your fix +- ``void copy_arrays(int i, int j, int delflag)``: copy i-th per-particle + information to j-th. Used when atom sorting is performed. if delflag is set + and atom j owns a body, move the body information to atom i. +- ``void set_arrays(int i)``: sets i-th particle related information to zero + +Note, that if your class implements these methods, it must call add calls of +add_callback and delete_callback to constructor and destructor. Since we want +to store positions of atoms from previous timestep, we need to add +``double** xold`` to the header file. Than add allocation code +to the constructor: + +.. code-block:: C++ + + FixSavePos::FixSavePos(LAMMPS *lmp, int narg, char **arg), xold(nullptr) + { + //... + memory->create(xold, atom->nmax, 3, "FixSavePos:x"); + atom->add_callback(0); + } + + FixSavePos::~FixSavePos() { + atom->delete_callback(id, 0); + memory->destroy(xold); + } + +Implement the aforementioned methods: + +.. code-block:: C++ + + double FixSavePos::memory_usage() + { + int nmax = atom->nmax; + double bytes = 0.0; + bytes += nmax * 3 * sizeof(double); + return bytes; + } + + void FixSavePos::grow_arrays(int nmax) + { + memory->grow(xold, nmax, 3, "FixSavePos:xold"); + } + + void FixSavePos::copy_arrays(int i, int j, int delflag) + { + memcpy(xold[j], xold[i], sizeof(double) * 3); + } + + void FixSavePos::set_arrays(int i) + { + memset(xold[i], 0, sizeof(double) * 3); + } + + int FixSavePos::pack_exchange(int i, double *buf) + { + int m = 0; + buf[m++] = xold[i][0]; + buf[m++] = xold[i][1]; + buf[m++] = xold[i][2]; + + return m; + } + + int FixSavePos::unpack_exchange(int nlocal, double *buf) + { + int m = 0; + xold[nlocal][0] = buf[m++]; + xold[nlocal][1] = buf[m++]; + xold[nlocal][2] = buf[m++]; + + return m; + } + +Now, a little bit about memory allocation. We use the Memory class which +is just a bunch of template functions for allocating 1D and 2D +arrays. So you need to add include ``memory.h`` to have access to them. + +Finally, if you need to write/read some global information used in +your fix to the restart file, you might do it by setting flag +``restart_global = 1`` in the constructor and implementing methods void +``write_restart(FILE *fp)`` and ``void restart(char *buf)``. +If, in addition, you want to write the per-atom property to restart +files additional settings and functions are needed: + +- a fix flag indicating this needs to be set ``restart_peratom = 1;`` +- ``atom->add_callback()`` and ``atom->delete_callback()`` must be called + a second time with the final argument set to 1 instead of 0 (indicating + restart processing instead of per-atom data memory management). +- the functions ``void pack_restart(int i, double *buf)`` and + ``void unpack_restart(int nlocal, int nth)`` need to be implemented + +--------------------------- + +LAMMPS utility functions +======================== + +The ``utils`` sub-namespace inside the ``LAMMPS_NS`` namespace provides +a collection of convenience functions and utilities that perform common +tasks that are required repeatedly throughout the LAMMPS code like +reading or writing to files with error checking or translation of +strings into specific types of numbers with checking for validity. This +reduces redundant implementations and encourages consistent behavior. + +I/O with status check +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +These are wrappers around the corresponding C library calls like +``fgets()`` or ``fread()``. They will check if there were errors +on reading or an unexpected end-of-file state was reached. In that +case, the functions will stop the calculation with an error message, +indicating the name of the problematic file, if possible. + +---------- + +.. doxygenfunction:: sfgets + :project: progguide + +.. doxygenfunction:: sfread + :project: progguide + +String to number conversions with validity check +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +These functions should be used to convert strings to numbers. They are +are strongly preferred over C library calls like ``atoi()`` or +``atof()`` since they check if the **entire** provided string is a valid +(floating-point or integer) number, and will error out instead of +silently returning the result of a partial conversion or zero in cases +where the string is not a valid number. This behavior allows to more +easily detect typos or issues when processing input files. + +The *do_abort* flag should be set to ``true`` in case this function +is called only on a single MPI rank, as that will then trigger the +a call to ``Error::one()`` for errors instead of ``Error::all()`` +and avoids a "hanging" calculation when run in parallel. + +Please also see :cpp:func:`is_integer` and :cpp:func:`is_double` for +testing strings for compliance without conversion. + +---------- + +.. doxygenfunction:: numeric + :project: progguide + +.. doxygenfunction:: inumeric + :project: progguide + +.. doxygenfunction:: bnumeric + :project: progguide + +.. doxygenfunction:: tnumeric + :project: progguide + + +String processing +^^^^^^^^^^^^^^^^^ + +The following are functions to help with processing strings +and parsing files or arguments. + +---------- + +.. doxygenfunction:: trim + :project: progguide + +.. doxygenfunction:: trim_comment + :project: progguide + +.. doxygenfunction:: count_words(const char *text) + :project: progguide + +.. doxygenfunction:: count_words(const std::string &text) + :project: progguide + +.. doxygenfunction:: count_words(const std::string &text, const std::string &separators) + :project: progguide + +.. doxygenfunction:: trim_and_count_words + :project: progguide + +.. doxygenfunction:: split_words + :project: progguide + +.. doxygenfunction:: strmatch + :project: progguide + +.. doxygenfunction:: is_integer + :project: progguide + +.. doxygenfunction:: is_double + :project: progguide + +File and path functions +^^^^^^^^^^^^^^^^^^^^^^^^^ + +.. doxygenfunction:: guesspath + :project: progguide + +.. doxygenfunction:: path_basename + :project: progguide + +.. doxygenfunction:: path_join + :project: progguide + +.. doxygenfunction:: file_is_readable + :project: progguide + +Potential file functions +^^^^^^^^^^^^^^^^^^^^^^^^ + +.. doxygenfunction:: get_potential_file_path + :project: progguide + +.. doxygenfunction:: get_potential_date + :project: progguide + +.. doxygenfunction:: get_potential_units + :project: progguide + +.. doxygenfunction:: get_supported_conversions + :project: progguide + +.. doxygenfunction:: get_conversion_factor + :project: progguide + +.. doxygenfunction:: open_potential(const std::string &name, LAMMPS *lmp, int *auto_convert) + :project: progguide + +Argument processing +^^^^^^^^^^^^^^^^^^^ + +.. doxygenfunction:: bounds + :project: progguide + +.. doxygenfunction:: expand_args + :project: progguide + +Convenience functions +^^^^^^^^^^^^^^^^^^^^^ + +.. doxygenfunction:: logmesg + :project: progguide + +.. doxygenfunction:: getsyserror + :project: progguide + +.. doxygenfunction:: check_packages_for_style + :project: progguide + +.. doxygenfunction:: timespec2seconds + :project: progguide + +--------------------------- + +Tokenizer classes +================= + +The purpose of the tokenizer classes is to simplify the recurring task +of breaking lines of text down into words and/or numbers. +Traditionally, LAMMPS code would be using the ``strtok()`` function from +the C library for that purpose, but that function has two significant +disadvantages: 1) it cannot be used concurrently from different LAMMPS +instances since it stores its status in a global variable and 2) it +modifies the string that it is processing. These classes were +implemented to avoid both of these issues and also to reduce the amount +of code that needs to be written. + +The basic procedure is to create an instance of the tokenizer class with +the string to be processed as an argument and then do a loop until all +available tokens are read. The constructor has a default set of +separator characters, but that can be overridden. The default separators +are all "whitespace" characters, i.e. the space character, the tabulator +character, the carriage return character, the linefeed character, and +the form feed character. + +.. code-block:: C++ + :caption: Tokenizer class example listing entries of the PATH environment variable + + #include "tokenizer.h" + #include + #include + #include + + using namespace LAMMPS_NS; + + int main(int, char **) + { + const char *path = getenv("PATH"); + + if (path != nullptr) { + Tokenizer p(path,":"); + while (p.has_next()) + std::cout << "Entry: " << p.next() << "\n"; + } + return 0; + } + +Most tokenizer operations cannot fail except for +:cpp:func:`LAMMPS_NS::Tokenizer::next` (when used without first +checking with :cpp:func:`LAMMPS_NS::Tokenizer::has_next`) and +:cpp:func:`LAMMPS_NS::Tokenizer::skip`. In case of failure, the class +will throw an exception, so you may need to wrap the code using the +tokenizer into a ``try`` / ``catch`` block to handle errors. The +:cpp:class:`LAMMPS_NS::ValueTokenizer` class may also throw an exception +when a (type of) number is requested as next token that is not +compatible with the string representing the next word. + +.. code-block:: C++ + :caption: ValueTokenizer class example with exception handling + + #include "tokenizer.h" + #include + #include + #include + + using namespace LAMMPS_NS; + + int main(int, char **) + { + const char *text = "1 2 3 4 5 20.0 21 twentytwo 2.3"; + double num1(0),num2(0),num3(0),num4(0); + + ValueTokenizer t(text); + // read 4 doubles after skipping over 5 numbers + try { + t.skip(5); + num1 = t.next_double(); + num2 = t.next_double(); + num3 = t.next_double(); + num4 = t.next_double(); + } catch (TokenizerException &e) { + std::cout << "Reading numbers failed: " << e.what() << "\n"; + } + std::cout << "Values: " << num1 << " " << num2 << " " << num3 << " " << num4 << "\n"; + return 0; + } + +This code example should produce the following output: + +.. code-block:: + + Reading numbers failed: Not a valid floating-point number: 'twentytwo' + Values: 20 21 0 0 + +---------- + +.. doxygenclass:: LAMMPS_NS::Tokenizer + :project: progguide + :members: + +.. doxygenclass:: LAMMPS_NS::TokenizerException + :project: progguide + :members: + +.. doxygenclass:: LAMMPS_NS::ValueTokenizer + :project: progguide + :members: + +.. doxygenclass:: LAMMPS_NS::InvalidIntegerException + :project: progguide + :members: what + +.. doxygenclass:: LAMMPS_NS::InvalidFloatException + :project: progguide + :members: what + +File reader classes +==================== + +The purpose of the file reader classes is to simplify the recurring task +of reading and parsing files. They can use the +:cpp:class:`LAMMPS_NS::ValueTokenizer` class to process the read in +text. The :cpp:class:`LAMMPS_NS::TextFileReader` is a more general +version while :cpp:class:`LAMMPS_NS::PotentialFileReader` is specialized +to implement the behavior expected for looking up and reading/parsing +files with potential parameters in LAMMPS. The potential file reader +class requires a LAMMPS instance, requires to be run on MPI rank 0 only, +will use the :cpp:func:`LAMMPS_NS::utils::get_potential_file_path` +function to look up and open the file, and will call the +:cpp:class:`LAMMPS_NS::Error` class in case of failures to read or to +convert numbers, so that LAMMPS will be aborted. + +.. code-block:: C++ + :caption: Use of PotentialFileReader class in pair style coul/streitz + + PotentialFileReader reader(lmp, file, "coul/streitz"); + char * line; + + while((line = reader.next_line(NPARAMS_PER_LINE))) { + try { + ValueTokenizer values(line); + std::string iname = values.next_string(); + + int ielement; + for (ielement = 0; ielement < nelements; ielement++) + if (iname == elements[ielement]) break; + + if (nparams == maxparam) { + maxparam += DELTA; + params = (Param *) memory->srealloc(params,maxparam*sizeof(Param), + "pair:params"); + } + + params[nparams].ielement = ielement; + params[nparams].chi = values.next_double(); + params[nparams].eta = values.next_double(); + params[nparams].gamma = values.next_double(); + params[nparams].zeta = values.next_double(); + params[nparams].zcore = values.next_double(); + + } catch (TokenizerException & e) { + error->one(FLERR, e.what()); + } + nparams++; + } + +A file that would be parsed by the reader code fragment looks like this: + + # DATE: 2015-02-19 UNITS: metal CONTRIBUTOR: Ray Shan CITATION: Streitz and Mintmire, Phys Rev B, 50, 11996-12003 (1994) + # + # X (eV) J (eV) gamma (1/\AA) zeta (1/\AA) Z (e) + + Al 0.000000 10.328655 0.000000 0.968438 0.763905 + O 5.484763 14.035715 0.000000 2.143957 0.000000 + + +---------- + +.. doxygenclass:: LAMMPS_NS::TextFileReader + :project: progguide + :members: + +.. doxygenclass:: LAMMPS_NS::PotentialFileReader + :project: progguide + :members: + diff --git a/doc/src/pg_fortran.rst b/doc/src/pg_fortran.rst new file mode 100644 index 0000000000000000000000000000000000000000..50738330d2bf578683a0d6431f513c3e720c8366 --- /dev/null +++ b/doc/src/pg_fortran.rst @@ -0,0 +1,202 @@ +The ``LIBLAMMPS`` Fortran Module +******************************** + +The ``LIBLAMMPS`` module provides an interface to call LAMMPS from a +Fortran code. It is based on the LAMMPS C-library interface and +requires a Fortran 2003 compatible compiler to be compiled. + +While C libraries have a defined binary interface (ABI) and can thus be +used from multiple compiler versions from different vendors for as long +as they are compatible with the hosting operating system, the same is +not true for Fortran codes. Thus the LAMMPS Fortran module needs to be +compiled alongside the code using it from the source code in +``fortran/lammps.f90``. When linking, you also need to +:doc:`link to the LAMMPS library `. A typical command line +for a simple program using the Fortran interface would be: + +.. code-block:: bash + + mpifort -o testlib.x lammps.f90 testlib.f90 -L. -llammps + +Please note, that the MPI compiler wrapper is only required when the +calling the library from an MPI parallel code. Please also note the order +of the source files: the lammps.f90 file needs to be compiled first, +since it provides the ``LIBLAMMPS`` module that is imported by the +Fortran code using the interface. + +.. versionadded:: 30Sep2020 + +.. admonition:: Work in Progress + + This Fortran module is work in progress and only the documented + functionality is currently available. The final implementation should + cover the entire range of functionality available in the C and + Python library interfaces. + +---------- + +Creating or deleting a LAMMPS object +************************************ + +With the Fortran interface the creation of a :cpp:class:`LAMMPS +` instance is included in the constructor for +creating the :f:func:`lammps` derived type. To import the definition of +that type and its type bound procedures you need to add a ``USE +LIBLAMMPS`` statement. Internally it will call either +:cpp:func:`lammps_open_fortran` or :cpp:func:`lammps_open_no_mpi` from +the C library API to create the class instance. All arguments are +optional and :cpp:func:`lammps_mpi_init` will be called automatically, +if it is needed. Similarly, a possible call to :cpp:func:`lammps_finalize` +is integrated into the :f:func:`close` function and triggered with +the optional logical argument set to ``.true.``. Here is a simple example: + +.. code-block:: fortran + + PROGRAM testlib + USE LIBLAMMPS ! include the LAMMPS library interface + TYPE(lammps) :: lmp ! derived type to hold LAMMPS instance + CHARACTER(len=*), DIMENSION(*), PARAMETER :: args = & + [ CHARACTER(len=12) :: 'liblammps', '-log', 'none' ] + + ! create a LAMMPS instance (and initialize MPI) + lmp = lammps(args) + ! get and print numerical version code + PRINT*, 'LAMMPS Version: ', lmp%version() + ! delete LAMMPS instance (and shuts down MPI) + CALL lmp%close(.true.) + + END PROGRAM testlib + +-------------------- + +Executing LAMMPS commands +========================= + +Once a LAMMPS instance is created, it is possible to "drive" the LAMMPS +simulation by telling LAMMPS to read commands from a file, or pass +individual or multiple commands from strings or lists of strings. This +is done similar to how it is implemented in the `C-library +` interface. Before handing off the calls to the +C-library interface, the corresponding Fortran versions of the calls +(:f:func:`file`, :f:func:`command`, :f:func:`commands_list`, and +:f:func:`commands_string`) have to make a copy of the strings passed as +arguments so that they can be modified to be compatible with the +requirements of strings in C without affecting the original strings. +Those copies are automatically deleted after the functions return. +Below is a small demonstration of the uses of the different functions: + +.. code-block:: fortran + + PROGRAM testcmd + USE LIBLAMMPS + TYPE(lammps) :: lmp + CHARACTER(len=512) :: cmds + CHARACTER(len=40),ALLOCATABLE :: cmdlist(:) + CHARACTER(len=10) :: trimmed + INTEGER :: i + + lmp = lammps() + CALL lmp%file('in.melt') + CALL lmp%command('variable zpos index 1.0') + ! define 10 groups of 10 atoms each + ALLOCATE(cmdlist(10)) + DO i=1,10 + WRITE(trimmed,'(I10)') 10*i + WRITE(cmdlist(i),'(A,I1,A,I10,A,A)') & + 'group g',i-1,' id ',10*(i-1)+1,':',ADJUSTL(trimmed) + END DO + CALL lmp%commands_list(cmdlist) + ! run multiple commands from multi-line string + cmds = 'clear' // NEW_LINE('A') // & + 'region box block 0 2 0 2 0 2' // NEW_LINE('A') // & + 'create_box 1 box' // NEW_LINE('A') // & + 'create_atoms 1 single 1.0 1.0 ${zpos}' + CALL lmp%commands_string(cmds) + CALL lmp%close() + + END PROGRAM testcmd + +--------------- + +The ``LIBLAMMPS`` module API +**************************** + +Below are the detailed descriptions of definitions and interfaces +of the contents of the ``LIBLAMMPS`` Fortran interface to LAMMPS. + +.. f:type:: lammps + + Derived type that is the general class of the Fortran interface. + It holds a reference to the :cpp:class:`LAMMPS ` class instance + that any of the included calls are forwarded to. + + :f c_ptr handle: reference to the LAMMPS class + :f close: :f:func:`close` + :f version: :f:func:`version` + :f file: :f:func:`file` + :f command: :f:func:`command` + :f commands_list: :f:func:`commands_list` + :f commands_string: :f:func:`commands_string` + +.. f:function:: lammps(args[,comm]) + + This is the constructor for the Fortran class and will forward + the arguments to a call to either :cpp:func:`lammps_open_fortran` + or :cpp:func:`lammps_open_no_mpi`. If the LAMMPS library has been + compiled with MPI support, it will also initialize MPI, if it has + not already been initialized before. + + The *args* argument with the list of command line parameters is + optional and so it the *comm* argument with the MPI communicator. + If *comm* is not provided, ``MPI_COMM_WORLD`` is assumed. For + more details please see the documentation of :cpp:func:`lammps_open`. + + :p character(len=*) args(*) [optional]: arguments as list of strings + :o integer comm [optional]: MPI communicator + :r lammps: an instance of the :f:type:`lammps` derived type + +.. f:subroutine:: close([finalize]) + + This method will close down the LAMMPS instance through calling + :cpp:func:`lammps_close`. If the *finalize* argument is present and + has a value of ``.true.``, then this subroutine also calls + :cpp:func:`lammps_mpi_finalize`. + + :o logical finalize [optional]: shut down the MPI environment of the LAMMPS library if true. + +.. f:function:: version() + + This method returns the numeric LAMMPS version like :cpp:func:`lammps_version` + + :r integer: LAMMPS version + +-------- + +.. f:subroutine:: file(filename) + + This method will call :cpp:func:`lammps_file` to have LAMMPS read + and process commands from a file. + + :p character(len=*) filename: name of file with LAMMPS commands + +.. f:subroutine:: command(cmd) + + This method will call :cpp:func:`lammps_command` to have LAMMPS + execute a single command. + + :p character(len=*) cmd: single LAMMPS command + +.. f:subroutine:: commands_list(cmds) + + This method will call :cpp:func:`lammps_commands_list` to have LAMMPS + execute a list of input lines. + + :p character(len=*) cmd(*): list of LAMMPS input lines + +.. f:subroutine:: commands_string(str) + + This method will call :cpp:func:`lammps_commands_string` to have LAMMPS + execute a block of commands from a string. + + :p character(len=*) str: LAMMPS input in string + diff --git a/doc/src/pg_lib_add.rst b/doc/src/pg_lib_add.rst new file mode 100644 index 0000000000000000000000000000000000000000..139476c68334b0f798d6e8746a5eac951ff90106 --- /dev/null +++ b/doc/src/pg_lib_add.rst @@ -0,0 +1,33 @@ +Adding code to the Library interface +==================================== + +The functionality of the LAMMPS library interface has historically +always been motivated by the needs of its users and functions were +added or expanded as they were needed and used. Contributions to +the interface are always welcome. However with a refactoring of +the library interface and its documentation that started in 2020, +there are now a few requirements for inclusion of changes. + + - New functions should be orthogonal to existing ones and not + implement functionality that can already be achieved with the + existing APIs. + - All changes and additions should be documented with + `Doxygen `_ style comments and references + to those functions added to the corresponding files in the + ``doc/src`` folder. + - If possible, new unit tests to test those new features should + be added. + - The new feature should also be implemented and documented for + the Python and Fortran modules. + - All additions should work and be compatible with ``-DLAMMPS_BIGBIG``, + ``-DLAMMPS_SMALLBIG``, ``-DLAMMPS_SMALLSMALL`` and compiling + with and without MPI support. + - The ``library.h`` file should be kept compatible to C code at + a level similar to C89. Its interfaces may not reference any + custom data types (e.g. ``bigint``, ``tagint``, and so on) only + known inside of LAMMPS. + - only C style comments, not C++ style + +Please note, that these are *not* *strict* requirements, but the +LAMMPS developers appreciate if they are followed closely and will +assist with implementing what is missing. diff --git a/doc/src/pg_lib_config.rst b/doc/src/pg_lib_config.rst new file mode 100644 index 0000000000000000000000000000000000000000..9576e31dcd65bc032ec6478826dbfed58db03018 --- /dev/null +++ b/doc/src/pg_lib_config.rst @@ -0,0 +1,67 @@ +Retrieving LAMMPS configuration information +=========================================== + +The following library functions can be used to query the +LAMMPS library about compile time settings and included +packages and styles. + +----------------------- + +.. doxygenfunction:: lammps_config_has_mpi_support + :project: progguide + +----------------------- + +.. doxygenfunction:: lammps_config_has_gzip_support + :project: progguide + +----------------------- + +.. doxygenfunction:: lammps_config_has_png_support + :project: progguide + +----------------------- + +.. doxygenfunction:: lammps_config_has_jpeg_support + :project: progguide + +----------------------- + +.. doxygenfunction:: lammps_config_has_ffmpeg_support + :project: progguide + +----------------------- + +.. doxygenfunction:: lammps_config_has_exceptions + :project: progguide + +----------------------- + +.. doxygenfunction:: lammps_config_has_package + :project: progguide + +----------------------- + +.. doxygenfunction:: lammps_config_package_count + :project: progguide + +----------------------- + +.. doxygenfunction:: lammps_config_package_name + :project: progguide + +----------------------- + +.. doxygenfunction:: lammps_has_style + :project: progguide + +----------------------- + +.. doxygenfunction:: lammps_style_count + :project: progguide + +----------------------- + +.. doxygenfunction:: lammps_style_name + :project: progguide + diff --git a/doc/src/pg_lib_create.rst b/doc/src/pg_lib_create.rst new file mode 100644 index 0000000000000000000000000000000000000000..f8a8fb78298d31a554d5b3042cc8ecaae1d83334 --- /dev/null +++ b/doc/src/pg_lib_create.rst @@ -0,0 +1,104 @@ +Creating or deleting a LAMMPS object +==================================== + +The :cpp:func:`lammps_open` and :cpp:func:`lammps_open_no_mpi` +functions are used to create and initialize a +:cpp:func:`LAMMPS` instance. The calling program has to +provide a handle where a reference to this instance can be stored and +which has to be used in all subsequent function calls until that +instance is destroyed by calling :cpp:func:`lammps_close`. +Here is a simple example demonstrating its use: + +.. code-block:: C + + #include "library.h" + #include + + int main(int argc, char **argv) + { + void *handle; + int version; + const char *lmpargv[] = { "liblammps", "-log", "none"}; + int lmpargc = sizeof(lmpargv)/sizeof(const char *); + + /* create LAMMPS instance */ + handle = lammps_open_no_mpi(lmpargc, lmpargv, NULL); + if (handle == NULL) { + printf("LAMMPS initialization failed"); + lammps_mpi_finalize(); + return 1; + } + + /* get and print numerical version code */ + version = lammps_version(handle); + printf("LAMMPS Version: %d\n",version); + + /* delete LAMMPS instance and shut down MPI */ + lammps_close(handle); + lammps_mpi_finalize(); + return 0; + } + +The LAMMPS library will be using the MPI library it was compiled with +and will either run on all processors in the ``MPI_COMM_WORLD`` +communicator or on the set of processors in the communicator given in +the ``comm`` argument of :cpp:func:`lammps_open`. This means +the calling code can run LAMMPS on all or a subset of processors. For +example, a wrapper code might decide to alternate between LAMMPS and +another code, allowing them both to run on all the processors. Or it +might allocate part of the processors to LAMMPS and the rest to the +other code by creating a custom communicator with ``MPI_Comm_split()`` +and running both codes concurrently before syncing them up periodically. +Or it might instantiate multiple instances of LAMMPS to perform +different calculations and either alternate between them, run them +concurrently on split communicators, or run them one after the other. +The :cpp:func:`lammps_open` function may be called multiple +times for this latter purpose. + +The :cpp:func:`lammps_close` function is used to shut down +the :cpp:class:`LAMMPS ` class pointed to by the handle +passed as an argument and free all its memory. This has to be called for +every instance created with any of the :cpp:func:`lammps_open` functions. It will, however, **not** call +``MPI_Finalize()``, since that may only be called once. See +:cpp:func:`lammps_mpi_finalize` for an alternative to calling +``MPI_Finalize()`` explicitly in the calling program. + +The :cpp:func:`lammps_free` function is a clean-up +function to free memory that the library allocated previously +via other function calls. See below for notes in the descriptions +of the individual commands where such memory buffers were allocated. + +----------------------- + +.. doxygenfunction:: lammps_open + :project: progguide + +----------------------- + +.. doxygenfunction:: lammps_open_no_mpi + :project: progguide + +----------------------- + +.. doxygenfunction:: lammps_open_fortran + :project: progguide + +----------------------- + +.. doxygenfunction:: lammps_close + :project: progguide + +----------------------- + +.. doxygenfunction:: lammps_mpi_init + :project: progguide + +----------------------- + +.. doxygenfunction:: lammps_mpi_finalize + :project: progguide + +----------------------- + +.. doxygenfunction:: lammps_free + :project: progguide diff --git a/doc/src/pg_lib_execute.rst b/doc/src/pg_lib_execute.rst new file mode 100644 index 0000000000000000000000000000000000000000..3e79cb3cb4aad6a6c6cce35d93717f8a3ef9baf9 --- /dev/null +++ b/doc/src/pg_lib_execute.rst @@ -0,0 +1,69 @@ +Executing LAMMPS commands +========================= + +Once a LAMMPS instance is created, there are multiple ways to "drive" a +simulation. In most cases it is easiest to process single or multiple +LAMMPS commands like in an input file. This can be done through reading +a file or passing single commands or lists of commands or blocks of +commands with the following functions. + +Via these functions, the calling code can have the LAMMPS instance act +on a series of :doc:`input file commands ` that are either +read from a file or passed as strings. This for, for example, allows to +setup a problem from a template file and then run it in stages while +performing other operations in between or concurrently. The caller can +interleave the LAMMPS function calls with operations it performs, calls +to extract information from or set information within LAMMPS, or calls +to another code's library. + +Also equivalent to regular :doc:`input script parsing ` +is the handling of comments and expansion of variables with ``${name}`` +or ``$(expression)`` syntax before the commands are parsed and +executed. Below is a short example using some of these functions. + +.. code-block:: C + + #include "library.h" + #include + #include + + int main(int argc, char **argv) + { + void *handle; + int i; + + MPI_Init(&argc, &argv); + handle = lammps_open(0, NULL, MPI_COMM_WORLD, NULL); + lammps_file(handle,"in.sysinit"); + lammps_command(handle,"run 1000 post no"); + + for (i=0; i < 100; ++i) { + lammps_commands_string(handle,"run 100 pre no post no\n" + "print 'PE = $(pe)'\n" + "print 'KE = $(ke)'\n"); + } + lammps_close(handle); + MPI_Finalize(); + return 0; + } + +----------------------- + +.. doxygenfunction:: lammps_file + :project: progguide + +----------------------- + +.. doxygenfunction:: lammps_command + :project: progguide + +----------------------- + +.. doxygenfunction:: lammps_commands_list + :project: progguide + +----------------------- + +.. doxygenfunction:: lammps_commands_string + :project: progguide + diff --git a/doc/src/pg_lib_neighbor.rst b/doc/src/pg_lib_neighbor.rst new file mode 100644 index 0000000000000000000000000000000000000000..b004e85d0ed48dd10b8e829ae13371696185b5be --- /dev/null +++ b/doc/src/pg_lib_neighbor.rst @@ -0,0 +1,30 @@ +Accessing LAMMPS Neighbor lists +=============================== + +The following functions allow to access neighbor lists +generated by LAMMPS or query their properties. + +----------------------- + +.. doxygenfunction:: lammps_find_compute_neighlist + :project: progguide + +----------------------- + +.. doxygenfunction:: lammps_find_fix_neighlist + :project: progguide + +----------------------- + +.. doxygenfunction:: lammps_find_pair_neighlist + :project: progguide + +----------------------- + +.. doxygenfunction:: lammps_neighlist_num_elements + :project: progguide + +----------------------- + +.. doxygenfunction:: lammps_neighlist_element_neighbors + :project: progguide diff --git a/doc/src/pg_lib_objects.rst b/doc/src/pg_lib_objects.rst new file mode 100644 index 0000000000000000000000000000000000000000..5da858db0c99eacfab00baa9ac5ee60888ff60cb --- /dev/null +++ b/doc/src/pg_lib_objects.rst @@ -0,0 +1,31 @@ +Retrieving or setting properties of LAMMPS objects +================================================== + +This section documents accessing or modifying data from objects like +computes, fixes, or variables in LAMMPS. + +----------------------- + +.. doxygenfunction:: lammps_extract_compute + :project: progguide + +----------------------- + +.. doxygenfunction:: lammps_extract_fix + :project: progguide + +----------------------- + +.. doxygenfunction:: lammps_extract_variable + :project: progguide + +----------------------- + +.. doxygenfunction:: lammps_set_variable + :project: progguide + +----------------------- + +.. doxygenenum:: _LMP_STYLE_CONST + +.. doxygenenum:: _LMP_TYPE_CONST diff --git a/doc/src/pg_lib_properties.rst b/doc/src/pg_lib_properties.rst new file mode 100644 index 0000000000000000000000000000000000000000..789c7e244199b8949f4c4a026229e9660f79b8f2 --- /dev/null +++ b/doc/src/pg_lib_properties.rst @@ -0,0 +1,62 @@ +Retrieving or setting LAMMPS system properties +============================================== + +The library interface allows to extract different kinds of information +about the active simulation instance and also to modify some of them. +This allows to combine MD simulation steps with other processing and +simulation methods computed in the calling code or another code that is +coupled to LAMMPS via the library interface. In some cases the data +returned is direct reference to the original data inside LAMMPS cast +to a void pointer. In that case the data needs to be cast to a suitable +pointer to be able to access it, and you need to know the correct dimensions +and lengths. When accessing per-atom data, please note that this data +is the per-processor **local** data and indexed accordingly. These arrays +can change sizes and order at every neighbor list rebuild and atom sort +event as atoms are migrating between sub-domains. + +----------------------- + +.. doxygenfunction:: lammps_version + :project: progguide + +----------------------- + +.. doxygenfunction:: lammps_get_natoms + :project: progguide + +----------------------- + +.. doxygenfunction:: lammps_get_thermo + :project: progguide + +----------------------- + +.. doxygenfunction:: lammps_extract_box + :project: progguide + +----------------------- + +.. doxygenfunction:: lammps_reset_box + :project: progguide + +------------------- + +.. doxygenfunction:: lammps_extract_setting + :project: progguide + +----------------------- + +.. doxygenfunction:: lammps_extract_global + :project: progguide + +----------------------- + +.. doxygenfunction:: lammps_extract_atom + :project: progguide + +----------------------- + +.. doxygenfunction:: lammps_create_atoms(void *handle, int n, int *id, int *type, double *x, double *v, int *image, int bexpand) + :project: progguide + + diff --git a/doc/src/pg_lib_scatter.rst b/doc/src/pg_lib_scatter.rst new file mode 100644 index 0000000000000000000000000000000000000000..5865d22349b8478a55e129635277f29287c2cfcf --- /dev/null +++ b/doc/src/pg_lib_scatter.rst @@ -0,0 +1,29 @@ +Library functions for scatter/gather operations +================================================ + +.. TODO add description + +----------------------- + +.. doxygenfunction:: lammps_gather_atoms + :project: progguide + +----------------------- + +.. doxygenfunction:: lammps_gather_atoms_concat + :project: progguide + +----------------------- + +.. doxygenfunction:: lammps_gather_atoms_subset + :project: progguide + +----------------------- + +.. doxygenfunction:: lammps_scatter_atoms + :project: progguide + +----------------------- + +.. doxygenfunction:: lammps_scatter_atoms_subset + :project: progguide diff --git a/doc/src/pg_lib_utility.rst b/doc/src/pg_lib_utility.rst new file mode 100644 index 0000000000000000000000000000000000000000..8eda4e498843c22acfea68fa9a010a9ca2782dd8 --- /dev/null +++ b/doc/src/pg_lib_utility.rst @@ -0,0 +1,30 @@ +Library interface utility functions +=================================== + +To simplify some of the tasks, the library interface contains +some utility functions that are not directly calling LAMMPS. + +----------------------- + +.. doxygenfunction:: lammps_encode_image_flags + :project: progguide + +----------------------- + +.. doxygenfunction:: lammps_decode_image_flags(int image, int *flags) + :project: progguide + +----------------------- + +.. doxygenfunction:: lammps_set_fix_external_callback(void *, char *, FixExternalFnPtr, void*) + :project: progguide + +----------------------- + +.. doxygenfunction:: lammps_has_error + :project: progguide + +----------------------- + +.. doxygenfunction:: lammps_get_last_error_message + :project: progguide diff --git a/doc/src/pg_library.rst b/doc/src/pg_library.rst new file mode 100644 index 0000000000000000000000000000000000000000..9193b5621431a6215a1350f1d4fd96e24d348de9 --- /dev/null +++ b/doc/src/pg_library.rst @@ -0,0 +1,158 @@ +LAMMPS Library Interfaces +************************* + +As described on the :doc:`library interface to LAMMPS ` +doc page, LAMMPS can be built as a library (static or shared), so that +it can be called by another code, used in a :doc:`coupled manner +` with other codes, or driven through a :doc:`Python +script `. Even the LAMMPS standalone executable is +essentially a thin wrapper on top of the LAMMPS library, creating a +LAMMPS instance, processing input and then existing. + +Several of these approaches are based on C language wrapper functions +in the files ``src/library.h`` and ``src/library.cpp``, but it is also +possible to use C++ directly. The basic procedure is always the same: +you create one or more instances of the +:cpp:class:`LAMMPS ` and then pass commands as +strings or from files to that LAMMPS instance to execute calculations, +or read, manipulate, and update data from the active class instances +inside the LAMMPS to do analysis or perform operations that are not +possible with existing commands. + +.. _thread-safety: + +.. admonition:: Thread-safety + :class: note + + LAMMPS was initially not conceived as a thread-safe program, but over + the years changes have been applied to replace operations that + collide with creating multiple LAMMPS instances from multiple-threads + of the same process with thread-safe alternatives. This primarily + applies to the core LAMMPS code and less so on add-on packages, + especially when those packages require additional code in the *lib* + folder, interface LAMMPS to Fortran libraries, or the code uses + static variables (like the USER-COLVARS package). + + Another major issue to deal with is to correctly handle MPI. + Creating a LAMMPS instance requires passing an MPI communicator, or + it assumes the ``MPI_COMM_WORLD`` communicator, which spans all MPI + processor ranks. When creating multiple LAMMPS object instances from + different threads, this communicator has to be different for each + thread or else collisions can happen. or it has to be guaranteed, + that only one thread at a time is active. MPI communicators, + however, are not a problem, if LAMMPS is compiled with the MPI STUBS + library, which implies that there is no MPI communication and only 1 + MPI rank. + +---------- + +.. _lammps_c_api: + +LAMMPS C Library API +==================== + +The C library interface is most commonly used path to manage LAMMPS +instances from a compiled code and it is the basis for the :doc:`Python +` and :doc:`Fortran ` modules. Almost all +functions of the C language API require an argument containing a +"handle" in the form of a ``void *`` type variable, which points to the +location of a LAMMPS class instance. + +The ``library.h`` header file by default includes the ``mpi.h`` header +for an MPI library, so it must be present when compiling code using the +library interface. This usually must be the header from the same MPI +library as the LAMMPS library was compiled with. The exception is when +LAMMPS was compiled in serial mode using the ``STUBS`` MPI library. In +that case the calling code may be compiled with a different MPI library +for as long as :cpp:func:`lammps_open_no_mpi` is called to create a +LAMMPS instance. Then you may set the define ``-DLAMMPS_LIB_NO_MPI`` +when compiling your code and the inclusion of ``mpi.h`` will be skipped +and consequently the function :cpp:func:`lammps_open` may not be used. + +.. admonition:: Errors versus exceptions + :class: note + + If any of the function calls in the LAMMPS library API will trigger + an error inside LAMMPS, this will result in an abort of the entire + program. This is not always desirable. Instead, LAMMPS can be + compiled to instead :ref:`throw a C++ exception `. + +.. warning:: + + No checks are made on the arguments of the function calls of the C + library interface. *All* function arguments must be non-NULL unless + *explicitly* allowed and point to consistent and valid data. Buffers + for storing returned data must be allocated to a suitable size. + Passing invalid or unsuitable information will likely cause crashes + or corrupt data. + +------------------------------ + +.. toctree:: + :maxdepth: 1 + + pg_lib_create + pg_lib_execute + pg_lib_properties + pg_lib_objects + pg_lib_scatter + pg_lib_neighbor + pg_lib_config + pg_lib_utility + pg_lib_add + +-------------------- + +.. _lammps_python_api: + +LAMMPS Python APIs +================== + +The LAMMPS Python module enables calling the LAMMPS C library API from +Python by dynamically loading functions in the LAMMPS shared library through +the `Python ctypes module `_. +Because of the dynamic loading, it is **required** that LAMMPS is compiled +in :ref:`"shared" mode `. The Python interface is object oriented, but +otherwise trying to be very similar to the C library API. Three different +Python classes to run LAMMPS are available and they build on each other. + +.. toctree:: + :maxdepth: 1 + + pg_python + +------------------- + +.. _lammps_fortran_api: + +LAMMPS Fortran API +================== + +The LAMMPS Fortran module is a wrapper around calling functions from the +LAMMPS C library API from Fortran through the ISO_C_BINDING feature in +Fortran 2003. The interface is object oriented but otherwise trying to +be very similar to the C library API and the basic Python module. + +.. toctree:: + :maxdepth: 1 + + pg_fortran + +------------------- + +.. _lammps_cplusplus_api: + +LAMMPS C++ API +============== + +It is also possible to invoke the LAMMPS C++ API directly in your code. +It is lacking some of the convenience of the C library API, but it allows +a more direct access to simulation data and thus more low-level manipulations. +The following links provide some examples and references to the C++ API. + +.. toctree:: + :maxdepth: 1 + + pg_cplusplus + + diff --git a/doc/src/pg_python.rst b/doc/src/pg_python.rst new file mode 100644 index 0000000000000000000000000000000000000000..72d07c598311390f3501bea14534b7c1f586023f --- /dev/null +++ b/doc/src/pg_python.rst @@ -0,0 +1,188 @@ +The ``lammps`` Python module +**************************** + +.. py:module:: lammps + +The LAMMPS Python interface is implemented as a module called +:py:mod:`lammps` in the ``lammps.py`` file in the ``python`` folder of +the LAMMPS source code distribution. After compilation of LAMMPS, the +module can be installed into a Python system folder or a user folder +with ``make install-python``. Components of the module can then loaded +into a Python session with the ``import`` command. + +There are multiple Python interface classes in the :py:mod:`lammps` module: + +- the :py:class:`lammps ` class. This is a wrapper around + the C-library interface and its member functions try to replicate the + :doc:`C-library API ` closely. This is the most + feature-complete Python API. +- the :py:class:`PyLammps ` class. This is a more high-level + and more Python style class implemented on top of the + :py:class:`lammps ` class. +- the :py:class:`IPyLammps ` class is derived from + :py:class:`PyLammps ` and adds embedded graphics + features to conveniently include LAMMPS into `Jupyter + `_ notebooks. + +.. _mpi4py_url: https://mpi4py.readthedocs.io + +---------- + +Creating or deleting a LAMMPS object +************************************ + +With the Python interface the creation of a :cpp:class:`LAMMPS +` instance is included in the constructor for the +:py:func:`lammps ` class. Internally it will call either +:cpp:func:`lammps_open` or :cpp:func:`lammps_open_no_mpi` from the C +library API to create the class instance. + +All arguments are optional. The *name* argument is to allow loading a +LAMMPS shared library that is named ``liblammps_machine.so`` instead of +the default name of ``liblammps.so``. In most cases the latter will be +installed or used. The *ptr* argument is for use of the +:py:mod:`lammps` module from inside a LAMMPS instance, e.g. with the +:doc:`python ` command, where a pointer to the already existing +:cpp:class:`LAMMPS ` class instance can be passed +to the Python class and used instead of creating a new instance. The +*comm* argument may be used in combination with the `mpi4py `_ +module to pass an MPI communicator to LAMMPS and thus it is possible +to run the Python module like the library interface on a subset of the +MPI ranks after splitting the communicator. Here is a simple example: + +.. code-block:: python + + from lammps import lammps + + # NOTE: argv[0] is set by the Python module + args = ["-log", "none"] + # create LAMMPS instance + lmp = lammps(cmdargs=args) + # get and print numerical version code + print("LAMMPS Version: ", lmp.version()) + # explicitly close and delete LAMMPS instance (optional) + lmp.close() + +Same as with the :doc:`C library API ` this will use the +``MPI_COMM_WORLD`` communicator for the MPI library that LAMMPS was +compiled with. The :py:func:`lmp.close() ` call is +optional since the LAMMPS class instance will also be deleted +automatically during the :py:class:`lammps ` class +destructor. + +Executing LAMMPS commands +************************* + +Once an instance of the :py:class:`lammps ` class is +created, there are multiple ways to "feed" it commands. In a way that is +not very different from running a LAMMPS input script, except that +Python has many more facilities for structured programming than the +LAMMPS input script syntax. Furthermore it is possible to "compute" +what the next LAMMPS command should be. Same as in the equivalent `C +library functions `, commands can be read from a file, a +single string, a list of strings and a block of commands in a single +multi-line string. They are processed under the same boundary conditions +as the C library counterparts. The example below demonstrates the use +of :py:func:`lammps.file`, :py:func:`lammps.command`, +:py:func:`lammps.commands_list`, and :py:func:`lammps.commands_string`: + +.. code-block:: python + + from lammps import lammps + + lmp = lammps() + # read commands from file 'in.melt' + lmp.file('in.melt') + # issue a single command + lmp.command('variable zpos index 1.0') + # create 10 groups with 10 atoms each + cmds = ["group g{} id {}:{}".format(i,10*i+1,10*(i+1)) for i in range(10)] + lmp.commands_list(cmds) + # run commands from a multi-line string + block = """ + clear + region box block 0 2 0 2 0 2 + create_box 1 box + create_atoms 1 single 1.0 1.0 ${zpos} + """ + lmp.commands_string(block) + +---------- + +The ``lammps`` class API +************************ + +The :py:class:`lammps ` class is the core of the LAMMPS +Python interfaces. It is a wrapper around the :doc:`LAMMPS C library +API ` using the `Python ctypes module +`_ and a shared library +compiled from the LAMMPS sources code. The individual methods in this +class try to closely follow the corresponding C functions. The handle +argument that needs to be passed to the C functions is stored internally +in the class and automatically added when calling the C library +functions. Below is a detailed documentation of the API. + +.. autoclass:: lammps.lammps + :members: + +---------- + +The ``PyLammps`` class API +************************** + +.. autoclass:: lammps.PyLammps + :members: + +---------- + +The ``IPyLammps`` class API +*************************** + +.. autoclass:: lammps.IPyLammps + :members: + +---------- + +Additional components of the ``lammps`` module +********************************************** + +The :py:mod:`lammps` module additionally contains several constants +and the :py:class:`NeighList ` class: + +.. _py_data_constants: +.. py:data:: LAMMPS_INT, LAMMPS_DOUBLE, LAMMPS_BIGINT, LAMMPS_TAGINT, LAMMPS_STRING + :type: int + + Constants in the :py:mod:`lammps` module to indicate how to + cast data when the C library function returns a void pointer. + Used in :py:func:`lammps.extract_global`. + +.. _py_style_constants: +.. py:data:: LMP_STYLE_GLOBAL, LMP_STYLE_ATOM, LMP_STYLE_LOCAL + :type: int + + Constants in the :py:mod:`lammps` module to select what style of data + to request from computes or fixes. See :cpp:enum:`_LMP_STYLE_CONST` + for the equivalent constants in the C library interface. Used in + :py:func:`lammps.extract_compute` and :py:func:`lammps.extract_fix`. + +.. _py_type_constants: +.. py:data:: LMP_TYPE_SCALAR, LMP_TYLE_VECTOR, LMP_TYPE_ARRAY, LMP_SIZE_VECTOR, LMP_SIZE_ROWS, LMP_SIZE_COLS + :type: int + + Constants in the :py:mod:`lammps` module to select what type of data + to request from computes or fixes. See :cpp:enum:`_LMP_TYPE_CONST` + for the equivalent constants in the C library interface. Used in + :py:func:`lammps.extract_compute` and :py:func:`lammps.extract_fix`. + +.. _py_var_constants: +.. py:data:: LMP_VAR_EQUAL, LMP_VAR_ATOM + :type: int + + Constants in the :py:mod:`lammps` module to select what style of + variable to query when calling :py:func:`lammps.extract_variable`. + +.. autoclass:: lammps.NeighList + :members: + :no-undoc-members: + diff --git a/doc/utils/requirements.txt b/doc/utils/requirements.txt index 2806c164989aa9137a6c1860716ae9abccef75ad..b86522baf4f17948c41bbdef8d28e62ab53c2a90 100644 --- a/doc/utils/requirements.txt +++ b/doc/utils/requirements.txt @@ -1 +1,5 @@ Sphinx +sphinxcontrib-spelling +sphinx-fortran +breathe +Pygments diff --git a/doc/utils/sphinx-config/_static/css/lammps.css b/doc/utils/sphinx-config/_static/css/lammps.css index 751bba390048761a8560862351bc42e7d83577f7..d2aa8a975dccf116a7baeed554c04b66bc59523a 100644 --- a/doc/utils/sphinx-config/_static/css/lammps.css +++ b/doc/utils/sphinx-config/_static/css/lammps.css @@ -7,3 +7,10 @@ display: block; margin-bottom: 0.809em; } + +.lammps_release { + text-align: center; + font-size: 11px; + display: block; + margin-bottom: 0.405em; +} diff --git a/doc/src/JPG/lammps-logo.png b/doc/utils/sphinx-config/_static/lammps-logo.png similarity index 100% rename from doc/src/JPG/lammps-logo.png rename to doc/utils/sphinx-config/_static/lammps-logo.png diff --git a/doc/utils/sphinx-config/_themes/lammps_theme/layout.html b/doc/utils/sphinx-config/_themes/lammps_theme/layout.html index 9344063304a0810687a70a3ec3db3fb58010d4cc..8e0d235d550272a050d93828178612a04b697bee 100644 --- a/doc/utils/sphinx-config/_themes/lammps_theme/layout.html +++ b/doc/utils/sphinx-config/_themes/lammps_theme/layout.html @@ -103,6 +103,12 @@ {%- endif %} {%- endblock %} {%- block extrahead %} {% endblock %} + + {# Keep modernizr in head - http://modernizr.com/docs/#installing #} + + + {# for improved browser compatibility #} + @@ -135,9 +141,8 @@ {%- set nav_version = current_version %} {% endif %} {% if nav_version %} -
- {{ nav_version }} -
+
Version: {{ nav_version }}
+
git info: {{ release }}
{% endif %} {% endif %} diff --git a/doc/utils/sphinx-config/conf.py b/doc/utils/sphinx-config/conf.py.in similarity index 88% rename from doc/utils/sphinx-config/conf.py rename to doc/utils/sphinx-config/conf.py.in index cc7dc0741fd8c51192045fb4ec436c03406ed437..c6b161ee148dd30140d8bff9446962a228437827 100644 --- a/doc/utils/sphinx-config/conf.py +++ b/doc/utils/sphinx-config/conf.py.in @@ -23,11 +23,16 @@ try: except: pass +LAMMPS_DOC_DIR = '@LAMMPS_DOC_DIR@' +LAMMPS_SOURCE_DIR = '@LAMMPS_SOURCE_DIR@' +LAMMPS_PYTHON_DIR = '@LAMMPS_PYTHON_DIR@' +LAMMPS_DOXYGEN_XML_DIR = '@DOXYGEN_XML_DIR@' + # If extensions (or modules to document with autodoc) are in another directory, # add these directories to sys.path here. If the directory is relative to the # documentation root, use os.path.abspath to make it absolute, like shown here. #sys.path.insert(0, os.path.abspath('.')) -sys.path.append(os.path.join(os.path.dirname(__file__), '../../src/_ext')) +sys.path.append(os.path.join(LAMMPS_DOC_DIR, 'src', '_ext')) # -- General configuration ------------------------------------------------ @@ -41,7 +46,9 @@ extensions = [ 'sphinx.ext.mathjax', 'sphinx.ext.imgmath', 'sphinx.ext.autodoc', + 'sphinxfortran.fortran_domain', 'table_from_list', + 'breathe', ] # 2017-12-07: commented out, since this package is broken with Sphinx 16.x # yet we can no longer use Sphinx 15.x, since that breaks with @@ -72,12 +79,24 @@ copyright = '2003-2020 Sandia Corporation' def get_lammps_version(): import os script_dir = os.path.dirname(os.path.realpath(__file__)) - with open(os.path.join(script_dir, '../../../src/version.h'), 'r') as f: + with open(os.path.join(LAMMPS_SOURCE_DIR, 'version.h'), 'r') as f: line = f.readline() start_pos = line.find('"')+1 end_pos = line.find('"', start_pos) return line[start_pos:end_pos] +def get_git_info(): + import subprocess,time + + git_n_date = '' + try: + gitinfo = subprocess.run(['git','describe'],stdout=subprocess.PIPE,stderr=subprocess.PIPE) + if gitinfo.returncode == 0: + git_n_date = gitinfo.stdout.decode().replace('_',' ') + except: + pass + return git_n_date + # The version info for the project you're documenting, acts as replacement for # |version| and |release|, also used in various other places throughout the # built documents. @@ -85,7 +104,7 @@ def get_lammps_version(): # The short X.Y version. version = get_lammps_version() # The full version, including alpha/beta/rc tags. -release = '' +release = get_git_info() # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. @@ -153,7 +172,7 @@ html_title = "LAMMPS documentation" # The name of an image file (relative to this directory) to place at the top # of the sidebar. -html_logo = 'lammps-logo.png' +html_logo = '_static/lammps-logo.png' # The name of an image file (within the static path) to use as favicon of the # docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 @@ -314,7 +333,7 @@ texinfo_documents = [ epub_title = 'LAMMPS Documentation - ' + get_lammps_version() -epub_cover = ('lammps-logo.png', '') +epub_cover = ('_static/lammps-logo.png', '') epub_description = """ This is the Manual for the LAMMPS software package. @@ -342,13 +361,29 @@ if spelling_spec and has_enchant: spelling_lang='en_US' spelling_word_list_filename='false_positives.txt' -sys.path.append(os.path.join(os.path.dirname(__file__), '.')) +conf_script_dir = os.path.dirname(os.path.realpath(__file__)) +sys.path.append(os.path.join(conf_script_dir, '.')) import LAMMPSLexer from sphinx.highlighting import lexers lexers['LAMMPS'] = LAMMPSLexer.LAMMPSLexer(startinline=True) -sys.path.append(os.path.join(os.path.dirname(__file__), '../../../python')) +sys.path.append(LAMMPS_PYTHON_DIR) # avoid syntax highlighting in blocks that don't specify language highlight_language = 'none' + +# autodoc configuration + +autodoc_member_order = 'bysource' +#autoclass_content = 'both' + +# breathe configuration + +breathe_projects = { 'progguide' : LAMMPS_DOXYGEN_XML_DIR } +breathe_default_project = 'progguide' +breathe_show_define_initializer = True +breathe_domain_by_extension = { 'h' : 'cpp', + 'cpp' : 'cpp', + 'c' : 'c', + } diff --git a/doc/utils/sphinx-config/false_positives.txt b/doc/utils/sphinx-config/false_positives.txt index ddeb036acf4fcbe54a98f8843077821077abeba9..eb551c0bacbe5e1abe4fa1ff03a887f63709647a 100644 --- a/doc/utils/sphinx-config/false_positives.txt +++ b/doc/utils/sphinx-config/false_positives.txt @@ -43,6 +43,7 @@ Afshar agilio Agilio agni +Agnolin Ai Aidan aij @@ -114,6 +115,7 @@ Archlinux arcsin arg args +argv arrhenius Arun arXiv @@ -137,6 +139,8 @@ atc AtC ATC athermal +atime +atimestep athomps atm atomeye @@ -206,7 +210,6 @@ bcolor bdiam bdw Beckman -behaviour Belak Bellott benchmarking @@ -247,6 +250,7 @@ bispectrum Bispectrum bitbucket bitmapped +bitmask bitrate bitrates Bitzek @@ -265,6 +269,7 @@ bodystyle Bogaerts Bogusz Bohrs +boltz Boltzman BondAngle BondBond @@ -283,6 +288,14 @@ Botu Bouguet Bourne boxcolor +boxlo +boxhi +boxxlo +boxxhi +boxylo +boxyhi +boxzlo +boxzhi bp bpclermont bpls @@ -301,6 +314,7 @@ Bryantsev Btarget btype buckPlusAttr +buf builtin Bulatov Bureekaew @@ -369,6 +383,7 @@ charmm CHARMM charmmfsh charmmfsw +charptr Chaudhuri checkbox checkmark @@ -407,6 +422,7 @@ cmap Cmax cmd cmdlist +cmds Cmin cmm CMM @@ -436,6 +452,7 @@ Colvars COLVARS comID Commun +compositing compressibility compressive Comput @@ -584,6 +601,7 @@ del delaystep DeleteIDs deleteIDs +delflag Dellago delocalization delocalized @@ -599,6 +617,7 @@ Dequidt der dereference derekt +Deresiewicz Derjagin Derjaguin Derlet @@ -668,6 +687,8 @@ Donadio dotc Doty doxygen +doxygenclass +doxygenfunction downarrow Doye dpd @@ -721,6 +742,7 @@ Eaat Eacn eam eangle +earg eatom Eb Eba @@ -841,6 +863,7 @@ Erhart erorate erose erotate +errno Ertas ervel Espanol @@ -899,6 +922,7 @@ Fc fcc fcm Fd +fd fdotr fdt Fehlberg @@ -923,6 +947,7 @@ ffplay fft fftbench fftw +fgets fhg Fi Fichthorn @@ -958,6 +983,7 @@ fmackay fmag fmass fmm +fmt fmx fmy fmz @@ -971,6 +997,7 @@ Fock Fogarty Foiles fopenmp +forceclear forestgreen formatarg formulae @@ -987,6 +1014,7 @@ Fraige framerate Frauenheim Fraunhofer +fread Freitas Frenkel Friedrichs @@ -994,6 +1022,7 @@ fs fsh fstyle fsw +ftm ftol fugacity Fumi @@ -1101,6 +1130,7 @@ gromos Gronbech Groot groupbig +groupbit grp Grueneisen gsmooth @@ -1163,6 +1193,7 @@ hexorder Heyes HfO hgrid +hhmrr Hibbs Higdon Hijazi @@ -1172,6 +1203,7 @@ histogrammed histogramming hma hmaktulga +hplanck hoc Hochbruck Hofling @@ -1214,6 +1246,7 @@ hyperspherical hysteretic hz Ibanez +iatom ibar ibm icc @@ -1256,6 +1289,7 @@ indices inertiax inertiay inertiaz +infile infty inhomogeneities inhomogeneous @@ -1296,6 +1330,7 @@ ipp Ippolito IPv IPython +ipython Isele isenthalpic ish @@ -1444,6 +1479,7 @@ Kloza kmax Kmax KMP +kmu Knizhnik knl Kofke @@ -1930,6 +1966,7 @@ muz mv mV Mvapich +mvh mvv MxN myCompute @@ -1942,11 +1979,13 @@ na nabla Nagaosa Nakano +nall namespace namespaces nan NaN Nandor +nangles Nangletype nangletypes Nangletypes @@ -1975,6 +2014,7 @@ Nbin Nbins nbody Nbody +nbonds nbondtype Nbondtype nbondtypes @@ -1987,9 +2027,11 @@ Nc nchunk Nchunk ncoeff +ncol ncorr ncount nd +ndihedrals Ndihedraltype Ndirango ndof @@ -2031,10 +2073,12 @@ Ngyuen nh nharmonic nhc +nhi NiAlH Nicklas Niklasson Nikolskiy +nimpropers Nimpropertype Ninteger Nissila @@ -2043,9 +2087,11 @@ nitride nitrides niu Nk +nktv nl nlen Nlines +nlo nlocal Nlocal Nlog @@ -2053,7 +2099,9 @@ nlp nm Nm Nmax +nmax Nmin +nmin Nmols nn Nocedal @@ -2106,6 +2154,7 @@ Nrepeat nreset Nrho Nroff +nrow nrun Ns Nsample @@ -2124,6 +2173,7 @@ Nt Ntable ntheta nthreads +ntimestep Ntptask Ntriples Ntype @@ -2219,6 +2269,7 @@ oxdna oxrna oxDNA oxRNA +packings padua Padua palegoldenrod @@ -2250,6 +2301,8 @@ Particuology pastewka Pastewka pathangle +pathname +pathnames Patomtrans Pattnaik Pavese @@ -2350,6 +2403,7 @@ polydisperse polydispersity polyelectrolyte polyhedra +polymorphism popen Popov popstore @@ -2383,6 +2437,7 @@ proc Proc procs Prony +progguide ps Ps pscreen @@ -2429,7 +2484,9 @@ qbmsst qcore qdist qE +qe qeff +qelectron qeq QeQ QEq @@ -2447,6 +2504,8 @@ qmol qoffload qopenmp qoverride +qqr +qqrd qtb quadratically quadrupolar @@ -2502,6 +2561,7 @@ rebo recursing Ree refactored +refactoring reflectionstyle regoin Reinders @@ -2587,6 +2647,7 @@ Rkouter RkouterN rmask Rmask +rmass rmax Rmax rmdir @@ -2721,6 +2782,7 @@ shlib SHM shm shockvel +shrinkexceed Shugaev si SiC @@ -2849,11 +2911,16 @@ strcmp streitz Streitz Streiz +strerror strided strietz +strmatch +strncmp +strstr Stukowski Su subbox +Subclassed subcutoff subcycle subcycling @@ -2993,6 +3060,7 @@ Tmin tmp tN Tobias +tokenizer tokyo tol toolchain @@ -3223,6 +3291,7 @@ vv vx Vx vxcm +vxmu vy Vy vycm @@ -3255,8 +3324,9 @@ Widom widom Wijk Wikipedia -wildcard Wildcard +wildcard +wildcards Wirnsberger wirtes witin @@ -3298,6 +3368,7 @@ Xmax xmgrace xMIC xmin +xml xmovie Xmovie xmu @@ -3312,6 +3383,7 @@ xsu xtc xu Xu +xxt xxxxx xy xyz diff --git a/doc/utils/sphinx-config/lammps-logo.png b/doc/utils/sphinx-config/lammps-logo.png deleted file mode 120000 index 37d35bece1dade2c0a9160cbaef7716f2781f208..0000000000000000000000000000000000000000 --- a/doc/utils/sphinx-config/lammps-logo.png +++ /dev/null @@ -1 +0,0 @@ -../../src/JPG/lammps-logo.png \ No newline at end of file diff --git a/fortran/README b/fortran/README new file mode 100644 index 0000000000000000000000000000000000000000..653b6a966ecdc840acd71abc3b39b6c1ece8e776 --- /dev/null +++ b/fortran/README @@ -0,0 +1,11 @@ +This directory contains Fortran code which interface LAMMPS as a library +and allows the LAMMPS library interface to be invoked from Fortran codes. +It requires a Fortran compiler that supports the Fortran 2003 standard. + +This interface is based on and supersedes the previous Fortran interfaces +in the examples/COUPLE/fortran* folders. But is fully supported by the +LAMMPS developers and included in the documentation and unit testing. + +Details on this Fortran interface and how to build programs using it +are in the manual in the doc/html/pg_fortran.html file. + diff --git a/fortran/lammps.f90 b/fortran/lammps.f90 new file mode 100644 index 0000000000000000000000000000000000000000..ba2e376b77e45b05a33eb473cb1091e58c7c4e18 --- /dev/null +++ b/fortran/lammps.f90 @@ -0,0 +1,281 @@ +! ------------------------------------------------------------------------- +! LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +! http://lammps.sandia.gov, Sandia National Laboratories +! Steve Plimpton, sjplimp@sandia.gov +! +! Copyright (2003) Sandia Corporation. Under the terms of Contract +! DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains +! certain rights in this software. This software is distributed under +! the GNU General Public License. +! +! See the README file in the top-level LAMMPS directory. +! ------------------------------------------------------------------------- +! +! Fortran interface to the LAMMPS library implemented as a Fortran 2003 +! style module that wraps the C-style library interface in library.cpp +! and library.h using the ISO_C_BINDING module of the Fortran compiler. +! +! Based on the LAMMPS Fortran 2003 module contributed by: +! Karl D. Hammond +! University of Tennessee, Knoxville (USA), 2012 +! +! The Fortran module tries to follow the API of the C-library interface +! closely, but like the Python wrapper it employs an object oriented +! approach. To accommodate the object oriented approach, all exported +! subroutine and functions have to be implemented in Fortran to then +! call the interfaced C style functions with adapted calling conventions +! as needed. The C-library interfaced functions retain their names +! starting with "lammps_" while the Fortran versions start with "lmp_". +! +MODULE LIBLAMMPS + + USE, INTRINSIC :: ISO_C_BINDING, ONLY: c_ptr, c_null_ptr, c_loc, & + c_int, c_char, c_null_char, c_double + + IMPLICIT NONE + PRIVATE + PUBLIC :: lammps + + TYPE lammps + TYPE(c_ptr) :: handle + CONTAINS + PROCEDURE :: close => lmp_close + PROCEDURE :: file => lmp_file + PROCEDURE :: command => lmp_command + PROCEDURE :: commands_list => lmp_commands_list + PROCEDURE :: commands_string => lmp_commands_string + PROCEDURE :: version => lmp_version + PROCEDURE :: get_natoms => lmp_get_natoms + END TYPE lammps + + INTERFACE lammps + MODULE PROCEDURE lmp_open + END INTERFACE lammps + + ! interface definitions for calling functions in library.cpp + INTERFACE + FUNCTION lammps_open(argc,argv,comm,handle) & + BIND(C, name='lammps_open_fortran') + IMPORT :: c_ptr, c_int + INTEGER(c_int), VALUE, INTENT(in) :: argc, comm + TYPE(c_ptr), DIMENSION(*), INTENT(in) :: argv + TYPE(c_ptr), INTENT(out) :: handle + TYPE(c_ptr) :: lammps_open + END FUNCTION lammps_open + + FUNCTION lammps_open_no_mpi(argc,argv,handle) & + BIND(C, name='lammps_open_no_mpi') + IMPORT :: c_ptr, c_int + INTEGER(c_int), VALUE, INTENT(in) :: argc + TYPE(c_ptr), DIMENSION(*), INTENT(in) :: argv + TYPE(c_ptr), INTENT(out) :: handle + TYPE(c_ptr) :: lammps_open_no_mpi + END FUNCTION lammps_open_no_mpi + + SUBROUTINE lammps_close(handle) BIND(C, name='lammps_close') + IMPORT :: c_ptr + TYPE(c_ptr), VALUE :: handle + END SUBROUTINE lammps_close + + SUBROUTINE lammps_mpi_init(handle) BIND(C, name='lammps_mpi_init') + IMPORT :: c_ptr + TYPE(c_ptr), VALUE :: handle + END SUBROUTINE lammps_mpi_init + + SUBROUTINE lammps_mpi_finalize(handle) & + BIND(C, name='lammps_mpi_finalize') + IMPORT :: c_ptr + TYPE(c_ptr), VALUE :: handle + END SUBROUTINE lammps_mpi_finalize + + SUBROUTINE lammps_file(handle,filename) BIND(C, name='lammps_file') + IMPORT :: c_ptr + TYPE(c_ptr), VALUE :: handle + TYPE(c_ptr), VALUE :: filename + END SUBROUTINE lammps_file + + SUBROUTINE lammps_command(handle,cmd) BIND(C, name='lammps_command') + IMPORT :: c_ptr + TYPE(c_ptr), VALUE :: handle + TYPE(c_ptr), VALUE :: cmd + END SUBROUTINE lammps_command + + SUBROUTINE lammps_commands_list(handle,ncmd,cmds) & + BIND(C, name='lammps_commands_list') + IMPORT :: c_ptr, c_int + TYPE(c_ptr), VALUE :: handle + INTEGER(c_int), VALUE, INTENT(in) :: ncmd + TYPE(c_ptr), DIMENSION(*), INTENT(in) :: cmds + END SUBROUTINE lammps_commands_list + + SUBROUTINE lammps_commands_string(handle,str) & + BIND(C, name='lammps_commands_string') + IMPORT :: c_ptr + TYPE(c_ptr), VALUE :: handle + TYPE(c_ptr), VALUE :: str + END SUBROUTINE lammps_commands_string + + SUBROUTINE lammps_free(ptr) BIND(C, name='lammps_free') + IMPORT :: c_ptr + TYPE(c_ptr), VALUE :: ptr + END SUBROUTINE lammps_free + + FUNCTION lammps_version(handle) BIND(C, name='lammps_version') + IMPORT :: c_ptr, c_int + TYPE(c_ptr), VALUE :: handle + INTEGER(c_int) :: lammps_version + END FUNCTION lammps_version + + FUNCTION lammps_get_natoms(handle) BIND(C, name='lammps_get_natoms') + IMPORT :: c_ptr, c_double + TYPE(c_ptr), VALUE :: handle + REAL(c_double) :: lammps_get_natoms + END FUNCTION lammps_get_natoms + END INTERFACE + +CONTAINS + + ! Fortran wrappers and helper functions. + + ! Constructor for the LAMMPS class. + ! Combined wrapper around lammps_open_fortran() and lammps_open_no_mpi() + TYPE(lammps) FUNCTION lmp_open(args,comm) + IMPLICIT NONE + INTEGER,INTENT(in), OPTIONAL :: comm + CHARACTER(len=*), INTENT(in), OPTIONAL :: args(:) + TYPE(c_ptr), ALLOCATABLE :: argv(:) + TYPE(c_ptr) :: dummy=c_null_ptr + INTEGER :: i,argc + + IF (PRESENT(args)) THEN + ! convert argument list to c style + argc = SIZE(args) + ALLOCATE(argv(argc)) + DO i=1,argc + argv(i) = f2c_string(args(i)) + END DO + ELSE + argc = 1 + ALLOCATE(argv(1)) + argv(1) = f2c_string("liblammps") + ENDIF + + IF (PRESENT(comm)) THEN + lmp_open%handle = lammps_open(argc,argv,comm,dummy) + ELSE + lmp_open%handle = lammps_open_no_mpi(argc,argv,dummy) + END IF + + ! Clean up allocated memory + DO i=1,argc + CALL lammps_free(argv(i)) + END DO + DEALLOCATE(argv) + END FUNCTION lmp_open + + ! Combined Fortran wrapper around lammps_close() and lammps_mpi_finalize() + SUBROUTINE lmp_close(self,finalize) + IMPLICIT NONE + CLASS(lammps) :: self + LOGICAL,INTENT(in),OPTIONAL :: finalize + + CALL lammps_close(self%handle) + + IF (PRESENT(finalize)) THEN + IF (finalize) THEN + CALL lammps_mpi_finalize(self%handle) + END IF + END IF + END SUBROUTINE lmp_close + + INTEGER FUNCTION lmp_version(self) + IMPLICIT NONE + CLASS(lammps) :: self + + lmp_version = lammps_version(self%handle) + END FUNCTION lmp_version + + DOUBLE PRECISION FUNCTION lmp_get_natoms(self) + IMPLICIT NONE + CLASS(lammps) :: self + + lmp_get_natoms = lammps_get_natoms(self%handle) + END FUNCTION lmp_get_natoms + + SUBROUTINE lmp_file(self,filename) + IMPLICIT NONE + CLASS(lammps) :: self + CHARACTER(len=*) :: filename + TYPE(c_ptr) :: str + + str = f2c_string(filename) + CALL lammps_file(self%handle,str) + CALL lammps_free(str) + END SUBROUTINE lmp_file + + ! equivalent function to lammps_command() + SUBROUTINE lmp_command(self,cmd) + IMPLICIT NONE + CLASS(lammps) :: self + CHARACTER(len=*) :: cmd + TYPE(c_ptr) :: str + + str = f2c_string(cmd) + CALL lammps_command(self%handle,str) + CALL lammps_free(str) + END SUBROUTINE lmp_command + + ! equivalent function to lammps_commands_list() + SUBROUTINE lmp_commands_list(self,cmds) + IMPLICIT NONE + CLASS(lammps) :: self + CHARACTER(len=*), INTENT(in), OPTIONAL :: cmds(:) + TYPE(c_ptr), ALLOCATABLE :: cmdv(:) + INTEGER :: i,ncmd + + ! convert command list to c style + ncmd = SIZE(cmds) + ALLOCATE(cmdv(ncmd)) + DO i=1,ncmd + cmdv(i) = f2c_string(cmds(i)) + END DO + + CALL lammps_commands_list(self%handle,ncmd,cmdv) + + ! Clean up allocated memory + DO i=1,ncmd + CALL lammps_free(cmdv(i)) + END DO + DEALLOCATE(cmdv) + END SUBROUTINE lmp_commands_list + + ! equivalent function to lammps_commands_string() + SUBROUTINE lmp_commands_string(self,str) + IMPLICIT NONE + CLASS(lammps) :: self + CHARACTER(len=*) :: str + TYPE(c_ptr) :: tmp + + tmp = f2c_string(str) + CALL lammps_commands_string(self%handle,tmp) + CALL lammps_free(tmp) + END SUBROUTINE lmp_commands_string + + ! ---------------------------------------------------------------------- + ! local helper functions + ! copy fortran string to zero terminated c string + FUNCTION f2c_string(f_string) RESULT(ptr) + CHARACTER (len=*), INTENT(in) :: f_string + CHARACTER (len=1, kind=c_char), POINTER :: c_string(:) + TYPE(c_ptr) :: ptr + INTEGER :: i, n + + n = LEN_TRIM(f_string) + ALLOCATE(c_string(n+1)) + DO i=1,n + c_string(i) = f_string(i:i) + END DO + c_string(n+1) = c_null_char + ptr = c_loc(c_string(1)) + END FUNCTION f2c_string +END MODULE LIBLAMMPS diff --git a/lib/gpu/Makefile.linux b/lib/gpu/Makefile.linux index a26fbe114c8460e85a3609d4fabe6d6d735fc9fb..3fa1dcdce6b1cc4f57a73dfb44bab07688644e46 100644 --- a/lib/gpu/Makefile.linux +++ b/lib/gpu/Makefile.linux @@ -22,13 +22,13 @@ NVCC = nvcc #CUDA_ARCH = -arch=sm_21 # Kepler hardware -CUDA_ARCH = -arch=sm_30 +#CUDA_ARCH = -arch=sm_30 #CUDA_ARCH = -arch=sm_32 #CUDA_ARCH = -arch=sm_35 #CUDA_ARCH = -arch=sm_37 # Maxwell hardware -#CUDA_ARCH = -arch=sm_50 +CUDA_ARCH = -arch=sm_50 #CUDA_ARCH = -arch=sm_52 # Pascal hardware diff --git a/lib/gpu/Makefile.linux.double b/lib/gpu/Makefile.linux.double index 05f083697dd3fe88326697d87d05cedbf49395cb..4693c86d5734658f16cc7a2f7ef4fba27bc6e2d2 100644 --- a/lib/gpu/Makefile.linux.double +++ b/lib/gpu/Makefile.linux.double @@ -7,18 +7,40 @@ EXTRAMAKE = Makefile.lammps.standard +ifeq ($(CUDA_HOME),) CUDA_HOME = /usr/local/cuda +endif + NVCC = nvcc -# Kepler CUDA -#CUDA_ARCH = -arch=sm_35 -# Tesla CUDA -CUDA_ARCH = -arch=sm_21 -# newer CUDA +# obsolete hardware. not supported by current drivers anymore. #CUDA_ARCH = -arch=sm_13 -# older CUDA #CUDA_ARCH = -arch=sm_10 -DCUDA_PRE_THREE +# Fermi hardware +#CUDA_ARCH = -arch=sm_20 +#CUDA_ARCH = -arch=sm_21 + +# Kepler hardware +#CUDA_ARCH = -arch=sm_30 +#CUDA_ARCH = -arch=sm_32 +#CUDA_ARCH = -arch=sm_35 +#CUDA_ARCH = -arch=sm_37 + +# Maxwell hardware +CUDA_ARCH = -arch=sm_50 +#CUDA_ARCH = -arch=sm_52 + +# Pascal hardware +#CUDA_ARCH = -arch=sm_60 +#CUDA_ARCH = -arch=sm_61 + +# Volta hardware +#CUDA_ARCH = -arch=sm_70 + +# Turing hardware +#CUDA_ARCH = -arch=sm_75 + # this setting should match LAMMPS Makefile # one of LAMMPS_SMALLBIG (default), LAMMPS_BIGBIG and LAMMPS_SMALLSMALL @@ -33,7 +55,7 @@ CUDA_PRECISION = -D_DOUBLE_DOUBLE CUDA_INCLUDE = -I$(CUDA_HOME)/include CUDA_LIB = -L$(CUDA_HOME)/lib64 -L$(CUDA_HOME)/lib64/stubs -CUDA_OPTS = -DUNIX -O3 --use_fast_math +CUDA_OPTS = -DUNIX -O3 --use_fast_math $(LMP_INC) -Xcompiler -fPIC CUDR_CPP = mpic++ -DMPI_GERYON -DUCL_NO_EXIT -DMPICH_IGNORE_CXX_SEEK CUDR_OPTS = -O2 # -xHost -no-prec-div -ansi-alias diff --git a/lib/gpu/Makefile.linux.mixed b/lib/gpu/Makefile.linux.mixed index ca414f1fc19e91360358132fa32ac964e52bdc37..03c776fad04355f5ff369030361d509a74469221 100644 --- a/lib/gpu/Makefile.linux.mixed +++ b/lib/gpu/Makefile.linux.mixed @@ -7,18 +7,41 @@ EXTRAMAKE = Makefile.lammps.standard +ifeq ($(CUDA_HOME),) CUDA_HOME = /usr/local/cuda +endif + NVCC = nvcc -# Kepler CUDA -#CUDA_ARCH = -arch=sm_35 -# Tesla CUDA -CUDA_ARCH = -arch=sm_21 -# newer CUDA +# obsolete hardware. not supported by current drivers anymore. #CUDA_ARCH = -arch=sm_13 # older CUDA #CUDA_ARCH = -arch=sm_10 -DCUDA_PRE_THREE +# Fermi hardware +#CUDA_ARCH = -arch=sm_20 +#CUDA_ARCH = -arch=sm_21 + +# Kepler hardware +#CUDA_ARCH = -arch=sm_30 +#CUDA_ARCH = -arch=sm_32 +#CUDA_ARCH = -arch=sm_35 +#CUDA_ARCH = -arch=sm_37 + +# Maxwell hardware +CUDA_ARCH = -arch=sm_50 +#CUDA_ARCH = -arch=sm_52 + +# Pascal hardware +#CUDA_ARCH = -arch=sm_60 +#CUDA_ARCH = -arch=sm_61 + +# Volta hardware +#CUDA_ARCH = -arch=sm_70 + +# Turing hardware +#CUDA_ARCH = -arch=sm_75 + # this setting should match LAMMPS Makefile # one of LAMMPS_SMALLBIG (default), LAMMPS_BIGBIG and LAMMPS_SMALLSMALL @@ -33,7 +56,7 @@ CUDA_PRECISION = -D_SINGLE_DOUBLE CUDA_INCLUDE = -I$(CUDA_HOME)/include CUDA_LIB = -L$(CUDA_HOME)/lib64 -L$(CUDA_HOME)/lib64/stubs -CUDA_OPTS = -DUNIX -O3 --use_fast_math +CUDA_OPTS = -DUNIX -O3 --use_fast_math $(LMP_INC) -Xcompiler -fPIC CUDR_CPP = mpic++ -DMPI_GERYON -DUCL_NO_EXIT -DMPICH_IGNORE_CXX_SEEK CUDR_OPTS = -O2 # -xHost -no-prec-div -ansi-alias diff --git a/lib/gpu/Makefile.linux.single b/lib/gpu/Makefile.linux.single index 1b349faac231d1ea92786feeebcb01fd996ca671..0c3d525b4ee919b314314926eee7e80a8fdd90bd 100644 --- a/lib/gpu/Makefile.linux.single +++ b/lib/gpu/Makefile.linux.single @@ -7,18 +7,40 @@ EXTRAMAKE = Makefile.lammps.standard +ifeq ($(CUDA_HOME),) CUDA_HOME = /usr/local/cuda +endif + NVCC = nvcc -# Kepler CUDA -#CUDA_ARCH = -arch=sm_35 -# Tesla CUDA -CUDA_ARCH = -arch=sm_21 -# newer CUDA +# obsolete hardware. not supported by current drivers anymore. #CUDA_ARCH = -arch=sm_13 -# older CUDA #CUDA_ARCH = -arch=sm_10 -DCUDA_PRE_THREE +# Fermi hardware +#CUDA_ARCH = -arch=sm_20 +#CUDA_ARCH = -arch=sm_21 + +# Kepler hardware +#CUDA_ARCH = -arch=sm_30 +#CUDA_ARCH = -arch=sm_32 +#CUDA_ARCH = -arch=sm_35 +#CUDA_ARCH = -arch=sm_37 + +# Maxwell hardware +CUDA_ARCH = -arch=sm_50 +#CUDA_ARCH = -arch=sm_52 + +# Pascal hardware +#CUDA_ARCH = -arch=sm_60 +#CUDA_ARCH = -arch=sm_61 + +# Volta hardware +#CUDA_ARCH = -arch=sm_70 + +# Turing hardware +#CUDA_ARCH = -arch=sm_75 + # this setting should match LAMMPS Makefile # one of LAMMPS_SMALLBIG (default), LAMMPS_BIGBIG and LAMMPS_SMALLSMALL @@ -33,7 +55,7 @@ CUDA_PRECISION = -D_SINGLE_SINGLE CUDA_INCLUDE = -I$(CUDA_HOME)/include CUDA_LIB = -L$(CUDA_HOME)/lib64 -L$(CUDA_HOME)/lib64/stubs -CUDA_OPTS = -DUNIX -O3 --use_fast_math +CUDA_OPTS = -DUNIX -O3 --use_fast_math $(LMP_INC) -Xcompiler -fPIC CUDR_CPP = mpic++ -DMPI_GERYON -DUCL_NO_EXIT -DMPICH_IGNORE_CXX_SEEK CUDR_OPTS = -O2 # -xHost -no-prec-div -ansi-alias diff --git a/lib/gpu/Makefile.linux_multi b/lib/gpu/Makefile.linux_multi index ba50170f39afd3a8ec7f9dc8ea84bd0f3c95d6d6..d47f87e8717d48429c0760244911c980bc471d62 100644 --- a/lib/gpu/Makefile.linux_multi +++ b/lib/gpu/Makefile.linux_multi @@ -13,17 +13,27 @@ endif NVCC = nvcc -# Kepler CUDA -#CUDA_ARCH = -arch=sm_35 -# newer CUDA +# obsolete hardware. not supported by current drivers anymore. #CUDA_ARCH = -arch=sm_13 -# older CUDA #CUDA_ARCH = -arch=sm_10 -DCUDA_PRE_THREE -CUDA_ARCH = -arch=sm_30 -CUDA_CODE = -gencode arch=compute_60,code=[sm_60,compute_60] -gencode arch=compute_61,code=[sm_61,compute_61] \ - -gencode arch=compute_30,code=[sm_30,compute_30] -gencode arch=compute_35,code=[sm_35,compute_35] \ - -gencode arch=compute_50,code=[sm_50,compute_50] -gencode arch=compute_52,code=[sm_52,compute_52] +# Fermi hardware +#CUDA_ARCH = -arch=sm_20 +#CUDA_ARCH = -arch=sm_21 + +# Kepler hardware +#CUDA_ARCH = -arch=sm_30 +#CUDA_ARCH = -arch=sm_32 +#CUDA_ARCH = -arch=sm_35 +#CUDA_ARCH = -arch=sm_37 + +# Maxwell hardware +CUDA_ARCH = -arch=sm_50 +#CUDA_ARCH = -arch=sm_52 + +CUDA_CODE = -gencode arch=compute_50,code=[sm_50,compute_50] -gencode arch=compute_52,code=[sm_52,compute_52] \ + -gencode arch=compute_60,code=[sm_60,compute_60] -gencode arch=compute_61,code=[sm_61,compute_61] \ + -gencode arch=compute_70,code=[sm_70,compute_70] -gencode arch=compute_75,code=[sm_75,compute_75] CUDA_ARCH += $(CUDA_CODE) diff --git a/lib/gpu/Makefile.serial b/lib/gpu/Makefile.serial index b0cfb3c86b34fe8b43effd18b0ff91dfd0a8f613..dfe732ee80de5650ac4378c4291bbcb088ea6812 100644 --- a/lib/gpu/Makefile.serial +++ b/lib/gpu/Makefile.serial @@ -13,13 +13,33 @@ endif NVCC = nvcc -# Tesla CUDA -CUDA_ARCH = -arch=sm_21 -# newer CUDA +# obsolete hardware. not supported by current drivers anymore. #CUDA_ARCH = -arch=sm_13 -# older CUDA #CUDA_ARCH = -arch=sm_10 -DCUDA_PRE_THREE -CUDA_ARCH = -arch=sm_35 + +# Fermi hardware +#CUDA_ARCH = -arch=sm_20 +#CUDA_ARCH = -arch=sm_21 + +# Kepler hardware +#CUDA_ARCH = -arch=sm_30 +#CUDA_ARCH = -arch=sm_32 +#CUDA_ARCH = -arch=sm_35 +#CUDA_ARCH = -arch=sm_37 + +# Maxwell hardware +CUDA_ARCH = -arch=sm_50 +#CUDA_ARCH = -arch=sm_52 + +# Pascal hardware +#CUDA_ARCH = -arch=sm_60 +#CUDA_ARCH = -arch=sm_61 + +# Volta hardware +#CUDA_ARCH = -arch=sm_70 + +# Turing hardware +#CUDA_ARCH = -arch=sm_75 # this setting should match LAMMPS Makefile # one of LAMMPS_SMALLBIG (default), LAMMPS_BIGBIG and LAMMPS_SMALLSMALL @@ -35,7 +55,7 @@ CUDA_PRECISION = -D_SINGLE_DOUBLE CUDA_INCLUDE = -I$(CUDA_HOME)/include CUDA_LIB = -L$(CUDA_HOME)/lib64 -L$(CUDA_HOME)/lib64/stubs -L../../src/STUBS -lmpi_stubs -CUDA_OPTS = -DUNIX -O3 --use_fast_math $(LMP_INC) +CUDA_OPTS = -DUNIX -O3 --use_fast_math $(LMP_INC) -Xcompiler -fPIC CUDR_CPP = g++ -DMPI_GERYON -DUCL_NO_EXIT -fPIC -I../../src/STUBS CUDR_OPTS = -O2 $(LMP_INC) # -xHost -no-prec-div -ansi-alias diff --git a/lib/gpu/lal_gauss.cu b/lib/gpu/lal_gauss.cu index ae6ab00edd967cd1189a7cc08349b886172a8ea7..6a50aa67256cc2557bca2778ae4edae8edfa8881 100644 --- a/lib/gpu/lal_gauss.cu +++ b/lib/gpu/lal_gauss.cu @@ -81,7 +81,7 @@ __kernel void k_gauss(const __global numtyp4 *restrict x_, numtyp r2inv = ucl_recip(rsq); numtyp r = ucl_sqrt(rsq); numtyp force = (numtyp)-2.0*gauss1[mtype].x*gauss1[mtype].y*rsq* - ucl_exp(-gauss1[mtype].y*rsq)*r2inv*factor_lj; + ucl_exp(-gauss1[mtype].y*rsq)*r2inv; //*factor_lj; f.x+=delx*force; f.y+=dely*force; @@ -90,7 +90,7 @@ __kernel void k_gauss(const __global numtyp4 *restrict x_, if (eflag>0) { numtyp e=-(gauss1[mtype].x*ucl_exp(-gauss1[mtype].y*rsq) - gauss1[mtype].w); - energy+=factor_lj*e; + energy+=e; //factor_lj*e; } if (vflag>0) { virial[0] += delx*delx*force; @@ -168,7 +168,7 @@ __kernel void k_gauss_fast(const __global numtyp4 *restrict x_, numtyp r2inv = ucl_recip(rsq); numtyp r = ucl_sqrt(rsq); numtyp force = (numtyp)-2.0*gauss1[mtype].x*gauss1[mtype].y*rsq* - ucl_exp(-gauss1[mtype].y*rsq)*r2inv*factor_lj; + ucl_exp(-gauss1[mtype].y*rsq)*r2inv; //*factor_lj; f.x+=delx*force; f.y+=dely*force; @@ -177,7 +177,7 @@ __kernel void k_gauss_fast(const __global numtyp4 *restrict x_, if (eflag>0) { numtyp e=-(gauss1[mtype].x*ucl_exp(-gauss1[mtype].y*rsq) - gauss1[mtype].w); - energy+=factor_lj*e; + energy+=e; //factor_lj*e; } if (vflag>0) { virial[0] += delx*delx*force; diff --git a/lib/gpu/lal_tersoff.cu b/lib/gpu/lal_tersoff.cu index 7d3ede8dfce15dc762202d5d60553d7777893049..b08fddfd6e61922a3493546571cfd7f0897e97f5 100644 --- a/lib/gpu/lal_tersoff.cu +++ b/lib/gpu/lal_tersoff.cu @@ -709,7 +709,7 @@ __kernel void k_tersoff_three_end(const __global numtyp4 *restrict x_, for (int i=0; i<6; i++) virial[i]=(acctyp)0; - __local int red_acc[BLOCK_PAIR]; + __local int ijnum_shared[BLOCK_PAIR]; __syncthreads(); @@ -789,14 +789,14 @@ __kernel void k_tersoff_three_end(const __global numtyp4 *restrict x_, k &= NEIGHMASK; if (k == i) { ijnum = nbor_k; - red_acc[m] = ijnum; + ijnum_shared[m] = ijnum; break; } } numtyp r1 = ucl_sqrt(rsq1); numtyp r1inv = ucl_rsqrt(rsq1); - if (ijnum < 0) ijnum = red_acc[m]; + if (ijnum < 0) ijnum = ijnum_shared[m]; // idx to zetaij is shifted by n_stride relative to ijnum in dev_short_nbor int idx = ijnum; diff --git a/lib/gpu/lal_tersoff_mod.cu b/lib/gpu/lal_tersoff_mod.cu index bb5aabca4457035017ddee7557b9ae716fe2ec19..0f45653264c6c795b05898e895aadebd4f3c51f4 100644 --- a/lib/gpu/lal_tersoff_mod.cu +++ b/lib/gpu/lal_tersoff_mod.cu @@ -719,7 +719,7 @@ __kernel void k_tersoff_mod_three_end(const __global numtyp4 *restrict x_, for (int i=0; i<6; i++) virial[i]=(acctyp)0; - __local int red_acc[BLOCK_PAIR]; + __local int ijnum_shared[BLOCK_PAIR]; __syncthreads(); @@ -799,14 +799,14 @@ __kernel void k_tersoff_mod_three_end(const __global numtyp4 *restrict x_, k &= NEIGHMASK; if (k == i) { ijnum = nbor_k; - red_acc[m] = ijnum; + ijnum_shared[m] = ijnum; break; } } numtyp r1 = ucl_sqrt(rsq1); numtyp r1inv = ucl_rsqrt(rsq1); - if (ijnum < 0) ijnum = red_acc[m]; + if (ijnum < 0) ijnum = ijnum_shared[m]; // idx to zetaij is shifted by n_stride relative to ijnum in dev_short_nbor int idx = ijnum; @@ -957,7 +957,7 @@ __kernel void k_tersoff_mod_three_end_vatom(const __global numtyp4 *restrict x_, for (int i=0; i<6; i++) virial[i]=(acctyp)0; - __local int red_acc[BLOCK_PAIR]; + __local int ijnum_shared[BLOCK_PAIR]; __syncthreads(); @@ -1037,14 +1037,14 @@ __kernel void k_tersoff_mod_three_end_vatom(const __global numtyp4 *restrict x_, k &= NEIGHMASK; if (k == i) { ijnum = nbor_k; - red_acc[m] = ijnum; + ijnum_shared[m] = ijnum; break; } } numtyp r1 = ucl_sqrt(rsq1); numtyp r1inv = ucl_rsqrt(rsq1); - if (ijnum < 0) ijnum = red_acc[m]; + if (ijnum < 0) ijnum = ijnum_shared[m]; // idx to zetaij is shifted by n_stride relative to ijnum in dev_short_nbor int idx = ijnum; diff --git a/lib/gpu/lal_tersoff_zbl.cu b/lib/gpu/lal_tersoff_zbl.cu index cd8d453b3c10426f9d1b51bb7b2677cefd044dc3..f631cab91f937da3dc730dd810e58ee190aca60e 100644 --- a/lib/gpu/lal_tersoff_zbl.cu +++ b/lib/gpu/lal_tersoff_zbl.cu @@ -729,7 +729,7 @@ __kernel void k_tersoff_zbl_three_end(const __global numtyp4 *restrict x_, for (int i=0; i<6; i++) virial[i]=(acctyp)0; - __local int red_acc[BLOCK_PAIR]; + __local int ijnum_shared[BLOCK_PAIR]; __syncthreads(); @@ -809,14 +809,14 @@ __kernel void k_tersoff_zbl_three_end(const __global numtyp4 *restrict x_, k &= NEIGHMASK; if (k == i) { ijnum = nbor_k; - red_acc[m] = ijnum; + ijnum_shared[m] = ijnum; break; } } numtyp r1 = ucl_sqrt(rsq1); numtyp r1inv = ucl_rsqrt(rsq1); - if (ijnum < 0) ijnum = red_acc[m]; + if (ijnum < 0) ijnum = ijnum_shared[m]; // idx to zetaij is shifted by n_stride relative to ijnum in dev_short_nbor int idx = ijnum; diff --git a/lib/kokkos/BUILD.md b/lib/kokkos/BUILD.md index 63dbf7fdb229e37ecf35c0ca56709e80a2f2391d..0a5dc69c9362a64c2bf53eb18e30c7dd47c5f8f2 100644 --- a/lib/kokkos/BUILD.md +++ b/lib/kokkos/BUILD.md @@ -10,33 +10,45 @@ for C++. Applications heavily leveraging Kokkos are strongly encouraged to use You can either use Kokkos as an installed package (encouraged) or use Kokkos in-tree in your project. Modern CMake is exceedingly simple at a high-level (with the devil in the details). Once Kokkos is installed In your `CMakeLists.txt` simply use: -```` +````cmake find_package(Kokkos REQUIRED) ```` Then for every executable or library in your project: -```` +````cmake target_link_libraries(myTarget Kokkos::kokkos) ```` That's it! There is no checking Kokkos preprocessor, compiler, or linker flags. Kokkos propagates all the necessary flags to your project. This means not only is linking to Kokkos easy, but Kokkos itself can actually configure compiler and linker flags for *your* -project. If building in-tree, there is no `find_package` and you link with `target_link_libraries(kokkos)`. +project. +When configuring your project just set: +````bash +> cmake ${srcdir} \ + -DKokkos_ROOT=${kokkos_install_prefix} \ + -DCMAKE_CXX_COMPILER=${compiler_used_to_build_kokkos} +```` +Note: You may need the following if using some versions of CMake (e.g. 3.12): +````cmake +cmake_policy(SET CMP0074 NEW) +```` +If building in-tree, there is no `find_package`. You can use `add_subdirectory(kokkos)` with the Kokkos source and again just link with `target_link_libraries(Kokkos::kokkos)`. +The examples in `examples/cmake_build_installed` and `examples/cmake_build_in_tree` can help get you started. ## Configuring CMake -A very basic installation is done with: -```` -cmake ${srcdir} \ +A very basic installation of Kokkos is done with: +````bash +> cmake ${srcdir} \ -DCMAKE_CXX_COMPILER=g++ \ - -DCMAKE_INSTALL_PREFIX=${my_install_folder} + -DCMAKE_INSTALL_PREFIX=${kokkos_install_folder} ```` which builds and installed a default Kokkos when you run `make install`. There are numerous device backends, options, and architecture-specific optimizations that can be configured, e.g. -```` -cmake ${srcdir} \ +````bash +> cmake ${srcdir} \ -DCMAKE_CXX_COMPILER=g++ \ - -DCMAKE_INSTALL_PREFIX=${my_install_folder} \ - -DKokkos_ENABLE_OPENMP=On + -DCMAKE_INSTALL_PREFIX=${kokkos_install_folder} \ + -DKokkos_ENABLE_OPENMP=ON ```` which activates the OpenMP backend. All of the options controlling device backends, options, architectures, and third-party libraries (TPLs) are given below. @@ -50,16 +62,16 @@ which activates the OpenMP backend. All of the options controlling device backen ## Spack An alternative to manually building with the CMake is to use the Spack package manager. To do so, download the `kokkos-spack` git repo and add to the package list: -```` -spack repo add $path-to-kokkos-spack +````bash +> spack repo add $path-to-kokkos-spack ```` A basic installation would be done as: -```` -spack install kokkos +````bash +> spack install kokkos ```` Spack allows options and and compilers to be tuned in the install command. -```` -spack install kokkos@3.0 %gcc@7.3.0 +openmp +````bash +> spack install kokkos@3.0 %gcc@7.3.0 +openmp ```` This example illustrates the three most common parameters to Spack: * Variants: specified with, e.g. `+openmp`, this activates (or deactivates with, e.g. `~openmp`) certain options. @@ -67,17 +79,17 @@ This example illustrates the three most common parameters to Spack: * Compiler: a default compiler will be chosen if not specified, but an exact compiler version can be given with the `%`option. For a complete list of Kokkos options, run: +````bash +> spack info kokkos ```` -spack info kokkos -```` -More details can be found in the kokkos-spack repository [README](https://github.com/kokkos/kokkos-spack/blob/master/README.md). +More details can be found in the [Spack README](Spack.md) #### Spack Development Spack currently installs packages to a location determined by a unique hash. This hash name is not really "human readable". Generally, Spack usage should never really require you to reference the computer-generated unique install folder. If you must know, you can locate Spack Kokkos installations with: -```` -spack find -p kokkos ... +````bash +> spack find -p kokkos ... ```` where `...` is the unique spec identifying the particular Kokkos configuration and version. @@ -102,8 +114,14 @@ Device backends can be enabled by specifying `-DKokkos_ENABLE_X`. * Whether to build Pthread backend * BOOL Default: OFF * Kokkos_ENABLE_SERIAL - * Whether to build serial backend + * Whether to build serial backend * BOOL Default: ON +* Kokkos_ENABLE_HIP (Experimental) + * Whether to build HIP backend + * BOOL Default: OFF +* Kokkos_ENABLE_OPENMPTARGET (Experimental) + * Whether to build the OpenMP target backend + * BOOL Default: OFF ## Enable Options Options can be enabled by specifying `-DKokkos_ENABLE_X`. @@ -138,9 +156,6 @@ Options can be enabled by specifying `-DKokkos_ENABLE_X`. * Kokkos_ENABLE_DEBUG_DUALVIEW_MODIFY_CHECK * Debug check on dual views * BOOL Default: OFF -* Kokkos_ENABLE_DEPRECATED_CODE - * Whether to enable deprecated code - * BOOL Default: OFF * Kokkos_ENABLE_EXAMPLES * Whether to enable building examples * BOOL Default: OFF @@ -150,9 +165,6 @@ Options can be enabled by specifying `-DKokkos_ENABLE_X`. * Kokkos_ENABLE_LARGE_MEM_TESTS * Whether to perform extra large memory tests * BOOL_Default: OFF -* Kokkos_ENABLE_PROFILING - * Whether to create bindings for profiling tools - * BOOL Default: ON * Kokkos_ENABLE_PROFILING_LOAD_PRINT * Whether to print information about which profiling tools gotloaded * BOOL Default: OFF @@ -235,8 +247,11 @@ Architecture-specific optimizations can be enabled by specifying `-DKokkos_ARCH_ * Kokkos_ARCH_BGQ * Whether to optimize for the BGQ architecture * BOOL Default: OFF -* Kokkos_ARCH_EPYC - * Whether to optimize for the EPYC architecture +* Kokkos_ARCH_ZEN + * Whether to optimize for the Zen architecture + * BOOL Default: OFF +* Kokkos_ARCH_ZEN2 + * Whether to optimize for the Zen2 architecture * BOOL Default: OFF * Kokkos_ARCH_HSW * Whether to optimize for the HSW architecture diff --git a/lib/kokkos/CHANGELOG.md b/lib/kokkos/CHANGELOG.md index 9595b03ff93066631fc1c8d32bb7ccaab04f4980..c0c227999d66bc8b8cc72b65d2971107e2718d77 100644 --- a/lib/kokkos/CHANGELOG.md +++ b/lib/kokkos/CHANGELOG.md @@ -1,6 +1,113 @@ # Change Log -## [3.1.1](https://github.com/kokkos/kokkos/tree/3.1.1) (2020-04-14) +## [3.2.00](https://github.com/kokkos/kokkos/tree/3.2.00) (2020-08-19) +[Full Changelog](https://github.com/kokkos/kokkos/compare/3.1.01...3.2.00) + +**Implemented enhancements:** + +- HIP:Enable stream in HIP [\#3163](https://github.com/kokkos/kokkos/issues/3163) +- HIP:Add support for shuffle reduction for the HIP backend [\#3154](https://github.com/kokkos/kokkos/issues/3154) +- HIP:Add implementations of missing HIPHostPinnedSpace methods for LAMMPS [\#3137](https://github.com/kokkos/kokkos/issues/3137) +- HIP:Require HIP 3.5.0 or higher [\#3099](https://github.com/kokkos/kokkos/issues/3099) +- HIP:WorkGraphPolicy for HIP [\#3096](https://github.com/kokkos/kokkos/issues/3096) +- OpenMPTarget: Significant update to the new experimental backend. Requires C++17, works on Intel GPUs, reference counting fixes. [\#3169](https://github.com/kokkos/kokkos/issues/3169) +- Windows Cuda support [\#3018](https://github.com/kokkos/kokkos/issues/3018) +- Pass `-Wext-lambda-captures-this` to NVCC when support for `__host__ __device__` lambda is enabled from CUDA 11 [\#3241](https://github.com/kokkos/kokkos/issues/3241) +- Use explicit staging buffer for constant memory kernel launches and cleanup host/device synchronization [\#3234](https://github.com/kokkos/kokkos/issues/3234) +- Various fixup to policies including making TeamPolicy default constructible and making RangePolicy and TeamPolicy assignable 1: [\#3202](https://github.com/kokkos/kokkos/issues/3202) +- Various fixup to policies including making TeamPolicy default constructible and making RangePolicy and TeamPolicy assignable 2: [\#3203](https://github.com/kokkos/kokkos/issues/3203) +- Various fixup to policies including making TeamPolicy default constructible and making RangePolicy and TeamPolicy assignable 3: [\#3196](https://github.com/kokkos/kokkos/issues/3196) +- Annotations for `DefaultExectutionSpace` and `DefaultHostExectutionSpace` to use in static analysis [\#3189](https://github.com/kokkos/kokkos/issues/3189) +- Add documentation on using Spack to install Kokkos and developing packages that depend on Kokkos [\#3187](https://github.com/kokkos/kokkos/issues/3187) +- Improve support for nvcc\_wrapper with exotic host compiler [\#3186](https://github.com/kokkos/kokkos/issues/3186) +- Add OpenMPTarget backend flags for NVC++ compiler [\#3185](https://github.com/kokkos/kokkos/issues/3185) +- Move deep\_copy/create\_mirror\_view on Experimental::OffsetView into Kokkos:: namespace [\#3166](https://github.com/kokkos/kokkos/issues/3166) +- Allow for larger block size in HIP [\#3165](https://github.com/kokkos/kokkos/issues/3165) +- View: Added names of Views to the different View initialize/free kernels [\#3159](https://github.com/kokkos/kokkos/issues/3159) +- Cuda: Caching cudaFunctorAttributes and whether L1/Shmem prefer was set [\#3151](https://github.com/kokkos/kokkos/issues/3151) +- BuildSystem: Provide an explicit default CMAKE\_BUILD\_TYPE [\#3131](https://github.com/kokkos/kokkos/issues/3131) +- Cuda: Update CUDA occupancy calculation [\#3124](https://github.com/kokkos/kokkos/issues/3124) +- Vector: Adding data() to Vector [\#3123](https://github.com/kokkos/kokkos/issues/3123) +- BuildSystem: Add CUDA Ampere configuration support [\#3122](https://github.com/kokkos/kokkos/issues/3122) +- General: Apply [[noreturn]] to Kokkos::abort when applicable [\#3106](https://github.com/kokkos/kokkos/issues/3106) +- TeamPolicy: Validate storage level argument passed to TeamPolicy::set\_scratch\_size() [\#3098](https://github.com/kokkos/kokkos/issues/3098) +- nvcc\_wrapper: send --cudart to nvcc instead of host compiler [\#3092](https://github.com/kokkos/kokkos/issues/3092) +- BuildSystem: Make kokkos\_has\_string() function in Makefile.kokkos case insensitive [\#3091](https://github.com/kokkos/kokkos/issues/3091) +- Modify KOKKOS\_FUNCTION macro for clang-tidy analysis [\#3087](https://github.com/kokkos/kokkos/issues/3087) +- Move allocation profiling to allocate/deallocate calls [\#3084](https://github.com/kokkos/kokkos/issues/3084) +- BuildSystem: FATAL\_ERROR when attempting in-source build [\#3082](https://github.com/kokkos/kokkos/issues/3082) +- Change enums in ScatterView to types [\#3076](https://github.com/kokkos/kokkos/issues/3076) +- HIP: Changes for new compiler/runtime [\#3067](https://github.com/kokkos/kokkos/issues/3067) +- Extract and use get\_gpu [\#3061](https://github.com/kokkos/kokkos/issues/3061) +- Extract and use get\_gpu [\#3048](https://github.com/kokkos/kokkos/issues/3048) +- Add is\_allocated to View-like containers [\#3059](https://github.com/kokkos/kokkos/issues/3059) +- Combined reducers for scalar references [\#3052](https://github.com/kokkos/kokkos/issues/3052) +- Add configurable capacity for UniqueToken [\#3051](https://github.com/kokkos/kokkos/issues/3051) +- Add installation testing [\#3034](https://github.com/kokkos/kokkos/issues/3034) +- BuildSystem: Add -expt-relaxed-constexpr flag to nvcc\_wrapper [\#3021](https://github.com/kokkos/kokkos/issues/3021) +- HIP: Add UniqueToken [\#3020](https://github.com/kokkos/kokkos/issues/3020) +- Autodetect number of devices [\#3013](https://github.com/kokkos/kokkos/issues/3013) + + +**Fixed bugs:** + +- Check error code from `cudaStreamSynchronize` in CUDA fences [\#3255](https://github.com/kokkos/kokkos/issues/3255) +- Fix issue with C++ standard flags when using `nvcc\_wrapper` with PGI [\#3254](https://github.com/kokkos/kokkos/issues/3254) +- Add missing threadfence in lock-based atomics [\#3208](https://github.com/kokkos/kokkos/issues/3208) +- Fix dedup of linker flags for shared lib on CMake <=3.12 [\#3176](https://github.com/kokkos/kokkos/issues/3176) +- Fix memory leak with CUDA streams [\#3170](https://github.com/kokkos/kokkos/issues/3170) +- BuildSystem: Fix OpenMP Target flags for Cray [\#3161](https://github.com/kokkos/kokkos/issues/3161) +- ScatterView: fix for OpenmpTarget remove inheritance from reducers [\#3162](https://github.com/kokkos/kokkos/issues/3162) +- BuildSystem: Set OpenMP flags according to host compiler [\#3127](https://github.com/kokkos/kokkos/issues/3127) +- OpenMP: Fix logic for nested omp in partition\_master bug [\#3101](https://github.com/kokkos/kokkos/issues/3101) +- BuildSystem: Fixes for Cuda/11 and c++17 [\#3085](https://github.com/kokkos/kokkos/issues/3085) +- HIP: Fix print\_configuration [\#3080](https://github.com/kokkos/kokkos/issues/3080) +- Conditionally define get\_gpu [\#3072](https://github.com/kokkos/kokkos/issues/3072) +- Fix bounds for ranges in random number generator [\#3069](https://github.com/kokkos/kokkos/issues/3069) +- Fix Cuda minor arch check [\#3035](https://github.com/kokkos/kokkos/issues/3035) + +**Incompatibilities:** + +- Remove ETI support [\#3157](https://github.com/kokkos/kokkos/issues/3157) +- Remove KOKKOS\_INTERNAL\_ENABLE\_NON\_CUDA\_BACKEND [\#3147](https://github.com/kokkos/kokkos/issues/3147) +- Remove core/unit\_test/config [\#3146](https://github.com/kokkos/kokkos/issues/3146) +- Removed the preprocessor branch for KOKKOS\_ENABLE\_PROFILING [\#3115](https://github.com/kokkos/kokkos/issues/3115) +- Disable profiling with MSVC [\#3066](https://github.com/kokkos/kokkos/issues/3066) + +**Closed issues:** + +- Silent error (Validate storage level arg to set_scratch_size) [\#3097](https://github.com/kokkos/kokkos/issues/3097) +- Remove KOKKKOS\_ENABLE\_PROFILING Option [\#3095](https://github.com/kokkos/kokkos/issues/3095) +- Cuda 11 -\> allow C++17 [\#3083](https://github.com/kokkos/kokkos/issues/3083) +- In source build failure not explained [\#3081](https://github.com/kokkos/kokkos/issues/3081) +- Allow naming of Views for initialization kernel [\#3070](https://github.com/kokkos/kokkos/issues/3070) +- DefaultInit tests failing when using CTest resource allocation feature [\#3040](https://github.com/kokkos/kokkos/issues/3040) +- Add installation testing. [\#3037](https://github.com/kokkos/kokkos/issues/3037) +- nvcc\_wrapper needs to handle `-expt-relaxed-constexpr` flag [\#3017](https://github.com/kokkos/kokkos/issues/3017) +- CPU core oversubscription warning on macOS with OpenMP backend [\#2996](https://github.com/kokkos/kokkos/issues/2996) +- Default behavior of KOKKOS\_NUM\_DEVICES to use all devices available [\#2975](https://github.com/kokkos/kokkos/issues/2975) +- Assert blocksize \> 0 [\#2974](https://github.com/kokkos/kokkos/issues/2974) +- Add ability to assign kokkos profile function from executable [\#2973](https://github.com/kokkos/kokkos/issues/2973) +- ScatterView Support for the pre/post increment operator [\#2967](https://github.com/kokkos/kokkos/issues/2967) + +- Compiler issue: Cuda build with clang 10 has errors with the atomic unit tests [\#3237](https://github.com/kokkos/kokkos/issues/3237) +- Incompatibility of flags for C++ standard with PGI v20.4 on Power9/NVIDIA V100 system [\#3252](https://github.com/kokkos/kokkos/issues/3252) +- Error configuring as subproject [\#3140](https://github.com/kokkos/kokkos/issues/3140) +- CMake fails with Nvidia compilers when the GPU architecture option is not supplied (Fix configure with OMPT and Cuda) [\#3207](https://github.com/kokkos/kokkos/issues/3207) +- PGI compiler being passed the gcc -fopenmp flag [\#3125](https://github.com/kokkos/kokkos/issues/3125) +- Cuda: Memory leak when using CUDA stream [\#3167](https://github.com/kokkos/kokkos/issues/3167) +- RangePolicy has an implicitly deleted assignment operator [\#3192](https://github.com/kokkos/kokkos/issues/3192) +- MemorySpace::allocate needs to have memory pool counting. [\#3064](https://github.com/kokkos/kokkos/issues/3064) +- Missing write fence for lock based atomics on CUDA [\#3038](https://github.com/kokkos/kokkos/issues/3038) +- CUDA compute capability version check problem [\#3026](https://github.com/kokkos/kokkos/issues/3026) +- Make DynRankView fencing consistent [\#3014](https://github.com/kokkos/kokkos/issues/3014) +- nvcc\_wrapper cant handle -Xcompiler -o out.o [\#2993](https://github.com/kokkos/kokkos/issues/2993) +- Reductions of non-trivial types of size 4 fail in CUDA shfl operations [\#2990](https://github.com/kokkos/kokkos/issues/2990) +- complex\_double misalignment in reduce, clang+CUDA [\#2989](https://github.com/kokkos/kokkos/issues/2989) +- Span of degenerated \(zero-length\) subviews is not zero in some special cases [\#2979](https://github.com/kokkos/kokkos/issues/2979) +- Rank 1 custom layouts dont work as expected. [\#2840](https://github.com/kokkos/kokkos/issues/2840) + +## [3.1.01](https://github.com/kokkos/kokkos/tree/3.1.1) (2020-04-14) [Full Changelog](https://github.com/kokkos/kokkos/compare/3.1.00...3.1.1) **Fixed bugs:** diff --git a/lib/kokkos/CMakeLists.txt b/lib/kokkos/CMakeLists.txt index 0e2aaa1897074826ba672d0c6a5a4a0084a0f504..540665e48a062575de20800df5c9424348c687fb 100644 --- a/lib/kokkos/CMakeLists.txt +++ b/lib/kokkos/CMakeLists.txt @@ -1,4 +1,9 @@ +# Disable in-source builds to prevent source tree corruption. +if( "${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_BINARY_DIR}" ) + message( FATAL_ERROR "FATAL: In-source builds are not allowed. You should create a separate directory for build files." ) +endif() + # We want to determine if options are given with the wrong case # In order to detect which arguments are given to compare against # the list of valid arguments, at the beginning here we need to @@ -34,6 +39,9 @@ IF(COMMAND TRIBITS_PACKAGE_DECL) ELSE() SET(KOKKOS_HAS_TRILINOS OFF) ENDIF() +# Is this build a subdirectory of another project +GET_DIRECTORY_PROPERTY(HAS_PARENT PARENT_DIRECTORY) + INCLUDE(${KOKKOS_SRC_PATH}/cmake/kokkos_functions.cmake) INCLUDE(${KOKKOS_SRC_PATH}/cmake/kokkos_pick_cxx_std.cmake) @@ -75,16 +83,17 @@ IF(NOT KOKKOS_HAS_TRILINOS) SET(CMAKE_CXX_COMPILER ${SPACK_CXX} CACHE STRING "the C++ compiler" FORCE) SET(ENV{CXX} ${SPACK_CXX}) ENDIF() - ENDif() - IF(NOT DEFINED ${PROJECT_NAME}) - # WORKAROUND FOR HIPCC - IF(Kokkos_ENABLE_HIP) - SET(KOKKOS_INTERNAL_CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS}) - SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --amdgpu-target=gfx906") - ENDIF() - PROJECT(Kokkos CXX) - IF(Kokkos_ENABLE_HIP) - SET(CMAKE_CXX_FLAGS ${KOKKOS_INTERNAL_CMAKE_CXX_FLAGS}) + ENDIF() + # Always call the project command to define Kokkos_ variables + # and to make sure that C++ is an enabled language + PROJECT(Kokkos CXX) + IF(NOT HAS_PARENT) + IF (NOT CMAKE_BUILD_TYPE) + SET(DEFAULT_BUILD_TYPE "RelWithDebInfo") + MESSAGE(STATUS "Setting build type to '${DEFAULT_BUILD_TYPE}' as none was specified.") + SET(CMAKE_BUILD_TYPE "${DEFAULT_BUILD_TYPE}" CACHE STRING + "Choose the type of build, options are: Debug, Release, RelWithDebInfo and MinSizeRel." + FORCE) ENDIF() ENDIF() ENDIF() @@ -102,8 +111,8 @@ ENDIF() set(Kokkos_VERSION_MAJOR 3) -set(Kokkos_VERSION_MINOR 1) -set(Kokkos_VERSION_PATCH 1) +set(Kokkos_VERSION_MINOR 2) +set(Kokkos_VERSION_PATCH 0) set(Kokkos_VERSION "${Kokkos_VERSION_MAJOR}.${Kokkos_VERSION_MINOR}.${Kokkos_VERSION_PATCH}") math(EXPR KOKKOS_VERSION "${Kokkos_VERSION_MAJOR} * 10000 + ${Kokkos_VERSION_MINOR} * 100 + ${Kokkos_VERSION_PATCH}") @@ -147,6 +156,7 @@ INCLUDE(${KOKKOS_SRC_PATH}/cmake/kokkos_tribits.cmake) # Check the environment and set certain variables # to allow platform-specific checks INCLUDE(${KOKKOS_SRC_PATH}/cmake/kokkos_check_env.cmake) + # The build environment setup goes in the following steps # 1) Check all the enable options. This includes checking Kokkos_DEVICES # 2) Check the compiler ID (type and version) @@ -169,7 +179,6 @@ SET(KOKKOS_EXT_LIBRARIES Kokkos::kokkos Kokkos::kokkoscore Kokkos::kokkoscontain SET(KOKKOS_INT_LIBRARIES kokkos kokkoscore kokkoscontainers kokkosalgorithms) SET_PROPERTY(GLOBAL PROPERTY KOKKOS_INT_LIBRARIES ${KOKKOS_INT_LIBRARIES}) -GET_DIRECTORY_PROPERTY(HAS_PARENT PARENT_DIRECTORY) IF (KOKKOS_HAS_TRILINOS) SET(TRILINOS_INCDIR ${CMAKE_INSTALL_PREFIX}/${${PROJECT_NAME}_INSTALL_INCLUDE_DIR}) SET(KOKKOS_HEADER_DIR ${TRILINOS_INCDIR}) @@ -203,7 +212,7 @@ IF (KOKKOS_HAS_TRILINOS) SET(KOKKOSCORE_XCOMPILER_OPTIONS "${KOKKOSCORE_XCOMPILER_OPTIONS} -Xcompiler ${XCOMP_FLAG}") LIST(APPEND KOKKOS_ALL_COMPILE_OPTIONS -Xcompiler ${XCOMP_FLAG}) ENDFOREACH() - SET(KOKKOSCORE_CXX_FLAGS "${KOKKOSCORE_COMPILE_OPTIONS} ${CMAKE_CXX${KOKKOS_CXX_STANDARD}_STANDARD_COMPILE_OPTION} ${KOKKOSCORE_XCOMPILER_OPTIONS}") + SET(KOKKOSCORE_CXX_FLAGS "${KOKKOSCORE_COMPILE_OPTIONS} ${KOKKOSCORE_XCOMPILER_OPTIONS}") IF (KOKKOS_ENABLE_CUDA) STRING(REPLACE ";" " " KOKKOSCORE_CUDA_OPTIONS "${KOKKOS_CUDA_OPTIONS}") FOREACH(CUDAFE_FLAG ${KOKKOS_CUDAFE_OPTIONS}) @@ -246,7 +255,7 @@ KOKKOS_PACKAGE_POSTPROCESS() #We are ready to configure the header CONFIGURE_FILE(cmake/KokkosCore_config.h.in KokkosCore_config.h @ONLY) -IF (NOT KOKKOS_HAS_TRILINOS) +IF (NOT KOKKOS_HAS_TRILINOS AND NOT Kokkos_INSTALL_TESTING) ADD_LIBRARY(kokkos INTERFACE) #Make sure in-tree projects can reference this as Kokkos:: #to match the installed target names @@ -262,8 +271,6 @@ INCLUDE(${KOKKOS_SRC_PATH}/cmake/kokkos_install.cmake) # If the argument of DESTINATION is a relative path, CMake computes it # as relative to ${CMAKE_INSTALL_PATH}. INSTALL(PROGRAMS ${CMAKE_CURRENT_SOURCE_DIR}/bin/nvcc_wrapper DESTINATION ${CMAKE_INSTALL_BINDIR}) -INSTALL(FILES "${CMAKE_CURRENT_BINARY_DIR}/KokkosCore_config.h" DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) - # Finally - if we are a subproject - make sure the enabled devices are visible IF (HAS_PARENT) diff --git a/lib/kokkos/Makefile.kokkos b/lib/kokkos/Makefile.kokkos index cf5f06c64c16a1799a31b17f6ae37be85024720f..0736d758331e0590455ac96e2b70b0aa485412f0 100644 --- a/lib/kokkos/Makefile.kokkos +++ b/lib/kokkos/Makefile.kokkos @@ -11,20 +11,20 @@ CXXFLAGS += $(SHFLAGS) endif KOKKOS_VERSION_MAJOR = 3 -KOKKOS_VERSION_MINOR = 1 -KOKKOS_VERSION_PATCH = 1 +KOKKOS_VERSION_MINOR = 2 +KOKKOS_VERSION_PATCH = 0 KOKKOS_VERSION = $(shell echo $(KOKKOS_VERSION_MAJOR)*10000+$(KOKKOS_VERSION_MINOR)*100+$(KOKKOS_VERSION_PATCH) | bc) # Options: Cuda,HIP,ROCm,OpenMP,Pthread,Serial KOKKOS_DEVICES ?= "OpenMP" #KOKKOS_DEVICES ?= "Pthread" -# Options: +# Options: # Intel: KNC,KNL,SNB,HSW,BDW,SKX -# NVIDIA: Kepler,Kepler30,Kepler32,Kepler35,Kepler37,Maxwell,Maxwell50,Maxwell52,Maxwell53,Pascal60,Pascal61,Volta70,Volta72,Turing75 +# NVIDIA: Kepler,Kepler30,Kepler32,Kepler35,Kepler37,Maxwell,Maxwell50,Maxwell52,Maxwell53,Pascal60,Pascal61,Volta70,Volta72,Turing75,Ampere80 # ARM: ARMv80,ARMv81,ARMv8-ThunderX,ARMv8-TX2 # IBM: BGQ,Power7,Power8,Power9 # AMD-GPUS: Vega900,Vega906 -# AMD-CPUS: AMDAVX,EPYC +# AMD-CPUS: AMDAVX,Zen,Zen2 KOKKOS_ARCH ?= "" # Options: yes,no KOKKOS_DEBUG ?= "no" @@ -32,10 +32,8 @@ KOKKOS_DEBUG ?= "no" KOKKOS_USE_TPLS ?= "" # Options: c++11,c++14,c++1y,c++17,c++1z,c++2a KOKKOS_CXX_STANDARD ?= "c++11" -# Options: aggressive_vectorization,disable_profiling,enable_deprecated_code,disable_deprecated_code,enable_large_mem_tests,disable_complex_align +# Options: aggressive_vectorization,disable_profiling,enable_large_mem_tests,disable_complex_align KOKKOS_OPTIONS ?= "" -# Option for setting ETI path -KOKKOS_ETI_PATH ?= ${KOKKOS_PATH}/core/src/eti KOKKOS_CMAKE ?= "no" KOKKOS_TRIBITS ?= "no" KOKKOS_STANDALONE_CMAKE ?= "no" @@ -74,6 +72,7 @@ KOKKOS_INTERNAL_ENABLE_CXX1Y := $(call kokkos_has_string,$(KOKKOS_CXX_STANDARD), KOKKOS_INTERNAL_ENABLE_CXX17 := $(call kokkos_has_string,$(KOKKOS_CXX_STANDARD),c++17) KOKKOS_INTERNAL_ENABLE_CXX1Z := $(call kokkos_has_string,$(KOKKOS_CXX_STANDARD),c++1z) KOKKOS_INTERNAL_ENABLE_CXX2A := $(call kokkos_has_string,$(KOKKOS_CXX_STANDARD),c++2a) +KOKKOS_INTERNAL_ENABLE_CXX20 := $(call kokkos_has_string,$(KOKKOS_CXX_STANDARD),c++20) # Check for external libraries. KOKKOS_INTERNAL_USE_HWLOC := $(call kokkos_has_string,$(KOKKOS_USE_TPLS),hwloc) @@ -83,9 +82,7 @@ KOKKOS_INTERNAL_USE_MEMKIND := $(call kokkos_has_string,$(KOKKOS_USE_TPLS),exper # Check for advanced settings. KOKKOS_INTERNAL_ENABLE_COMPILER_WARNINGS := $(call kokkos_has_string,$(KOKKOS_OPTIONS),compiler_warnings) KOKKOS_INTERNAL_OPT_RANGE_AGGRESSIVE_VECTORIZATION := $(call kokkos_has_string,$(KOKKOS_OPTIONS),aggressive_vectorization) -KOKKOS_INTERNAL_DISABLE_PROFILING := $(call kokkos_has_string,$(KOKKOS_OPTIONS),disable_profiling) -KOKKOS_INTERNAL_DISABLE_DEPRECATED_CODE := $(call kokkos_has_string,$(KOKKOS_OPTIONS),disable_deprecated_code) -KOKKOS_INTERNAL_ENABLE_DEPRECATED_CODE := $(call kokkos_has_string,$(KOKKOS_OPTIONS),enable_deprecated_code) +KOKKOS_INTERNAL_ENABLE_TUNING := $(call kokkos_has_string,$(KOKKOS_OPTIONS),enable_tuning) KOKKOS_INTERNAL_DISABLE_COMPLEX_ALIGN := $(call kokkos_has_string,$(KOKKOS_OPTIONS),disable_complex_align) KOKKOS_INTERNAL_DISABLE_DUALVIEW_MODIFY_CHECK := $(call kokkos_has_string,$(KOKKOS_OPTIONS),disable_dualview_modify_check) KOKKOS_INTERNAL_ENABLE_PROFILING_LOAD_PRINT := $(call kokkos_has_string,$(KOKKOS_OPTIONS),enable_profile_load_print) @@ -96,7 +93,6 @@ KOKKOS_INTERNAL_CUDA_USE_RELOC := $(call kokkos_has_string,$(KOKKOS_CUDA_OPTIONS KOKKOS_INTERNAL_CUDA_USE_LAMBDA := $(call kokkos_has_string,$(KOKKOS_CUDA_OPTIONS),enable_lambda) KOKKOS_INTERNAL_CUDA_USE_CONSTEXPR := $(call kokkos_has_string,$(KOKKOS_CUDA_OPTIONS),enable_constexpr) KOKKOS_INTERNAL_HPX_ENABLE_ASYNC_DISPATCH := $(call kokkos_has_string,$(KOKKOS_HPX_OPTIONS),enable_async_dispatch) -KOKKOS_INTERNAL_ENABLE_ETI := $(call kokkos_has_string,$(KOKKOS_OPTIONS),enable_eti) KOKKOS_INTERNAL_HIP_USE_RELOC := $(call kokkos_has_string,$(KOKKOS_HIP_OPTIONS),rdc) @@ -140,6 +136,12 @@ ifeq ($(KOKKOS_INTERNAL_USE_HIP), 1) endif ifeq ($(KOKKOS_INTERNAL_USE_OPENMPTARGET), 1) KOKKOS_DEVICELIST += OPENMPTARGET + KOKKOS_INTERNAL_HAVE_CXX17_OR_NEWER := $(shell expr $(KOKKOS_INTERNAL_ENABLE_CXX17) \ + + $(KOKKOS_INTERNAL_ENABLE_CXX20) \ + + $(KOKKOS_INTERNAL_ENABLE_CXX2A)) + ifneq ($(KOKKOS_INTERNAL_HAVE_CXX17_OR_NEWER), 1) + $(error OpenMPTarget backend requires C++17 or newer) + endif endif ifeq ($(KOKKOS_INTERNAL_USE_CUDA), 1) @@ -281,7 +283,7 @@ endif ifeq ($(KOKKOS_INTERNAL_COMPILER_PGI), 1) KOKKOS_INTERNAL_CXX11_FLAG := --c++11 KOKKOS_INTERNAL_CXX14_FLAG := --c++14 - #KOKKOS_INTERNAL_CXX17_FLAG := --c++17 + KOKKOS_INTERNAL_CXX17_FLAG := --c++17 else ifeq ($(KOKKOS_INTERNAL_COMPILER_XL), 1) KOKKOS_INTERNAL_CXX11_FLAG := -std=c++11 @@ -338,35 +340,27 @@ KOKKOS_INTERNAL_USE_ARCH_PASCAL60 := $(call kokkos_has_string,$(KOKKOS_ARCH),Pas KOKKOS_INTERNAL_USE_ARCH_VOLTA70 := $(call kokkos_has_string,$(KOKKOS_ARCH),Volta70) KOKKOS_INTERNAL_USE_ARCH_VOLTA72 := $(call kokkos_has_string,$(KOKKOS_ARCH),Volta72) KOKKOS_INTERNAL_USE_ARCH_TURING75 := $(call kokkos_has_string,$(KOKKOS_ARCH),Turing75) +KOKKOS_INTERNAL_USE_ARCH_AMPERE80 := $(call kokkos_has_string,$(KOKKOS_ARCH),Ampere80) KOKKOS_INTERNAL_USE_ARCH_NVIDIA := $(shell expr $(KOKKOS_INTERNAL_USE_ARCH_KEPLER30) \ + $(KOKKOS_INTERNAL_USE_ARCH_KEPLER32) \ + $(KOKKOS_INTERNAL_USE_ARCH_KEPLER35) \ + $(KOKKOS_INTERNAL_USE_ARCH_KEPLER37) \ + + $(KOKKOS_INTERNAL_USE_ARCH_MAXWELL50) \ + + $(KOKKOS_INTERNAL_USE_ARCH_MAXWELL52) \ + + $(KOKKOS_INTERNAL_USE_ARCH_MAXWELL53) \ + $(KOKKOS_INTERNAL_USE_ARCH_PASCAL61) \ + $(KOKKOS_INTERNAL_USE_ARCH_PASCAL60) \ + $(KOKKOS_INTERNAL_USE_ARCH_VOLTA70) \ + $(KOKKOS_INTERNAL_USE_ARCH_VOLTA72) \ + $(KOKKOS_INTERNAL_USE_ARCH_TURING75) \ - + $(KOKKOS_INTERNAL_USE_ARCH_MAXWELL50) \ - + $(KOKKOS_INTERNAL_USE_ARCH_MAXWELL52) \ - + $(KOKKOS_INTERNAL_USE_ARCH_MAXWELL53)) + + $(KOKKOS_INTERNAL_USE_ARCH_AMPERE80)) #SEK: This seems like a bug to me ifeq ($(KOKKOS_INTERNAL_USE_ARCH_NVIDIA), 0) KOKKOS_INTERNAL_USE_ARCH_MAXWELL50 := $(call kokkos_has_string,$(KOKKOS_ARCH),Maxwell) KOKKOS_INTERNAL_USE_ARCH_KEPLER35 := $(call kokkos_has_string,$(KOKKOS_ARCH),Kepler) - KOKKOS_INTERNAL_USE_ARCH_NVIDIA := $(shell expr $(KOKKOS_INTERNAL_USE_ARCH_KEPLER30) \ - + $(KOKKOS_INTERNAL_USE_ARCH_KEPLER32) \ - + $(KOKKOS_INTERNAL_USE_ARCH_KEPLER35) \ - + $(KOKKOS_INTERNAL_USE_ARCH_KEPLER37) \ - + $(KOKKOS_INTERNAL_USE_ARCH_PASCAL61) \ - + $(KOKKOS_INTERNAL_USE_ARCH_PASCAL60) \ - + $(KOKKOS_INTERNAL_USE_ARCH_VOLTA70) \ - + $(KOKKOS_INTERNAL_USE_ARCH_VOLTA72) \ - + $(KOKKOS_INTERNAL_USE_ARCH_TURING75) \ - + $(KOKKOS_INTERNAL_USE_ARCH_MAXWELL50) \ - + $(KOKKOS_INTERNAL_USE_ARCH_MAXWELL52) \ - + $(KOKKOS_INTERNAL_USE_ARCH_MAXWELL53)) + KOKKOS_INTERNAL_USE_ARCH_NVIDIA := $(shell expr $(KOKKOS_INTERNAL_USE_ARCH_KEPLER35) \ + + $(KOKKOS_INTERNAL_USE_ARCH_MAXWELL50)) endif ifeq ($(KOKKOS_INTERNAL_USE_ARCH_NVIDIA), 1) @@ -394,19 +388,20 @@ KOKKOS_INTERNAL_USE_ARCH_IBM := $(strip $(shell echo $(KOKKOS_INTERNAL_USE_ARCH_ # AMD based. KOKKOS_INTERNAL_USE_ARCH_AMDAVX := $(call kokkos_has_string,$(KOKKOS_ARCH),AMDAVX) -KOKKOS_INTERNAL_USE_ARCH_EPYC := $(call kokkos_has_string,$(KOKKOS_ARCH),EPYC) +KOKKOS_INTERNAL_USE_ARCH_ZEN2 := $(call kokkos_has_string,$(KOKKOS_ARCH),Zen2) +KOKKOS_INTERNAL_USE_ARCH_ZEN := $(call kokkos_has_string,$(KOKKOS_ARCH),Zen) KOKKOS_INTERNAL_USE_ARCH_VEGA900 := $(call kokkos_has_string,$(KOKKOS_ARCH),Vega900) KOKKOS_INTERNAL_USE_ARCH_VEGA906 := $(call kokkos_has_string,$(KOKKOS_ARCH),Vega906) # Any AVX? KOKKOS_INTERNAL_USE_ARCH_SSE42 := $(shell expr $(KOKKOS_INTERNAL_USE_ARCH_WSM)) KOKKOS_INTERNAL_USE_ARCH_AVX := $(shell expr $(KOKKOS_INTERNAL_USE_ARCH_SNB) + $(KOKKOS_INTERNAL_USE_ARCH_AMDAVX)) -KOKKOS_INTERNAL_USE_ARCH_AVX2 := $(shell expr $(KOKKOS_INTERNAL_USE_ARCH_HSW) + $(KOKKOS_INTERNAL_USE_ARCH_BDW) + $(KOKKOS_INTERNAL_USE_ARCH_EPYC)) +KOKKOS_INTERNAL_USE_ARCH_AVX2 := $(shell expr $(KOKKOS_INTERNAL_USE_ARCH_HSW) + $(KOKKOS_INTERNAL_USE_ARCH_BDW) + $(KOKKOS_INTERNAL_USE_ARCH_ZEN) + $(KOKKOS_INTERNAL_USE_ARCH_ZEN2)) KOKKOS_INTERNAL_USE_ARCH_AVX512MIC := $(shell expr $(KOKKOS_INTERNAL_USE_ARCH_KNL)) KOKKOS_INTERNAL_USE_ARCH_AVX512XEON := $(shell expr $(KOKKOS_INTERNAL_USE_ARCH_SKX)) # Decide what ISA level we are able to support. -KOKKOS_INTERNAL_USE_ISA_X86_64 := $(shell expr $(KOKKOS_INTERNAL_USE_ARCH_WSM) + $(KOKKOS_INTERNAL_USE_ARCH_SNB) + $(KOKKOS_INTERNAL_USE_ARCH_HSW) + $(KOKKOS_INTERNAL_USE_ARCH_BDW) + $(KOKKOS_INTERNAL_USE_ARCH_KNL) + $(KOKKOS_INTERNAL_USE_ARCH_SKX) + $(KOKKOS_INTERNAL_USE_ARCH_EPYC)) +KOKKOS_INTERNAL_USE_ISA_X86_64 := $(shell expr $(KOKKOS_INTERNAL_USE_ARCH_WSM) + $(KOKKOS_INTERNAL_USE_ARCH_SNB) + $(KOKKOS_INTERNAL_USE_ARCH_HSW) + $(KOKKOS_INTERNAL_USE_ARCH_BDW) + $(KOKKOS_INTERNAL_USE_ARCH_KNL) + $(KOKKOS_INTERNAL_USE_ARCH_SKX) + $(KOKKOS_INTERNAL_USE_ARCH_ZEN) + $(KOKKOS_INTERNAL_USE_ARCH_ZEN2)) KOKKOS_INTERNAL_USE_ISA_KNC := $(shell expr $(KOKKOS_INTERNAL_USE_ARCH_KNC)) KOKKOS_INTERNAL_USE_ISA_POWERPCLE := $(shell expr $(KOKKOS_INTERNAL_USE_ARCH_POWER8) + $(KOKKOS_INTERNAL_USE_ARCH_POWER9)) KOKKOS_INTERNAL_USE_ISA_POWERPCBE := $(shell expr $(KOKKOS_INTERNAL_USE_ARCH_POWER7)) @@ -430,7 +425,7 @@ endif KOKKOS_CPPFLAGS = KOKKOS_LIBDIRS = ifneq ($(KOKKOS_CMAKE), yes) - KOKKOS_CPPFLAGS = -I./ -I$(KOKKOS_PATH)/core/src -I$(KOKKOS_PATH)/containers/src -I$(KOKKOS_PATH)/algorithms/src -I$(KOKKOS_ETI_PATH) + KOKKOS_CPPFLAGS = -I./ -I$(KOKKOS_PATH)/core/src -I$(KOKKOS_PATH)/containers/src -I$(KOKKOS_PATH)/algorithms/src endif KOKKOS_TPL_INCLUDE_DIRS = KOKKOS_TPL_LIBRARY_DIRS = @@ -458,88 +453,91 @@ KOKKOS_CONFIG_HEADER=KokkosCore_config.h # Functions for generating config header file kokkos_append_header = $(shell echo $1 >> $(KOKKOS_INTERNAL_CONFIG_TMP)) +# assign hash sign to variable for compat. with make 4.3 +H := \# + # Do not append first line tmp := $(shell echo "/* ---------------------------------------------" > KokkosCore_config.tmp) tmp := $(call kokkos_append_header,"Makefile constructed configuration:") tmp := $(call kokkos_append_header,"$(shell date)") tmp := $(call kokkos_append_header,"----------------------------------------------*/") -tmp := $(call kokkos_append_header,'\#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H)') -tmp := $(call kokkos_append_header,'\#error "Do not include $(KOKKOS_CONFIG_HEADER) directly; include Kokkos_Macros.hpp instead."') -tmp := $(call kokkos_append_header,'\#else') -tmp := $(call kokkos_append_header,'\#define KOKKOS_CORE_CONFIG_H') -tmp := $(call kokkos_append_header,'\#endif') +tmp := $(call kokkos_append_header,'$H''if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H)') +tmp := $(call kokkos_append_header,'$H''error "Do not include $(KOKKOS_CONFIG_HEADER) directly; include Kokkos_Macros.hpp instead."') +tmp := $(call kokkos_append_header,'$H''else') +tmp := $(call kokkos_append_header,'$H''define KOKKOS_CORE_CONFIG_H') +tmp := $(call kokkos_append_header,'$H''endif') tmp := $(call kokkos_append_header,"") -tmp := $(call kokkos_append_header,"\#define KOKKOS_VERSION $(KOKKOS_VERSION)") +tmp := $(call kokkos_append_header,"$H""define KOKKOS_VERSION $(KOKKOS_VERSION)") tmp := $(call kokkos_append_header,"") - + tmp := $(call kokkos_append_header,"/* Execution Spaces */") ifeq ($(KOKKOS_INTERNAL_USE_CUDA), 1) - tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_CUDA") - tmp := $(call kokkos_append_header,"\#define KOKKOS_COMPILER_CUDA_VERSION $(KOKKOS_INTERNAL_COMPILER_NVCC_VERSION)") + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ENABLE_CUDA") + tmp := $(call kokkos_append_header,"$H""define KOKKOS_COMPILER_CUDA_VERSION $(KOKKOS_INTERNAL_COMPILER_NVCC_VERSION)") endif ifeq ($(KOKKOS_INTERNAL_USE_ROCM), 1) - tmp := $(call kokkos_append_header,'\#define KOKKOS_ENABLE_ROCM') - tmp := $(call kokkos_append_header,'\#define KOKKOS_IMPL_ROCM_CLANG_WORKAROUND 1') + tmp := $(call kokkos_append_header,'$H''define KOKKOS_ENABLE_ROCM') + tmp := $(call kokkos_append_header,'$H''define KOKKOS_IMPL_ROCM_CLANG_WORKAROUND 1') endif ifeq ($(KOKKOS_INTERNAL_USE_HIP), 1) - tmp := $(call kokkos_append_header,'\#define KOKKOS_ENABLE_HIP') + tmp := $(call kokkos_append_header,'$H''define KOKKOS_ENABLE_HIP') endif ifeq ($(KOKKOS_INTERNAL_USE_OPENMPTARGET), 1) - tmp := $(call kokkos_append_header,'\#define KOKKOS_ENABLE_OPENMPTARGET') + tmp := $(call kokkos_append_header,'$H''define KOKKOS_ENABLE_OPENMPTARGET') ifeq ($(KOKKOS_INTERNAL_COMPILER_GCC), 1) - tmp := $(call kokkos_append_header,"\#define KOKKOS_WORKAROUND_OPENMPTARGET_GCC") + tmp := $(call kokkos_append_header,"$H""define KOKKOS_WORKAROUND_OPENMPTARGET_GCC") endif endif ifeq ($(KOKKOS_INTERNAL_USE_OPENMP), 1) - tmp := $(call kokkos_append_header,'\#define KOKKOS_ENABLE_OPENMP') + tmp := $(call kokkos_append_header,'$H''define KOKKOS_ENABLE_OPENMP') endif ifeq ($(KOKKOS_INTERNAL_USE_PTHREADS), 1) - tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_THREADS") + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ENABLE_THREADS") endif ifeq ($(KOKKOS_INTERNAL_USE_HPX), 1) - tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_HPX") + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ENABLE_HPX") endif ifeq ($(KOKKOS_INTERNAL_USE_SERIAL), 1) - tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_SERIAL") + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ENABLE_SERIAL") endif ifeq ($(KOKKOS_INTERNAL_USE_TM), 1) - tmp := $(call kokkos_append_header,"\#ifndef __CUDA_ARCH__") - tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_TM") - tmp := $(call kokkos_append_header,"\#endif") + tmp := $(call kokkos_append_header,"$H""ifndef __CUDA_ARCH__") + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ENABLE_TM") + tmp := $(call kokkos_append_header,"$H""endif") endif ifeq ($(KOKKOS_INTERNAL_USE_ISA_X86_64), 1) - tmp := $(call kokkos_append_header,"\#ifndef __CUDA_ARCH__") - tmp := $(call kokkos_append_header,"\#define KOKKOS_USE_ISA_X86_64") - tmp := $(call kokkos_append_header,"\#endif") + tmp := $(call kokkos_append_header,"$H""ifndef __CUDA_ARCH__") + tmp := $(call kokkos_append_header,"$H""define KOKKOS_USE_ISA_X86_64") + tmp := $(call kokkos_append_header,"$H""endif") endif ifeq ($(KOKKOS_INTERNAL_USE_ISA_KNC), 1) - tmp := $(call kokkos_append_header,"\#ifndef __CUDA_ARCH__") - tmp := $(call kokkos_append_header,"\#define KOKKOS_USE_ISA_KNC") - tmp := $(call kokkos_append_header,"\#endif") + tmp := $(call kokkos_append_header,"$H""ifndef __CUDA_ARCH__") + tmp := $(call kokkos_append_header,"$H""define KOKKOS_USE_ISA_KNC") + tmp := $(call kokkos_append_header,"$H""endif") endif ifeq ($(KOKKOS_INTERNAL_USE_ISA_POWERPCLE), 1) - tmp := $(call kokkos_append_header,"\#ifndef __CUDA_ARCH__") - tmp := $(call kokkos_append_header,"\#define KOKKOS_USE_ISA_POWERPCLE") - tmp := $(call kokkos_append_header,"\#endif") + tmp := $(call kokkos_append_header,"$H""ifndef __CUDA_ARCH__") + tmp := $(call kokkos_append_header,"$H""define KOKKOS_USE_ISA_POWERPCLE") + tmp := $(call kokkos_append_header,"$H""endif") endif ifeq ($(KOKKOS_INTERNAL_USE_ISA_POWERPCBE), 1) - tmp := $(call kokkos_append_header,"\#ifndef __CUDA_ARCH__") - tmp := $(call kokkos_append_header,"\#define KOKKOS_USE_ISA_POWERPCBE") - tmp := $(call kokkos_append_header,"\#endif") + tmp := $(call kokkos_append_header,"$H""ifndef __CUDA_ARCH__") + tmp := $(call kokkos_append_header,"$H""define KOKKOS_USE_ISA_POWERPCBE") + tmp := $(call kokkos_append_header,"$H""endif") endif #only add the c++ standard flags if this is not CMake @@ -548,34 +546,39 @@ ifeq ($(KOKKOS_INTERNAL_ENABLE_CXX11), 1) ifneq ($(KOKKOS_STANDALONE_CMAKE), yes) KOKKOS_CXXFLAGS += $(KOKKOS_INTERNAL_CXX11_FLAG) endif - tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_CXX11") + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ENABLE_CXX11") endif ifeq ($(KOKKOS_INTERNAL_ENABLE_CXX14), 1) ifneq ($(KOKKOS_STANDALONE_CMAKE), yes) KOKKOS_CXXFLAGS += $(KOKKOS_INTERNAL_CXX14_FLAG) endif - tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_CXX14") + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ENABLE_CXX14") endif ifeq ($(KOKKOS_INTERNAL_ENABLE_CXX1Y), 1) #I cannot make CMake add this in a good way - so add it here KOKKOS_CXXFLAGS += $(KOKKOS_INTERNAL_CXX1Y_FLAG) - tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_CXX14") + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ENABLE_CXX14") endif ifeq ($(KOKKOS_INTERNAL_ENABLE_CXX17), 1) ifneq ($(KOKKOS_STANDALONE_CMAKE), yes) KOKKOS_CXXFLAGS += $(KOKKOS_INTERNAL_CXX17_FLAG) endif - tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_CXX17") + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ENABLE_CXX17") endif ifeq ($(KOKKOS_INTERNAL_ENABLE_CXX1Z), 1) #I cannot make CMake add this in a good way - so add it here KOKKOS_CXXFLAGS += $(KOKKOS_INTERNAL_CXX1Z_FLAG) - tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_CXX17") + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ENABLE_CXX17") endif ifeq ($(KOKKOS_INTERNAL_ENABLE_CXX2A), 1) #I cannot make CMake add this in a good way - so add it here KOKKOS_CXXFLAGS += $(KOKKOS_INTERNAL_CXX2A_FLAG) - tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_CXX20") + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ENABLE_CXX20") +endif +ifeq ($(KOKKOS_INTERNAL_ENABLE_CXX20), 1) + #I cannot make CMake add this in a good way - so add it here + KOKKOS_CXXFLAGS += $(KOKKOS_INTERNAL_CXX20_FLAG) + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ENABLE_CXX20") endif ifeq ($(KOKKOS_INTERNAL_ENABLE_DEBUG), 1) @@ -585,20 +588,26 @@ ifeq ($(KOKKOS_INTERNAL_ENABLE_DEBUG), 1) KOKKOS_CXXFLAGS += -g KOKKOS_LDFLAGS += -g - tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_DEBUG_BOUNDS_CHECK") - tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_DEBUG") + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ENABLE_DEBUG_BOUNDS_CHECK") + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ENABLE_DEBUG") ifeq ($(KOKKOS_INTERNAL_DISABLE_DUALVIEW_MODIFY_CHECK), 0) - tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_DEBUG_DUALVIEW_MODIFY_CHECK") + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ENABLE_DEBUG_DUALVIEW_MODIFY_CHECK") endif endif ifeq ($(KOKKOS_INTERNAL_DISABLE_COMPLEX_ALIGN), 0) - tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_COMPLEX_ALIGN") + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ENABLE_COMPLEX_ALIGN") endif ifeq ($(KOKKOS_INTERNAL_ENABLE_PROFILING_LOAD_PRINT), 1) - tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_PROFILING_LOAD_PRINT") + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ENABLE_PROFILING_LOAD_PRINT") +endif + +ifeq ($(KOKKOS_INTERNAL_ENABLE_TUNING), 1) + tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_TUNING") endif +tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_LIBDL") + ifeq ($(KOKKOS_INTERNAL_USE_HWLOC), 1) ifneq ($(KOKKOS_CMAKE), yes) ifneq ($(HWLOC_PATH),) @@ -611,11 +620,11 @@ ifeq ($(KOKKOS_INTERNAL_USE_HWLOC), 1) KOKKOS_LIBS += -lhwloc KOKKOS_TPL_LIBRARY_NAMES += hwloc endif - tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_HWLOC") + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ENABLE_HWLOC") endif ifeq ($(KOKKOS_INTERNAL_USE_LIBRT), 1) - tmp := $(call kokkos_append_header,"\#define KOKKOS_USE_LIBRT") + tmp := $(call kokkos_append_header,"$H""define KOKKOS_USE_LIBRT") KOKKOS_LIBS += -lrt KOKKOS_TPL_LIBRARY_NAMES += rt endif @@ -632,50 +641,36 @@ ifeq ($(KOKKOS_INTERNAL_USE_MEMKIND), 1) KOKKOS_LIBS += -lmemkind -lnuma KOKKOS_TPL_LIBRARY_NAMES += memkind numa endif - tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_HBWSPACE") -endif - -ifeq ($(KOKKOS_INTERNAL_DISABLE_PROFILING), 0) - tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_PROFILING") -endif - -ifeq ($(KOKKOS_INTERNAL_USE_HPX), 0) - ifeq ($(KOKKOS_INTERNAL_ENABLE_DEPRECATED_CODE), 1) - tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_DEPRECATED_CODE") - endif -endif - -ifeq ($(KOKKOS_INTERNAL_ENABLE_ETI), 1) - tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_ETI") + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ENABLE_HBWSPACE") endif ifeq ($(KOKKOS_INTERNAL_ENABLE_LARGE_MEM_TESTS), 1) - tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_LARGE_MEM_TESTS") + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ENABLE_LARGE_MEM_TESTS") endif tmp := $(call kokkos_append_header,"/* Optimization Settings */") ifeq ($(KOKKOS_INTERNAL_OPT_RANGE_AGGRESSIVE_VECTORIZATION), 1) - tmp := $(call kokkos_append_header,"\#define KOKKOS_OPT_RANGE_AGGRESSIVE_VECTORIZATION") + tmp := $(call kokkos_append_header,"$H""define KOKKOS_OPT_RANGE_AGGRESSIVE_VECTORIZATION") endif tmp := $(call kokkos_append_header,"/* Cuda Settings */") ifeq ($(KOKKOS_INTERNAL_USE_CUDA), 1) ifeq ($(KOKKOS_INTERNAL_CUDA_USE_LDG), 1) - tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_CUDA_LDG_INTRINSIC") + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ENABLE_CUDA_LDG_INTRINSIC") else ifeq ($(KOKKOS_INTERNAL_COMPILER_CLANG), 1) - tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_CUDA_LDG_INTRINSIC") + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ENABLE_CUDA_LDG_INTRINSIC") endif endif ifeq ($(KOKKOS_INTERNAL_CUDA_USE_UVM), 1) - tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_CUDA_UVM") + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ENABLE_CUDA_UVM") endif ifeq ($(KOKKOS_INTERNAL_CUDA_USE_RELOC), 1) - tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_CUDA_RELOCATABLE_DEVICE_CODE") + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ENABLE_CUDA_RELOCATABLE_DEVICE_CODE") ifeq ($(KOKKOS_INTERNAL_COMPILER_CLANG), 1) KOKKOS_CXXFLAGS += -fcuda-rdc KOKKOS_LDFLAGS += -fcuda-rdc @@ -696,7 +691,7 @@ ifeq ($(KOKKOS_INTERNAL_USE_CUDA), 1) ifeq ($(KOKKOS_INTERNAL_CUDA_USE_LAMBDA), 1) ifeq ($(KOKKOS_INTERNAL_COMPILER_NVCC), 1) ifeq ($(shell test $(KOKKOS_INTERNAL_COMPILER_NVCC_VERSION) -gt 70; echo $$?),0) - tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_CUDA_LAMBDA") + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ENABLE_CUDA_LAMBDA") KOKKOS_CXXFLAGS += -expt-extended-lambda else $(warning Warning: Cuda Lambda support was requested but NVCC version is too low. This requires NVCC for Cuda version 7.5 or higher. Disabling Lambda support now.) @@ -704,14 +699,14 @@ ifeq ($(KOKKOS_INTERNAL_USE_CUDA), 1) endif ifeq ($(KOKKOS_INTERNAL_COMPILER_CLANG), 1) - tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_CUDA_LAMBDA") + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ENABLE_CUDA_LAMBDA") endif endif ifeq ($(KOKKOS_INTERNAL_CUDA_USE_CONSTEXPR), 1) ifeq ($(KOKKOS_INTERNAL_COMPILER_NVCC), 1) ifeq ($(shell test $(KOKKOS_INTERNAL_COMPILER_NVCC_VERSION) -ge 80; echo $$?),0) - tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_CUDA_CONSTEXPR") + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ENABLE_CUDA_CONSTEXPR") KOKKOS_CXXFLAGS += -expt-relaxed-constexpr else $(warning Warning: Cuda relaxed constexpr support was requested but NVCC version is too low. This requires NVCC for Cuda version 8.0 or higher. Disabling relaxed constexpr support now.) @@ -719,25 +714,25 @@ ifeq ($(KOKKOS_INTERNAL_USE_CUDA), 1) endif ifeq ($(KOKKOS_INTERNAL_COMPILER_CLANG), 1) - tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_CUDA_CONSTEXPR") + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ENABLE_CUDA_CONSTEXPR") endif endif ifeq ($(KOKKOS_INTERNAL_COMPILER_CLANG), 1) - tmp := $(call kokkos_append_header,"\#define KOKKOS_IMPL_CUDA_CLANG_WORKAROUND") + tmp := $(call kokkos_append_header,"$H""define KOKKOS_IMPL_CUDA_CLANG_WORKAROUND") endif endif ifeq ($(KOKKOS_INTERNAL_USE_HPX), 1) ifeq ($(KOKKOS_INTERNAL_HPX_ENABLE_ASYNC_DISPATCH), 1) - tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_HPX_ASYNC_DISPATCH") + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ENABLE_HPX_ASYNC_DISPATCH") endif endif # Add Architecture flags. ifeq ($(KOKKOS_INTERNAL_USE_ARCH_ARMV80), 1) - tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_ARMV80") + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_ARMV80") ifeq ($(KOKKOS_INTERNAL_COMPILER_CRAY), 1) KOKKOS_CXXFLAGS += @@ -754,7 +749,7 @@ ifeq ($(KOKKOS_INTERNAL_USE_ARCH_ARMV80), 1) endif ifeq ($(KOKKOS_INTERNAL_USE_ARCH_ARMV81), 1) - tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_ARMV81") + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_ARMV81") ifeq ($(KOKKOS_INTERNAL_COMPILER_CRAY), 1) KOKKOS_CXXFLAGS += @@ -770,9 +765,9 @@ ifeq ($(KOKKOS_INTERNAL_USE_ARCH_ARMV81), 1) endif endif -ifeq ($(KOKKOS_INTERNAL_USE_ARCH_EPYC), 1) - tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_AMD_EPYC") - tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_AMD_AVX2") +ifeq ($(KOKKOS_INTERNAL_USE_ARCH_ZEN), 1) + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_AMD_ZEN") + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_AMD_AVX2") ifeq ($(KOKKOS_INTERNAL_COMPILER_INTEL), 1) KOKKOS_CXXFLAGS += -mavx2 @@ -783,9 +778,22 @@ ifeq ($(KOKKOS_INTERNAL_USE_ARCH_EPYC), 1) endif endif +ifeq ($(KOKKOS_INTERNAL_USE_ARCH_ZEN2), 1) + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_AMD_ZEN2") + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_AMD_AVX2") + + ifeq ($(KOKKOS_INTERNAL_COMPILER_INTEL), 1) + KOKKOS_CXXFLAGS += -mavx2 + KOKKOS_LDFLAGS += -mavx2 + else + KOKKOS_CXXFLAGS += -march=znver2 -mtune=znver2 + KOKKOS_LDFLAGS += -march=znver2 -mtune=znver2 + endif +endif + ifeq ($(KOKKOS_INTERNAL_USE_ARCH_ARMV8_THUNDERX), 1) - tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_ARMV80") - tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_ARMV8_THUNDERX") + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_ARMV80") + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_ARMV8_THUNDERX") ifeq ($(KOKKOS_INTERNAL_COMPILER_CRAY), 1) KOKKOS_CXXFLAGS += @@ -802,8 +810,8 @@ ifeq ($(KOKKOS_INTERNAL_USE_ARCH_ARMV8_THUNDERX), 1) endif ifeq ($(KOKKOS_INTERNAL_USE_ARCH_ARMV8_THUNDERX2), 1) - tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_ARMV81") - tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_ARMV8_THUNDERX2") + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_ARMV81") + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_ARMV8_THUNDERX2") ifeq ($(KOKKOS_INTERNAL_COMPILER_CRAY), 1) KOKKOS_CXXFLAGS += @@ -820,7 +828,7 @@ ifeq ($(KOKKOS_INTERNAL_USE_ARCH_ARMV8_THUNDERX2), 1) endif ifeq ($(KOKKOS_INTERNAL_USE_ARCH_SSE42), 1) - tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_SSE42") + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_SSE42") ifeq ($(KOKKOS_INTERNAL_COMPILER_INTEL), 1) KOKKOS_CXXFLAGS += -xSSE4.2 @@ -842,7 +850,7 @@ ifeq ($(KOKKOS_INTERNAL_USE_ARCH_SSE42), 1) endif ifeq ($(KOKKOS_INTERNAL_USE_ARCH_AVX), 1) - tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_AVX") + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_AVX") ifeq ($(KOKKOS_INTERNAL_COMPILER_INTEL), 1) KOKKOS_CXXFLAGS += -mavx @@ -864,7 +872,7 @@ ifeq ($(KOKKOS_INTERNAL_USE_ARCH_AVX), 1) endif ifeq ($(KOKKOS_INTERNAL_USE_ARCH_POWER7), 1) - tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_POWER7") + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_POWER7") ifeq ($(KOKKOS_INTERNAL_COMPILER_PGI), 1) @@ -876,7 +884,7 @@ ifeq ($(KOKKOS_INTERNAL_USE_ARCH_POWER7), 1) endif ifeq ($(KOKKOS_INTERNAL_USE_ARCH_POWER8), 1) - tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_POWER8") + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_POWER8") ifeq ($(KOKKOS_INTERNAL_COMPILER_PGI), 1) @@ -897,7 +905,7 @@ ifeq ($(KOKKOS_INTERNAL_USE_ARCH_POWER8), 1) endif ifeq ($(KOKKOS_INTERNAL_USE_ARCH_POWER9), 1) - tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_POWER9") + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_POWER9") ifeq ($(KOKKOS_INTERNAL_COMPILER_PGI), 1) @@ -918,7 +926,7 @@ ifeq ($(KOKKOS_INTERNAL_USE_ARCH_POWER9), 1) endif ifeq ($(KOKKOS_INTERNAL_USE_ARCH_HSW), 1) - tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_AVX2") + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_AVX2") ifeq ($(KOKKOS_INTERNAL_COMPILER_INTEL), 1) KOKKOS_CXXFLAGS += -xCORE-AVX2 @@ -940,7 +948,7 @@ ifeq ($(KOKKOS_INTERNAL_USE_ARCH_HSW), 1) endif ifeq ($(KOKKOS_INTERNAL_USE_ARCH_BDW), 1) - tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_AVX2") + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_AVX2") ifeq ($(KOKKOS_INTERNAL_COMPILER_INTEL), 1) KOKKOS_CXXFLAGS += -xCORE-AVX2 @@ -962,7 +970,7 @@ ifeq ($(KOKKOS_INTERNAL_USE_ARCH_BDW), 1) endif ifeq ($(KOKKOS_INTERNAL_USE_ARCH_AVX512MIC), 1) - tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_AVX512MIC") + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_AVX512MIC") ifeq ($(KOKKOS_INTERNAL_COMPILER_INTEL), 1) KOKKOS_CXXFLAGS += -xMIC-AVX512 @@ -983,7 +991,7 @@ ifeq ($(KOKKOS_INTERNAL_USE_ARCH_AVX512MIC), 1) endif ifeq ($(KOKKOS_INTERNAL_USE_ARCH_AVX512XEON), 1) - tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_AVX512XEON") + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_AVX512XEON") ifeq ($(KOKKOS_INTERNAL_COMPILER_INTEL), 1) KOKKOS_CXXFLAGS += -xCORE-AVX512 @@ -1004,7 +1012,7 @@ ifeq ($(KOKKOS_INTERNAL_USE_ARCH_AVX512XEON), 1) endif ifeq ($(KOKKOS_INTERNAL_USE_ARCH_KNC), 1) - tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_KNC") + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_KNC") KOKKOS_CXXFLAGS += -mmic KOKKOS_LDFLAGS += -mmic endif @@ -1022,8 +1030,8 @@ ifeq ($(KOKKOS_INTERNAL_USE_CUDA_ARCH), 1) ifeq ($(KOKKOS_INTERNAL_COMPILER_NVCC), 1) KOKKOS_INTERNAL_CUDA_ARCH_FLAG=-arch else ifeq ($(KOKKOS_INTERNAL_COMPILER_CLANG), 1) - KOKKOS_INTERNAL_CUDA_ARCH_FLAG=--cuda-gpu-arch - KOKKOS_CXXFLAGS += -x cuda + KOKKOS_INTERNAL_CUDA_ARCH_FLAG=--cuda-gpu-arch + KOKKOS_CXXFLAGS += -x cuda else $(error Makefile.kokkos: CUDA is enabled but the compiler is neither NVCC nor Clang (got version string $(KOKKOS_CXX_VERSION)) ) endif @@ -1039,65 +1047,70 @@ endif ifeq ($(KOKKOS_INTERNAL_USE_CUDA_ARCH), 1) ifeq ($(KOKKOS_INTERNAL_USE_ARCH_KEPLER30), 1) - tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_KEPLER") - tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_KEPLER30") + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_KEPLER") + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_KEPLER30") KOKKOS_INTERNAL_CUDA_ARCH_FLAG := $(KOKKOS_INTERNAL_CUDA_ARCH_FLAG)=sm_30 endif ifeq ($(KOKKOS_INTERNAL_USE_ARCH_KEPLER32), 1) - tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_KEPLER") - tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_KEPLER32") + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_KEPLER") + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_KEPLER32") KOKKOS_INTERNAL_CUDA_ARCH_FLAG := $(KOKKOS_INTERNAL_CUDA_ARCH_FLAG)=sm_32 endif ifeq ($(KOKKOS_INTERNAL_USE_ARCH_KEPLER35), 1) - tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_KEPLER") - tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_KEPLER35") + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_KEPLER") + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_KEPLER35") KOKKOS_INTERNAL_CUDA_ARCH_FLAG := $(KOKKOS_INTERNAL_CUDA_ARCH_FLAG)=sm_35 endif ifeq ($(KOKKOS_INTERNAL_USE_ARCH_KEPLER37), 1) - tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_KEPLER") - tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_KEPLER37") + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_KEPLER") + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_KEPLER37") KOKKOS_INTERNAL_CUDA_ARCH_FLAG := $(KOKKOS_INTERNAL_CUDA_ARCH_FLAG)=sm_37 endif ifeq ($(KOKKOS_INTERNAL_USE_ARCH_MAXWELL50), 1) - tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_MAXWELL") - tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_MAXWELL50") + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_MAXWELL") + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_MAXWELL50") KOKKOS_INTERNAL_CUDA_ARCH_FLAG := $(KOKKOS_INTERNAL_CUDA_ARCH_FLAG)=sm_50 endif ifeq ($(KOKKOS_INTERNAL_USE_ARCH_MAXWELL52), 1) - tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_MAXWELL") - tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_MAXWELL52") + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_MAXWELL") + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_MAXWELL52") KOKKOS_INTERNAL_CUDA_ARCH_FLAG := $(KOKKOS_INTERNAL_CUDA_ARCH_FLAG)=sm_52 endif ifeq ($(KOKKOS_INTERNAL_USE_ARCH_MAXWELL53), 1) - tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_MAXWELL") - tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_MAXWELL53") + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_MAXWELL") + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_MAXWELL53") KOKKOS_INTERNAL_CUDA_ARCH_FLAG := $(KOKKOS_INTERNAL_CUDA_ARCH_FLAG)=sm_53 endif ifeq ($(KOKKOS_INTERNAL_USE_ARCH_PASCAL60), 1) - tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_PASCAL") - tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_PASCAL60") + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_PASCAL") + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_PASCAL60") KOKKOS_INTERNAL_CUDA_ARCH_FLAG := $(KOKKOS_INTERNAL_CUDA_ARCH_FLAG)=sm_60 endif ifeq ($(KOKKOS_INTERNAL_USE_ARCH_PASCAL61), 1) - tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_PASCAL") - tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_PASCAL61") + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_PASCAL") + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_PASCAL61") KOKKOS_INTERNAL_CUDA_ARCH_FLAG := $(KOKKOS_INTERNAL_CUDA_ARCH_FLAG)=sm_61 endif ifeq ($(KOKKOS_INTERNAL_USE_ARCH_VOLTA70), 1) - tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_VOLTA") - tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_VOLTA70") + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_VOLTA") + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_VOLTA70") KOKKOS_INTERNAL_CUDA_ARCH_FLAG := $(KOKKOS_INTERNAL_CUDA_ARCH_FLAG)=sm_70 endif ifeq ($(KOKKOS_INTERNAL_USE_ARCH_VOLTA72), 1) - tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_VOLTA") - tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_VOLTA72") + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_VOLTA") + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_VOLTA72") KOKKOS_INTERNAL_CUDA_ARCH_FLAG := $(KOKKOS_INTERNAL_CUDA_ARCH_FLAG)=sm_72 endif ifeq ($(KOKKOS_INTERNAL_USE_ARCH_TURING75), 1) - tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_TURING") - tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_TURING75") + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_TURING") + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_TURING75") KOKKOS_INTERNAL_CUDA_ARCH_FLAG := $(KOKKOS_INTERNAL_CUDA_ARCH_FLAG)=sm_75 endif + ifeq ($(KOKKOS_INTERNAL_USE_ARCH_AMPERE80), 1) + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_AMPERE") + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_AMPERE80") + KOKKOS_INTERNAL_CUDA_ARCH_FLAG := $(KOKKOS_INTERNAL_CUDA_ARCH_FLAG)=sm_80 + endif ifneq ($(KOKKOS_INTERNAL_USE_ARCH_NVIDIA), 0) KOKKOS_CXXFLAGS += $(KOKKOS_INTERNAL_CUDA_ARCH_FLAG) @@ -1121,13 +1134,13 @@ endif ifeq ($(KOKKOS_INTERNAL_USE_HIP), 1) # Lets start with adding architecture defines ifeq ($(KOKKOS_INTERNAL_USE_ARCH_VEGA900), 1) - tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_HIP 900") - tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_VEGA900") + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_HIP 900") + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_VEGA900") KOKKOS_INTERNAL_HIP_ARCH_FLAG := --amdgpu-target=gfx900 endif ifeq ($(KOKKOS_INTERNAL_USE_ARCH_VEGA906), 1) - tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_HIP 906") - tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_VEGA906") + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_HIP 906") + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_VEGA906") KOKKOS_INTERNAL_HIP_ARCH_FLAG := --amdgpu-target=gfx906 endif @@ -1138,7 +1151,7 @@ ifeq ($(KOKKOS_INTERNAL_USE_HIP), 1) KOKKOS_LDFLAGS+=$(KOKKOS_INTERNAL_HIP_ARCH_FLAG) ifeq ($(KOKKOS_INTERNAL_HIP_USE_RELOC), 1) - tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_HIP_RELOCATABLE_DEVICE_CODE") + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ENABLE_HIP_RELOCATABLE_DEVICE_CODE") KOKKOS_CXXFLAGS+=-fgpu-rdc KOKKOS_LDFLAGS+=-fgpu-rdc else @@ -1171,9 +1184,6 @@ KOKKOS_SRC += $(wildcard $(KOKKOS_PATH)/containers/src/impl/*.cpp) ifeq ($(KOKKOS_INTERNAL_USE_CUDA), 1) KOKKOS_SRC += $(wildcard $(KOKKOS_PATH)/core/src/Cuda/*.cpp) -ifeq ($(KOKKOS_INTERNAL_ENABLE_ETI), 1) - KOKKOS_SRC += $(wildcard $(KOKKOS_ETI_PATH)/Cuda/*.cpp) -endif KOKKOS_HEADERS += $(wildcard $(KOKKOS_PATH)/core/src/Cuda/*.hpp) ifneq ($(CUDA_PATH),) KOKKOS_CPPLAGS += -I$(CUDA_PATH)/include @@ -1211,9 +1221,6 @@ endif ifeq ($(KOKKOS_INTERNAL_USE_OPENMP), 1) KOKKOS_SRC += $(wildcard $(KOKKOS_PATH)/core/src/OpenMP/*.cpp) -ifeq ($(KOKKOS_INTERNAL_ENABLE_ETI), 1) - KOKKOS_SRC += $(wildcard $(KOKKOS_ETI_PATH)/OpenMP/*.cpp) -endif KOKKOS_HEADERS += $(wildcard $(KOKKOS_PATH)/core/src/OpenMP/*.hpp) ifeq ($(KOKKOS_INTERNAL_COMPILER_NVCC), 1) @@ -1228,9 +1235,6 @@ endif ifeq ($(KOKKOS_INTERNAL_USE_PTHREADS), 1) KOKKOS_SRC += $(wildcard $(KOKKOS_PATH)/core/src/Threads/*.cpp) -ifeq ($(KOKKOS_INTERNAL_ENABLE_ETI), 1) - KOKKOS_SRC += $(wildcard $(KOKKOS_ETI_PATH)/Threads/*.cpp) -endif KOKKOS_HEADERS += $(wildcard $(KOKKOS_PATH)/core/src/Threads/*.hpp) KOKKOS_LIBS += -lpthread KOKKOS_TPL_LIBRARY_NAMES += pthread @@ -1279,9 +1283,6 @@ endif # Don't include Kokkos_Serial.cpp or Kokkos_Serial_Task.cpp if not using Serial # device to avoid a link warning. ifeq ($(KOKKOS_INTERNAL_USE_SERIAL), 1) -ifeq ($(KOKKOS_INTERNAL_ENABLE_ETI), 1) - KOKKOS_SRC += $(wildcard $(KOKKOS_ETI_PATH)/Serial/*.cpp) -endif endif ifneq ($(KOKKOS_INTERNAL_USE_SERIAL), 1) KOKKOS_SRC := $(filter-out $(KOKKOS_PATH)/core/src/impl/Kokkos_Serial.cpp,$(KOKKOS_SRC)) diff --git a/lib/kokkos/Makefile.targets b/lib/kokkos/Makefile.targets index 18e37a71f7157afd0be6dc8d793cc2cb4102f4d3..525962d2d5bab3dce75a4aeaebf34249feb37927 100644 --- a/lib/kokkos/Makefile.targets +++ b/lib/kokkos/Makefile.targets @@ -26,21 +26,17 @@ Kokkos_Spinwait.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/impl/Kokkos_Spi $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/impl/Kokkos_Spinwait.cpp Kokkos_HostBarrier.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/impl/Kokkos_HostBarrier.cpp $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/impl/Kokkos_HostBarrier.cpp -Kokkos_Profiling_Interface.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/impl/Kokkos_Profiling_Interface.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/impl/Kokkos_Profiling_Interface.cpp +Kokkos_Profiling.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/impl/Kokkos_Profiling.cpp + $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/impl/Kokkos_Profiling.cpp Kokkos_SharedAlloc.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/impl/Kokkos_SharedAlloc.cpp $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/impl/Kokkos_SharedAlloc.cpp Kokkos_MemoryPool.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/impl/Kokkos_MemoryPool.cpp $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/impl/Kokkos_MemoryPool.cpp +Kokkos_MemorySpace.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/impl/Kokkos_MemorySpace.cpp + $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/impl/Kokkos_MemorySpace.cpp Kokkos_HostSpace_deepcopy.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/impl/Kokkos_HostSpace_deepcopy.cpp $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/impl/Kokkos_HostSpace_deepcopy.cpp -ifeq ($(KOKKOS_INTERNAL_USE_SERIAL), 1) -ifeq ($(KOKKOS_INTERNAL_ENABLE_ETI), 1) - include $(KOKKOS_ETI_PATH)/Serial/Makefile.eti_Serial -endif -endif - ifeq ($(KOKKOS_INTERNAL_USE_CUDA), 1) Kokkos_Cuda_Instance.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/Cuda/Kokkos_Cuda_Instance.cpp $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/Cuda/Kokkos_Cuda_Instance.cpp @@ -50,9 +46,6 @@ Kokkos_Cuda_Task.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/Cuda/Kokkos_Cu $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/Cuda/Kokkos_Cuda_Task.cpp Kokkos_Cuda_Locks.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/Cuda/Kokkos_Cuda_Locks.cpp $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/Cuda/Kokkos_Cuda_Locks.cpp -ifeq ($(KOKKOS_INTERNAL_ENABLE_ETI), 1) - include $(KOKKOS_ETI_PATH)/Cuda/Makefile.eti_Cuda -endif endif ifeq ($(KOKKOS_INTERNAL_USE_HIP), 1) @@ -75,9 +68,6 @@ Kokkos_ROCm_Task.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/ROCm/Kokkos_RO $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/ROCm/Kokkos_ROCm_Task.cpp Kokkos_ROCm_Impl.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/ROCm/Kokkos_ROCm_Impl.cpp $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/ROCm/Kokkos_ROCm_Impl.cpp -ifeq ($(KOKKOS_INTERNAL_ENABLE_ETI), 1) - include $(KOKKOS_ETI_PATH)/ROCm/Makefile.eti_ROCm -endif endif ifeq ($(KOKKOS_INTERNAL_USE_PTHREADS), 1) @@ -85,9 +75,6 @@ Kokkos_ThreadsExec_base.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/Threads $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/Threads/Kokkos_ThreadsExec_base.cpp Kokkos_ThreadsExec.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/Threads/Kokkos_ThreadsExec.cpp $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/Threads/Kokkos_ThreadsExec.cpp -ifeq ($(KOKKOS_INTERNAL_ENABLE_ETI), 1) - include $(KOKKOS_ETI_PATH)/Threads/Makefile.eti_Threads -endif endif ifeq ($(KOKKOS_INTERNAL_USE_OPENMP), 1) @@ -95,9 +82,6 @@ Kokkos_OpenMP_Exec.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/OpenMP/Kokko $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/OpenMP/Kokkos_OpenMP_Exec.cpp Kokkos_OpenMP_Task.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/OpenMP/Kokkos_OpenMP_Task.cpp $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/OpenMP/Kokkos_OpenMP_Task.cpp -ifeq ($(KOKKOS_INTERNAL_ENABLE_ETI), 1) - include $(KOKKOS_ETI_PATH)/OpenMP/Makefile.eti_OpenMP -endif endif ifeq ($(KOKKOS_INTERNAL_USE_HPX), 1) diff --git a/lib/kokkos/README.md b/lib/kokkos/README.md index a04df9eb9b653cfc83fba290705ec10338e5a486..a08d238e5d9fce101b01e1f6718514cbb68db800 100644 --- a/lib/kokkos/README.md +++ b/lib/kokkos/README.md @@ -151,7 +151,7 @@ Full details are given in the [build instructions](BUILD.md). Basic setups are s ## CMake The best way to install Kokkos is using the CMake build system. Assuming Kokkos lives in `$srcdir`: -```` +````bash cmake $srcdir \ -DCMAKE_CXX_COMPILER=$path_to_compiler \ -DCMAKE_INSTALL_PREFIX=$path_to_install \ @@ -170,7 +170,7 @@ and run `make test` after completing the build. For your CMake project using Kokkos, code such as the following: -```` +````cmake find_package(Kokkos) ... target_link_libraries(myTarget Kokkos::kokkos) @@ -187,17 +187,15 @@ for the install location given above. ## Spack An alternative to manually building with the CMake is to use the Spack package manager. -To do so, download the `kokkos-spack` git repo and add to the package list: -```` -spack repo add $path-to-kokkos-spack +To get started, download the Spack [repo](https://github.com/spack/spack). ```` A basic installation would be done as: -```` -spack install kokkos +````bash +> spack install kokkos ```` Spack allows options and and compilers to be tuned in the install command. -```` -spack install kokkos@3.0 %gcc@7.3.0 +openmp +````bash +> spack install kokkos@3.0 %gcc@7.3.0 +openmp ```` This example illustrates the three most common parameters to Spack: * Variants: specified with, e.g. `+openmp`, this activates (or deactivates with, e.g. `~openmp`) certain options. @@ -205,33 +203,33 @@ This example illustrates the three most common parameters to Spack: * Compiler: a default compiler will be chosen if not specified, but an exact compiler version can be given with the `%`option. For a complete list of Kokkos options, run: -```` -spack info kokkos +````bash +> spack info kokkos ```` Spack currently installs packages to a location determined by a unique hash. This hash name is not really "human readable". Generally, Spack usage should never really require you to reference the computer-generated unique install folder. More details are given in the [build instructions](BUILD.md). If you must know, you can locate Spack Kokkos installations with: -```` -spack find -p kokkos ... +````bash +> spack find -p kokkos ... ```` where `...` is the unique spec identifying the particular Kokkos configuration and version. - +Some more details can found in the Kokkos spack [documentation](Spack.md) or the Spack [website](https://spack.readthedocs.io/en/latest). ## Raw Makefile A bash script is provided to generate raw makefiles. To install Kokkos as a library create a build directory and run the following -```` -$KOKKOS_PATH/generate_makefile.bash --prefix=$path_to_install +````bash +> $KOKKOS_PATH/generate_makefile.bash --prefix=$path_to_install ```` Once the Makefile is generated, run: -```` -make kokkoslib -make install +````bash +> make kokkoslib +> make install ```` To additionally run the unit tests: -```` -make build-test -make test +````bash +> make build-test +> make test ```` Run `generate_makefile.bash --help` for more detailed options such as changing the device type for which to build. @@ -274,7 +272,7 @@ more than a single GPU is used by a single process. If you publish work which mentions Kokkos, please cite the following paper: -```` +````BibTeX @article{CarterEdwards20143202, title = "Kokkos: Enabling manycore performance portability through polymorphic memory access patterns ", journal = "Journal of Parallel and Distributed Computing ", diff --git a/lib/kokkos/Spack.md b/lib/kokkos/Spack.md new file mode 100644 index 0000000000000000000000000000000000000000..31a07deb56a0c9dc09e4453e196a8c8302634b19 --- /dev/null +++ b/lib/kokkos/Spack.md @@ -0,0 +1,267 @@ +![Kokkos](https://avatars2.githubusercontent.com/u/10199860?s=200&v=4) + +# Kokkos Spack + +This gives instructions for using Spack to install Kokkos and developing packages that depend on Kokkos. + +## Getting Started + +Make sure you have downloaded [Spack](https://github.com/spack/spack). +The easiest way to configure the Spack environment is: +````bash +> source spack/share/spack/setup-env.sh +```` +with other scripts available for other shells. +You can display information about how to install packages with: +````bash +> spack info kokkos +```` +This will print all the information about how to install Kokkos with Spack. +For detailed instructions on how to use Spack, see the [User Manual](https://spack.readthedocs.io). + +## Setting Up Spack: Avoiding the Package Cascade +By default, Spack doesn't 'see' anything on your system - including things like CMake and CUDA. +This can be limited by adding a `packages.yaml` to your `$HOME/.spack` folder that includes CMake (and CUDA, if applicable). For example, your `packages.yaml` file could be: +````yaml +packages: + cuda: + modules: + cuda@10.1.243: [cuda/10.1.243] + paths: + cuda@10.1.243: + /opt/local/ppc64le-pwr8-nvidia/cuda/10.1.243 + buildable: false + cmake: + modules: + cmake: [cmake/3.16.8] + paths: + cmake: + /opt/local/ppc64le/cmake/3.16.8 + buildable: false +```` +The `modules` entry is only necessary on systems that require loading Modules (i.e. most DOE systems). +The `buildable` flag is useful to make sure Spack crashes if there is a path error, +rather than having a type-o and Spack rebuilding everything because `cmake` isn't found. +You can verify your environment is set up correctly by running `spack graph` or `spack spec`. +For example: +````bash +> spack graph kokkos +cuda +o kokkos +|\ +o | cuda + / +o cmake +```` +Without the existing CUDA and CMake being identified in `packages.yaml`, a (subset!) of the output would be: +````bash +o kokkos +|\ +| o cmake +| |\ +| | | |\ +| | | | | |\ +| | | | | | | |\ +| | | | | | | | | |\ +| | | | | | | o | | | libarchive +| | | | | | | |\ \ \ \ +| | | | | | | | | |\ \ \ \ +| | | | | | | | | | | | |_|/ +| | | | | | | | | | | |/| | +| | | | | | | | | | | | | o curl +| | |_|_|_|_|_|_|_|_|_|_|/| +| |/| | | |_|_|_|_|_|_|_|/ +| | | | |/| | | | | | | | +| | | | o | | | | | | | | openssl +| |/| | | | | | | | | | | +| | | | | | | | | | o | | libxml2 +| | |_|_|_|_|_|_|_|/| | | +| | | | | | | | | | |\ \ \ +| o | | | | | | | | | | | | zlib +| / / / / / / / / / / / / +| o | | | | | | | | | | | xz +| / / / / / / / / / / / +| o | | | | | | | | | | rhash +| / / / / / / / / / / +| | | | o | | | | | | nettle +| | | | |\ \ \ \ \ \ \ +| | | o | | | | | | | | libuv +| | | | o | | | | | | | autoconf +| | |_|/| | | | | | | | +| | | | |/ / / / / / / +| o | | | | | | | | | perl +| o | | | | | | | | | gdbm +| o | | | | | | | | | readline +```` + +## Configuring Kokkos as a Project Dependency +Say you have a project "SuperScience" which needs to use Kokkos. +In your `package.py` file, you would generally include something like: +````python +class SuperScience(CMakePackage): + ... + depends_on("kokkos") +```` +Often projects want to tweak behavior when using certain features, e.g. +````python + depends_on("kokkos+cuda", when="+cuda") +```` +if your project needs CUDA-specific logic to configure and build. +This illustrates the general principle in Spack of "flowing-up". +A user requests a feature in the final app: +````bash +> spack install superscience+cuda +```` +This flows upstream to the Kokkos dependency, causing the `kokkos+cuda` variant to build. +The downstream app (SuperScience) tells the upstream app (Kokkos) how to build. + +Because Kokkos is a performance portability library, it somewhat inverts this principle. +Kokkos "flows-down", telling your application how best to configure for performance. +Rather than a downstream app (SuperScience) telling the upstream (Kokkos) what variants to build, +a pre-built Kokkos should be telling the downstream app SuperScience what variants to use. +Kokkos works best when there is an "expert" configuration installed on your system. +Your build should simply request `-DKokkos_ROOT=` and configure appropriately based on the Kokkos it finds. + +Kokkos has many, many build variants. +Where possible, projects should only depend on a general Kokkos, not specific variants. +We recommend instead adding for each system you build on a Kokkos configuration to your `packages.yaml` file (usually found in `~/.spack` for specific users). +For a Xeon + Volta system, this could look like: +````yaml + kokkos: + variants: +cuda +openmp +cuda_lambda +wrapper ^cuda@10.1 cuda_arch=70 + compiler: [gcc@7.2.0] +```` +which gives the "best" Kokkos configuration as CUDA+OpenMP optimized for a Volta 70 architecture using CUDA 10.1. +It also enables support for CUDA Lambdas. +The `+wrapper` option tells Kokkos to build with the special `nvcc_wrapper` (more below). +Note here that we use the built-in `cuda_arch` variant of Spack to specify the archicture. +For a Haswell system, we use +````yaml + kokkos: + variants: +openmp std=14 target=haswell + compiler: [intel@18] +```` +which uses the built-in microarchitecture variants of Spack. +Consult the Spack documentation for more details of Spack microarchitectures +and CUDA architectures. +Spack does not currently provide an AMD GPU microarchitecture option. +If building for HIP or an AMD GPU, Kokkos provides an `amd_gpu_arch` similar to `cuda_arch`. +````yaml + kokkos: + variants: +hip amd_gpu_arch=vega900 +```` + +Without an optimal default in your `packages.yaml` file, it is highly likely that the default Kokkos configuration you get will not be what you want. +For example, CUDA is not enabled by default (there is no easy logic to conditionally activate this for CUDA-enabled systems). +If you don't specify a CUDA build variant in a `packages.yaml` and you build your Kokkos-dependent project: +````bash +> spack install superscience +```` +you may end up just getting the default Kokkos (i.e. Serial). +Some examples are included in the `config/yaml` folder for common platforms. +Before running `spack install ` we recommend running `spack spec ` to confirm your dependency tree is correct. +For example, with Kokkos Kernels: +````bash +kokkos-kernels@3.0%gcc@8.3.0~blas build_type=RelWithDebInfo ~cblas~complex_double~complex_float~cublas~cuda cuda_arch=none ~cusparse~diy+double execspace_cuda=auto execspace_openmp=auto execspace_serial=auto execspace_threads=auto ~float~lapack~lapacke+layoutleft~layoutright memspace_cudaspace=auto memspace_cudauvmspace=auto +memspace_hostspace~mkl+offset_int+offset_size_t~openmp+ordinal_int~ordinal_int64_t~serial~superlu arch=linux-rhel7-skylake_avx512 + ^cmake@3.16.2%gcc@8.3.0~doc+ncurses+openssl+ownlibs~qt arch=linux-rhel7-skylake_avx512 + ^kokkos@3.0%gcc@8.3.0~aggressive_vectorization~amdavx~armv80~armv81~armv8_thunderx~armv8_tx2~bdw~bgq build_type=RelWithDebInfo ~carrizo~compiler_warnings+cuda cuda_arch=none +cuda_lambda~cuda_ldg_intrinsic~cuda_relocatable_device_code~cuda_uvm~debug~debug_bounds_check~debug_dualview_modify_check~deprecated_code~diy~epyc~examples~explicit_instantiation~fiji~gfx901~hpx~hpx_async_dispatch~hsw~hwloc~kaveri~kepler30~kepler32~kepler35~kepler37~knc~knl~maxwell50~maxwell52~maxwell53~memkind~numactl+openmp~pascal60~pascal61~power7~power8~power9+profiling~profiling_load_print~pthread~qthread~rocm~ryzen~serial~skx~snb std=14 ~tests~turing75~vega+volta70~volta72+wrapper~wsm arch=linux-rhel7-skylake_avx512 + ^cuda@10.1%gcc@8.3.0 arch=linux-rhel7-skylake_avx512 + ^kokkos-nvcc-wrapper@old%gcc@8.3.0 build_type=RelWithDebInfo +mpi arch=linux-rhel7-skylake_avx512 + ^openmpi@4.0.2%gcc@8.3.0~cuda+cxx_exceptions fabrics=none ~java~legacylaunchers~memchecker patches=073477a76bba780c67c36e959cd3ee6910743e2735c7e76850ffba6791d498e4 ~pmi schedulers=none ~sqlite3~thread_multiple+vt arch=linux-rhel7-skylake_avx512 +```` +The output can be very verbose, but we can verify the expected `kokkos`: +````bash +kokkos@3.0%gcc@8.3.0~aggressive_vectorization~amdavx~armv80~armv81~armv8_thunderx~armv8_tx2~bdw~bgq build_type=RelWithDebInfo ~carrizo~compiler_warnings+cuda cuda_arch=none +cuda_lambda~cuda_ldg_intrinsic~cuda_relocatable_device_code~cuda_uvm~debug~debug_bounds_check~debug_dualview_modify_check~deprecated_code~diy~epyc~examples~explicit_instantiation~fiji~gfx901~hpx~hpx_async_dispatch~hsw~hwloc~kaveri~kepler30~kepler32~kepler35~kepler37~knc~knl~maxwell50~maxwell52~maxwell53~memkind~numactl+openmp~pascal60~pascal61~power7~power8~power9+profiling~profiling_load_print~pthread~qthread~rocm~ryzen~serial~skx~snb std=11 ~tests~turing75~vega+volta70~volta72+wrapper~wsm arch=linux-rhel7-skylake_avx512 +```` +We see that we do have `+volta70` and `+wrapper`, e.g. + +### Spack Environments +The encouraged way to use Spack is with Spack environments ([more details here](https://spack-tutorial.readthedocs.io/en/latest/tutorial_environments.html#dealing-with-many-specs-at-once)). +Rather than installing packages one-at-a-time, you add packages to an environment. +After adding all packages, you concretize and install them all. +Using environments, one can explicitly add a desired Kokkos for the environment, e.g. +````bash +> spack add kokkos +cuda +cuda_lambda +volta70 +> spack add my_project +my_variant +> ... +> spack install +```` +All packages within the environment will build against the CUDA-enabled Kokkos, +even if they only request a default Kokkos. + +## NVCC Wrapper +Kokkos is a C++ project, but often builds for the CUDA backend. +This is particularly problematic with CMake. At this point, `nvcc` does not accept all the flags that normally get passed to a C++ compiler. +Kokkos provides `nvcc_wrapper` that identifies correctly as a C++ compiler to CMake and accepts C++ flags, but uses `nvcc` as the underlying compiler. +`nvcc` itself also uses an underlying host compiler, e.g. GCC. + +In Spack, the underlying host compiler is specified as below, e.g.: +````bash +> spack install package %gcc@8.0.0 +```` +This is still valid for Kokkos. To use the special wrapper for CUDA builds, request a desired compiler and simply add the `+wrapper` variant. +````bash +> spack install kokkos +cuda +wrapper %gcc@7.2.0 +```` +Downstream projects depending on Kokkos need to override their compiler. +Kokkos provides the compiler in a `kokkos_cxx` variable, +which points to either `nvcc_wrapper` when needed or the regular compiler otherwise. +Spack projects already do this to use MPI compiler wrappers. +````python +def cmake_args(self): + options = [] + ... + options.append("-DCMAKE_CXX_COMPILER=%s" % self.spec["kokkos"].kokkos_cxx) + ... + return options +```` +Note: `nvcc_wrapper` works with the MPI compiler wrappers. +If building your project with MPI, do NOT set your compiler to `nvcc_wrapper`. +Instead set your compiler to `mpicxx` and `nvcc_wrapper` will be used under the hood. +````python +def cmake_args(self): + options = [] + ... + options.append("-DCMAKE_CXX_COMPILER=%s" % self.spec["mpi"].mpicxx) + ... + return options +```` +To accomplish this, `nvcc_wrapper` must depend on MPI (even though it uses no MPI). +This has the unfortunate consequence that Kokkos CUDA projects not using MPI will implicitly depend on MPI anyway. +This behavior is necessary for now, but will hopefully be removed later. +When using environments, if MPI is not needed, you can remove the MPI dependency with: +````bash +> spack add kokkos-nvcc-wrapper ~mpi +```` + +## Developing With Spack + +Spack has historically been much more suited to *deployment* of mature packages than active testing or developing. +However, recent features have improved support for development. +Future releases are likely to make this even easier and incorporate Git integration. +The most common commands will do a full build and install of the packages. +If doing development, you may wish to merely set up a build environment. +This allows you to modify the source and re-build. +In this case, you can stop after configuring. +Suppose you have Kokkos checkout in the folder `kokkos-src`: +````bash +> spack dev-build -d kokkos-src -u cmake kokkos@develop +wrapper +openmp +```` +This sets up a development environment for you in `kokkos-src` which you can use (Bash example shown): +Note: Always specify `develop` as the version when doing `dev-build`, except in rare cases. +You are usually developing a feature branch that will merge into `develop`, +hence you are making a new `develop` branch. + +````bash +> cd kokko-src +> source spack-build-env.txt +> cd spack-build +> make +```` +Before sourcing the Spack development environment, you may wish to save your current environment: +````bash +> declare -px > myenv.sh +```` +When done with Spack, you can then restore your original environment: +````bash +> source myenv.sh +```` diff --git a/lib/kokkos/algorithms/CMakeLists.txt b/lib/kokkos/algorithms/CMakeLists.txt index 38747c152c73d450fe12431707fc438f9622e293..fd099054ba457e2b1a0557fd08be835f50eef939 100644 --- a/lib/kokkos/algorithms/CMakeLists.txt +++ b/lib/kokkos/algorithms/CMakeLists.txt @@ -2,7 +2,9 @@ KOKKOS_SUBPACKAGE(Algorithms) -ADD_SUBDIRECTORY(src) +IF (NOT Kokkos_INSTALL_TESTING) + ADD_SUBDIRECTORY(src) +ENDIF() KOKKOS_ADD_TEST_DIRECTORIES(unit_tests) diff --git a/lib/kokkos/algorithms/src/CMakeLists.txt b/lib/kokkos/algorithms/src/CMakeLists.txt index 5afd319fcc7b0348b3401193f129897bcad11ebd..cf5564032c20bdae4593f44fc66c8b1e39e0833f 100644 --- a/lib/kokkos/algorithms/src/CMakeLists.txt +++ b/lib/kokkos/algorithms/src/CMakeLists.txt @@ -7,9 +7,15 @@ KOKKOS_INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}) #----------------------------------------------------------------------------- -FILE(GLOB HEADERS *.hpp) -FILE(GLOB SOURCES *.cpp) -LIST(APPEND HEADERS ${CMAKE_CURRENT_BINARY_DIR}/${PACKAGE_NAME}_config.h) +FILE(GLOB ALGO_HEADERS *.hpp) +FILE(GLOB ALGO_SOURCES *.cpp) +LIST(APPEND ALGO_HEADERS ${CMAKE_CURRENT_BINARY_DIR}/${PACKAGE_NAME}_config.h) + +INSTALL ( + DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/" + DESTINATION ${KOKKOS_HEADER_DIR} + FILES_MATCHING PATTERN "*.hpp" +) #----------------------------------------------------------------------------- @@ -17,8 +23,8 @@ LIST(APPEND HEADERS ${CMAKE_CURRENT_BINARY_DIR}/${PACKAGE_NAME}_config.h) # These will get ignored for standalone CMake and a true interface library made KOKKOS_ADD_INTERFACE_LIBRARY( kokkosalgorithms - HEADERS ${HEADERS} - SOURCES ${SOURCES} + HEADERS ${ALGO_HEADERS} + SOURCES ${ALGO_SOURCES} ) KOKKOS_LIB_INCLUDE_DIRECTORIES(kokkosalgorithms ${KOKKOS_TOP_BUILD_DIR} diff --git a/lib/kokkos/algorithms/src/Kokkos_Random.hpp b/lib/kokkos/algorithms/src/Kokkos_Random.hpp index 0a7967523656cda4f96ca911116a4a5a06a30830..40d8db26635937e240a5b66737b368584236c007 100644 --- a/lib/kokkos/algorithms/src/Kokkos_Random.hpp +++ b/lib/kokkos/algorithms/src/Kokkos_Random.hpp @@ -94,9 +94,9 @@ namespace Kokkos { class Pool { public: //The Kokkos device type - typedef Device device_type; + using device_type = Device; //The actual generator type - typedef Generator generator_type; + using generator_type = Generator; //Default constructor: does not initialize a pool Pool(); @@ -124,7 +124,7 @@ namespace Kokkos { class Generator { public: //The Kokkos device type - typedef DeviceType device_type; + using device_type = DeviceType; //Max return values of respective [X]rand[S]() functions enum {MAX_URAND = 0xffffffffU}; @@ -138,75 +138,75 @@ namespace Kokkos { KOKKOS_INLINE_FUNCTION Generator (STATE_ARGUMENTS, int state_idx = 0); - //Draw a equidistributed uint32_t in the range (0,MAX_URAND] + //Draw a equidistributed uint32_t in the range [0,MAX_URAND) KOKKOS_INLINE_FUNCTION uint32_t urand(); - //Draw a equidistributed uint64_t in the range (0,MAX_URAND64] + //Draw a equidistributed uint64_t in the range [0,MAX_URAND64) KOKKOS_INLINE_FUNCTION uint64_t urand64(); - //Draw a equidistributed uint32_t in the range (0,range] + //Draw a equidistributed uint32_t in the range [0,range) KOKKOS_INLINE_FUNCTION uint32_t urand(const uint32_t& range); - //Draw a equidistributed uint32_t in the range (start,end] + //Draw a equidistributed uint32_t in the range [start,end) KOKKOS_INLINE_FUNCTION uint32_t urand(const uint32_t& start, const uint32_t& end ); - //Draw a equidistributed uint64_t in the range (0,range] + //Draw a equidistributed uint64_t in the range [0,range) KOKKOS_INLINE_FUNCTION uint64_t urand64(const uint64_t& range); - //Draw a equidistributed uint64_t in the range (start,end] + //Draw a equidistributed uint64_t in the range [start,end) KOKKOS_INLINE_FUNCTION uint64_t urand64(const uint64_t& start, const uint64_t& end ); - //Draw a equidistributed int in the range (0,MAX_RAND] + //Draw a equidistributed int in the range [0,MAX_RAND) KOKKOS_INLINE_FUNCTION int rand(); - //Draw a equidistributed int in the range (0,range] + //Draw a equidistributed int in the range [0,range) KOKKOS_INLINE_FUNCTION int rand(const int& range); - //Draw a equidistributed int in the range (start,end] + //Draw a equidistributed int in the range [start,end) KOKKOS_INLINE_FUNCTION int rand(const int& start, const int& end ); - //Draw a equidistributed int64_t in the range (0,MAX_RAND64] + //Draw a equidistributed int64_t in the range [0,MAX_RAND64) KOKKOS_INLINE_FUNCTION int64_t rand64(); - //Draw a equidistributed int64_t in the range (0,range] + //Draw a equidistributed int64_t in the range [0,range) KOKKOS_INLINE_FUNCTION int64_t rand64(const int64_t& range); - //Draw a equidistributed int64_t in the range (start,end] + //Draw a equidistributed int64_t in the range [start,end) KOKKOS_INLINE_FUNCTION int64_t rand64(const int64_t& start, const int64_t& end ); - //Draw a equidistributed float in the range (0,1.0] + //Draw a equidistributed float in the range [0,1.0) KOKKOS_INLINE_FUNCTION float frand(); - //Draw a equidistributed float in the range (0,range] + //Draw a equidistributed float in the range [0,range) KOKKOS_INLINE_FUNCTION float frand(const float& range); - //Draw a equidistributed float in the range (start,end] + //Draw a equidistributed float in the range [start,end) KOKKOS_INLINE_FUNCTION float frand(const float& start, const float& end ); - //Draw a equidistributed double in the range (0,1.0] + //Draw a equidistributed double in the range [0,1.0) KOKKOS_INLINE_FUNCTION double drand(); - //Draw a equidistributed double in the range (0,range] + //Draw a equidistributed double in the range [0,range) KOKKOS_INLINE_FUNCTION double drand(const double& range); - //Draw a equidistributed double in the range (start,end] + //Draw a equidistributed double in the range [start,end) KOKKOS_INLINE_FUNCTION double drand(const double& start, const double& end ); @@ -221,11 +221,11 @@ namespace Kokkos { //Additional Functions: - //Fills view with random numbers in the range (0,range] + //Fills view with random numbers in the range [0,range) template void fill_random(ViewType view, PoolType pool, ViewType::value_type range); - //Fills view with random numbers in the range (start,end] + //Fills view with random numbers in the range [start,end) template void fill_random(ViewType view, PoolType pool, ViewType::value_type start, ViewType::value_type end); @@ -381,7 +381,7 @@ struct rand { // NOTE (mfh 26 oct 2014) This is a partial specialization for long // long, a C99 / C++11 signed type which is guaranteed to be at // least 64 bits. Do NOT write a partial specialization for -// int64_t!!! This is just a typedef! It could be either long or +// int64_t!!! This is just an alias! It could be either long or // long long. We don't know which a priori, and I've seen both. // The types long and long long are guaranteed to differ, so it's // always safe to specialize for both. @@ -413,7 +413,7 @@ struct rand { // NOTE (mfh 26 oct 2014) This is a partial specialization for // unsigned long long, a C99 / C++11 unsigned type which is // guaranteed to be at least 64 bits. Do NOT write a partial -// specialization for uint64_t!!! This is just a typedef! It could +// specialization for uint64_t!!! This is just an alias! It could // be either unsigned long or unsigned long long. We don't know // which a priori, and I've seen both. The types unsigned long and // unsigned long long are guaranteed to differ, so it's always safe @@ -604,11 +604,7 @@ struct Random_UniqueIndex { KOKKOS_FUNCTION static int get_state_idx(const locks_view_type) { #ifdef KOKKOS_ACTIVE_EXECUTION_MEMORY_SPACE_HOST -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - const int i = ExecutionSpace::hardware_thread_id(); -#else const int i = ExecutionSpace::impl_hardware_thread_id(); -#endif return i; #else return 0; @@ -652,15 +648,13 @@ struct Random_UniqueIndex { static int get_state_idx(const locks_view_type& locks_) { #ifdef __HIP_DEVICE_COMPILE__ const int i_offset = - (hipThreadIdx_x * hipBlockDim_y + hipThreadIdx_y) * hipBlockDim_z + - hipThreadIdx_z; - int i = (((hipBlockIdx_x * hipGridDim_y + hipBlockIdx_y) * hipGridDim_z + - hipBlockIdx_z) * - hipBlockDim_x * hipBlockDim_y * hipBlockDim_z + + (threadIdx.x * blockDim.y + threadIdx.y) * blockDim.z + threadIdx.z; + int i = (((blockIdx.x * gridDim.y + blockIdx.y) * gridDim.z + blockIdx.z) * + blockDim.x * blockDim.y * blockDim.z + i_offset) % locks_.extent(0); while (Kokkos::atomic_compare_exchange(&locks_(i), 0, 1)) { - i += hipBlockDim_x * hipBlockDim_y * hipBlockDim_z; + i += blockDim.x * blockDim.y * blockDim.z; if (i >= static_cast(locks_.extent(0))) { i = i_offset; } @@ -687,7 +681,7 @@ class Random_XorShift64 { friend class Random_XorShift64_Pool; public: - typedef DeviceType device_type; + using device_type = DeviceType; constexpr static uint32_t MAX_URAND = std::numeric_limits::max(); constexpr static uint64_t MAX_URAND64 = std::numeric_limits::max(); @@ -805,11 +799,6 @@ class Random_XorShift64 { // number KOKKOS_INLINE_FUNCTION double normal() { -#ifndef __HIP_DEVICE_COMPILE__ // FIXME_HIP - using std::sqrt; -#else - using ::sqrt; -#endif double S = 2.0; double U; while (S >= 1.0) { @@ -817,7 +806,7 @@ class Random_XorShift64 { const double V = 2.0 * drand() - 1.0; S = U * U + V * V; } - return U * sqrt(-2.0 * log(S) / S); + return U * std::sqrt(-2.0 * log(S) / S); } KOKKOS_INLINE_FUNCTION @@ -830,15 +819,15 @@ template class Random_XorShift64_Pool { private: using execution_space = typename DeviceType::execution_space; - typedef View locks_type; - typedef View state_data_type; + using locks_type = View; + using state_data_type = View; locks_type locks_; state_data_type state_; int num_states_; public: - typedef Random_XorShift64 generator_type; - typedef DeviceType device_type; + using generator_type = Random_XorShift64; + using device_type = DeviceType; KOKKOS_INLINE_FUNCTION Random_XorShift64_Pool() { num_states_ = 0; } @@ -923,8 +912,8 @@ class Random_XorShift1024 { friend class Random_XorShift1024_Pool; public: - typedef Random_XorShift1024_Pool pool_type; - typedef DeviceType device_type; + using pool_type = Random_XorShift1024_Pool; + using device_type = DeviceType; constexpr static uint32_t MAX_URAND = std::numeric_limits::max(); constexpr static uint64_t MAX_URAND64 = std::numeric_limits::max(); @@ -1046,11 +1035,6 @@ class Random_XorShift1024 { // number KOKKOS_INLINE_FUNCTION double normal() { -#ifndef KOKKOS_ENABLE_HIP // FIXME_HIP - using std::sqrt; -#else - using ::sqrt; -#endif double S = 2.0; double U; while (S >= 1.0) { @@ -1058,7 +1042,7 @@ class Random_XorShift1024 { const double V = 2.0 * drand() - 1.0; S = U * U + V * V; } - return U * sqrt(-2.0 * log(S) / S); + return U * std::sqrt(-2.0 * log(S) / S); } KOKKOS_INLINE_FUNCTION @@ -1071,9 +1055,9 @@ template class Random_XorShift1024_Pool { private: using execution_space = typename DeviceType::execution_space; - typedef View locks_type; - typedef View int_view_type; - typedef View state_data_type; + using locks_type = View; + using int_view_type = View; + using state_data_type = View; locks_type locks_; state_data_type state_; @@ -1082,9 +1066,9 @@ class Random_XorShift1024_Pool { friend class Random_XorShift1024; public: - typedef Random_XorShift1024 generator_type; + using generator_type = Random_XorShift1024; - typedef DeviceType device_type; + using device_type = DeviceType; KOKKOS_INLINE_FUNCTION Random_XorShift1024_Pool() { num_states_ = 0; } @@ -1176,14 +1160,13 @@ struct fill_random_functor_begin_end; template struct fill_random_functor_range { - typedef typename ViewType::execution_space execution_space; + using execution_space = typename ViewType::execution_space; ViewType a; RandomPool rand_pool; typename ViewType::const_value_type range; - typedef rand - Rand; + using Rand = rand; fill_random_functor_range(ViewType a_, RandomPool rand_pool_, typename ViewType::const_value_type range_) @@ -1203,14 +1186,13 @@ struct fill_random_functor_range { template struct fill_random_functor_range { - typedef typename ViewType::execution_space execution_space; + using execution_space = typename ViewType::execution_space; ViewType a; RandomPool rand_pool; typename ViewType::const_value_type range; - typedef rand - Rand; + using Rand = rand; fill_random_functor_range(ViewType a_, RandomPool rand_pool_, typename ViewType::const_value_type range_) @@ -1232,14 +1214,13 @@ struct fill_random_functor_range { template struct fill_random_functor_range { - typedef typename ViewType::execution_space execution_space; + using execution_space = typename ViewType::execution_space; ViewType a; RandomPool rand_pool; typename ViewType::const_value_type range; - typedef rand - Rand; + using Rand = rand; fill_random_functor_range(ViewType a_, RandomPool rand_pool_, typename ViewType::const_value_type range_) @@ -1262,14 +1243,13 @@ struct fill_random_functor_range { template struct fill_random_functor_range { - typedef typename ViewType::execution_space execution_space; + using execution_space = typename ViewType::execution_space; ViewType a; RandomPool rand_pool; typename ViewType::const_value_type range; - typedef rand - Rand; + using Rand = rand; fill_random_functor_range(ViewType a_, RandomPool rand_pool_, typename ViewType::const_value_type range_) @@ -1293,14 +1273,13 @@ struct fill_random_functor_range { template struct fill_random_functor_range { - typedef typename ViewType::execution_space execution_space; + using execution_space = typename ViewType::execution_space; ViewType a; RandomPool rand_pool; typename ViewType::const_value_type range; - typedef rand - Rand; + using Rand = rand; fill_random_functor_range(ViewType a_, RandomPool rand_pool_, typename ViewType::const_value_type range_) @@ -1326,14 +1305,13 @@ struct fill_random_functor_range { template struct fill_random_functor_range { - typedef typename ViewType::execution_space execution_space; + using execution_space = typename ViewType::execution_space; ViewType a; RandomPool rand_pool; typename ViewType::const_value_type range; - typedef rand - Rand; + using Rand = rand; fill_random_functor_range(ViewType a_, RandomPool rand_pool_, typename ViewType::const_value_type range_) @@ -1361,14 +1339,13 @@ struct fill_random_functor_range { template struct fill_random_functor_range { - typedef typename ViewType::execution_space execution_space; + using execution_space = typename ViewType::execution_space; ViewType a; RandomPool rand_pool; typename ViewType::const_value_type range; - typedef rand - Rand; + using Rand = rand; fill_random_functor_range(ViewType a_, RandomPool rand_pool_, typename ViewType::const_value_type range_) @@ -1398,14 +1375,13 @@ struct fill_random_functor_range { template struct fill_random_functor_range { - typedef typename ViewType::execution_space execution_space; + using execution_space = typename ViewType::execution_space; ViewType a; RandomPool rand_pool; typename ViewType::const_value_type range; - typedef rand - Rand; + using Rand = rand; fill_random_functor_range(ViewType a_, RandomPool rand_pool_, typename ViewType::const_value_type range_) @@ -1437,14 +1413,13 @@ struct fill_random_functor_range { template struct fill_random_functor_begin_end { - typedef typename ViewType::execution_space execution_space; + using execution_space = typename ViewType::execution_space; ViewType a; RandomPool rand_pool; typename ViewType::const_value_type begin, end; - typedef rand - Rand; + using Rand = rand; fill_random_functor_begin_end(ViewType a_, RandomPool rand_pool_, typename ViewType::const_value_type begin_, @@ -1466,14 +1441,13 @@ struct fill_random_functor_begin_end struct fill_random_functor_begin_end { - typedef typename ViewType::execution_space execution_space; + using execution_space = typename ViewType::execution_space; ViewType a; RandomPool rand_pool; typename ViewType::const_value_type begin, end; - typedef rand - Rand; + using Rand = rand; fill_random_functor_begin_end(ViewType a_, RandomPool rand_pool_, typename ViewType::const_value_type begin_, @@ -1497,14 +1471,13 @@ struct fill_random_functor_begin_end struct fill_random_functor_begin_end { - typedef typename ViewType::execution_space execution_space; + using execution_space = typename ViewType::execution_space; ViewType a; RandomPool rand_pool; typename ViewType::const_value_type begin, end; - typedef rand - Rand; + using Rand = rand; fill_random_functor_begin_end(ViewType a_, RandomPool rand_pool_, typename ViewType::const_value_type begin_, @@ -1529,14 +1502,13 @@ struct fill_random_functor_begin_end struct fill_random_functor_begin_end { - typedef typename ViewType::execution_space execution_space; + using execution_space = typename ViewType::execution_space; ViewType a; RandomPool rand_pool; typename ViewType::const_value_type begin, end; - typedef rand - Rand; + using Rand = rand; fill_random_functor_begin_end(ViewType a_, RandomPool rand_pool_, typename ViewType::const_value_type begin_, @@ -1562,14 +1534,13 @@ struct fill_random_functor_begin_end struct fill_random_functor_begin_end { - typedef typename ViewType::execution_space execution_space; + using execution_space = typename ViewType::execution_space; ViewType a; RandomPool rand_pool; typename ViewType::const_value_type begin, end; - typedef rand - Rand; + using Rand = rand; fill_random_functor_begin_end(ViewType a_, RandomPool rand_pool_, typename ViewType::const_value_type begin_, @@ -1597,14 +1568,13 @@ struct fill_random_functor_begin_end struct fill_random_functor_begin_end { - typedef typename ViewType::execution_space execution_space; + using execution_space = typename ViewType::execution_space; ViewType a; RandomPool rand_pool; typename ViewType::const_value_type begin, end; - typedef rand - Rand; + using Rand = rand; fill_random_functor_begin_end(ViewType a_, RandomPool rand_pool_, typename ViewType::const_value_type begin_, @@ -1634,14 +1604,13 @@ struct fill_random_functor_begin_end struct fill_random_functor_begin_end { - typedef typename ViewType::execution_space execution_space; + using execution_space = typename ViewType::execution_space; ViewType a; RandomPool rand_pool; typename ViewType::const_value_type begin, end; - typedef rand - Rand; + using Rand = rand; fill_random_functor_begin_end(ViewType a_, RandomPool rand_pool_, typename ViewType::const_value_type begin_, @@ -1673,14 +1642,13 @@ struct fill_random_functor_begin_end struct fill_random_functor_begin_end { - typedef typename ViewType::execution_space execution_space; + using execution_space = typename ViewType::execution_space; ViewType a; RandomPool rand_pool; typename ViewType::const_value_type begin, end; - typedef rand - Rand; + using Rand = rand; fill_random_functor_begin_end(ViewType a_, RandomPool rand_pool_, typename ViewType::const_value_type begin_, diff --git a/lib/kokkos/algorithms/src/Kokkos_Sort.hpp b/lib/kokkos/algorithms/src/Kokkos_Sort.hpp index 1c79a505bb916a5190a37961620349b10a1babe5..a95b652eab1099bce02352c220f3ce75081b9455 100644 --- a/lib/kokkos/algorithms/src/Kokkos_Sort.hpp +++ b/lib/kokkos/algorithms/src/Kokkos_Sort.hpp @@ -95,9 +95,9 @@ class BinSort { public: template struct copy_functor { - typedef typename SrcViewType::const_type src_view_type; + using src_view_type = typename SrcViewType::const_type; - typedef Impl::CopyOp copy_op; + using copy_op = Impl::CopyOp; DstViewType dst_values; src_view_type src_values; @@ -120,17 +120,17 @@ class BinSort { // If a Kokkos::View then can generate constant random access // otherwise can only use the constant type. - typedef typename std::conditional< + using src_view_type = typename std::conditional< Kokkos::is_view::value, Kokkos::View >, - typename SrcViewType::const_type>::type src_view_type; + typename SrcViewType::const_type>::type; - typedef typename PermuteViewType::const_type perm_view_type; + using perm_view_type = typename PermuteViewType::const_type; - typedef Impl::CopyOp copy_op; + using copy_op = Impl::CopyOp; DstViewType dst_values; perm_view_type sort_order; @@ -151,8 +151,8 @@ class BinSort { } }; - typedef typename Space::execution_space execution_space; - typedef BinSortOp bin_op_type; + using execution_space = typename Space::execution_space; + using bin_op_type = BinSortOp; struct bin_count_tag {}; struct bin_offset_tag {}; @@ -160,30 +160,30 @@ class BinSort { struct bin_sort_bins_tag {}; public: - typedef SizeType size_type; - typedef size_type value_type; + using size_type = SizeType; + using value_type = size_type; - typedef Kokkos::View offset_type; - typedef Kokkos::View bin_count_type; + using offset_type = Kokkos::View; + using bin_count_type = Kokkos::View; - typedef typename KeyViewType::const_type const_key_view_type; + using const_key_view_type = typename KeyViewType::const_type; // If a Kokkos::View then can generate constant random access // otherwise can only use the constant type. - typedef typename std::conditional< + using const_rnd_key_view_type = typename std::conditional< Kokkos::is_view::value, Kokkos::View >, - const_key_view_type>::type const_rnd_key_view_type; + const_key_view_type>::type; - typedef typename KeyViewType::non_const_value_type non_const_key_scalar; - typedef typename KeyViewType::const_value_type const_key_scalar; + using non_const_key_scalar = typename KeyViewType::non_const_value_type; + using const_key_scalar = typename KeyViewType::const_value_type; - typedef Kokkos::View > - bin_count_atomic_type; + using bin_count_atomic_type = + Kokkos::View >; private: const_key_view_type keys; @@ -266,10 +266,10 @@ class BinSort { template void sort(ValuesViewType const& values, int values_range_begin, int values_range_end) const { - typedef Kokkos::View - scratch_view_type; + using scratch_view_type = + Kokkos::View; const size_t len = range_end - range_begin; const size_t values_len = values_range_end - values_range_begin; @@ -278,13 +278,6 @@ class BinSort { "BinSort::sort: values range length != permutation vector length"); } -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - scratch_view_type sorted_values( - ViewAllocateWithoutInitializing( - "Kokkos::SortImpl::BinSortFunctor::sorted_values"), - len, values.extent(1), values.extent(2), values.extent(3), - values.extent(4), values.extent(5), values.extent(6), values.extent(7)); -#else scratch_view_type sorted_values( ViewAllocateWithoutInitializing( "Kokkos::SortImpl::BinSortFunctor::sorted_values"), @@ -303,7 +296,6 @@ class BinSort { : KOKKOS_IMPL_CTOR_DEFAULT_ARG, values.rank_dynamic > 7 ? values.extent(7) : KOKKOS_IMPL_CTOR_DEFAULT_ARG); -#endif { copy_permute_functor struct min_max_functor { - typedef Kokkos::MinMaxScalar - minmax_scalar; + using minmax_scalar = + Kokkos::MinMaxScalar; ViewType view; min_max_functor(const ViewType& view_) : view(view_) {} @@ -531,7 +523,7 @@ void sort(ViewType const& view, bool const always_use_kokkos_sort = false) { if (!always_use_kokkos_sort) { if (Impl::try_std_sort(view)) return; } - typedef BinOp1D CompType; + using CompType = BinOp1D; Kokkos::MinMaxScalar result; Kokkos::MinMax reducer(result); @@ -548,8 +540,8 @@ void sort(ViewType const& view, bool const always_use_kokkos_sort = false) { template void sort(ViewType view, size_t const begin, size_t const end) { - typedef Kokkos::RangePolicy range_policy; - typedef BinOp1D CompType; + using range_policy = Kokkos::RangePolicy; + using CompType = BinOp1D; Kokkos::MinMaxScalar result; Kokkos::MinMax reducer(result); diff --git a/lib/kokkos/algorithms/unit_tests/CMakeLists.txt b/lib/kokkos/algorithms/unit_tests/CMakeLists.txt index e3563a8b98bca7cf853df4e1deeae8ab9a34ee6b..969e67c41bce0743ae45a04cb54cbde99dc29116 100644 --- a/lib/kokkos/algorithms/unit_tests/CMakeLists.txt +++ b/lib/kokkos/algorithms/unit_tests/CMakeLists.txt @@ -20,14 +20,18 @@ KOKKOS_ADD_TEST_LIBRARY( HEADERS ${GTEST_SOURCE_DIR}/gtest/gtest.h SOURCES ${GTEST_SOURCE_DIR}/gtest/gtest-all.cc ) -# WORKAROUND FOR HIPCC -IF(Kokkos_ENABLE_HIP) - TARGET_COMPILE_DEFINITIONS(kokkosalgorithms_gtest PUBLIC "-DGTEST_HAS_PTHREAD=0 --amdgpu-target=gfx906") -ELSE() - TARGET_COMPILE_DEFINITIONS(kokkosalgorithms_gtest PUBLIC "-DGTEST_HAS_PTHREAD=0") -ENDIF() +# avoid deprecation warnings from MSVC +TARGET_COMPILE_DEFINITIONS(kokkosalgorithms_gtest PUBLIC GTEST_HAS_TR1_TUPLE=0 GTEST_HAS_PTHREAD=0) + +IF(NOT (Kokkos_ENABLE_CUDA AND WIN32)) TARGET_COMPILE_FEATURES(kokkosalgorithms_gtest PUBLIC cxx_std_11) +ENDIF() + +# Suppress clang-tidy diagnostics on code that we do not have control over +IF(CMAKE_CXX_CLANG_TIDY) + SET_TARGET_PROPERTIES(kokkosalgorithms_gtest PROPERTIES CXX_CLANG_TIDY "") +ENDIF() SET(SOURCES UnitTestMain.cpp diff --git a/lib/kokkos/algorithms/unit_tests/TestRandom.hpp b/lib/kokkos/algorithms/unit_tests/TestRandom.hpp index 10a496242b692ba9987ca8b1bf62812cd189235f..caba92c152faac40d46feabb7407e1e6a4e9fb5d 100644 --- a/lib/kokkos/algorithms/unit_tests/TestRandom.hpp +++ b/lib/kokkos/algorithms/unit_tests/TestRandom.hpp @@ -111,10 +111,10 @@ struct RandomProperties { template struct test_random_functor { - typedef typename GeneratorPool::generator_type rnd_type; + using rnd_type = typename GeneratorPool::generator_type; - typedef RandomProperties value_type; - typedef typename GeneratorPool::device_type device_type; + using value_type = RandomProperties; + using device_type = typename GeneratorPool::device_type; GeneratorPool rand_pool; const double mean; @@ -125,12 +125,12 @@ struct test_random_functor { // implementations might violate this upper bound, due to rounding // error. Just in case, we leave an extra space at the end of each // dimension, in the View types below. - typedef Kokkos::View - type_1d; + using type_1d = + Kokkos::View; type_1d density_1d; - typedef Kokkos::View - type_3d; + using type_3d = + Kokkos::View; type_3d density_3d; test_random_functor(GeneratorPool rand_pool_, type_1d d1d, type_3d d3d) @@ -200,9 +200,9 @@ struct test_random_functor { template struct test_histogram1d_functor { - typedef RandomProperties value_type; - typedef typename DeviceType::execution_space execution_space; - typedef typename DeviceType::memory_space memory_space; + using value_type = RandomProperties; + using execution_space = typename DeviceType::execution_space; + using memory_space = typename DeviceType::memory_space; // NOTE (mfh 03 Nov 2014): Kokkos::rand::max() is supposed to define // an exclusive upper bound on the range of random numbers that @@ -210,7 +210,7 @@ struct test_histogram1d_functor { // implementations might violate this upper bound, due to rounding // error. Just in case, we leave an extra space at the end of each // dimension, in the View type below. - typedef Kokkos::View type_1d; + using type_1d = Kokkos::View; type_1d density_1d; double mean; @@ -219,7 +219,7 @@ struct test_histogram1d_functor { KOKKOS_INLINE_FUNCTION void operator()( const typename memory_space::size_type i, RandomProperties& prop) const { - typedef typename memory_space::size_type size_type; + using size_type = typename memory_space::size_type; const double count = density_1d(i); prop.mean += count; prop.variance += 1.0 * (count - mean) * (count - mean); @@ -234,9 +234,9 @@ struct test_histogram1d_functor { template struct test_histogram3d_functor { - typedef RandomProperties value_type; - typedef typename DeviceType::execution_space execution_space; - typedef typename DeviceType::memory_space memory_space; + using value_type = RandomProperties; + using execution_space = typename DeviceType::execution_space; + using memory_space = typename DeviceType::memory_space; // NOTE (mfh 03 Nov 2014): Kokkos::rand::max() is supposed to define // an exclusive upper bound on the range of random numbers that @@ -244,9 +244,9 @@ struct test_histogram3d_functor { // implementations might violate this upper bound, due to rounding // error. Just in case, we leave an extra space at the end of each // dimension, in the View type below. - typedef Kokkos::View - type_3d; + using type_3d = + Kokkos::View; type_3d density_3d; double mean; @@ -255,7 +255,7 @@ struct test_histogram3d_functor { KOKKOS_INLINE_FUNCTION void operator()( const typename memory_space::size_type i, RandomProperties& prop) const { - typedef typename memory_space::size_type size_type; + using size_type = typename memory_space::size_type; const double count = density_3d( i / (HIST_DIM3D * HIST_DIM3D), (i % (HIST_DIM3D * HIST_DIM3D)) / HIST_DIM3D, i % HIST_DIM3D); @@ -276,7 +276,7 @@ struct test_histogram3d_functor { // template struct test_random_scalar { - typedef typename RandomGenerator::generator_type rnd_type; + using rnd_type = typename RandomGenerator::generator_type; int pass_mean, pass_var, pass_covar; int pass_hist1d_mean, pass_hist1d_var, pass_hist1d_covar; @@ -294,7 +294,7 @@ struct test_random_scalar { cout << " -- Testing randomness properties" << endl; RandomProperties result; - typedef test_random_functor functor_type; + using functor_type = test_random_functor; parallel_reduce(num_draws / 1024, functor_type(pool, density_1d, density_3d), result); @@ -325,8 +325,8 @@ struct test_random_scalar { cout << " -- Testing 1-D histogram" << endl; RandomProperties result; - typedef test_histogram1d_functor - functor_type; + using functor_type = + test_histogram1d_functor; parallel_reduce(HIST_DIM1D, functor_type(density_1d, num_draws), result); double tolerance = 6 * std::sqrt(1.0 / HIST_DIM1D); @@ -357,8 +357,8 @@ struct test_random_scalar { cout << " -- Testing 3-D histogram" << endl; RandomProperties result; - typedef test_histogram3d_functor - functor_type; + using functor_type = + test_histogram3d_functor; parallel_reduce(HIST_DIM1D, functor_type(density_3d, num_draws), result); double tolerance = 6 * std::sqrt(1.0 / HIST_DIM1D); diff --git a/lib/kokkos/algorithms/unit_tests/TestSort.hpp b/lib/kokkos/algorithms/unit_tests/TestSort.hpp index b6ff91c25fa9b6c28bea35f6ac5f5df2800a4121..a3c362ec201bae07df05867d07136e26e73204d0 100644 --- a/lib/kokkos/algorithms/unit_tests/TestSort.hpp +++ b/lib/kokkos/algorithms/unit_tests/TestSort.hpp @@ -55,8 +55,8 @@ namespace Impl { template struct is_sorted_struct { - typedef unsigned int value_type; - typedef ExecutionSpace execution_space; + using value_type = unsigned int; + using execution_space = ExecutionSpace; Kokkos::View keys; @@ -69,8 +69,8 @@ struct is_sorted_struct { template struct sum { - typedef double value_type; - typedef ExecutionSpace execution_space; + using value_type = double; + using execution_space = ExecutionSpace; Kokkos::View keys; @@ -81,8 +81,8 @@ struct sum { template struct bin3d_is_sorted_struct { - typedef unsigned int value_type; - typedef ExecutionSpace execution_space; + using value_type = unsigned int; + using execution_space = ExecutionSpace; Kokkos::View keys; @@ -115,8 +115,8 @@ struct bin3d_is_sorted_struct { template struct sum3D { - typedef double value_type; - typedef ExecutionSpace execution_space; + using value_type = double; + using execution_space = ExecutionSpace; Kokkos::View keys; @@ -131,7 +131,7 @@ struct sum3D { template void test_1D_sort_impl(unsigned int n, bool force_kokkos) { - typedef Kokkos::View KeyViewType; + using KeyViewType = Kokkos::View; KeyViewType keys("Keys", n); // Test sorting array with all numbers equal @@ -166,7 +166,7 @@ void test_1D_sort_impl(unsigned int n, bool force_kokkos) { template void test_3D_sort_impl(unsigned int n) { - typedef Kokkos::View KeyViewType; + using KeyViewType = Kokkos::View; KeyViewType keys("Keys", n * n * n); @@ -186,7 +186,7 @@ void test_3D_sort_impl(unsigned int n) { typename KeyViewType::value_type min[3] = {0, 0, 0}; typename KeyViewType::value_type max[3] = {100, 100, 100}; - typedef Kokkos::BinOp3D BinOp; + using BinOp = Kokkos::BinOp3D; BinOp bin_op(bin_max, min, max); Kokkos::BinSort Sorter(keys, bin_op, false); Sorter.create_permute_vector(); @@ -215,9 +215,9 @@ void test_3D_sort_impl(unsigned int n) { template void test_dynamic_view_sort_impl(unsigned int n) { - typedef Kokkos::Experimental::DynamicView - KeyDynamicViewType; - typedef Kokkos::View KeyViewType; + using KeyDynamicViewType = + Kokkos::Experimental::DynamicView; + using KeyViewType = Kokkos::View; const size_t upper_bound = 2 * n; const size_t min_chunk_size = 1024; @@ -305,8 +305,8 @@ void test_issue_1160_impl() { Kokkos::deep_copy(x_, h_x); Kokkos::deep_copy(v_, h_v); - typedef decltype(element_) KeyViewType; - typedef Kokkos::BinOp1D BinOp; + using KeyViewType = decltype(element_); + using BinOp = Kokkos::BinOp1D; int begin = 3; int end = 8; diff --git a/lib/kokkos/appveyor.yml b/lib/kokkos/appveyor.yml index 8f139ba6ab1b20749dac0275aa8cf64618087380..c40bf066b7a9c6e9de822cc8124147fa8f241de9 100644 --- a/lib/kokkos/appveyor.yml +++ b/lib/kokkos/appveyor.yml @@ -5,6 +5,6 @@ build_script: - cmd: >- mkdir build && cd build && - cmake c:\projects\source -DKokkos_ENABLE_TESTS=ON -DKokkos_ENABLE_LIBDL=OFF -DKokkos_ENABLE_PROFILING=OFF && + cmake c:\projects\source -DKokkos_ENABLE_TESTS=ON && cmake --build . --target install && ctest -C Debug -V diff --git a/lib/kokkos/benchmarks/atomic/main.cpp b/lib/kokkos/benchmarks/atomic/main.cpp index 5f0977f75484e4103e74c4ecaf2d0ad6ec2f3acb..7b5caa1aee1658104a8916bec314759e3e5ba30a 100644 --- a/lib/kokkos/benchmarks/atomic/main.cpp +++ b/lib/kokkos/benchmarks/atomic/main.cpp @@ -69,13 +69,13 @@ int main(int argc, char* argv[]) { return 0; } - int L = atoi(argv[1]); - int N = atoi(argv[2]); - int M = atoi(argv[3]); - int D = atoi(argv[4]); - int K = atoi(argv[5]); - int R = atoi(argv[6]); - int type = atoi(argv[7]); + int L = std::stoi(argv[1]); + int N = std::stoi(argv[2]); + int M = std::stoi(argv[3]); + int D = std::stoi(argv[4]); + int K = std::stoi(argv[5]); + int R = std::stoi(argv[6]); + int type = std::stoi(argv[7]); Kokkos::View offsets("Offsets", L, M); Kokkos::Random_XorShift64_Pool<> pool(12371); diff --git a/lib/kokkos/benchmarks/bytes_and_flops/main.cpp b/lib/kokkos/benchmarks/bytes_and_flops/main.cpp index c21a16200e4ed0cf48e8d9e4b1dd25d9753e95c5..6da2407a08b7afb981ffb8c3a970b2df7d55f951 100644 --- a/lib/kokkos/benchmarks/bytes_and_flops/main.cpp +++ b/lib/kokkos/benchmarks/bytes_and_flops/main.cpp @@ -73,15 +73,15 @@ int main(int argc, char* argv[]) { return 0; } - int P = atoi(argv[1]); - int N = atoi(argv[2]); - int K = atoi(argv[3]); - int R = atoi(argv[4]); - int D = atoi(argv[5]); - int U = atoi(argv[6]); - int F = atoi(argv[7]); - int T = atoi(argv[8]); - int S = atoi(argv[9]); + int P = std::stoi(argv[1]); + int N = std::stoi(argv[2]); + int K = std::stoi(argv[3]); + int R = std::stoi(argv[4]); + int D = std::stoi(argv[5]); + int U = std::stoi(argv[6]); + int F = std::stoi(argv[7]); + int T = std::stoi(argv[8]); + int S = std::stoi(argv[9]); if (U > 8) { printf("U must be 1-8\n"); diff --git a/lib/kokkos/benchmarks/gather/main.cpp b/lib/kokkos/benchmarks/gather/main.cpp index 6a2db3e024dff5f338aebf2260fc8910aa9764bc..5f10e4dcc1aa509c191d3c7a6486114b3c0b7de9 100644 --- a/lib/kokkos/benchmarks/gather/main.cpp +++ b/lib/kokkos/benchmarks/gather/main.cpp @@ -72,13 +72,13 @@ int main(int argc, char* argv[]) { return 0; } - int S = atoi(argv[1]); - int N = atoi(argv[2]); - int K = atoi(argv[3]); - int D = atoi(argv[4]); - int R = atoi(argv[5]); - int U = atoi(argv[6]); - int F = atoi(argv[7]); + int S = std::stoi(argv[1]); + int N = std::stoi(argv[2]); + int K = std::stoi(argv[3]); + int D = std::stoi(argv[4]); + int R = std::stoi(argv[5]); + int U = std::stoi(argv[6]); + int F = std::stoi(argv[7]); if ((S != 1) && (S != 2) && (S != 4)) { printf("S must be one of 1,2,4\n"); diff --git a/lib/kokkos/benchmarks/gups/gups-kokkos.cc b/lib/kokkos/benchmarks/gups/gups-kokkos.cc index 36fc36925b90e6e1c9fee0abab7fc3d8342ba2d9..5a3ad23800f8f20d7a66eaad4c509938fc23c778 100644 --- a/lib/kokkos/benchmarks/gups/gups-kokkos.cc +++ b/lib/kokkos/benchmarks/gups/gups-kokkos.cc @@ -50,151 +50,152 @@ #define HLINE "-------------------------------------------------------------\n" #if defined(KOKKOS_ENABLE_CUDA) -typedef Kokkos::View::HostMirror GUPSHostArray; -typedef Kokkos::View GUPSDeviceArray; +using GUPSHostArray = Kokkos::View::HostMirror; +using GUPSDeviceArray = Kokkos::View; #else -typedef Kokkos::View::HostMirror GUPSHostArray; -typedef Kokkos::View GUPSDeviceArray; +using GUPSHostArray = Kokkos::View::HostMirror; +using GUPSDeviceArray = Kokkos::View; #endif -typedef int GUPSIndex; +using GUPSIndex = int; double now() { - struct timeval now; - gettimeofday(&now, nullptr); + struct timeval now; + gettimeofday(&now, nullptr); - return (double) now.tv_sec + ((double) now.tv_usec * 1.0e-6); + return (double)now.tv_sec + ((double)now.tv_usec * 1.0e-6); } -void randomize_indices(GUPSHostArray& indices, GUPSDeviceArray& dev_indices, const int64_t dataCount) { - for( GUPSIndex i = 0; i < indices.extent(0); ++i ) { - indices[i] = lrand48() % dataCount; - } +void randomize_indices(GUPSHostArray& indices, GUPSDeviceArray& dev_indices, + const int64_t dataCount) { + for (GUPSIndex i = 0; i < indices.extent(0); ++i) { + indices[i] = lrand48() % dataCount; + } - Kokkos::deep_copy(dev_indices, indices); + Kokkos::deep_copy(dev_indices, indices); } -void run_gups(GUPSDeviceArray& indices, GUPSDeviceArray& data, const int64_t datum, - const bool performAtomics) { - - if( performAtomics ) { - Kokkos::parallel_for("bench-gups-atomic", indices.extent(0), KOKKOS_LAMBDA(const GUPSIndex i) { - Kokkos::atomic_fetch_xor( &data[indices[i]], datum ); - }); - } else { - Kokkos::parallel_for("bench-gups-non-atomic", indices.extent(0), KOKKOS_LAMBDA(const GUPSIndex i) { - data[indices[i]] ^= datum; - }); - } - - Kokkos::fence(); +void run_gups(GUPSDeviceArray& indices, GUPSDeviceArray& data, + const int64_t datum, const bool performAtomics) { + if (performAtomics) { + Kokkos::parallel_for( + "bench-gups-atomic", indices.extent(0), + KOKKOS_LAMBDA(const GUPSIndex i) { + Kokkos::atomic_fetch_xor(&data[indices[i]], datum); + }); + } else { + Kokkos::parallel_for( + "bench-gups-non-atomic", indices.extent(0), + KOKKOS_LAMBDA(const GUPSIndex i) { data[indices[i]] ^= datum; }); + } + + Kokkos::fence(); } -int run_benchmark(const GUPSIndex indicesCount, const GUPSIndex dataCount, const int repeats, - const bool useAtomics) { +int run_benchmark(const GUPSIndex indicesCount, const GUPSIndex dataCount, + const int repeats, const bool useAtomics) { + printf("Reports fastest timing per kernel\n"); + printf("Creating Views...\n"); - printf("Reports fastest timing per kernel\n"); - printf("Creating Views...\n"); + printf("Memory Sizes:\n"); + printf("- Elements: %15" PRIu64 " (%12.4f MB)\n", + static_cast(dataCount), + 1.0e-6 * ((double)dataCount * (double)sizeof(int64_t))); + printf("- Indices: %15" PRIu64 " (%12.4f MB)\n", + static_cast(indicesCount), + 1.0e-6 * ((double)indicesCount * (double)sizeof(int64_t))); + printf(" - Atomics: %15s\n", (useAtomics ? "Yes" : "No")); + printf("Benchmark kernels will be performed for %d iterations.\n", repeats); - printf("Memory Sizes:\n"); - printf("- Elements: %15" PRIu64 " (%12.4f MB)\n", static_cast(dataCount), - 1.0e-6 * ((double) dataCount * (double) sizeof(int64_t))); - printf("- Indices: %15" PRIu64 " (%12.4f MB)\n", static_cast(indicesCount), - 1.0e-6 * ((double) indicesCount * (double) sizeof(int64_t))); - printf(" - Atomics: %15s\n", (useAtomics ? "Yes" : "No") ); - printf("Benchmark kernels will be performed for %d iterations.\n", repeats); + printf(HLINE); - printf(HLINE); + GUPSDeviceArray dev_indices("indices", indicesCount); + GUPSDeviceArray dev_data("data", dataCount); + int64_t datum = -1; - GUPSDeviceArray dev_indices("indices", indicesCount); - GUPSDeviceArray dev_data("data", dataCount); - int64_t datum = -1; + GUPSHostArray indices = Kokkos::create_mirror_view(dev_indices); + GUPSHostArray data = Kokkos::create_mirror_view(dev_data); - GUPSHostArray indices = Kokkos::create_mirror_view(dev_indices); - GUPSHostArray data = Kokkos::create_mirror_view(dev_data); + double gupsTime = 0.0; - double gupsTime = 0.0; - - printf("Initializing Views...\n"); + printf("Initializing Views...\n"); #if defined(KOKKOS_HAVE_OPENMP) - Kokkos::parallel_for("init-data", Kokkos::RangePolicy(0, dataCount), + Kokkos::parallel_for( + "init-data", Kokkos::RangePolicy(0, dataCount), #else - Kokkos::parallel_for("init-data", Kokkos::RangePolicy(0, dataCount), + Kokkos::parallel_for( + "init-data", Kokkos::RangePolicy(0, dataCount), #endif - KOKKOS_LAMBDA(const int i) { - - data[i] = 10101010101; - }); + KOKKOS_LAMBDA(const int i) { data[i] = 10101010101; }); #if defined(KOKKOS_HAVE_OPENMP) - Kokkos::parallel_for("init-indices", Kokkos::RangePolicy(0, indicesCount), + Kokkos::parallel_for( + "init-indices", Kokkos::RangePolicy(0, indicesCount), #else - Kokkos::parallel_for("init-indices", Kokkos::RangePolicy(0, indicesCount), + Kokkos::parallel_for( + "init-indices", Kokkos::RangePolicy(0, indicesCount), #endif - KOKKOS_LAMBDA(const int i) { + KOKKOS_LAMBDA(const int i) { indices[i] = 0; }); - indices[i] = 0; - }); + Kokkos::deep_copy(dev_data, data); + Kokkos::deep_copy(dev_indices, indices); + double start; - Kokkos::deep_copy(dev_data, data); - Kokkos::deep_copy(dev_indices, indices); - double start; + printf("Starting benchmarking...\n"); - printf("Starting benchmarking...\n"); + for (GUPSIndex k = 0; k < repeats; ++k) { + randomize_indices(indices, dev_indices, data.extent(0)); - for( GUPSIndex k = 0; k < repeats; ++k ) { - randomize_indices(indices, dev_indices, data.extent(0)); + start = now(); + run_gups(dev_indices, dev_data, datum, useAtomics); + gupsTime += now() - start; + } - start = now(); - run_gups(dev_indices, dev_data, datum, useAtomics); - gupsTime += now() - start; - } + Kokkos::deep_copy(indices, dev_indices); + Kokkos::deep_copy(data, dev_data); - Kokkos::deep_copy(indices, dev_indices); - Kokkos::deep_copy(data, dev_data); + printf(HLINE); + printf( + "GUP/s Random: %18.6f\n", + (1.0e-9 * ((double)repeats) * (double)dev_indices.extent(0)) / gupsTime); + printf(HLINE); - printf(HLINE); - printf("GUP/s Random: %18.6f\n", - (1.0e-9 * ((double) repeats) * (double) dev_indices.extent(0)) / gupsTime); - printf(HLINE); - - return 0; + return 0; } int main(int argc, char* argv[]) { - - printf(HLINE); - printf("Kokkos GUPS Benchmark\n"); - printf(HLINE); - - srand48(1010101); - - Kokkos::initialize(argc, argv); - - int64_t indices = 8192; - int64_t data = 33554432; - int64_t repeats = 10; - bool useAtomics = false; - - for( int i = 1; i < argc; ++i ) { - if( strcmp( argv[i], "--indices" ) == 0 ) { - indices = std::atoll(argv[i+1]); - ++i; - } else if( strcmp( argv[i], "--data" ) == 0 ) { - data = std::atoll(argv[i+1]); - ++i; - } else if( strcmp( argv[i], "--repeats" ) == 0 ) { - repeats = std::atoll(argv[i+1]); - ++i; - } else if( strcmp( argv[i], "--atomics" ) == 0 ) { - useAtomics = true; - } - } - - const int rc = run_benchmark(indices, data, repeats, useAtomics); - - Kokkos::finalize(); - - return rc; + printf(HLINE); + printf("Kokkos GUPS Benchmark\n"); + printf(HLINE); + + srand48(1010101); + + Kokkos::initialize(argc, argv); + + int64_t indices = 8192; + int64_t data = 33554432; + int64_t repeats = 10; + bool useAtomics = false; + + for (int i = 1; i < argc; ++i) { + if (strcmp(argv[i], "--indices") == 0) { + indices = std::atoll(argv[i + 1]); + ++i; + } else if (strcmp(argv[i], "--data") == 0) { + data = std::atoll(argv[i + 1]); + ++i; + } else if (strcmp(argv[i], "--repeats") == 0) { + repeats = std::atoll(argv[i + 1]); + ++i; + } else if (strcmp(argv[i], "--atomics") == 0) { + useAtomics = true; + } + } + + const int rc = run_benchmark(indices, data, repeats, useAtomics); + + Kokkos::finalize(); + + return rc; } diff --git a/lib/kokkos/benchmarks/policy_performance/main.cpp b/lib/kokkos/benchmarks/policy_performance/main.cpp index 332e5574dabe3a22e0834f351524ba09487730a5..5b04c6ab939d9c2c1305bfaec9682962023e62db 100644 --- a/lib/kokkos/benchmarks/policy_performance/main.cpp +++ b/lib/kokkos/benchmarks/policy_performance/main.cpp @@ -94,22 +94,22 @@ int main(int argc, char* argv[]) { return 0; } - int team_range = atoi(argv[1]); - int thread_range = atoi(argv[2]); - int vector_range = atoi(argv[3]); + int team_range = std::stoi(argv[1]); + int thread_range = std::stoi(argv[2]); + int vector_range = std::stoi(argv[3]); - int outer_repeat = atoi(argv[4]); - int thread_repeat = atoi(argv[5]); - int vector_repeat = atoi(argv[6]); + int outer_repeat = std::stoi(argv[4]); + int thread_repeat = std::stoi(argv[5]); + int vector_repeat = std::stoi(argv[6]); - int team_size = atoi(argv[7]); - int vector_size = atoi(argv[8]); - int schedule = atoi(argv[9]); - int test_type = atoi(argv[10]); + int team_size = std::stoi(argv[7]); + int vector_size = std::stoi(argv[8]); + int schedule = std::stoi(argv[9]); + int test_type = std::stoi(argv[10]); int disable_verbose_output = 0; if (argc > 11) { - disable_verbose_output = atoi(argv[11]); + disable_verbose_output = std::stoi(argv[11]); } if (schedule != 1 && schedule != 2) { @@ -138,9 +138,9 @@ int main(int argc, char* argv[]) { double& lval) { lval += 1; }, result); - typedef Kokkos::View view_type_1d; - typedef Kokkos::View view_type_2d; - typedef Kokkos::View view_type_3d; + using view_type_1d = Kokkos::View; + using view_type_2d = Kokkos::View; + using view_type_3d = Kokkos::View; // Allocate view without initializing // Call a 'warmup' test with 1 repeat - this will initialize the corresponding diff --git a/lib/kokkos/benchmarks/policy_performance/policy_perf_test.hpp b/lib/kokkos/benchmarks/policy_performance/policy_perf_test.hpp index 7a1500891f7af1d2ff5ce61ebb83637d20c43cb4..8e6cd7447dbbdde87911d88cf4b0d0c6f9ca3a75 100644 --- a/lib/kokkos/benchmarks/policy_performance/policy_perf_test.hpp +++ b/lib/kokkos/benchmarks/policy_performance/policy_perf_test.hpp @@ -68,8 +68,8 @@ void test_policy(int team_range, int thread_range, int vector_range, int team_size, int vector_size, int test_type, ViewType1& v1, ViewType2& v2, ViewType3& v3, double& result, double& result_expect, double& time) { - typedef Kokkos::TeamPolicy t_policy; - typedef typename t_policy::member_type t_team; + using t_policy = Kokkos::TeamPolicy; + using t_team = typename t_policy::member_type; Kokkos::Timer timer; for (int orep = 0; orep < outer_repeat; orep++) { diff --git a/lib/kokkos/benchmarks/stream/stream-kokkos.cc b/lib/kokkos/benchmarks/stream/stream-kokkos.cc index 8d604079d485c40183234ef6fa159ce8e2ec5102..e7ef67e0805c9c4424fbf1781423cf907dca3eec 100644 --- a/lib/kokkos/benchmarks/stream/stream-kokkos.cc +++ b/lib/kokkos/benchmarks/stream/stream-kokkos.cc @@ -48,219 +48,224 @@ #include #define STREAM_ARRAY_SIZE 100000000 -#define STREAM_NTIMES 20 +#define STREAM_NTIMES 20 #define HLINE "-------------------------------------------------------------\n" #if defined(KOKKOS_ENABLE_CUDA) -typedef Kokkos::View::HostMirror StreamHostArray; -typedef Kokkos::View StreamDeviceArray; +using StreamHostArray = Kokkos::View::HostMirror; +using StreamDeviceArray = Kokkos::View; #else -typedef Kokkos::View::HostMirror StreamHostArray; -typedef Kokkos::View StreamDeviceArray; +using StreamHostArray = Kokkos::View::HostMirror; +using StreamDeviceArray = Kokkos::View; #endif -typedef int StreamIndex; +using StreamIndex = int; double now() { - struct timeval now; - gettimeofday(&now, nullptr); + struct timeval now; + gettimeofday(&now, nullptr); - return (double) now.tv_sec + ((double) now.tv_usec * 1.0e-6); + return (double)now.tv_sec + ((double)now.tv_usec * 1.0e-6); } -void perform_copy(StreamDeviceArray& a, StreamDeviceArray& b, StreamDeviceArray& c) { +void perform_copy(StreamDeviceArray& a, StreamDeviceArray& b, + StreamDeviceArray& c) { + Kokkos::parallel_for( + "copy", a.extent(0), KOKKOS_LAMBDA(const StreamIndex i) { c[i] = a[i]; }); - Kokkos::parallel_for("copy", a.extent(0), KOKKOS_LAMBDA(const StreamIndex i) { - c[i] = a[i]; - }); - - Kokkos::fence(); + Kokkos::fence(); } -void perform_scale(StreamDeviceArray& a, StreamDeviceArray& b, StreamDeviceArray& c, - const double scalar) { - - Kokkos::parallel_for("copy", a.extent(0), KOKKOS_LAMBDA(const StreamIndex i) { - b[i] = scalar * c[i]; - }); +void perform_scale(StreamDeviceArray& a, StreamDeviceArray& b, + StreamDeviceArray& c, const double scalar) { + Kokkos::parallel_for( + "copy", a.extent(0), + KOKKOS_LAMBDA(const StreamIndex i) { b[i] = scalar * c[i]; }); - Kokkos::fence(); + Kokkos::fence(); } -void perform_add(StreamDeviceArray& a, StreamDeviceArray& b, StreamDeviceArray& c) { - Kokkos::parallel_for("add", a.extent(0), KOKKOS_LAMBDA(const StreamIndex i) { - c[i] = a[i] + b[i]; - }); +void perform_add(StreamDeviceArray& a, StreamDeviceArray& b, + StreamDeviceArray& c) { + Kokkos::parallel_for( + "add", a.extent(0), + KOKKOS_LAMBDA(const StreamIndex i) { c[i] = a[i] + b[i]; }); - Kokkos::fence(); + Kokkos::fence(); } -void perform_triad(StreamDeviceArray& a, StreamDeviceArray& b, StreamDeviceArray& c, - const double scalar) { - - Kokkos::parallel_for("triad", a.extent(0), KOKKOS_LAMBDA(const StreamIndex i) { - a[i] = b[i] + scalar * c[i]; - }); +void perform_triad(StreamDeviceArray& a, StreamDeviceArray& b, + StreamDeviceArray& c, const double scalar) { + Kokkos::parallel_for( + "triad", a.extent(0), + KOKKOS_LAMBDA(const StreamIndex i) { a[i] = b[i] + scalar * c[i]; }); - Kokkos::fence(); + Kokkos::fence(); } -int perform_validation(StreamHostArray& a, StreamHostArray& b, StreamHostArray& c, - const StreamIndex arraySize, const double scalar) { - - double ai = 1.0; - double bi = 2.0; - double ci = 0.0; - - for( StreamIndex i = 0; i < arraySize; ++i ) { - ci = ai; - bi = scalar * ci; - ci = ai + bi; - ai = bi + scalar * ci; - }; - - double aError = 0.0; - double bError = 0.0; - double cError = 0.0; - - for( StreamIndex i = 0; i < arraySize; ++i ) { - aError = std::abs( a[i] - ai ); - bError = std::abs( b[i] - bi ); - cError = std::abs( c[i] - ci ); - } - - double aAvgError = aError / (double) arraySize; - double bAvgError = bError / (double) arraySize; - double cAvgError = cError / (double) arraySize; - - const double epsilon = 1.0e-13; - int errorCount = 0; - - if( std::abs( aAvgError / ai ) > epsilon ) { - fprintf(stderr, "Error: validation check on View a failed.\n"); - errorCount++; - } - - if( std::abs( bAvgError / bi ) > epsilon ) { - fprintf(stderr, "Error: validation check on View b failed.\n"); - errorCount++; - } - - if( std::abs( cAvgError / ci ) > epsilon ) { - fprintf(stderr, "Error: validation check on View c failed.\n"); - errorCount++; - } - - if( errorCount == 0 ) { - printf("All solutions checked and verified.\n"); - } - - return errorCount; +int perform_validation(StreamHostArray& a, StreamHostArray& b, + StreamHostArray& c, const StreamIndex arraySize, + const double scalar) { + double ai = 1.0; + double bi = 2.0; + double ci = 0.0; + + for (StreamIndex i = 0; i < arraySize; ++i) { + ci = ai; + bi = scalar * ci; + ci = ai + bi; + ai = bi + scalar * ci; + }; + + double aError = 0.0; + double bError = 0.0; + double cError = 0.0; + + for (StreamIndex i = 0; i < arraySize; ++i) { + aError = std::abs(a[i] - ai); + bError = std::abs(b[i] - bi); + cError = std::abs(c[i] - ci); + } + + double aAvgError = aError / (double)arraySize; + double bAvgError = bError / (double)arraySize; + double cAvgError = cError / (double)arraySize; + + const double epsilon = 1.0e-13; + int errorCount = 0; + + if (std::abs(aAvgError / ai) > epsilon) { + fprintf(stderr, "Error: validation check on View a failed.\n"); + errorCount++; + } + + if (std::abs(bAvgError / bi) > epsilon) { + fprintf(stderr, "Error: validation check on View b failed.\n"); + errorCount++; + } + + if (std::abs(cAvgError / ci) > epsilon) { + fprintf(stderr, "Error: validation check on View c failed.\n"); + errorCount++; + } + + if (errorCount == 0) { + printf("All solutions checked and verified.\n"); + } + + return errorCount; } int run_benchmark() { + printf("Reports fastest timing per kernel\n"); + printf("Creating Views...\n"); - printf("Reports fastest timing per kernel\n"); - printf("Creating Views...\n"); + printf("Memory Sizes:\n"); + printf("- Array Size: %" PRIu64 "\n", + static_cast(STREAM_ARRAY_SIZE)); + printf("- Per Array: %12.2f MB\n", + 1.0e-6 * (double)STREAM_ARRAY_SIZE * (double)sizeof(double)); + printf("- Total: %12.2f MB\n", + 3.0e-6 * (double)STREAM_ARRAY_SIZE * (double)sizeof(double)); - printf("Memory Sizes:\n"); - printf("- Array Size: %" PRIu64 "\n", static_cast(STREAM_ARRAY_SIZE)); - printf("- Per Array: %12.2f MB\n", 1.0e-6 * (double) STREAM_ARRAY_SIZE * (double) sizeof(double)); - printf("- Total: %12.2f MB\n", 3.0e-6 * (double) STREAM_ARRAY_SIZE * (double) sizeof(double)); + printf("Benchmark kernels will be performed for %d iterations.\n", + STREAM_NTIMES); - printf("Benchmark kernels will be performed for %d iterations.\n", STREAM_NTIMES); + printf(HLINE); - printf(HLINE); + StreamDeviceArray dev_a("a", STREAM_ARRAY_SIZE); + StreamDeviceArray dev_b("b", STREAM_ARRAY_SIZE); + StreamDeviceArray dev_c("c", STREAM_ARRAY_SIZE); - StreamDeviceArray dev_a("a", STREAM_ARRAY_SIZE); - StreamDeviceArray dev_b("b", STREAM_ARRAY_SIZE); - StreamDeviceArray dev_c("c", STREAM_ARRAY_SIZE); + StreamHostArray a = Kokkos::create_mirror_view(dev_a); + StreamHostArray b = Kokkos::create_mirror_view(dev_b); + StreamHostArray c = Kokkos::create_mirror_view(dev_c); - StreamHostArray a = Kokkos::create_mirror_view(dev_a); - StreamHostArray b = Kokkos::create_mirror_view(dev_b); - StreamHostArray c = Kokkos::create_mirror_view(dev_c); + const double scalar = 3.0; - const double scalar = 3.0; + double copyTime = std::numeric_limits::max(); + double scaleTime = std::numeric_limits::max(); + double addTime = std::numeric_limits::max(); + double triadTime = std::numeric_limits::max(); - double copyTime = std::numeric_limits::max(); - double scaleTime = std::numeric_limits::max(); - double addTime = std::numeric_limits::max(); - double triadTime = std::numeric_limits::max(); - - printf("Initializing Views...\n"); + printf("Initializing Views...\n"); #if defined(KOKKOS_HAVE_OPENMP) - Kokkos::parallel_for("init", Kokkos::RangePolicy(0, STREAM_ARRAY_SIZE), + Kokkos::parallel_for( + "init", Kokkos::RangePolicy(0, STREAM_ARRAY_SIZE), #else - Kokkos::parallel_for("init", Kokkos::RangePolicy(0, STREAM_ARRAY_SIZE), + Kokkos::parallel_for( + "init", Kokkos::RangePolicy(0, STREAM_ARRAY_SIZE), #endif - KOKKOS_LAMBDA(const int i) { - - a[i] = 1.0; - b[i] = 2.0; - c[i] = 0.0; - }); - - // Copy contents of a (from the host) to the dev_a (device) - Kokkos::deep_copy(dev_a, a); - Kokkos::deep_copy(dev_b, b); - Kokkos::deep_copy(dev_c, c); - - double start; - - printf("Starting benchmarking...\n"); - - for( StreamIndex k = 0; k < STREAM_NTIMES; ++k ) { - start = now(); - perform_copy(dev_a, dev_b, dev_c); - copyTime = std::min( copyTime, (now() - start) ); - - start = now(); - perform_scale(dev_a, dev_b, dev_c, scalar); - scaleTime = std::min( scaleTime, (now() - start) ); - - start = now(); - perform_add(dev_a, dev_b, dev_c); - addTime = std::min( addTime, (now() - start) ); - - start = now(); - perform_triad(dev_a, dev_b, dev_c, scalar); - triadTime = std::min( triadTime, (now() - start) ); - } - - Kokkos::deep_copy(a, dev_a); - Kokkos::deep_copy(b, dev_b); - Kokkos::deep_copy(c, dev_c); - - printf("Performing validation...\n"); - int rc = perform_validation(a, b, c, STREAM_ARRAY_SIZE, scalar); - - printf(HLINE); - - printf("Copy %11.2f MB/s\n", - ( 1.0e-06 * 2.0 * (double) sizeof(double) * (double) STREAM_ARRAY_SIZE) / copyTime ); - printf("Scale %11.2f MB/s\n", - ( 1.0e-06 * 2.0 * (double) sizeof(double) * (double) STREAM_ARRAY_SIZE) / scaleTime ); - printf("Add %11.2f MB/s\n", - ( 1.0e-06 * 3.0 * (double) sizeof(double) * (double) STREAM_ARRAY_SIZE) / addTime ); - printf("Triad %11.2f MB/s\n", - ( 1.0e-06 * 3.0 * (double) sizeof(double) * (double) STREAM_ARRAY_SIZE) / triadTime ); - - printf(HLINE); - - return rc; + KOKKOS_LAMBDA(const int i) { + a[i] = 1.0; + b[i] = 2.0; + c[i] = 0.0; + }); + + // Copy contents of a (from the host) to the dev_a (device) + Kokkos::deep_copy(dev_a, a); + Kokkos::deep_copy(dev_b, b); + Kokkos::deep_copy(dev_c, c); + + double start; + + printf("Starting benchmarking...\n"); + + for (StreamIndex k = 0; k < STREAM_NTIMES; ++k) { + start = now(); + perform_copy(dev_a, dev_b, dev_c); + copyTime = std::min(copyTime, (now() - start)); + + start = now(); + perform_scale(dev_a, dev_b, dev_c, scalar); + scaleTime = std::min(scaleTime, (now() - start)); + + start = now(); + perform_add(dev_a, dev_b, dev_c); + addTime = std::min(addTime, (now() - start)); + + start = now(); + perform_triad(dev_a, dev_b, dev_c, scalar); + triadTime = std::min(triadTime, (now() - start)); + } + + Kokkos::deep_copy(a, dev_a); + Kokkos::deep_copy(b, dev_b); + Kokkos::deep_copy(c, dev_c); + + printf("Performing validation...\n"); + int rc = perform_validation(a, b, c, STREAM_ARRAY_SIZE, scalar); + + printf(HLINE); + + printf("Copy %11.2f MB/s\n", + (1.0e-06 * 2.0 * (double)sizeof(double) * (double)STREAM_ARRAY_SIZE) / + copyTime); + printf("Scale %11.2f MB/s\n", + (1.0e-06 * 2.0 * (double)sizeof(double) * (double)STREAM_ARRAY_SIZE) / + scaleTime); + printf("Add %11.2f MB/s\n", + (1.0e-06 * 3.0 * (double)sizeof(double) * (double)STREAM_ARRAY_SIZE) / + addTime); + printf("Triad %11.2f MB/s\n", + (1.0e-06 * 3.0 * (double)sizeof(double) * (double)STREAM_ARRAY_SIZE) / + triadTime); + + printf(HLINE); + + return rc; } int main(int argc, char* argv[]) { + printf(HLINE); + printf("Kokkos STREAM Benchmark\n"); + printf(HLINE); - printf(HLINE); - printf("Kokkos STREAM Benchmark\n"); - printf(HLINE); - - Kokkos::initialize(argc, argv); - const int rc = run_benchmark(); - Kokkos::finalize(); + Kokkos::initialize(argc, argv); + const int rc = run_benchmark(); + Kokkos::finalize(); - return rc; + return rc; } diff --git a/lib/kokkos/bin/nvcc_wrapper b/lib/kokkos/bin/nvcc_wrapper index 8a23d0d620508529bef99f0e74b80a2a0093cb6f..bc213497bf153f4aa578b8035caaf283a387597d 100755 --- a/lib/kokkos/bin/nvcc_wrapper +++ b/lib/kokkos/bin/nvcc_wrapper @@ -19,6 +19,13 @@ default_arch="sm_35" # The default C++ compiler. # host_compiler=${NVCC_WRAPPER_DEFAULT_COMPILER:-"g++"} + +# Default to whatever is in the path +nvcc_compiler=nvcc +if [ ! -z $CUDA_ROOT ]; then + nvcc_compiler="$CUDA_ROOT/bin/nvcc" +fi + #host_compiler="icpc" #host_compiler="/usr/local/gcc/4.8.3/bin/g++" #host_compiler="/usr/local/gcc/4.9.1/bin/g++" @@ -58,7 +65,7 @@ object_files_xlinker="" shared_versioned_libraries_host="" shared_versioned_libraries="" -# Does the User set the architecture +# Does the User set the architecture arch_set=0 # Does the user overwrite the host compiler @@ -77,7 +84,7 @@ host_only_args="" # Just run version on host compiler get_host_version=0 -# Enable workaround for CUDA 6.5 for pragma ident +# Enable workaround for CUDA 6.5 for pragma ident replace_pragma_ident=0 # Mark first host compiler argument @@ -179,7 +186,7 @@ do shift ;; #Handle known nvcc args - --dryrun|--verbose|--keep|--keep-dir*|-G|--relocatable-device-code*|-lineinfo|-expt-extended-lambda|--resource-usage|-Xptxas*|--fmad*) + --dryrun|--verbose|--keep|--keep-dir*|-G|--relocatable-device-code*|-lineinfo|-expt-extended-lambda|-expt-relaxed-constexpr|--resource-usage|-Xptxas*|--fmad*|--Wext-lambda-captures-this|-Wext-lambda-captures-this) cuda_args="$cuda_args $1" ;; #Handle more known nvcc args @@ -187,7 +194,7 @@ do cuda_args="$cuda_args $1" ;; #Handle known nvcc args that have an argument - -rdc|-maxrregcount|--default-stream|-Xnvlink|--fmad) + -rdc|-maxrregcount|--default-stream|-Xnvlink|--fmad|-cudart|--cudart) cuda_args="$cuda_args $1 $2" shift ;; @@ -195,11 +202,11 @@ do cuda_args="$cuda_args $1" ;; #Handle unsupported standard flags - --std=c++1y|-std=c++1y|--std=c++1z|-std=c++1z|--std=gnu++1y|-std=gnu++1y|--std=gnu++1z|-std=gnu++1z|--std=c++2a|-std=c++2a|--std=c++17|-std=c++17) + --std=c++1y|-std=c++1y|--std=gnu++1y|-std=gnu++1y|--std=c++1z|-std=c++1z|--std=gnu++1z|-std=gnu++1z|--std=c++2a|-std=c++2a) fallback_std_flag="-std=c++14" # this is hopefully just occurring in a downstream project during CMake feature tests # we really have no choice here but to accept the flag and change to an accepted C++ standard - echo "nvcc_wrapper does not accept standard flags $1 since partial standard flags and standards after C++14 are not supported. nvcc_wrapper will use $fallback_std_flag instead. It is undefined behavior to use this flag. This should only be occurring during CMake configuration." + echo "nvcc_wrapper does not accept standard flags $1 since partial standard flags and standards after C++17 are not supported. nvcc_wrapper will use $fallback_std_flag instead. It is undefined behavior to use this flag. This should only be occurring during CMake configuration." if [ -n "$std_flag" ]; then warn_std_flag shared_args=${shared_args/ $std_flag/} @@ -216,7 +223,25 @@ do fi std_flag=$corrected_std_flag shared_args="$shared_args $std_flag" - ;; + ;; + --std=c++17|-std=c++17) + if [ -n "$std_flag" ]; then + warn_std_flag + shared_args=${shared_args/ $std_flag/} + fi + # NVCC only has C++17 from version 11 on + cuda_main_version=$([[ $(${nvcc_compiler} --version) =~ V([0-9]+) ]] && echo ${BASH_REMATCH[1]}) + if [ ${cuda_main_version} -lt 11 ]; then + fallback_std_flag="-std=c++14" + # this is hopefully just occurring in a downstream project during CMake feature tests + # we really have no choice here but to accept the flag and change to an accepted C++ standard + echo "nvcc_wrapper does not accept standard flags $1 since partial standard flags and standards after C++14 are not supported. nvcc_wrapper will use $fallback_std_flag instead. It is undefined behavior to use this flag. This should only be occurring during CMake configuration." + std_flag=$fallback_std_flag + else + std_flag=$1 + fi + shared_args="$shared_args $std_flag" + ;; --std=c++11|-std=c++11|--std=c++14|-std=c++14) if [ -n "$std_flag" ]; then warn_std_flag @@ -226,6 +251,20 @@ do shared_args="$shared_args $std_flag" ;; + #convert PGI standard flags to something nvcc can handle + --c++11|--c++14|--c++17) + if [ -n "$std_flag" ]; then + warn_std_flag + shared_args=${shared_args/ $std_flag/} + fi + std_flag="-std=${1#--}" + shared_args="$shared_args $std_flag" + ;; + + #ignore PGI forcing ISO C++-conforming code + -A) + ;; + #strip of -std=c++98 due to nvcc warnings and Tribits will place both -std=c++11 and -std=c++98 -std=c++98|--std=c++98) ;; @@ -237,13 +276,17 @@ do ;; #strip -Xcompiler because we add it -Xcompiler) - if [ $first_xcompiler_arg -eq 1 ]; then - xcompiler_args="$2" - first_xcompiler_arg=0 - else - xcompiler_args="$xcompiler_args,$2" + if [[ $2 != "-o" ]]; then + if [ $first_xcompiler_arg -eq 1 ]; then + xcompiler_args="$2" + first_xcompiler_arg=0 + else + xcompiler_args="$xcompiler_args,$2" + fi + shift fi - shift + # else this we have -Xcompiler -o , in this case just drop -Xcompiler and process + # the -o flag with the filename (done above) ;; #strip of "-x cu" because we add that -x) @@ -329,7 +372,7 @@ do if [ $first_xcompiler_arg -eq 1 ]; then xcompiler_args=$1 first_xcompiler_arg=0 - else + else xcompiler_args="$xcompiler_args,$1" fi ;; @@ -387,7 +430,7 @@ if [ $arch_set -ne 1 ]; then fi #Compose compilation command -nvcc_command="nvcc $cuda_args $shared_args $xlinker_args $shared_versioned_libraries" +nvcc_command="$nvcc_compiler $cuda_args $shared_args $xlinker_args $shared_versioned_libraries" if [ $first_xcompiler_arg -eq 0 ]; then nvcc_command="$nvcc_command -Xcompiler $xcompiler_args" fi diff --git a/lib/kokkos/cmake/KokkosConfigCommon.cmake.in b/lib/kokkos/cmake/KokkosConfigCommon.cmake.in index 8c663d01c1e74ad65b32532360ad43d34c172a9f..8e664b27a33b47809a9b481b2910067772322be7 100644 --- a/lib/kokkos/cmake/KokkosConfigCommon.cmake.in +++ b/lib/kokkos/cmake/KokkosConfigCommon.cmake.in @@ -2,6 +2,7 @@ SET(Kokkos_DEVICES @KOKKOS_ENABLED_DEVICES@) SET(Kokkos_OPTIONS @KOKKOS_ENABLED_OPTIONS@) SET(Kokkos_TPLS @KOKKOS_ENABLED_TPLS@) SET(Kokkos_ARCH @KOKKOS_ENABLED_ARCH_LIST@) +SET(Kokkos_CXX_COMPILER "@CMAKE_CXX_COMPILER@") # These are needed by KokkosKernels FOREACH(DEV ${Kokkos_DEVICES}) @@ -38,7 +39,7 @@ include(FindPackageHandleStandardArgs) # kokkos_check( # [DEVICES ...] # Set of backends (e.g. "OpenMP" and/or "Cuda") # [ARCH ...] # Target architectures (e.g. "Power9" and/or "Volta70") -# [OPTIONS ...] # Optional settings (e.g. "PROFILING") +# [OPTIONS ...] # Optional settings (e.g. "TUNING") # [TPLS ...] # Third party libraries # [RETURN_VALUE ] # Set a variable that indicates the result of the # # check instead of a fatal error diff --git a/lib/kokkos/cmake/KokkosCore_config.h.in b/lib/kokkos/cmake/KokkosCore_config.h.in index 1d0b58fe02d9183849f007460599921fbe134a8b..c0362e4fb08534e16d1b0a0ddf2193f9602c366a 100644 --- a/lib/kokkos/cmake/KokkosCore_config.h.in +++ b/lib/kokkos/cmake/KokkosCore_config.h.in @@ -1,6 +1,7 @@ #if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." +#error \ + "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." #else #define KOKKOS_CORE_CONFIG_H #endif @@ -10,7 +11,6 @@ // KOKKOS_VERSION / 10000 is the major version #cmakedefine KOKKOS_VERSION @KOKKOS_VERSION@ - /* Execution Spaces */ #cmakedefine KOKKOS_ENABLE_SERIAL #cmakedefine KOKKOS_ENABLE_OPENMP @@ -47,10 +47,9 @@ #cmakedefine KOKKOS_ENABLE_DEBUG_DUALVIEW_MODIFY_CHECK #cmakedefine KOKKOS_ENABLE_DEBUG_BOUNDS_CHECK #cmakedefine KOKKOS_ENABLE_COMPILER_WARNINGS -#cmakedefine KOKKOS_ENABLE_PROFILING #cmakedefine KOKKOS_ENABLE_PROFILING_LOAD_PRINT +#cmakedefine KOKKOS_ENABLE_TUNING #cmakedefine KOKKOS_ENABLE_DEPRECATED_CODE -#cmakedefine KOKKOS_ENABLE_ETI #cmakedefine KOKKOS_ENABLE_LARGE_MEM_TESTS #cmakedefine KOKKOS_ENABLE_DUALVIEW_MODIFY_CHECK #cmakedefine KOKKOS_ENABLE_COMPLEX_ALIGN @@ -60,7 +59,7 @@ #cmakedefine KOKKOS_ENABLE_HWLOC #cmakedefine KOKKOS_USE_LIBRT #cmakedefine KOKKOS_ENABLE_HWBSPACE - +#cmakedefine KOKKOS_ENABLE_LIBDL #cmakedefine KOKKOS_IMPL_CUDA_CLANG_WORKAROUND #cmakedefine KOKKOS_COMPILER_CUDA_VERSION @KOKKOS_COMPILER_CUDA_VERSION@ @@ -95,4 +94,6 @@ #cmakedefine KOKKOS_ARCH_VOLTA70 #cmakedefine KOKKOS_ARCH_VOLTA72 #cmakedefine KOKKOS_ARCH_TURING75 -#cmakedefine KOKKOS_ARCH_AMD_EPYC +#cmakedefine KOKKOS_ARCH_AMPERE80 +#cmakedefine KOKKOS_ARCH_AMD_ZEN +#cmakedefine KOKKOS_ARCH_AMD_ZEN2 diff --git a/lib/kokkos/cmake/Modules/CudaToolkit.cmake b/lib/kokkos/cmake/Modules/CudaToolkit.cmake new file mode 100644 index 0000000000000000000000000000000000000000..d620a71d369888fd5adecabde14119fbff63d6c0 --- /dev/null +++ b/lib/kokkos/cmake/Modules/CudaToolkit.cmake @@ -0,0 +1,958 @@ +# Distributed under the OSI-approved BSD 3-Clause License. See accompanying +# file Copyright.txt or https://cmake.org/licensing for details. + +#[=======================================================================[.rst: +FindCUDAToolkit +--------------- + +This script locates the NVIDIA CUDA toolkit and the associated libraries, but +does not require the ``CUDA`` language be enabled for a given project. This +module does not search for the NVIDIA CUDA Samples. + +Search Behavior +^^^^^^^^^^^^^^^ + +Finding the CUDA Toolkit requires finding the ``nvcc`` executable, which is +searched for in the following order: + +1. If the ``CUDA`` language has been enabled we will use the directory + containing the compiler as the first search location for ``nvcc``. + +2. If the ``CUDAToolkit_ROOT`` cmake configuration variable (e.g., + ``-DCUDAToolkit_ROOT=/some/path``) *or* environment variable is defined, it + will be searched. If both an environment variable **and** a + configuration variable are specified, the *configuration* variable takes + precedence. + + The directory specified here must be such that the executable ``nvcc`` can be + found underneath the directory specified by ``CUDAToolkit_ROOT``. If + ``CUDAToolkit_ROOT`` is specified, but no ``nvcc`` is found underneath, this + package is marked as **not** found. No subsequent search attempts are + performed. + +3. If the CUDA_PATH environment variable is defined, it will be searched. + +4. The user's path is searched for ``nvcc`` using :command:`find_program`. If + this is found, no subsequent search attempts are performed. Users are + responsible for ensuring that the first ``nvcc`` to show up in the path is + the desired path in the event that multiple CUDA Toolkits are installed. + +5. On Unix systems, if the symbolic link ``/usr/local/cuda`` exists, this is + used. No subsequent search attempts are performed. No default symbolic link + location exists for the Windows platform. + +6. The platform specific default install locations are searched. If exactly one + candidate is found, this is used. The default CUDA Toolkit install locations + searched are: + + +-------------+-------------------------------------------------------------+ + | Platform | Search Pattern | + +=============+=============================================================+ + | macOS | ``/Developer/NVIDIA/CUDA-X.Y`` | + +-------------+-------------------------------------------------------------+ + | Other Unix | ``/usr/local/cuda-X.Y`` | + +-------------+-------------------------------------------------------------+ + | Windows | ``C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\vX.Y`` | + +-------------+-------------------------------------------------------------+ + + Where ``X.Y`` would be a specific version of the CUDA Toolkit, such as + ``/usr/local/cuda-9.0`` or + ``C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0`` + + .. note:: + + When multiple CUDA Toolkits are installed in the default location of a + system (e.g., both ``/usr/local/cuda-9.0`` and ``/usr/local/cuda-10.0`` + exist but the ``/usr/local/cuda`` symbolic link does **not** exist), this + package is marked as **not** found. + + There are too many factors involved in making an automatic decision in + the presence of multiple CUDA Toolkits being installed. In this + situation, users are encouraged to either (1) set ``CUDAToolkit_ROOT`` or + (2) ensure that the correct ``nvcc`` executable shows up in ``$PATH`` for + :command:`find_program` to find. + +Options +^^^^^^^ + +``VERSION`` + If specified, describes the version of the CUDA Toolkit to search for. + +``REQUIRED`` + If specified, configuration will error if a suitable CUDA Toolkit is not + found. + +``QUIET`` + If specified, the search for a suitable CUDA Toolkit will not produce any + messages. + +``EXACT`` + If specified, the CUDA Toolkit is considered found only if the exact + ``VERSION`` specified is recovered. + +Imported targets +^^^^^^^^^^^^^^^^ + +An :ref:`imported target ` named ``CUDA::toolkit`` is provided. + +This module defines :prop_tgt:`IMPORTED` targets for each +of the following libraries that are part of the CUDAToolkit: + +- :ref:`CUDA Runtime Library` +- :ref:`CUDA Driver Library` +- :ref:`cuBLAS` +- :ref:`cuFFT` +- :ref:`cuRAND` +- :ref:`cuSOLVER` +- :ref:`cuSPARSE` +- :ref:`cuPTI` +- :ref:`NPP` +- :ref:`nvBLAS` +- :ref:`nvGRAPH` +- :ref:`nvJPEG` +- :ref:`nvidia-ML` +- :ref:`nvRTC` +- :ref:`nvToolsExt` +- :ref:`OpenCL` +- :ref:`cuLIBOS` + +.. _`cuda_toolkit_rt_lib`: + +CUDA Runtime Library +"""""""""""""""""""" + +The CUDA Runtime library (cudart) are what most applications will typically +need to link against to make any calls such as `cudaMalloc`, and `cudaFree`. + +Targets Created: + +- ``CUDA::cudart`` +- ``CUDA::cudart_static`` + +.. _`cuda_toolkit_driver_lib`: + +CUDA Driver Library +"""""""""""""""""""" + +The CUDA Driver library (cuda) are used by applications that use calls +such as `cuMemAlloc`, and `cuMemFree`. This is generally used by advanced + + +Targets Created: + +- ``CUDA::cuda_driver`` +- ``CUDA::cuda_driver`` + +.. _`cuda_toolkit_cuBLAS`: + +cuBLAS +"""""" + +The `cuBLAS `_ library. + +Targets Created: + +- ``CUDA::cublas`` +- ``CUDA::cublas_static`` + +.. _`cuda_toolkit_cuFFT`: + +cuFFT +""""" + +The `cuFFT `_ library. + +Targets Created: + +- ``CUDA::cufft`` +- ``CUDA::cufftw`` +- ``CUDA::cufft_static`` +- ``CUDA::cufftw_static`` + +cuRAND +"""""" + +The `cuRAND `_ library. + +Targets Created: + +- ``CUDA::curand`` +- ``CUDA::curand_static`` + +.. _`cuda_toolkit_cuSOLVER`: + +cuSOLVER +"""""""" + +The `cuSOLVER `_ library. + +Targets Created: + +- ``CUDA::cusolver`` +- ``CUDA::cusolver_static`` + +.. _`cuda_toolkit_cuSPARSE`: + +cuSPARSE +"""""""" + +The `cuSPARSE `_ library. + +Targets Created: + +- ``CUDA::cusparse`` +- ``CUDA::cusparse_static`` + +.. _`cuda_toolkit_cupti`: + +cupti +""""" + +The `NVIDIA CUDA Profiling Tools Interface `_. + +Targets Created: + +- ``CUDA::cupti`` +- ``CUDA::cupti_static`` + +.. _`cuda_toolkit_NPP`: + +NPP +""" + +The `NPP `_ libraries. + +Targets Created: + +- `nppc`: + + - ``CUDA::nppc`` + - ``CUDA::nppc_static`` + +- `nppial`: Arithmetic and logical operation functions in `nppi_arithmetic_and_logical_operations.h` + + - ``CUDA::nppial`` + - ``CUDA::nppial_static`` + +- `nppicc`: Color conversion and sampling functions in `nppi_color_conversion.h` + + - ``CUDA::nppicc`` + - ``CUDA::nppicc_static`` + +- `nppicom`: JPEG compression and decompression functions in `nppi_compression_functions.h` + + - ``CUDA::nppicom`` + - ``CUDA::nppicom_static`` + +- `nppidei`: Data exchange and initialization functions in `nppi_data_exchange_and_initialization.h` + + - ``CUDA::nppidei`` + - ``CUDA::nppidei_static`` + +- `nppif`: Filtering and computer vision functions in `nppi_filter_functions.h` + + - ``CUDA::nppif`` + - ``CUDA::nppif_static`` + +- `nppig`: Geometry transformation functions found in `nppi_geometry_transforms.h` + + - ``CUDA::nppig`` + - ``CUDA::nppig_static`` + +- `nppim`: Morphological operation functions found in `nppi_morphological_operations.h` + + - ``CUDA::nppim`` + - ``CUDA::nppim_static`` + +- `nppist`: Statistics and linear transform in `nppi_statistics_functions.h` and `nppi_linear_transforms.h` + + - ``CUDA::nppist`` + - ``CUDA::nppist_static`` + +- `nppisu`: Memory support functions in `nppi_support_functions.h` + + - ``CUDA::nppisu`` + - ``CUDA::nppisu_static`` + +- `nppitc`: Threshold and compare operation functions in `nppi_threshold_and_compare_operations.h` + + - ``CUDA::nppitc`` + - ``CUDA::nppitc_static`` + +- `npps`: + + - ``CUDA::npps`` + - ``CUDA::npps_static`` + +.. _`cuda_toolkit_nvBLAS`: + +nvBLAS +"""""" + +The `nvBLAS `_ libraries. +This is a shared library only. + +Targets Created: + +- ``CUDA::nvblas`` + +.. _`cuda_toolkit_nvGRAPH`: + +nvGRAPH +""""""" + +The `nvGRAPH `_ library. + +Targets Created: + +- ``CUDA::nvgraph`` +- ``CUDA::nvgraph_static`` + + +.. _`cuda_toolkit_nvJPEG`: + +nvJPEG +"""""" + +The `nvJPEG `_ library. +Introduced in CUDA 10. + +Targets Created: + +- ``CUDA::nvjpeg`` +- ``CUDA::nvjpeg_static`` + +.. _`cuda_toolkit_nvRTC`: + +nvRTC +""""" + +The `nvRTC `_ (Runtime Compilation) library. +This is a shared library only. + +Targets Created: + +- ``CUDA::nvrtc`` + +.. _`cuda_toolkit_nvml`: + +nvidia-ML +""""""""" + +The `NVIDIA Management Library `_. +This is a shared library only. + +Targets Created: + +- ``CUDA::nvml`` + +.. _`cuda_toolkit_nvToolsExt`: + +nvToolsExt +"""""""""" + +The `NVIDIA Tools Extension `_. +This is a shared library only. + +Targets Created: + +- ``CUDA::nvToolsExt`` + +.. _`cuda_toolkit_opencl`: + +OpenCL +"""""" + +The `NVIDIA OpenCL Library `_. +This is a shared library only. + +Targets Created: + +- ``CUDA::OpenCL`` + +.. _`cuda_toolkit_cuLIBOS`: + +cuLIBOS +""""""" + +The cuLIBOS library is a backend thread abstraction layer library which is +static only. The ``CUDA::cublas_static``, ``CUDA::cusparse_static``, +``CUDA::cufft_static``, ``CUDA::curand_static``, and (when implemented) NPP +libraries all automatically have this dependency linked. + +Target Created: + +- ``CUDA::culibos`` + +**Note**: direct usage of this target by consumers should not be necessary. + +.. _`cuda_toolkit_cuRAND`: + + + +Result variables +^^^^^^^^^^^^^^^^ + +``CUDAToolkit_FOUND`` + A boolean specifying whether or not the CUDA Toolkit was found. + +``CUDAToolkit_VERSION`` + The exact version of the CUDA Toolkit found (as reported by + ``nvcc --version``). + +``CUDAToolkit_VERSION_MAJOR`` + The major version of the CUDA Toolkit. + +``CUDAToolkit_VERSION_MAJOR`` + The minor version of the CUDA Toolkit. + +``CUDAToolkit_VERSION_PATCH`` + The patch version of the CUDA Toolkit. + +``CUDAToolkit_BIN_DIR`` + The path to the CUDA Toolkit library directory that contains the CUDA + executable ``nvcc``. + +``CUDAToolkit_INCLUDE_DIRS`` + The path to the CUDA Toolkit ``include`` folder containing the header files + required to compile a project linking against CUDA. + +``CUDAToolkit_LIBRARY_DIR`` + The path to the CUDA Toolkit library directory that contains the CUDA + Runtime library ``cudart``. + +``CUDAToolkit_TARGET_DIR`` + The path to the CUDA Toolkit directory including the target architecture + when cross-compiling. When not cross-compiling this will be equivalant to + ``CUDAToolkit_ROOT_DIR``. + +``CUDAToolkit_NVCC_EXECUTABLE`` + The path to the NVIDIA CUDA compiler ``nvcc``. Note that this path may + **not** be the same as + :variable:`CMAKE_CUDA_COMPILER _COMPILER>`. ``nvcc`` must be + found to determine the CUDA Toolkit version as well as determining other + features of the Toolkit. This variable is set for the convenience of + modules that depend on this one. + + +#]=======================================================================] + +# NOTE: much of this was simply extracted from FindCUDA.cmake. + +# James Bigler, NVIDIA Corp (nvidia.com - jbigler) +# Abe Stephens, SCI Institute -- http://www.sci.utah.edu/~abe/FindCuda.html +# +# Copyright (c) 2008 - 2009 NVIDIA Corporation. All rights reserved. +# +# Copyright (c) 2007-2009 +# Scientific Computing and Imaging Institute, University of Utah +# +# This code is licensed under the MIT License. See the FindCUDA.cmake script +# for the text of the license. + +# The MIT License +# +# License for the specific language governing rights and limitations under +# 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. +# +############################################################################### + +# For NVCC we can easily deduce the SDK binary directory from the compiler path. +if(CMAKE_CUDA_COMPILER_LOADED AND NOT CUDAToolkit_BIN_DIR AND CMAKE_CUDA_COMPILER_ID STREQUAL "NVIDIA") + get_filename_component(cuda_dir "${CMAKE_CUDA_COMPILER}" DIRECTORY) + set(CUDAToolkit_BIN_DIR "${cuda_dir}" CACHE PATH "") + mark_as_advanced(CUDAToolkit_BIN_DIR) + unset(cuda_dir) +endif() + +IF(CMAKE_VERSION VERSION_LESS "3.12.0") + function(import_target_link_libraries target) + cmake_parse_arguments(HACK + "SYSTEM;INTERFACE;PUBLIC" + "" + "" + ${ARGN} + ) + get_target_property(LIBS ${target} INTERFACE_LINK_LIBRARIES) + if (LIBS) + list(APPEND LIBS ${HACK_UNPARSED_ARGUMENTS}) + else() + set(LIBS ${HACK_UNPARSED_ARGUMENTS}) + endif() + set_target_properties(${target} PROPERTIES + INTERFACE_LINK_LIBRARIES "${LIBS}") + endfunction() +ELSE() + function(import_target_link_libraries) + target_link_libraries(${ARGN}) + endfunction() +ENDIF() + +IF(CMAKE_VERSION VERSION_LESS "3.13.0") + function(import_target_link_directories target) + cmake_parse_arguments(HACK + "SYSTEM;INTERFACE;PUBLIC" + "" + "" + ${ARGN} + ) + get_target_property(LINK_LIBS ${target} INTERFACE_LINK_LIBRARIES) + if (LINK_LIBS) #could be not-found + set(LINK_LIBS_LIST ${LINK_LIBS}) + endif() + foreach(LIB ${HACK_UNPARSED_ARGUMENTS}) + list(APPEND LINK_LIBS_LIST -L${LIB}) + endforeach() + set_target_properties(${target} PROPERTIES + INTERFACE_LINK_LIBRARIES "${LINK_LIBS_LIST}") + endfunction() +ELSE() + function(import_target_link_directories) + target_link_directories(${ARGN}) + endfunction() +ENDIF() + +IF(CMAKE_VERSION VERSION_LESS "3.12.0") + function(import_target_include_directories target) + cmake_parse_arguments(HACK + "SYSTEM;INTERFACE;PUBLIC" + "" + "" + ${ARGN} + ) + get_target_property(INLUDE_DIRS ${target} INTERFACE_INCLUDE_DIRECTORIES) + if (INCLUDE_DIRS) + list(APPEND INCLUDE_DIRS ${HACK_UNPARSED_ARGUMENTS}) + else() + set(INCLUDE_DIRS ${HACK_UNPARSED_ARGUMENTS}) + endif() + set_target_properties(${target} PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${INCLUDE_DIRS}") + endfunction() +ELSE() + function(import_target_include_directories) + target_include_directories(${ARGN}) + endfunction() +ENDIF() + +# Try language- or user-provided path first. +if(CUDAToolkit_BIN_DIR) + find_program(CUDAToolkit_NVCC_EXECUTABLE + NAMES nvcc nvcc.exe + PATHS ${CUDAToolkit_BIN_DIR} + NO_DEFAULT_PATH + ) +endif() + +# Search using CUDAToolkit_ROOT +find_program(CUDAToolkit_NVCC_EXECUTABLE + NAMES nvcc nvcc.exe + PATHS ENV CUDA_PATH + PATH_SUFFIXES bin +) + +# If the user specified CUDAToolkit_ROOT but nvcc could not be found, this is an error. +if (NOT CUDAToolkit_NVCC_EXECUTABLE AND (DEFINED CUDAToolkit_ROOT OR DEFINED ENV{CUDAToolkit_ROOT})) + # Declare error messages now, print later depending on find_package args. + set(fail_base "Could not find nvcc executable in path specified by") + set(cuda_root_fail "${fail_base} CUDAToolkit_ROOT=${CUDAToolkit_ROOT}") + set(env_cuda_root_fail "${fail_base} environment variable CUDAToolkit_ROOT=$ENV{CUDAToolkit_ROOT}") + + if (CUDAToolkit_FIND_REQUIRED) + if (DEFINED CUDAToolkit_ROOT) + message(FATAL_ERROR ${cuda_root_fail}) + elseif (DEFINED ENV{CUDAToolkit_ROOT}) + message(FATAL_ERROR ${env_cuda_root_fail}) + endif() + else() + if (NOT CUDAToolkit_FIND_QUIETLY) + if (DEFINED CUDAToolkit_ROOT) + message(STATUS ${cuda_root_fail}) + elseif (DEFINED ENV{CUDAToolkit_ROOT}) + message(STATUS ${env_cuda_root_fail}) + endif() + endif() + set(CUDAToolkit_FOUND FALSE) + unset(fail_base) + unset(cuda_root_fail) + unset(env_cuda_root_fail) + return() + endif() +endif() + +# CUDAToolkit_ROOT cmake / env variable not specified, try platform defaults. +# +# - Linux: /usr/local/cuda-X.Y +# - macOS: /Developer/NVIDIA/CUDA-X.Y +# - Windows: C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\vX.Y +# +# We will also search the default symlink location /usr/local/cuda first since +# if CUDAToolkit_ROOT is not specified, it is assumed that the symlinked +# directory is the desired location. +if (NOT CUDAToolkit_NVCC_EXECUTABLE) + if (UNIX) + if (NOT APPLE) + set(platform_base "/usr/local/cuda-") + else() + set(platform_base "/Developer/NVIDIA/CUDA-") + endif() + else() + set(platform_base "C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v") + endif() + + # Build out a descending list of possible cuda installations, e.g. + file(GLOB possible_paths "${platform_base}*") + # Iterate the glob results and create a descending list. + set(possible_versions) + foreach (p ${possible_paths}) + # Extract version number from end of string + string(REGEX MATCH "[0-9][0-9]?\\.[0-9]$" p_version ${p}) + if (IS_DIRECTORY ${p} AND p_version) + list(APPEND possible_versions ${p_version}) + endif() + endforeach() + + # Cannot use list(SORT) because that is alphabetical, we need numerical. + # NOTE: this is not an efficient sorting strategy. But even if a user had + # every possible version of CUDA installed, this wouldn't create any + # significant overhead. + set(versions) + foreach (v ${possible_versions}) + list(LENGTH versions num_versions) + # First version, nothing to compare with so just append. + if (num_versions EQUAL 0) + list(APPEND versions ${v}) + else() + # Loop through list. Insert at an index when comparison is + # VERSION_GREATER since we want a descending list. Duplicates will not + # happen since this came from a glob list of directories. + set(i 0) + set(early_terminate FALSE) + while (i LESS num_versions) + list(GET versions ${i} curr) + if (v VERSION_GREATER curr) + list(INSERT versions ${i} ${v}) + set(early_terminate TRUE) + break() + endif() + math(EXPR i "${i} + 1") + endwhile() + # If it did not get inserted, place it at the end. + if (NOT early_terminate) + list(APPEND versions ${v}) + endif() + endif() + endforeach() + + # With a descending list of versions, populate possible paths to search. + set(search_paths) + foreach (v ${versions}) + list(APPEND search_paths "${platform_base}${v}") + endforeach() + + # Force the global default /usr/local/cuda to the front on Unix. + if (UNIX) + list(INSERT search_paths 0 "/usr/local/cuda") + endif() + + # Now search for nvcc again using the platform default search paths. + find_program(CUDAToolkit_NVCC_EXECUTABLE + NAMES nvcc nvcc.exe + PATHS ${search_paths} + PATH_SUFFIXES bin + ) + + # We are done with these variables now, cleanup for caller. + unset(platform_base) + unset(possible_paths) + unset(possible_versions) + unset(versions) + unset(i) + unset(early_terminate) + unset(search_paths) + + if (NOT CUDAToolkit_NVCC_EXECUTABLE) + if (CUDAToolkit_FIND_REQUIRED) + message(FATAL_ERROR "Could not find nvcc, please set CUDAToolkit_ROOT.") + elseif(NOT CUDAToolkit_FIND_QUIETLY) + message(STATUS "Could not find nvcc, please set CUDAToolkit_ROOT.") + endif() + + set(CUDAToolkit_FOUND FALSE) + return() + endif() +endif() + +if(NOT CUDAToolkit_BIN_DIR AND CUDAToolkit_NVCC_EXECUTABLE) + get_filename_component(cuda_dir "${CUDAToolkit_NVCC_EXECUTABLE}" DIRECTORY) + set(CUDAToolkit_BIN_DIR "${cuda_dir}" CACHE PATH "" FORCE) + mark_as_advanced(CUDAToolkit_BIN_DIR) + unset(cuda_dir) +endif() + +if(CUDAToolkit_NVCC_EXECUTABLE AND + CUDAToolkit_NVCC_EXECUTABLE STREQUAL CMAKE_CUDA_COMPILER) + # Need to set these based off the already computed CMAKE_CUDA_COMPILER_VERSION value + # This if statement will always match, but is used to provide variables for MATCH 1,2,3... + if(CMAKE_CUDA_COMPILER_VERSION MATCHES [=[([0-9]+)\.([0-9]+)\.([0-9]+)]=]) + set(CUDAToolkit_VERSION_MAJOR "${CMAKE_MATCH_1}") + set(CUDAToolkit_VERSION_MINOR "${CMAKE_MATCH_2}") + set(CUDAToolkit_VERSION_PATCH "${CMAKE_MATCH_3}") + set(CUDAToolkit_VERSION "${CMAKE_CUDA_COMPILER_VERSION}") + endif() +else() + # Compute the version by invoking nvcc + execute_process (COMMAND ${CUDAToolkit_NVCC_EXECUTABLE} "--version" OUTPUT_VARIABLE NVCC_OUT) + if(NVCC_OUT MATCHES [=[ V([0-9]+)\.([0-9]+)\.([0-9]+)]=]) + set(CUDAToolkit_VERSION_MAJOR "${CMAKE_MATCH_1}") + set(CUDAToolkit_VERSION_MINOR "${CMAKE_MATCH_2}") + set(CUDAToolkit_VERSION_PATCH "${CMAKE_MATCH_3}") + set(CUDAToolkit_VERSION "${CMAKE_MATCH_1}.${CMAKE_MATCH_2}.${CMAKE_MATCH_3}") + endif() + unset(NVCC_OUT) +endif() + + +get_filename_component(CUDAToolkit_ROOT_DIR ${CUDAToolkit_BIN_DIR} DIRECTORY ABSOLUTE) + +# Handle cross compilation +if(CMAKE_CROSSCOMPILING) + if(CMAKE_SYSTEM_PROCESSOR STREQUAL "armv7-a") + # Support for NVPACK + set (CUDAToolkit_TARGET_NAME "armv7-linux-androideabi") + elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "arm") + # Support for arm cross compilation + set(CUDAToolkit_TARGET_NAME "armv7-linux-gnueabihf") + elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64") + # Support for aarch64 cross compilation + if (ANDROID_ARCH_NAME STREQUAL "arm64") + set(CUDAToolkit_TARGET_NAME "aarch64-linux-androideabi") + else() + set(CUDAToolkit_TARGET_NAME "aarch64-linux") + endif (ANDROID_ARCH_NAME STREQUAL "arm64") + elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64") + set(CUDAToolkit_TARGET_NAME "x86_64-linux") + endif() + + if (EXISTS "${CUDAToolkit_ROOT_DIR}/targets/${CUDAToolkit_TARGET_NAME}") + set(CUDAToolkit_TARGET_DIR "${CUDAToolkit_ROOT_DIR}/targets/${CUDAToolkit_TARGET_NAME}") + # add known CUDA target root path to the set of directories we search for programs, libraries and headers + list(PREPEND CMAKE_FIND_ROOT_PATH "${CUDAToolkit_TARGET_DIR}") + + # Mark that we need to pop the root search path changes after we have + # found all cuda libraries so that searches for our cross-compilation + # libraries work when another cuda sdk is in CMAKE_PREFIX_PATH or + # PATh + set(_CUDAToolkit_Pop_ROOT_PATH True) + endif() +else() + # Not cross compiling + set(CUDAToolkit_TARGET_DIR "${CUDAToolkit_ROOT_DIR}") + # Now that we have the real ROOT_DIR, find components inside it. + list(APPEND CMAKE_PREFIX_PATH ${CUDAToolkit_ROOT_DIR}) + + # Mark that we need to pop the prefix path changes after we have + # found the cudart library. + set(_CUDAToolkit_Pop_Prefix True) +endif() + + +# Find the include/ directory +find_path(CUDAToolkit_INCLUDE_DIR + NAMES cuda_runtime.h +) + +# And find the CUDA Runtime Library libcudart +find_library(CUDA_CUDART + NAMES cudart + PATH_SUFFIXES lib64 lib/x64 +) +if (NOT CUDA_CUDART) + find_library(CUDA_CUDART + NAMES cudart + PATH_SUFFIXES lib64/stubs lib/x64/stubs + ) +endif() + +if (NOT CUDA_CUDART AND NOT CUDAToolkit_FIND_QUIETLY) + message(STATUS "Unable to find cudart library.") +endif() + +unset(CUDAToolkit_ROOT_DIR) +if(_CUDAToolkit_Pop_Prefix) + list(REMOVE_AT CMAKE_PREFIX_PATH -1) + unset(_CUDAToolkit_Pop_Prefix) +endif() + +#----------------------------------------------------------------------------- +# Perform version comparison and validate all required variables are set. +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(CUDAToolkit + REQUIRED_VARS + CUDAToolkit_INCLUDE_DIR + CUDA_CUDART + CUDAToolkit_NVCC_EXECUTABLE + VERSION_VAR + CUDAToolkit_VERSION +) +mark_as_advanced(CUDA_CUDART + CUDAToolkit_INCLUDE_DIR + CUDAToolkit_NVCC_EXECUTABLE + ) + +#----------------------------------------------------------------------------- +# Construct result variables +if(CUDAToolkit_FOUND) + set(CUDAToolkit_INCLUDE_DIRS ${CUDAToolkit_INCLUDE_DIR}) + get_filename_component(CUDAToolkit_LIBRARY_DIR ${CUDA_CUDART} DIRECTORY ABSOLUTE) +endif() + +#----------------------------------------------------------------------------- +# Construct import targets +if(CUDAToolkit_FOUND) + + function(_CUDAToolkit_find_and_add_import_lib lib_name) + cmake_parse_arguments(arg "" "" "ALT;DEPS;EXTRA_PATH_SUFFIXES" ${ARGN}) + + set(search_names ${lib_name} ${arg_ALT}) + + find_library(CUDA_${lib_name}_LIBRARY + NAMES ${search_names} + HINTS ${CUDAToolkit_LIBRARY_DIR} + ENV CUDA_PATH + PATH_SUFFIXES nvidia/current lib64 lib/x64 lib + ${arg_EXTRA_PATH_SUFFIXES} + ) + # Don't try any stub directories intil we have exhausted all other + # search locations. + if(NOT CUDA_${lib_name}_LIBRARY) + find_library(CUDA_${lib_name}_LIBRARY + NAMES ${search_names} + HINTS ${CUDAToolkit_LIBRARY_DIR} + ENV CUDA_PATH + PATH_SUFFIXES lib64/stubs lib/x64/stubs lib/stubs stubs + ) + endif() + + mark_as_advanced(CUDA_${lib_name}_LIBRARY) + + if (NOT TARGET CUDA::${lib_name} AND CUDA_${lib_name}_LIBRARY) + add_library(CUDA::${lib_name} IMPORTED INTERFACE) + import_target_include_directories(CUDA::${lib_name} SYSTEM INTERFACE "${CUDAToolkit_INCLUDE_DIRS}") + import_target_link_libraries(CUDA::${lib_name} INTERFACE "${CUDA_${lib_name}_LIBRARY}") + foreach(dep ${arg_DEPS}) + if(TARGET CUDA::${dep}) + import_target_link_libraries(CUDA::${lib_name} INTERFACE CUDA::${dep}) + endif() + endforeach() + endif() + endfunction() + + if(NOT TARGET CUDA::toolkit) + add_library(CUDA::toolkit IMPORTED INTERFACE) + import_target_include_directories(CUDA::toolkit SYSTEM INTERFACE "${CUDAToolkit_INCLUDE_DIRS}") + import_target_link_directories(CUDA::toolkit INTERFACE "${CUDAToolkit_LIBRARY_DIR}") + endif() + + _CUDAToolkit_find_and_add_import_lib(cuda_driver ALT cuda) + + _CUDAToolkit_find_and_add_import_lib(cudart) + _CUDAToolkit_find_and_add_import_lib(cudart_static) + + # setup dependencies that are required for cudart_static when building + # on linux. These are generally only required when using the CUDA toolkit + # when CUDA language is disabled + if(NOT TARGET CUDA::cudart_static_deps + AND TARGET CUDA::cudart_static) + + add_library(CUDA::cudart_static_deps IMPORTED INTERFACE) + import_target_link_libraries(CUDA::cudart_static INTERFACE CUDA::cudart_static_deps) + + if(UNIX AND (CMAKE_C_COMPILER OR CMAKE_CXX_COMPILER)) + find_package(Threads REQUIRED) + import_target_link_libraries(CUDA::cudart_static_deps INTERFACE Threads::Threads ${CMAKE_DL_LIBS}) + endif() + + if(UNIX AND NOT APPLE) + # On Linux, you must link against librt when using the static cuda runtime. + find_library(CUDAToolkit_rt_LIBRARY rt) + mark_as_advanced(CUDAToolkit_rt_LIBRARY) + if(NOT CUDAToolkit_rt_LIBRARY) + message(WARNING "Could not find librt library, needed by CUDA::cudart_static") + else() + import_target_link_libraries(CUDA::cudart_static_deps INTERFACE ${CUDAToolkit_rt_LIBRARY}) + endif() + endif() + endif() + + _CUDAToolkit_find_and_add_import_lib(culibos) # it's a static library + foreach (cuda_lib cublas cufft curand cusparse nppc nvjpeg) + _CUDAToolkit_find_and_add_import_lib(${cuda_lib}) + _CUDAToolkit_find_and_add_import_lib(${cuda_lib}_static DEPS culibos) + endforeach() + + # cuFFTW depends on cuFFT + _CUDAToolkit_find_and_add_import_lib(cufftw DEPS cufft) + _CUDAToolkit_find_and_add_import_lib(cufftw DEPS cufft_static) + + # cuSOLVER depends on cuBLAS, and cuSPARSE + _CUDAToolkit_find_and_add_import_lib(cusolver DEPS cublas cusparse) + _CUDAToolkit_find_and_add_import_lib(cusolver_static DEPS cublas_static cusparse_static culibos) + + # nvGRAPH depends on cuRAND, and cuSOLVER. + _CUDAToolkit_find_and_add_import_lib(nvgraph DEPS curand cusolver) + _CUDAToolkit_find_and_add_import_lib(nvgraph_static DEPS curand_static cusolver_static) + + # Process the majority of the NPP libraries. + foreach (cuda_lib nppial nppicc nppidei nppif nppig nppim nppist nppitc npps nppicom nppisu) + _CUDAToolkit_find_and_add_import_lib(${cuda_lib} DEPS nppc) + _CUDAToolkit_find_and_add_import_lib(${cuda_lib}_static DEPS nppc_static) + endforeach() + + _CUDAToolkit_find_and_add_import_lib(cupti + EXTRA_PATH_SUFFIXES ../extras/CUPTI/lib64/ + ../extras/CUPTI/lib/) + _CUDAToolkit_find_and_add_import_lib(cupti_static + EXTRA_PATH_SUFFIXES ../extras/CUPTI/lib64/ + ../extras/CUPTI/lib/) + + _CUDAToolkit_find_and_add_import_lib(nvrtc DEPS cuda_driver) + + _CUDAToolkit_find_and_add_import_lib(nvml ALT nvidia-ml nvml) + + if(WIN32) + # nvtools can be installed outside the CUDA toolkit directory + # so prefer the NVTOOLSEXT_PATH windows only environment variable + # In addition on windows the most common name is nvToolsExt64_1 + find_library(CUDA_nvToolsExt_LIBRARY + NAMES nvToolsExt64_1 nvToolsExt64 nvToolsExt + PATHS ENV NVTOOLSEXT_PATH + ENV CUDA_PATH + PATH_SUFFIXES lib/x64 lib + ) + endif() + _CUDAToolkit_find_and_add_import_lib(nvToolsExt ALT nvToolsExt64) + + _CUDAToolkit_find_and_add_import_lib(OpenCL) +endif() + +if(_CUDAToolkit_Pop_ROOT_PATH) + list(REMOVE_AT CMAKE_FIND_ROOT_PATH 0) + unset(_CUDAToolkit_Pop_ROOT_PATH) +endif() diff --git a/lib/kokkos/cmake/Modules/FindTPLCUDA.cmake b/lib/kokkos/cmake/Modules/FindTPLCUDA.cmake index 1b36ab819f0d891ff20bc0d3e2c95f92e23250f2..a1072a60c6182413768941b6f9d4537d7df74f61 100644 --- a/lib/kokkos/cmake/Modules/FindTPLCUDA.cmake +++ b/lib/kokkos/cmake/Modules/FindTPLCUDA.cmake @@ -1,17 +1,37 @@ +IF (NOT CUDAToolkit_ROOT) + IF (NOT CUDA_ROOT) + SET(CUDA_ROOT $ENV{CUDA_ROOT}) + ENDIF() + IF(CUDA_ROOT) + SET(CUDAToolkit_ROOT ${CUDA_ROOT}) + ENDIF() +ENDIF() + +IF(CMAKE_VERSION VERSION_GREATER_EQUAL "3.17.0") + find_package(CUDAToolkit) +ELSE() + include(${CMAKE_CURRENT_LIST_DIR}/CudaToolkit.cmake) +ENDIF() + -IF (KOKKOS_CXX_COMPILER_ID STREQUAL Clang) - # Note: "stubs" suffix allows CMake to find the dummy - # libcuda.so provided by the NVIDIA CUDA Toolkit for - # cross-compiling CUDA on a host without a GPU. - KOKKOS_FIND_IMPORTED(CUDA INTERFACE - LIBRARIES cudart cuda - LIBRARY_PATHS ENV LD_LIBRARY_PATH ENV CUDA_PATH /usr/local/cuda - LIBRARY_SUFFIXES lib lib64 lib/stubs lib64/stubs - ALLOW_SYSTEM_PATH_FALLBACK - ) +IF (TARGET CUDA::cudart) + SET(FOUND_CUDART TRUE) + KOKKOS_EXPORT_IMPORTED_TPL(CUDA::cudart) ELSE() - KOKKOS_CREATE_IMPORTED_TPL(CUDA INTERFACE - LINK_LIBRARIES cuda - ) + SET(FOUND_CUDART FALSE) ENDIF() +IF (TARGET CUDA::cuda_driver) + SET(FOUND_CUDA_DRIVER TRUE) + KOKKOS_EXPORT_IMPORTED_TPL(CUDA::cuda_driver) +ELSE() + SET(FOUND_CUDA_DRIVVER FALSE) +ENDIF() + +include(FindPackageHandleStandardArgs) +FIND_PACKAGE_HANDLE_STANDARD_ARGS(TPLCUDA DEFAULT_MSG FOUND_CUDART FOUND_CUDA_DRIVER) +IF (FOUND_CUDA_DRIVER AND FOUND_CUDART) + KOKKOS_CREATE_IMPORTED_TPL(CUDA INTERFACE + LINK_LIBRARIES CUDA::cuda_driver CUDA::cudart + ) +ENDIF() diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank5.cpp b/lib/kokkos/cmake/compile_tests/cuda_compute_capability.cc similarity index 54% rename from lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank5.cpp rename to lib/kokkos/cmake/compile_tests/cuda_compute_capability.cc index ea2da28f105494cc22aeafab1ae32454f3ea3ed3..48c01c070cb8d1db5542a4da4e4d3fbd51e008be 100644 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank5.cpp +++ b/lib/kokkos/cmake/compile_tests/cuda_compute_capability.cc @@ -1,3 +1,4 @@ +/* //@HEADER // ************************************************************************ // @@ -8,8 +9,6 @@ // Under the terms of Contract DE-NA0003525 with NTESS, // the U.S. Government retains certain rights in this software. // -// Kokkos is licensed under 3-clause BSD terms of use: -// // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are // met: @@ -41,18 +40,43 @@ // // ************************************************************************ //@HEADER +*/ -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutStride, LayoutRight, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutStride, LayoutLeft, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutStride, LayoutStride, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t*****, LayoutStride, OpenMP, int64_t) +#include -} // namespace Impl -} // namespace Kokkos +int main() { + cudaDeviceProp device_properties; + const cudaError_t error = cudaGetDeviceProperties(&device_properties, + /*device*/ 0); + if (error != cudaSuccess) { + std::cout << "CUDA error: " << cudaGetErrorString(error) << '\n'; + return error; + } + unsigned int const compute_capability = + device_properties.major * 10 + device_properties.minor; +#ifdef SM_ONLY + std::cout << compute_capability; +#else + switch (compute_capability) { + // clang-format off + case 30: std::cout << "Set -DKokkos_ARCH_KEPLER30=ON ." << std::endl; break; + case 32: std::cout << "Set -DKokkos_ARCH_KEPLER32=ON ." << std::endl; break; + case 35: std::cout << "Set -DKokkos_ARCH_KEPLER35=ON ." << std::endl; break; + case 37: std::cout << "Set -DKokkos_ARCH_KEPLER37=ON ." << std::endl; break; + case 50: std::cout << "Set -DKokkos_ARCH_MAXWELL50=ON ." << std::endl; break; + case 52: std::cout << "Set -DKokkos_ARCH_MAXWELL52=ON ." << std::endl; break; + case 53: std::cout << "Set -DKokkos_ARCH_MAXWELL53=ON ." << std::endl; break; + case 60: std::cout << "Set -DKokkos_ARCH_PASCAL60=ON ." << std::endl; break; + case 61: std::cout << "Set -DKokkos_ARCH_PASCAL61=ON ." << std::endl; break; + case 70: std::cout << "Set -DKokkos_ARCH_VOLTA70=ON ." << std::endl; break; + case 72: std::cout << "Set -DKokkos_ARCH_VOLTA72=ON ." << std::endl; break; + case 75: std::cout << "Set -DKokkos_ARCH_TURING75=ON ." << std::endl; break; + case 80: std::cout << "Set -DKokkos_ARCH_AMPERE80=ON ." << std::endl; break; + default: + std::cout << "Compute capability " << compute_capability + << " is not supported" << std::endl; + // clang-format on + } +#endif + return 0; +} diff --git a/lib/kokkos/cmake/fake_tribits.cmake b/lib/kokkos/cmake/fake_tribits.cmake index acee4a249d172cbef6f0409d5a6182349d35c6d4..94ec0aa152da9242ca329daa904bb48f3ce83a39 100644 --- a/lib/kokkos/cmake/fake_tribits.cmake +++ b/lib/kokkos/cmake/fake_tribits.cmake @@ -88,7 +88,7 @@ FUNCTION(KOKKOS_ADD_TEST) if (KOKKOS_HAS_TRILINOS) CMAKE_PARSE_ARGUMENTS(TEST "" - "EXE;NAME" + "EXE;NAME;TOOL" "" ${ARGN}) IF(TEST_EXE) @@ -104,10 +104,15 @@ FUNCTION(KOKKOS_ADD_TEST) NUM_MPI_PROCS 1 ${TEST_UNPARSED_ARGUMENTS} ) + + if(TEST_TOOL) + add_dependencies(${EXE} ${TEST_TOOL}) #make sure the exe has to build the tool + set_property(TEST ${TEST_NAME} APPEND_STRING PROPERTY ENVIRONMENT "KOKKOS_PROFILE_LIBRARY=$") + endif() else() CMAKE_PARSE_ARGUMENTS(TEST "WILL_FAIL" - "FAIL_REGULAR_EXPRESSION;PASS_REGULAR_EXPRESSION;EXE;NAME" + "FAIL_REGULAR_EXPRESSION;PASS_REGULAR_EXPRESSION;EXE;NAME;TOOL" "CATEGORIES;CMD_ARGS" ${ARGN}) # To match Tribits, we should always be receiving @@ -135,6 +140,10 @@ FUNCTION(KOKKOS_ADD_TEST) IF(TEST_PASS_REGULAR_EXPRESSION) SET_TESTS_PROPERTIES(${TEST_NAME} PROPERTIES PASS_REGULAR_EXPRESSION ${TEST_PASS_REGULAR_EXPRESSION}) ENDIF() + if(TEST_TOOL) + add_dependencies(${EXE} ${TEST_TOOL}) #make sure the exe has to build the tool + set_property(TEST ${TEST_NAME} APPEND_STRING PROPERTY ENVIRONMENT "KOKKOS_PROFILE_LIBRARY=$") + endif() VERIFY_EMPTY(KOKKOS_ADD_TEST ${TEST_UNPARSED_ARGUMENTS}) endif() ENDFUNCTION() diff --git a/lib/kokkos/cmake/kokkos_arch.cmake b/lib/kokkos/cmake/kokkos_arch.cmake index d73a353981812a2643af209cd9945a37626daba1..a63f662d2e9e3a332e85e17083200714c2801225 100644 --- a/lib/kokkos/cmake/kokkos_arch.cmake +++ b/lib/kokkos/cmake/kokkos_arch.cmake @@ -2,11 +2,14 @@ FUNCTION(KOKKOS_ARCH_OPTION SUFFIX DEV_TYPE DESCRIPTION) #all optimizations off by default KOKKOS_OPTION(ARCH_${SUFFIX} OFF BOOL "Optimize for ${DESCRIPTION} (${DEV_TYPE})") - IF (KOKKOS_ARCH_${SUFFIX}) + SET(KOKKOS_ARCH_${SUFFIX} ${KOKKOS_ARCH_${SUFFIX}} PARENT_SCOPE) + SET(KOKKOS_OPTION_KEYS ${KOKKOS_OPTION_KEYS} PARENT_SCOPE) + SET(KOKKOS_OPTION_VALUES ${KOKKOS_OPTION_VALUES} PARENT_SCOPE) + SET(KOKKOS_OPTION_TYPES ${KOKKOS_OPTION_TYPES} PARENT_SCOPE) + IF(KOKKOS_ARCH_${SUFFIX}) LIST(APPEND KOKKOS_ENABLED_ARCH_LIST ${SUFFIX}) SET(KOKKOS_ENABLED_ARCH_LIST ${KOKKOS_ENABLED_ARCH_LIST} PARENT_SCOPE) ENDIF() - SET(KOKKOS_ARCH_${SUFFIX} ${KOKKOS_ARCH_${SUFFIX}} PARENT_SCOPE) ENDFUNCTION() @@ -15,6 +18,10 @@ KOKKOS_CFG_DEPENDS(ARCH COMPILER_ID) KOKKOS_CFG_DEPENDS(ARCH DEVICES) KOKKOS_CFG_DEPENDS(ARCH OPTIONS) +KOKKOS_CHECK_DEPRECATED_OPTIONS( + ARCH_EPYC "Please replace EPYC with ZEN or ZEN2, depending on your platform" + ARCH_RYZEN "Please replace RYZEN with ZEN or ZEN2, depending on your platform" +) #------------------------------------------------------------------------------- # List of possible host architectures. @@ -51,9 +58,12 @@ KOKKOS_ARCH_OPTION(PASCAL61 GPU "NVIDIA Pascal generation CC 6.1") KOKKOS_ARCH_OPTION(VOLTA70 GPU "NVIDIA Volta generation CC 7.0") KOKKOS_ARCH_OPTION(VOLTA72 GPU "NVIDIA Volta generation CC 7.2") KOKKOS_ARCH_OPTION(TURING75 GPU "NVIDIA Turing generation CC 7.5") -KOKKOS_ARCH_OPTION(EPYC HOST "AMD Epyc architecture") +KOKKOS_ARCH_OPTION(AMPERE80 GPU "NVIDIA Ampere generation CC 8.0") +KOKKOS_ARCH_OPTION(ZEN HOST "AMD Zen architecture") +KOKKOS_ARCH_OPTION(ZEN2 HOST "AMD Zen2 architecture") KOKKOS_ARCH_OPTION(VEGA900 GPU "AMD GPU MI25 GFX900") KOKKOS_ARCH_OPTION(VEGA906 GPU "AMD GPU MI50/MI60 GFX906") +KOKKOS_ARCH_OPTION(INTEL_GEN GPU "Intel GPUs Gen9+") IF (KOKKOS_ENABLE_CUDA) #Regardless of version, make sure we define the general architecture name @@ -75,6 +85,10 @@ IF (KOKKOS_ENABLE_CUDA) IF (KOKKOS_ARCH_VOLTA70 OR KOKKOS_ARCH_VOLTA72) SET(KOKKOS_ARCH_VOLTA ON) ENDIF() + + IF (KOKKOS_ARCH_AMPERE80) + SET(KOKKOS_ARCH_AMPERE ON) + ENDIF() ENDIF() @@ -88,9 +102,10 @@ IF(KOKKOS_ENABLE_COMPILER_WARNINGS) ${COMMON_WARNINGS}) COMPILER_SPECIFIC_FLAGS( - PGI NO-VALUE-SPECIFIED - GNU ${GNU_WARNINGS} - DEFAULT ${COMMON_WARNINGS} + COMPILER_ID CMAKE_CXX_COMPILER_ID + PGI NO-VALUE-SPECIFIED + GNU ${GNU_WARNINGS} + DEFAULT ${COMMON_WARNINGS} ) ENDIF() @@ -102,6 +117,9 @@ GLOBAL_SET(KOKKOS_CUDA_OPTIONS) IF (KOKKOS_ENABLE_CUDA_LAMBDA) IF(KOKKOS_CXX_COMPILER_ID STREQUAL NVIDIA) GLOBAL_APPEND(KOKKOS_CUDA_OPTIONS "-expt-extended-lambda") + IF(KOKKOS_COMPILER_CUDA_VERSION GREATER_EQUAL 110) + GLOBAL_APPEND(KOKKOS_CUDA_OPTIONS "-Wext-lambda-captures-this") + ENDIF() ENDIF() ENDIF() @@ -113,7 +131,6 @@ ENDIF() IF (KOKKOS_CXX_COMPILER_ID STREQUAL Clang) SET(CUDA_ARCH_FLAG "--cuda-gpu-arch") - SET(AMDGPU_ARCH_FLAG "--amdgpu-target") GLOBAL_APPEND(KOKKOS_CUDA_OPTIONS -x cuda) IF (KOKKOS_ENABLE_CUDA) SET(KOKKOS_IMPL_CUDA_CLANG_WORKAROUND ON CACHE BOOL "enable CUDA Clang workarounds" FORCE) @@ -133,6 +150,15 @@ IF (KOKKOS_CXX_COMPILER_ID STREQUAL NVIDIA) ENDIF() ENDIF() + +#------------------------------- KOKKOS_HIP_OPTIONS --------------------------- +#clear anything that might be in the cache +GLOBAL_SET(KOKKOS_AMDGPU_OPTIONS) +IF(KOKKOS_CXX_COMPILER_ID STREQUAL HIP) + SET(AMDGPU_ARCH_FLAG "--amdgpu-target") +ENDIF() + + IF (KOKKOS_ARCH_ARMV80) COMPILER_SPECIFIC_FLAGS( Cray NO-VALUE-SPECIFIED @@ -167,12 +193,21 @@ IF (KOKKOS_ARCH_ARMV8_THUNDERX2) ) ENDIF() -IF (KOKKOS_ARCH_EPYC) +IF (KOKKOS_ARCH_ZEN) COMPILER_SPECIFIC_FLAGS( Intel -mavx2 DEFAULT -march=znver1 -mtune=znver1 ) - SET(KOKKOS_ARCH_AMD_EPYC ON) + SET(KOKKOS_ARCH_AMD_ZEN ON) + SET(KOKKOS_ARCH_AMD_AVX2 ON) +ENDIF() + +IF (KOKKOS_ARCH_ZEN2) + COMPILER_SPECIFIC_FLAGS( + Intel -mavx2 + DEFAULT -march=znver2 -mtune=znver2 + ) + SET(KOKKOS_ARCH_AMD_ZEN2 ON) SET(KOKKOS_ARCH_AMD_AVX2 ON) ENDIF() @@ -216,14 +251,6 @@ IF (KOKKOS_ARCH_BDW) ) ENDIF() -IF (KOKKOS_ARCH_EPYC) - SET(KOKKOS_ARCH_AMD_AVX2 ON) - COMPILER_SPECIFIC_FLAGS( - Intel -mvax2 - DEFAULT -march=znver1 -mtune=znver1 - ) -ENDIF() - IF (KOKKOS_ARCH_KNL) #avx512-mic SET(KOKKOS_ARCH_AVX512MIC ON) #not a cache variable @@ -253,7 +280,7 @@ IF (KOKKOS_ARCH_SKX) ) ENDIF() -IF (KOKKOS_ARCH_WSM OR KOKKOS_ARCH_SNB OR KOKKOS_ARCH_HSW OR KOKKOS_ARCH_BDW OR KOKKOS_ARCH_KNL OR KOKKOS_ARCH_SKX OR KOKKOS_ARCH_EPYC) +IF (KOKKOS_ARCH_WSM OR KOKKOS_ARCH_SNB OR KOKKOS_ARCH_HSW OR KOKKOS_ARCH_BDW OR KOKKOS_ARCH_KNL OR KOKKOS_ARCH_SKX OR KOKKOS_ARCH_ZEN OR KOKKOS_ARCH_ZEN2) SET(KOKKOS_USE_ISA_X86_64 ON) ENDIF() @@ -296,6 +323,21 @@ IF (Kokkos_ENABLE_CUDA_RELOCATABLE_DEVICE_CODE) ) ENDIF() +# Clang needs mcx16 option enabled for Windows atomic functions +IF (CMAKE_CXX_COMPILER_ID STREQUAL Clang AND WIN32) + COMPILER_SPECIFIC_OPTIONS( + Clang -mcx16 + ) +ENDIF() + +# MSVC ABI has many deprecation warnings, so ignore them +IF (CMAKE_CXX_COMPILER_ID STREQUAL MSVC OR "x${CMAKE_CXX_SIMULATE_ID}" STREQUAL "xMSVC") + COMPILER_SPECIFIC_DEFS( + Clang _CRT_SECURE_NO_WARNINGS + ) +ENDIF() + + #Right now we cannot get the compiler ID when cross-compiling, so just check #that HIP is enabled IF (Kokkos_ENABLE_HIP) @@ -324,11 +366,15 @@ FUNCTION(CHECK_CUDA_ARCH ARCH FLAG) ELSE() SET(KOKKOS_CUDA_ARCH_FLAG ${FLAG} PARENT_SCOPE) GLOBAL_APPEND(KOKKOS_CUDA_OPTIONS "${CUDA_ARCH_FLAG}=${FLAG}") - IF(KOKKOS_ENABLE_CUDA_RELOCATABLE_DEVICE_CODE) + IF(KOKKOS_ENABLE_CUDA_RELOCATABLE_DEVICE_CODE OR KOKKOS_CXX_COMPILER_ID STREQUAL NVIDIA) GLOBAL_APPEND(KOKKOS_LINK_OPTIONS "${CUDA_ARCH_FLAG}=${FLAG}") ENDIF() ENDIF() ENDIF() + LIST(APPEND KOKKOS_CUDA_ARCH_FLAGS ${FLAG}) + SET(KOKKOS_CUDA_ARCH_FLAGS ${KOKKOS_CUDA_ARCH_FLAGS} PARENT_SCOPE) + LIST(APPEND KOKKOS_CUDA_ARCH_LIST ${ARCH}) + SET(KOKKOS_CUDA_ARCH_LIST ${KOKKOS_CUDA_ARCH_LIST} PARENT_SCOPE) ENDFUNCTION() @@ -346,6 +392,7 @@ CHECK_CUDA_ARCH(PASCAL61 sm_61) CHECK_CUDA_ARCH(VOLTA70 sm_70) CHECK_CUDA_ARCH(VOLTA72 sm_72) CHECK_CUDA_ARCH(TURING75 sm_75) +CHECK_CUDA_ARCH(AMPERE80 sm_80) SET(AMDGPU_ARCH_ALREADY_SPECIFIED "") FUNCTION(CHECK_AMDGPU_ARCH ARCH FLAG) @@ -372,12 +419,19 @@ ENDFUNCTION() CHECK_AMDGPU_ARCH(VEGA900 gfx900) # Radeon Instinct MI25 CHECK_AMDGPU_ARCH(VEGA906 gfx906) # Radeon Instinct MI50 and MI60 +IF(KOKKOS_ENABLE_HIP AND NOT AMDGPU_ARCH_ALREADY_SPECIFIED) + MESSAGE(SEND_ERROR "HIP enabled but no AMD GPU architecture currently enabled. " + "Please enable one AMD GPU architecture via -DKokkos_ARCH_{..}=ON'.") +ENDIF() + IF (KOKKOS_ENABLE_OPENMPTARGET) SET(CLANG_CUDA_ARCH ${KOKKOS_CUDA_ARCH_FLAG}) IF (CLANG_CUDA_ARCH) + STRING(REPLACE "sm_" "cc" PGI_CUDA_ARCH ${CLANG_CUDA_ARCH}) COMPILER_SPECIFIC_FLAGS( Clang -Xopenmp-target -march=${CLANG_CUDA_ARCH} -fopenmp-targets=nvptx64-nvidia-cuda XL -qtgtarch=${KOKKOS_CUDA_ARCH_FLAG} + PGI -gpu=${PGI_CUDA_ARCH} ) ENDIF() SET(CLANG_AMDGPU_ARCH ${KOKKOS_AMDGPU_ARCH_FLAG}) @@ -386,10 +440,39 @@ IF (KOKKOS_ENABLE_OPENMPTARGET) Clang -Xopenmp-target=amdgcn-amd-amdhsa -march=${CLANG_AMDGPU_ARCH} -fopenmp-targets=amdgcn-amd-amdhsa ) ENDIF() + IF (KOKKOS_ARCH_INTEL_GEN) + COMPILER_SPECIFIC_FLAGS( + IntelClang -fopenmp-targets=spir64 -D__STRICT_ANSI__ + ) + ENDIF() ENDIF() IF(KOKKOS_ENABLE_CUDA AND NOT CUDA_ARCH_ALREADY_SPECIFIED) - MESSAGE(SEND_ERROR "CUDA enabled but no NVIDIA GPU architecture currently enabled. Please give one -DKokkos_ARCH_{..}=ON' to enable an NVIDIA GPU architecture.") + # Try to autodetect the CUDA Compute Capability by asking the device + SET(_BINARY_TEST_DIR ${CMAKE_CURRENT_BINARY_DIR}/cmake/compile_tests/CUDAComputeCapabilityWorkdir) + FILE(REMOVE_RECURSE ${_BINARY_TEST_DIR}) + FILE(MAKE_DIRECTORY ${_BINARY_TEST_DIR}) + + TRY_RUN( + _RESULT + _COMPILE_RESULT + ${_BINARY_TEST_DIR} + ${CMAKE_CURRENT_SOURCE_DIR}/cmake/compile_tests/cuda_compute_capability.cc + COMPILE_DEFINITIONS -DSM_ONLY + RUN_OUTPUT_VARIABLE _CUDA_COMPUTE_CAPABILITY) + LIST(FIND KOKKOS_CUDA_ARCH_FLAGS sm_${_CUDA_COMPUTE_CAPABILITY} FLAG_INDEX) + IF(_COMPILE_RESULT AND _RESULT EQUAL 0 AND NOT FLAG_INDEX EQUAL -1) + MESSAGE(STATUS "Detected CUDA Compute Capability ${_CUDA_COMPUTE_CAPABILITY}") + LIST(GET KOKKOS_CUDA_ARCH_LIST ${FLAG_INDEX} ARCHITECTURE) + KOKKOS_SET_OPTION(ARCH_${ARCHITECTURE} ON) + CHECK_CUDA_ARCH(${ARCHITECTURE} sm_${_CUDA_COMPUTE_CAPABILITY}) + LIST(APPEND KOKKOS_ENABLED_ARCH_LIST ${ARCHITECTURE}) + ELSE() + MESSAGE(SEND_ERROR "CUDA enabled but no NVIDIA GPU architecture currently enabled and auto-detection failed. " + "Please give one -DKokkos_ARCH_{..}=ON' to enable an NVIDIA GPU architecture.\n" + "You can yourself try to compile ${CMAKE_CURRENT_SOURCE_DIR}/cmake/compile_tests/cuda_compute_capability.cc and run the executable. " + "If you are cross-compiling, you should try to do this on a compute node.") + ENDIF() ENDIF() #CMake verbose is kind of pointless @@ -453,4 +536,3 @@ MESSAGE(STATUS "Architectures:") FOREACH(Arch ${KOKKOS_ENABLED_ARCH_LIST}) MESSAGE(STATUS " ${Arch}") ENDFOREACH() - diff --git a/lib/kokkos/cmake/kokkos_compiler_id.cmake b/lib/kokkos/cmake/kokkos_compiler_id.cmake index cd5e7c9e4e40217ffcfb1c6f64710cfe6f34a584..4a77a94e078643faedd986255fb73a05bb9a8b29 100644 --- a/lib/kokkos/cmake/kokkos_compiler_id.cmake +++ b/lib/kokkos/cmake/kokkos_compiler_id.cmake @@ -4,34 +4,55 @@ SET(KOKKOS_CXX_COMPILER ${CMAKE_CXX_COMPILER}) SET(KOKKOS_CXX_COMPILER_ID ${CMAKE_CXX_COMPILER_ID}) SET(KOKKOS_CXX_COMPILER_VERSION ${CMAKE_CXX_COMPILER_VERSION}) -# Check if the compiler is nvcc (which really means nvcc_wrapper). -EXECUTE_PROCESS(COMMAND ${CMAKE_CXX_COMPILER} --version - COMMAND grep nvcc - COMMAND wc -l - OUTPUT_VARIABLE INTERNAL_HAVE_COMPILER_NVCC - OUTPUT_STRIP_TRAILING_WHITESPACE) +IF(Kokkos_ENABLE_CUDA) + # Check if the compiler is nvcc (which really means nvcc_wrapper). + EXECUTE_PROCESS(COMMAND ${CMAKE_CXX_COMPILER} --version + OUTPUT_VARIABLE INTERNAL_COMPILER_VERSION + OUTPUT_STRIP_TRAILING_WHITESPACE) + + STRING(REPLACE "\n" " - " INTERNAL_COMPILER_VERSION_ONE_LINE ${INTERNAL_COMPILER_VERSION} ) + STRING(FIND ${INTERNAL_COMPILER_VERSION_ONE_LINE} "nvcc" INTERNAL_COMPILER_VERSION_CONTAINS_NVCC) -STRING(REGEX REPLACE "^ +" "" - INTERNAL_HAVE_COMPILER_NVCC "${INTERNAL_HAVE_COMPILER_NVCC}") + STRING(REGEX REPLACE "^ +" "" + INTERNAL_HAVE_COMPILER_NVCC "${INTERNAL_HAVE_COMPILER_NVCC}") + IF(${INTERNAL_COMPILER_VERSION_CONTAINS_NVCC} GREATER -1) + SET(INTERNAL_HAVE_COMPILER_NVCC true) + ELSE() + SET(INTERNAL_HAVE_COMPILER_NVCC false) + ENDIF() +ENDIF() IF(INTERNAL_HAVE_COMPILER_NVCC) + # Save the host compiler id before overwriting it. + SET(KOKKOS_CXX_HOST_COMPILER_ID ${KOKKOS_CXX_COMPILER_ID}) + # SET the compiler id to nvcc. We use the value used by CMake 3.8. SET(KOKKOS_CXX_COMPILER_ID NVIDIA CACHE STRING INTERNAL FORCE) - # SET nvcc's compiler version. + STRING(REGEX MATCH "V[0-9]+\\.[0-9]+\\.[0-9]+" + TEMP_CXX_COMPILER_VERSION ${INTERNAL_COMPILER_VERSION_ONE_LINE}) + STRING(SUBSTRING ${TEMP_CXX_COMPILER_VERSION} 1 -1 TEMP_CXX_COMPILER_VERSION) + SET(KOKKOS_CXX_COMPILER_VERSION ${TEMP_CXX_COMPILER_VERSION} CACHE STRING INTERNAL FORCE) + MESSAGE(STATUS "Compiler Version: ${KOKKOS_CXX_COMPILER_VERSION}") +ENDIF() + +IF(Kokkos_ENABLE_HIP) + # get HIP version EXECUTE_PROCESS(COMMAND ${CMAKE_CXX_COMPILER} --version - COMMAND grep release - OUTPUT_VARIABLE INTERNAL_CXX_COMPILER_VERSION + OUTPUT_VARIABLE INTERNAL_COMPILER_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE) - STRING(REGEX MATCH "[0-9]+\\.[0-9]+\\.[0-9]+$" - TEMP_CXX_COMPILER_VERSION ${INTERNAL_CXX_COMPILER_VERSION}) + STRING(REPLACE "\n" " - " INTERNAL_COMPILER_VERSION_ONE_LINE ${INTERNAL_COMPILER_VERSION} ) + SET(KOKKOS_CXX_COMPILER_ID HIP CACHE STRING INTERNAL FORCE) + + STRING(REGEX MATCH "[0-9]+\\.[0-9]+\\.[0-9]+" + TEMP_CXX_COMPILER_VERSION ${INTERNAL_COMPILER_VERSION_ONE_LINE}) SET(KOKKOS_CXX_COMPILER_VERSION ${TEMP_CXX_COMPILER_VERSION} CACHE STRING INTERNAL FORCE) + MESSAGE(STATUS "Compiler Version: ${KOKKOS_CXX_COMPILER_VERSION}") ENDIF() - IF(KOKKOS_CXX_COMPILER_ID STREQUAL Clang) # The Cray compiler reports as Clang to most versions of CMake EXECUTE_PROCESS(COMMAND ${CMAKE_CXX_COMPILER} --version @@ -42,6 +63,16 @@ IF(KOKKOS_CXX_COMPILER_ID STREQUAL Clang) IF (INTERNAL_HAVE_CRAY_COMPILER) #not actually Clang SET(KOKKOS_CLANG_IS_CRAY TRUE) ENDIF() + # The clang based Intel compiler reports as Clang to most versions of CMake + EXECUTE_PROCESS(COMMAND ${CMAKE_CXX_COMPILER} --version + COMMAND grep icpx + COMMAND wc -l + OUTPUT_VARIABLE INTERNAL_HAVE_INTEL_COMPILER + OUTPUT_STRIP_TRAILING_WHITESPACE) + IF (INTERNAL_HAVE_INTEL_COMPILER) #not actually Clang + SET(KOKKOS_CLANG_IS_INTEL TRUE) + SET(KOKKOS_CXX_COMPILER_ID IntelClang CACHE STRING INTERNAL FORCE) + ENDIF() ENDIF() IF(KOKKOS_CXX_COMPILER_ID STREQUAL Cray OR KOKKOS_CLANG_IS_CRAY) @@ -65,6 +96,7 @@ SET(KOKKOS_MESSAGE_TEXT "${KOKKOS_MESSAGE_TEXT}\n Clang 3.5.2 or higher" SET(KOKKOS_MESSAGE_TEXT "${KOKKOS_MESSAGE_TEXT}\n GCC 4.8.4 or higher") SET(KOKKOS_MESSAGE_TEXT "${KOKKOS_MESSAGE_TEXT}\n Intel 15.0.2 or higher") SET(KOKKOS_MESSAGE_TEXT "${KOKKOS_MESSAGE_TEXT}\n NVCC 9.0.69 or higher") +SET(KOKKOS_MESSAGE_TEXT "${KOKKOS_MESSAGE_TEXT}\n HIPCC 3.5.0 or higher") SET(KOKKOS_MESSAGE_TEXT "${KOKKOS_MESSAGE_TEXT}\n PGI 17.1 or higher\n") IF(KOKKOS_CXX_COMPILER_ID STREQUAL Clang) @@ -84,6 +116,10 @@ ELSEIF(KOKKOS_CXX_COMPILER_ID STREQUAL NVIDIA) MESSAGE(FATAL_ERROR "${KOKKOS_MESSAGE_TEXT}") ENDIF() SET(CMAKE_CXX_EXTENSIONS OFF CACHE BOOL "Kokkos turns off CXX extensions" FORCE) +ELSEIF(KOKKOS_CXX_COMPILER_ID STREQUAL HIP) + IF(KOKKOS_CXX_COMPILER_VERSION VERSION_LESS 3.5.0) + MESSAGE(FATAL_ERROR "${KOKKOS_MESSAGE_TEXT}") + ENDIF() ELSEIF(KOKKOS_CXX_COMPILER_ID STREQUAL PGI) IF(KOKKOS_CXX_COMPILER_VERSION VERSION_LESS 17.1) MESSAGE(FATAL_ERROR "${KOKKOS_MESSAGE_TEXT}") diff --git a/lib/kokkos/cmake/kokkos_corner_cases.cmake b/lib/kokkos/cmake/kokkos_corner_cases.cmake index e30be3c841ec7913feb41c0545160c6eb48cb704..a792590bace8842bf0c2cdacd4e6262f77d8f8a4 100644 --- a/lib/kokkos/cmake/kokkos_corner_cases.cmake +++ b/lib/kokkos/cmake/kokkos_corner_cases.cmake @@ -1,4 +1,4 @@ -IF(KOKKOS_CXX_COMPILER_ID STREQUAL Clang AND KOKKOS_ENABLE_OPENMP AND NOT KOKKOS_CLANG_IS_CRAY) +IF(KOKKOS_CXX_COMPILER_ID STREQUAL Clang AND KOKKOS_ENABLE_OPENMP AND NOT KOKKOS_CLANG_IS_CRAY AND NOT "x${CMAKE_CXX_SIMULATE_ID}" STREQUAL "xMSVC") # The clang "version" doesn't actually tell you what runtimes and tools # were built into Clang. We should therefore make sure that libomp # was actually built into Clang. Otherwise the user will get nonsensical @@ -49,11 +49,11 @@ ENDIF() IF (KOKKOS_CXX_STANDARD STREQUAL 17) IF (KOKKOS_CXX_COMPILER_ID STREQUAL GNU AND KOKKOS_CXX_COMPILER_VERSION VERSION_LESS 7) - MESSAGE(FATAL_ERROR "You have requested c++17 support for GCC ${KOKKOS_CXX_COMPILER_VERSION}. Although CMake has allowed this and GCC accepts -std=c++1z/c++17, GCC <= 6 does not properly support *this capture. Please reduce the C++ standard to 14 or upgrade the compiler if you do need 17 support") + MESSAGE(FATAL_ERROR "You have requested c++17 support for GCC ${KOKKOS_CXX_COMPILER_VERSION}. Although CMake has allowed this and GCC accepts -std=c++1z/c++17, GCC <= 6 does not properly support *this capture. Please reduce the C++ standard to 14 or upgrade the compiler if you do need C++17 support.") ENDIF() - IF (KOKKOS_CXX_COMPILER_ID STREQUAL NVIDIA) - MESSAGE(FATAL_ERROR "You have requested c++17 support for NVCC. Please reduce the C++ standard to 14. No versions of NVCC currently support 17.") + IF (KOKKOS_CXX_COMPILER_ID STREQUAL NVIDIA AND KOKKOS_CXX_COMPILER_VERSION VERSION_LESS 11) + MESSAGE(FATAL_ERROR "You have requested c++17 support for NVCC ${KOKKOS_CXX_COMPILER_VERSION}. NVCC only supports C++17 from version 11 on. Please reduce the C++ standard to 14 or upgrade the compiler if you need C++17 support.") ENDIF() ENDIF() diff --git a/lib/kokkos/cmake/kokkos_enable_devices.cmake b/lib/kokkos/cmake/kokkos_enable_devices.cmake index 7b50cfe458a46c50b06b627a86a70eb36a0c4a5c..7d1c375ae6d7bc863eb7575769916995ab34ac79 100644 --- a/lib/kokkos/cmake/kokkos_enable_devices.cmake +++ b/lib/kokkos/cmake/kokkos_enable_devices.cmake @@ -36,25 +36,51 @@ IF(KOKKOS_ENABLE_OPENMP) IF(KOKKOS_CLANG_IS_CRAY) SET(ClangOpenMPFlag -fopenmp) ENDIF() - COMPILER_SPECIFIC_FLAGS( - Clang ${ClangOpenMPFlag} - AppleClang -Xpreprocessor -fopenmp - PGI -mp - NVIDIA -Xcompiler -fopenmp - Cray NO-VALUE-SPECIFIED - XL -qsmp=omp - DEFAULT -fopenmp - ) - COMPILER_SPECIFIC_LIBS( - AppleClang -lomp - ) + IF(KOKKOS_CLANG_IS_INTEL) + SET(ClangOpenMPFlag -fiopenmp) + ENDIF() + IF(KOKKOS_CXX_COMPILER_ID STREQUAL Clang AND "x${CMAKE_CXX_SIMULATE_ID}" STREQUAL "xMSVC") + #expression /openmp yields error, so add a specific Clang flag + COMPILER_SPECIFIC_OPTIONS(Clang /clang:-fopenmp) + #link omp library from LLVM lib dir + get_filename_component(LLVM_BIN_DIR ${CMAKE_CXX_COMPILER_AR} DIRECTORY) + COMPILER_SPECIFIC_LIBS(Clang "${LLVM_BIN_DIR}/../lib/libomp.lib") + ELSEIF(KOKKOS_CXX_COMPILER_ID STREQUAL NVIDIA) + COMPILER_SPECIFIC_FLAGS( + COMPILER_ID KOKKOS_CXX_HOST_COMPILER_ID + Clang -Xcompiler ${ClangOpenMPFlag} + PGI -Xcompiler -mp + Cray NO-VALUE-SPECIFIED + XL -Xcompiler -qsmp=omp + DEFAULT -Xcompiler -fopenmp + ) + ELSE() + COMPILER_SPECIFIC_FLAGS( + Clang ${ClangOpenMPFlag} + AppleClang -Xpreprocessor -fopenmp + PGI -mp + Cray NO-VALUE-SPECIFIED + XL -qsmp=omp + DEFAULT -fopenmp + ) + COMPILER_SPECIFIC_LIBS( + AppleClang -lomp + ) + ENDIF() ENDIF() KOKKOS_DEVICE_OPTION(OPENMPTARGET OFF DEVICE "Whether to build the OpenMP target backend") IF (KOKKOS_ENABLE_OPENMPTARGET) +SET(ClangOpenMPFlag -fopenmp=libomp) + IF(KOKKOS_CLANG_IS_CRAY) + SET(ClangOpenMPFlag -fopenmp) + ENDIF() + COMPILER_SPECIFIC_FLAGS( - Clang -fopenmp -fopenmp=libomp + Clang ${ClangOpenMPFlag} -Wno-openmp-mapping + IntelClang -fiopenmp -Wno-openmp-mapping XL -qsmp=omp -qoffload -qnoeh + PGI -mp=gpu DEFAULT -fopenmp ) COMPILER_SPECIFIC_DEFS( @@ -65,6 +91,9 @@ IF (KOKKOS_ENABLE_OPENMPTARGET) # COMPILER_SPECIFIC_LIBS( # Clang -lopenmptarget # ) + IF(KOKKOS_CXX_STANDARD LESS 17) + MESSAGE(FATAL_ERROR "OpenMPTarget backend requires C++17 or newer") + ENDIF() ENDIF() IF(Trilinos_ENABLE_Kokkos AND TPL_ENABLE_CUDA) @@ -76,6 +105,9 @@ KOKKOS_DEVICE_OPTION(CUDA ${CUDA_DEFAULT} DEVICE "Whether to build CUDA backend" IF (KOKKOS_ENABLE_CUDA) GLOBAL_SET(KOKKOS_DONT_ALLOW_EXTENSIONS "CUDA enabled") + IF(WIN32) + GLOBAL_APPEND(KOKKOS_COMPILE_OPTIONS -x cu) + ENDIF() ENDIF() # We want this to default to OFF for cache reasons, but if no diff --git a/lib/kokkos/cmake/kokkos_enable_options.cmake b/lib/kokkos/cmake/kokkos_enable_options.cmake index 4560c3df8fbfd8901bb350d2d41820263061cfd3..22ac7a0038659572da76558b8b40c2750261db0d 100644 --- a/lib/kokkos/cmake/kokkos_enable_options.cmake +++ b/lib/kokkos/cmake/kokkos_enable_options.cmake @@ -45,10 +45,9 @@ UNSET(_UPPERCASE_CMAKE_BUILD_TYPE) KOKKOS_ENABLE_OPTION(LARGE_MEM_TESTS OFF "Whether to perform extra large memory tests") KOKKOS_ENABLE_OPTION(DEBUG_BOUNDS_CHECK OFF "Whether to use bounds checking - will increase runtime") KOKKOS_ENABLE_OPTION(COMPILER_WARNINGS OFF "Whether to print all compiler warnings") -KOKKOS_ENABLE_OPTION(PROFILING ON "Whether to create bindings for profiling tools") KOKKOS_ENABLE_OPTION(PROFILING_LOAD_PRINT OFF "Whether to print information about which profiling tools got loaded") +KOKKOS_ENABLE_OPTION(TUNING OFF "Whether to create bindings for tuning tools") KOKKOS_ENABLE_OPTION(AGGRESSIVE_VECTORIZATION OFF "Whether to aggressively vectorize loops") -KOKKOS_ENABLE_OPTION(DEPRECATED_CODE OFF "Whether to enable deprecated code") IF (KOKKOS_ENABLE_CUDA) SET(KOKKOS_COMPILER_CUDA_VERSION "${KOKKOS_COMPILER_VERSION_MAJOR}${KOKKOS_COMPILER_VERSION_MINOR}") diff --git a/lib/kokkos/cmake/kokkos_functions.cmake b/lib/kokkos/cmake/kokkos_functions.cmake index fd04966bafa30e59bd9693f536aeb284dcc220a4..ca537da193e4229911ff8d6934bba1bdf56d7f94 100644 --- a/lib/kokkos/cmake/kokkos_functions.cmake +++ b/lib/kokkos/cmake/kokkos_functions.cmake @@ -47,6 +47,13 @@ FUNCTION(kokkos_option CAMEL_SUFFIX DEFAULT TYPE DOCSTRING) SET(CAMEL_NAME Kokkos_${CAMEL_SUFFIX}) STRING(TOUPPER ${CAMEL_NAME} UC_NAME) + LIST(APPEND KOKKOS_OPTION_KEYS ${CAMEL_SUFFIX}) + SET(KOKKOS_OPTION_KEYS ${KOKKOS_OPTION_KEYS} PARENT_SCOPE) + LIST(APPEND KOKKOS_OPTION_VALUES "${DOCSTRING}") + SET(KOKKOS_OPTION_VALUES ${KOKKOS_OPTION_VALUES} PARENT_SCOPE) + LIST(APPEND KOKKOS_OPTION_TYPES ${TYPE}) + SET(KOKKOS_OPTION_TYPES ${KOKKOS_OPTION_TYPES} PARENT_SCOPE) + # Make sure this appears in the cache with the appropriate DOCSTRING SET(${CAMEL_NAME} ${DEFAULT} CACHE ${TYPE} ${DOCSTRING}) @@ -73,7 +80,21 @@ FUNCTION(kokkos_option CAMEL_SUFFIX DEFAULT TYPE DOCSTRING) ELSE() SET(${UC_NAME} ${DEFAULT} PARENT_SCOPE) ENDIF() +ENDFUNCTION() + +FUNCTION(kokkos_set_option CAMEL_SUFFIX VALUE) + LIST(FIND KOKKOS_OPTION_KEYS ${CAMEL_SUFFIX} OPTION_INDEX) + IF(OPTION_INDEX EQUAL -1) + MESSAGE(FATAL_ERROR "Couldn't set value for Kokkos_${CAMEL_SUFFIX}") + ENDIF() + SET(CAMEL_NAME Kokkos_${CAMEL_SUFFIX}) + STRING(TOUPPER ${CAMEL_NAME} UC_NAME) + LIST(GET KOKKOS_OPTION_VALUES ${OPTION_INDEX} DOCSTRING) + LIST(GET KOKKOS_OPTION_TYPES ${OPTION_INDEX} TYPE) + SET(${CAMEL_NAME} ${VALUE} CACHE ${TYPE} ${DOCSTRING} FORCE) + MESSAGE(STATUS "Setting ${CAMEL_NAME}=${VALUE}") + SET(${UC_NAME} ${VALUE} PARENT_SCOPE) ENDFUNCTION() FUNCTION(kokkos_append_config_line LINE) @@ -109,8 +130,8 @@ ENDMACRO() MACRO(kokkos_export_imported_tpl NAME) IF (NOT KOKKOS_HAS_TRILINOS) - GET_TARGET_PROPERTY(LIB_TYPE ${NAME} TYPE) - IF (${LIB_TYPE} STREQUAL "INTERFACE_LIBRARY") + GET_TARGET_PROPERTY(LIB_IMPORTED ${NAME} IMPORTED) + IF (NOT LIB_IMPORTED) # This is not an imported target # This an interface library that we created INSTALL( @@ -123,12 +144,18 @@ MACRO(kokkos_export_imported_tpl NAME) ELSE() #make sure this also gets "exported" in the config file KOKKOS_APPEND_CONFIG_LINE("IF(NOT TARGET ${NAME})") - KOKKOS_APPEND_CONFIG_LINE("ADD_LIBRARY(${NAME} UNKNOWN IMPORTED)") - KOKKOS_APPEND_CONFIG_LINE("SET_TARGET_PROPERTIES(${NAME} PROPERTIES") - GET_TARGET_PROPERTY(TPL_LIBRARY ${NAME} IMPORTED_LOCATION) - IF(TPL_LIBRARY) - KOKKOS_APPEND_CONFIG_LINE("IMPORTED_LOCATION ${TPL_LIBRARY}") + GET_TARGET_PROPERTY(LIB_TYPE ${NAME} TYPE) + IF (${LIB_TYPE} STREQUAL "INTERFACE_LIBRARY") + KOKKOS_APPEND_CONFIG_LINE("ADD_LIBRARY(${NAME} INTERFACE IMPORTED)") + KOKKOS_APPEND_CONFIG_LINE("SET_TARGET_PROPERTIES(${NAME} PROPERTIES") + ELSE() + KOKKOS_APPEND_CONFIG_LINE("ADD_LIBRARY(${NAME} UNKNOWN IMPORTED)") + KOKKOS_APPEND_CONFIG_LINE("SET_TARGET_PROPERTIES(${NAME} PROPERTIES") + GET_TARGET_PROPERTY(TPL_LIBRARY ${NAME} IMPORTED_LOCATION) + IF(TPL_LIBRARY) + KOKKOS_APPEND_CONFIG_LINE("IMPORTED_LOCATION ${TPL_LIBRARY}") + ENDIF() ENDIF() GET_TARGET_PROPERTY(TPL_INCLUDES ${NAME} INTERFACE_INCLUDE_DIRECTORIES) @@ -737,18 +764,22 @@ FUNCTION(kokkos_link_tpl TARGET) ENDFUNCTION() FUNCTION(COMPILER_SPECIFIC_OPTIONS_HELPER) - SET(COMPILERS NVIDIA PGI XL DEFAULT Cray Intel Clang AppleClang GNU) + SET(COMPILERS NVIDIA PGI XL DEFAULT Cray Intel Clang AppleClang IntelClang GNU HIP) CMAKE_PARSE_ARGUMENTS( PARSE "LINK_OPTIONS;COMPILE_OPTIONS;COMPILE_DEFINITIONS;LINK_LIBRARIES" - "" + "COMPILER_ID" "${COMPILERS}" ${ARGN}) IF(PARSE_UNPARSED_ARGUMENTS) MESSAGE(SEND_ERROR "'${PARSE_UNPARSED_ARGUMENTS}' argument(s) not recognized when providing compiler specific options") ENDIF() - SET(COMPILER ${KOKKOS_CXX_COMPILER_ID}) + IF(PARSE_COMPILER_ID) + SET(COMPILER ${${PARSE_COMPILER_ID}}) + ELSE() + SET(COMPILER ${KOKKOS_CXX_COMPILER_ID}) + ENDIF() SET(COMPILER_SPECIFIC_FLAGS_TMP) FOREACH(COMP ${COMPILERS}) @@ -792,6 +823,14 @@ FUNCTION(COMPILER_SPECIFIC_FLAGS) COMPILER_SPECIFIC_OPTIONS_HELPER(${ARGN} COMPILE_OPTIONS LINK_OPTIONS) ENDFUNCTION(COMPILER_SPECIFIC_FLAGS) +FUNCTION(COMPILER_SPECIFIC_OPTIONS) + COMPILER_SPECIFIC_OPTIONS_HELPER(${ARGN} COMPILE_OPTIONS) +ENDFUNCTION(COMPILER_SPECIFIC_OPTIONS) + +FUNCTION(COMPILER_SPECIFIC_LINK_OPTIONS) + COMPILER_SPECIFIC_OPTIONS_HELPER(${ARGN} LINK_OPTIONS) +ENDFUNCTION(COMPILER_SPECIFIC_LINK_OPTIONS) + FUNCTION(COMPILER_SPECIFIC_DEFS) COMPILER_SPECIFIC_OPTIONS_HELPER(${ARGN} COMPILE_DEFINITIONS) ENDFUNCTION(COMPILER_SPECIFIC_DEFS) @@ -799,3 +838,36 @@ ENDFUNCTION(COMPILER_SPECIFIC_DEFS) FUNCTION(COMPILER_SPECIFIC_LIBS) COMPILER_SPECIFIC_OPTIONS_HELPER(${ARGN} LINK_LIBRARIES) ENDFUNCTION(COMPILER_SPECIFIC_LIBS) + +# Given a list of the form +# key1;value1;key2;value2,... +# Create a list of all keys in a variable named ${KEY_LIST_NAME} +# and set the value for each key in a variable ${VAR_PREFIX}key1,... +# kokkos_key_value_map(ARCH ALL_ARCHES key1;value1;key2;value2) +# would produce a list variable ALL_ARCHES=key1;key2 +# and individual variables ARCHkey1=value1 and ARCHkey2=value2 +MACRO(KOKKOS_KEY_VALUE_MAP VAR_PREFIX KEY_LIST_NAME) + SET(PARSE_KEY ON) + SET(${KEY_LIST_NAME}) + FOREACH(ENTRY ${ARGN}) + IF(PARSE_KEY) + SET(CURRENT_KEY ${ENTRY}) + SET(PARSE_KEY OFF) + LIST(APPEND ${KEY_LIST_NAME} ${CURRENT_KEY}) + ELSE() + SET(${VAR_PREFIX}${CURRENT_KEY} ${ENTRY}) + SET(PARSE_KEY ON) + ENDIF() + ENDFOREACH() +ENDMACRO() + +FUNCTION(KOKKOS_CHECK_DEPRECATED_OPTIONS) + KOKKOS_KEY_VALUE_MAP(DEPRECATED_MSG_ DEPRECATED_LIST ${ARGN}) + FOREACH(OPTION_SUFFIX ${DEPRECATED_LIST}) + SET(OPTION_NAME Kokkos_${OPTION_SUFFIX}) + SET(OPTION_MESSAGE ${DEPRECATED_MSG_${OPTION_SUFFIX}}) + IF(DEFINED ${OPTION_NAME}) # This variable has been given by the user as on or off + MESSAGE(SEND_ERROR "Removed option ${OPTION_NAME} has been given with value ${${OPTION_NAME}}. ${OPT_MESSAGE}") + ENDIF() + ENDFOREACH() +ENDFUNCTION() diff --git a/lib/kokkos/cmake/kokkos_install.cmake b/lib/kokkos/cmake/kokkos_install.cmake index 97bb2bd0b052a31052d7ac3b947501a722ab0e5b..ff66d015fb421632bd59a7ccc47a5db3de86a3c7 100644 --- a/lib/kokkos/cmake/kokkos_install.cmake +++ b/lib/kokkos/cmake/kokkos_install.cmake @@ -1,5 +1,5 @@ INCLUDE(CMakePackageConfigHelpers) -IF (NOT KOKKOS_HAS_TRILINOS) +IF (NOT KOKKOS_HAS_TRILINOS AND NOT Kokkos_INSTALL_TESTING) INCLUDE(GNUInstallDirs) #Set all the variables needed for KokkosConfig.cmake diff --git a/lib/kokkos/cmake/kokkos_test_cxx_std.cmake b/lib/kokkos/cmake/kokkos_test_cxx_std.cmake index 603b4b3d7aef3d48d86aa63b42c1e20dd3f25d04..cb857bc11e62385a3da6bc95827867611b4b4b29 100644 --- a/lib/kokkos/cmake/kokkos_test_cxx_std.cmake +++ b/lib/kokkos/cmake/kokkos_test_cxx_std.cmake @@ -28,19 +28,30 @@ FUNCTION(kokkos_set_cxx_standard_feature standard) GLOBAL_SET(KOKKOS_CXX_STANDARD_FEATURE ${FEATURE_NAME}) ELSEIF(NOT KOKKOS_USE_CXX_EXTENSIONS AND ${STANDARD_NAME}) MESSAGE(STATUS "Using ${${STANDARD_NAME}} for C++${standard} standard as feature") + IF (KOKKOS_CXX_COMPILER_ID STREQUAL NVIDIA AND (KOKKOS_CXX_HOST_COMPILER_ID STREQUAL GNU OR KOKKOS_CXX_HOST_COMPILER_ID STREQUAL Clang)) + SET(SUPPORTED_NVCC_FLAGS "-std=c++11;-std=c++14;-std=c++17") + IF (NOT ${${STANDARD_NAME}} IN_LIST SUPPORTED_NVCC_FLAGS) + MESSAGE(FATAL_ERROR "CMake wants to use ${${STANDARD_NAME}} which is not supported by NVCC. Using a more recent host compiler or a more recent CMake version might help.") + ENDIF() + ENDIF() GLOBAL_SET(KOKKOS_CXX_STANDARD_FEATURE ${FEATURE_NAME}) - ELSEIF(KOKKOS_CXX_COMPILER_ID STREQUAL "MSVC") + ELSEIF (CMAKE_CXX_COMPILER_ID STREQUAL "MSVC" OR "x${CMAKE_CXX_SIMULATE_ID}" STREQUAL "xMSVC") #MSVC doesn't need a command line flag, that doesn't mean it has no support MESSAGE(STATUS "Using no flag for C++${standard} standard as feature") GLOBAL_SET(KOKKOS_CXX_STANDARD_FEATURE ${FEATURE_NAME}) + ELSEIF((KOKKOS_CXX_COMPILER_ID STREQUAL "NVIDIA") AND WIN32) + MESSAGE(STATUS "Using no flag for C++${standard} standard as feature") + GLOBAL_SET(KOKKOS_CXX_STANDARD_FEATURE "") ELSE() #nope, we can't do anything here MESSAGE(WARNING "C++${standard} is not supported as a compiler feature. We will choose custom flags for now, but this behavior has been deprecated. Please open an issue at https://github.com/kokkos/kokkos/issues reporting that ${KOKKOS_CXX_COMPILER_ID} ${KOKKOS_CXX_COMPILER_VERSION} failed for ${KOKKOS_CXX_STANDARD}, preferrably including your CMake command.") GLOBAL_SET(KOKKOS_CXX_STANDARD_FEATURE "") ENDIF() - IF(NOT ${FEATURE_NAME} IN_LIST CMAKE_CXX_COMPILE_FEATURES) - MESSAGE(FATAL_ERROR "Compiler ${KOKKOS_CXX_COMPILER_ID} should support ${FEATURE_NAME}, but CMake reports feature not supported") + IF(NOT WIN32) + IF(NOT ${FEATURE_NAME} IN_LIST CMAKE_CXX_COMPILE_FEATURES) + MESSAGE(FATAL_ERROR "Compiler ${KOKKOS_CXX_COMPILER_ID} should support ${FEATURE_NAME}, but CMake reports feature not supported") + ENDIF() ENDIF() ENDFUNCTION() @@ -123,7 +134,7 @@ IF (NOT KOKKOS_CXX_STANDARD_FEATURE) ELSEIF(KOKKOS_CXX_COMPILER_ID STREQUAL Intel) INCLUDE(${KOKKOS_SRC_PATH}/cmake/intel.cmake) kokkos_set_intel_flags(${KOKKOS_CXX_STANDARD} ${KOKKOS_CXX_INTERMEDIATE_STANDARD}) - ELSEIF(KOKKOS_CXX_COMPILER_ID STREQUAL "MSVC") + ELSEIF((KOKKOS_CXX_COMPILER_ID STREQUAL "MSVC") OR ((KOKKOS_CXX_COMPILER_ID STREQUAL "NVIDIA") AND WIN32)) INCLUDE(${KOKKOS_SRC_PATH}/cmake/msvc.cmake) kokkos_set_msvc_flags(${KOKKOS_CXX_STANDARD} ${KOKKOS_CXX_INTERMEDIATE_STANDARD}) ELSE() diff --git a/lib/kokkos/cmake/kokkos_tpls.cmake b/lib/kokkos/cmake/kokkos_tpls.cmake index 76efd428479424013aa346895458f99d084e9310..861d79727fbe554102df4158138f4d38b9b91717 100644 --- a/lib/kokkos/cmake/kokkos_tpls.cmake +++ b/lib/kokkos/cmake/kokkos_tpls.cmake @@ -13,10 +13,10 @@ KOKKOS_TPL_OPTION(LIBNUMA Off) KOKKOS_TPL_OPTION(MEMKIND Off) KOKKOS_TPL_OPTION(CUDA Off) KOKKOS_TPL_OPTION(LIBRT Off) -KOKKOS_TPL_OPTION(LIBDL On) - -IF(KOKKOS_ENABLE_PROFILING AND NOT KOKKOS_ENABLE_LIBDL) - MESSAGE(SEND_ERROR "Kokkos_ENABLE_PROFILING requires Kokkos_ENABLE_LIBDL=ON") +IF (WIN32) + KOKKOS_TPL_OPTION(LIBDL Off) +ELSE() + KOKKOS_TPL_OPTION(LIBDL On) ENDIF() IF(Trilinos_ENABLE_Kokkos AND TPL_ENABLE_HPX) diff --git a/lib/kokkos/cmake/kokkos_tribits.cmake b/lib/kokkos/cmake/kokkos_tribits.cmake index 6ee1409aa72127d4ae4c127d097b4420a9149cb1..9ba817d2c927588a72ebb3c6928bcfa17fc940b2 100644 --- a/lib/kokkos/cmake/kokkos_tribits.cmake +++ b/lib/kokkos/cmake/kokkos_tribits.cmake @@ -21,10 +21,6 @@ IF (KOKKOS_HAS_TRILINOS) SET(${PROJECT_NAME}_ENABLE_DEBUG OFF) ENDIF() - IF(NOT DEFINED ${PROJECT_NAME}_ENABLE_CXX11) - SET(${PROJECT_NAME}_ENABLE_CXX11 ON) - ENDIF() - IF(NOT DEFINED ${PROJECT_NAME}_ENABLE_TESTS) SET(${PROJECT_NAME}_ENABLE_TESTS OFF) ENDIF() @@ -134,7 +130,7 @@ FUNCTION(KOKKOS_ADD_EXECUTABLE ROOT_NAME) VERIFY_EMPTY(KOKKOS_ADD_EXECUTABLE ${PARSE_UNPARSED_ARGUMENTS}) #All executables must link to all the kokkos targets #This is just private linkage because exe is final - TARGET_LINK_LIBRARIES(${EXE_NAME} PRIVATE kokkos) + TARGET_LINK_LIBRARIES(${EXE_NAME} PRIVATE Kokkos::kokkos) endif() ENDFUNCTION() @@ -174,16 +170,42 @@ FUNCTION(KOKKOS_SET_EXE_PROPERTY ROOT_NAME) ENDFUNCTION() MACRO(KOKKOS_SETUP_BUILD_ENVIRONMENT) - INCLUDE(${KOKKOS_SRC_PATH}/cmake/kokkos_compiler_id.cmake) - INCLUDE(${KOKKOS_SRC_PATH}/cmake/kokkos_enable_devices.cmake) - INCLUDE(${KOKKOS_SRC_PATH}/cmake/kokkos_enable_options.cmake) - INCLUDE(${KOKKOS_SRC_PATH}/cmake/kokkos_test_cxx_std.cmake) - INCLUDE(${KOKKOS_SRC_PATH}/cmake/kokkos_arch.cmake) - IF (NOT KOKKOS_HAS_TRILINOS) - SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${Kokkos_SOURCE_DIR}/cmake/Modules/") - INCLUDE(${KOKKOS_SRC_PATH}/cmake/kokkos_tpls.cmake) - ENDIF() - INCLUDE(${KOKKOS_SRC_PATH}/cmake/kokkos_corner_cases.cmake) + # This is needed for both regular build and install tests + INCLUDE(${KOKKOS_SRC_PATH}/cmake/kokkos_compiler_id.cmake) + #set an internal option, if not already set + SET(Kokkos_INSTALL_TESTING OFF CACHE INTERNAL "Whether to build tests and examples against installation") + IF (Kokkos_INSTALL_TESTING) + SET(KOKKOS_ENABLE_TESTS ON) + SET(KOKKOS_ENABLE_EXAMPLES ON) + # This looks a little weird, but what we are doing + # is to NOT build Kokkos but instead look for an + # installed Kokkos - then build examples and tests + # against that installed Kokkos + FIND_PACKAGE(Kokkos REQUIRED) + # Just grab the configuration from the installation + FOREACH(DEV ${Kokkos_DEVICES}) + SET(KOKKOS_ENABLE_${DEV} ON) + ENDFOREACH() + FOREACH(OPT ${Kokkos_OPTIONS}) + SET(KOKKOS_ENABLE_${OPT} ON) + ENDFOREACH() + FOREACH(TPL ${Kokkos_TPLS}) + SET(KOKKOS_ENABLE_${TPL} ON) + ENDFOREACH() + FOREACH(ARCH ${Kokkos_ARCH}) + SET(KOKKOS_ARCH_${ARCH} ON) + ENDFOREACH() + ELSE() + INCLUDE(${KOKKOS_SRC_PATH}/cmake/kokkos_enable_devices.cmake) + INCLUDE(${KOKKOS_SRC_PATH}/cmake/kokkos_enable_options.cmake) + INCLUDE(${KOKKOS_SRC_PATH}/cmake/kokkos_test_cxx_std.cmake) + INCLUDE(${KOKKOS_SRC_PATH}/cmake/kokkos_arch.cmake) + IF (NOT KOKKOS_HAS_TRILINOS) + SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${Kokkos_SOURCE_DIR}/cmake/Modules/") + INCLUDE(${KOKKOS_SRC_PATH}/cmake/kokkos_tpls.cmake) + ENDIF() + INCLUDE(${KOKKOS_SRC_PATH}/cmake/kokkos_corner_cases.cmake) + ENDIF() ENDMACRO() MACRO(KOKKOS_ADD_TEST_EXECUTABLE ROOT_NAME) @@ -310,28 +332,40 @@ FUNCTION(KOKKOS_INTERNAL_ADD_LIBRARY LIBRARY_NAME) LIST(REMOVE_DUPLICATES PARSE_SOURCES) ENDIF() + IF(PARSE_STATIC) + SET(LINK_TYPE STATIC) + ENDIF() + + IF(PARSE_SHARED) + SET(LINK_TYPE SHARED) + ENDIF() + + # MSVC and other platforms want to have + # the headers included as source files + # for better dependency detection ADD_LIBRARY( ${LIBRARY_NAME} + ${LINK_TYPE} ${PARSE_HEADERS} ${PARSE_SOURCES} ) KOKKOS_INTERNAL_ADD_LIBRARY_INSTALL(${LIBRARY_NAME}) - INSTALL( - FILES ${PARSE_HEADERS} - DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} - COMPONENT ${PACKAGE_NAME} - ) - #In case we are building in-tree, add an alias name #that matches the install Kokkos:: name ADD_LIBRARY(Kokkos::${LIBRARY_NAME} ALIAS ${LIBRARY_NAME}) ENDFUNCTION() FUNCTION(KOKKOS_ADD_LIBRARY LIBRARY_NAME) + CMAKE_PARSE_ARGUMENTS(PARSE + "ADD_BUILD_OPTIONS" + "" + "" + ${ARGN} + ) IF (KOKKOS_HAS_TRILINOS) - TRIBITS_ADD_LIBRARY(${LIBRARY_NAME} ${ARGN}) + TRIBITS_ADD_LIBRARY(${LIBRARY_NAME} ${PARSE_UNPARSED_ARGUMENTS}) #Stolen from Tribits - it can add prefixes SET(TRIBITS_LIBRARY_NAME_PREFIX "${${PROJECT_NAME}_LIBRARY_NAME_PREFIX}") SET(TRIBITS_LIBRARY_NAME ${TRIBITS_LIBRARY_NAME_PREFIX}${LIBRARY_NAME}) @@ -346,8 +380,10 @@ FUNCTION(KOKKOS_ADD_LIBRARY LIBRARY_NAME) #KOKKOS_SET_LIBRARY_PROPERTIES(${TRIBITS_LIBRARY_NAME} PLAIN_STYLE) ELSE() KOKKOS_INTERNAL_ADD_LIBRARY( - ${LIBRARY_NAME} ${ARGN}) - KOKKOS_SET_LIBRARY_PROPERTIES(${LIBRARY_NAME}) + ${LIBRARY_NAME} ${PARSE_UNPARSED_ARGUMENTS}) + IF (PARSE_ADD_BUILD_OPTIONS) + KOKKOS_SET_LIBRARY_PROPERTIES(${LIBRARY_NAME}) + ENDIF() ENDIF() ENDFUNCTION() @@ -364,17 +400,6 @@ ELSE() ADD_LIBRARY(${NAME} INTERFACE) KOKKOS_INTERNAL_ADD_LIBRARY_INSTALL(${NAME}) - - INSTALL( - FILES ${PARSE_HEADERS} - DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} - ) - - INSTALL( - FILES ${PARSE_HEADERS} - DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} - COMPONENT ${PACKAGE_NAME} - ) ENDIF() ENDFUNCTION() diff --git a/lib/kokkos/config/yaml/volta.yaml b/lib/kokkos/config/yaml/volta.yaml new file mode 100644 index 0000000000000000000000000000000000000000..f67af9c2a44a427f6a8021763bced669cf8b30f6 --- /dev/null +++ b/lib/kokkos/config/yaml/volta.yaml @@ -0,0 +1,4 @@ +packages: + kokkos: + variants: +cuda +openmp +volta70 +cuda_lambda +wrapper ^cuda@10.1 + compiler: [gcc@7.2.0] diff --git a/lib/kokkos/containers/CMakeLists.txt b/lib/kokkos/containers/CMakeLists.txt index 2bfaea7a13ebca4d3f971afe36b8935ebed21e13..b0e0c4eadea7f64ac2cf8a5cf4d56fec786ff416 100644 --- a/lib/kokkos/containers/CMakeLists.txt +++ b/lib/kokkos/containers/CMakeLists.txt @@ -2,7 +2,9 @@ KOKKOS_SUBPACKAGE(Containers) -ADD_SUBDIRECTORY(src) +IF (NOT Kokkos_INSTALL_TESTING) + ADD_SUBDIRECTORY(src) +ENDIF() KOKKOS_ADD_TEST_DIRECTORIES(unit_tests) KOKKOS_ADD_TEST_DIRECTORIES(performance_tests) diff --git a/lib/kokkos/containers/performance_tests/Makefile b/lib/kokkos/containers/performance_tests/Makefile index f309a220d0f148a2e90806edd62f51bcb814d44e..8ef1dd99385fae9fe22b8ee2002c0a74cdde99db 100644 --- a/lib/kokkos/containers/performance_tests/Makefile +++ b/lib/kokkos/containers/performance_tests/Makefile @@ -31,10 +31,10 @@ ifeq ($(KOKKOS_INTERNAL_USE_CUDA), 1) TEST_TARGETS += test-cuda endif -ifeq ($(KOKKOS_INTERNAL_USE_ROCM), 1) - OBJ_ROCM = TestROCm.o TestMain.o gtest-all.o - TARGETS += KokkosContainers_PerformanceTest_ROCm - TEST_TARGETS += test-rocm +ifeq ($(KOKKOS_INTERNAL_USE_HIP), 1) + OBJ_HIP = TestHIP.o TestMain.o gtest-all.o + TARGETS += KokkosContainers_PerformanceTest_HIP + TEST_TARGETS += test-hip endif ifeq ($(KOKKOS_INTERNAL_USE_PTHREADS), 1) diff --git a/lib/kokkos/containers/performance_tests/TestDynRankView.hpp b/lib/kokkos/containers/performance_tests/TestDynRankView.hpp index ee13f7e58ba2bcbf530a2d1234ef43e84ddc3c99..8c507c76621d09b134ad94f12da589e8c31a014c 100644 --- a/lib/kokkos/containers/performance_tests/TestDynRankView.hpp +++ b/lib/kokkos/containers/performance_tests/TestDynRankView.hpp @@ -58,7 +58,7 @@ namespace Performance { // View functor template struct InitViewFunctor { - typedef Kokkos::View inviewtype; + using inviewtype = Kokkos::View; inviewtype _inview; InitViewFunctor(inviewtype &inview_) : _inview(inview_) {} @@ -73,10 +73,10 @@ struct InitViewFunctor { } struct SumComputationTest { - typedef Kokkos::View inviewtype; + using inviewtype = Kokkos::View; inviewtype _inview; - typedef Kokkos::View outviewtype; + using outviewtype = Kokkos::View; outviewtype _outview; KOKKOS_INLINE_FUNCTION @@ -96,7 +96,7 @@ struct InitViewFunctor { template struct InitStrideViewFunctor { - typedef Kokkos::View inviewtype; + using inviewtype = Kokkos::View; inviewtype _inview; InitStrideViewFunctor(inviewtype &inview_) : _inview(inview_) {} @@ -113,7 +113,7 @@ struct InitStrideViewFunctor { template struct InitViewRank7Functor { - typedef Kokkos::View inviewtype; + using inviewtype = Kokkos::View; inviewtype _inview; InitViewRank7Functor(inviewtype &inview_) : _inview(inview_) {} @@ -131,7 +131,7 @@ struct InitViewRank7Functor { // DynRankView functor template struct InitDynRankViewFunctor { - typedef Kokkos::DynRankView inviewtype; + using inviewtype = Kokkos::DynRankView; inviewtype _inview; InitDynRankViewFunctor(inviewtype &inview_) : _inview(inview_) {} @@ -146,10 +146,10 @@ struct InitDynRankViewFunctor { } struct SumComputationTest { - typedef Kokkos::DynRankView inviewtype; + using inviewtype = Kokkos::DynRankView; inviewtype _inview; - typedef Kokkos::DynRankView outviewtype; + using outviewtype = Kokkos::DynRankView; outviewtype _outview; KOKKOS_INLINE_FUNCTION @@ -169,8 +169,8 @@ struct InitDynRankViewFunctor { template void test_dynrankview_op_perf(const int par_size) { - typedef DeviceType execution_space; - typedef typename execution_space::size_type size_type; + using execution_space = DeviceType; + using size_type = typename execution_space::size_type; const size_type dim_2 = 90; const size_type dim_3 = 30; @@ -184,7 +184,7 @@ void test_dynrankview_op_perf(const int par_size) { { Kokkos::View testview("testview", par_size, dim_2, dim_3); - typedef InitViewFunctor FunctorType; + using FunctorType = InitViewFunctor; timer.reset(); Kokkos::RangePolicy policy(0, par_size); @@ -204,7 +204,7 @@ void test_dynrankview_op_perf(const int par_size) { Kokkos::View teststrideview = Kokkos::subview(testview, Kokkos::ALL, Kokkos::ALL, Kokkos::ALL); - typedef InitStrideViewFunctor FunctorStrideType; + using FunctorStrideType = InitStrideViewFunctor; timer.reset(); Kokkos::parallel_for(policy, FunctorStrideType(teststrideview)); @@ -216,7 +216,7 @@ void test_dynrankview_op_perf(const int par_size) { { Kokkos::View testview("testview", par_size, dim_2, dim_3, 1, 1, 1, 1); - typedef InitViewRank7Functor FunctorType; + using FunctorType = InitViewRank7Functor; timer.reset(); Kokkos::RangePolicy policy(0, par_size); @@ -229,7 +229,7 @@ void test_dynrankview_op_perf(const int par_size) { { Kokkos::DynRankView testdrview("testdrview", par_size, dim_2, dim_3); - typedef InitDynRankViewFunctor FunctorType; + using FunctorType = InitDynRankViewFunctor; timer.reset(); Kokkos::RangePolicy policy(0, par_size); diff --git a/lib/kokkos/containers/performance_tests/TestGlobal2LocalIds.hpp b/lib/kokkos/containers/performance_tests/TestGlobal2LocalIds.hpp index 0d2ee4bc8d0ccff968363e81e3b6bb353a79492f..65de551b2715f1eb31f4385fa0cb2a455bca6a4f 100644 --- a/lib/kokkos/containers/performance_tests/TestGlobal2LocalIds.hpp +++ b/lib/kokkos/containers/performance_tests/TestGlobal2LocalIds.hpp @@ -65,9 +65,9 @@ union helper { template struct generate_ids { - typedef Device execution_space; - typedef typename execution_space::size_type size_type; - typedef Kokkos::View local_id_view; + using execution_space = Device; + using size_type = typename execution_space::size_type; + using local_id_view = Kokkos::View; local_id_view local_2_global; @@ -96,13 +96,12 @@ struct generate_ids { template struct fill_map { - typedef Device execution_space; - typedef typename execution_space::size_type size_type; - typedef Kokkos::View - local_id_view; - typedef Kokkos::UnorderedMap - global_id_view; + using execution_space = Device; + using size_type = typename execution_space::size_type; + using local_id_view = Kokkos::View; + using global_id_view = + Kokkos::UnorderedMap; global_id_view global_2_local; local_id_view local_2_global; @@ -120,18 +119,17 @@ struct fill_map { template struct find_test { - typedef Device execution_space; - typedef typename execution_space::size_type size_type; - typedef Kokkos::View - local_id_view; - typedef Kokkos::UnorderedMap - global_id_view; + using execution_space = Device; + using size_type = typename execution_space::size_type; + using local_id_view = Kokkos::View; + using global_id_view = + Kokkos::UnorderedMap; global_id_view global_2_local; local_id_view local_2_global; - typedef size_t value_type; + using value_type = size_t; find_test(global_id_view gIds, local_id_view lIds, value_type& num_errors) : global_2_local(gIds), local_2_global(lIds) { @@ -156,12 +154,12 @@ struct find_test { template void test_global_to_local_ids(unsigned num_ids) { - typedef Device execution_space; - typedef typename execution_space::size_type size_type; + using execution_space = Device; + using size_type = typename execution_space::size_type; - typedef Kokkos::View local_id_view; - typedef Kokkos::UnorderedMap - global_id_view; + using local_id_view = Kokkos::View; + using global_id_view = + Kokkos::UnorderedMap; // size std::cout << num_ids << ", "; diff --git a/lib/kokkos/containers/performance_tests/TestScatterView.hpp b/lib/kokkos/containers/performance_tests/TestScatterView.hpp index 3d4c57f3e2c844e21fc0a1a491fc1fe3608c8f2b..0f3ba103efc5d09d012e3cc35cbfa41fa8be9170 100644 --- a/lib/kokkos/containers/performance_tests/TestScatterView.hpp +++ b/lib/kokkos/containers/performance_tests/TestScatterView.hpp @@ -50,14 +50,14 @@ namespace Perf { -template +template void test_scatter_view(int m, int n) { Kokkos::View original_view("original_view", n); { auto scatter_view = Kokkos::Experimental::create_scatter_view< - Kokkos::Experimental::ScatterSum, duplication, contribution>( + Kokkos::Experimental::ScatterSum, Duplication, Contribution>( original_view); Kokkos::Experimental::UniqueToken< ExecSpace, Kokkos::Experimental::UniqueTokenScope::Global> diff --git a/lib/kokkos/containers/performance_tests/TestUnorderedMapPerformance.hpp b/lib/kokkos/containers/performance_tests/TestUnorderedMapPerformance.hpp index 9057842340bc7bfd6f59f57b35b5c9536918d554..c31412552ad696ada0dad4fd1058f76290282256 100644 --- a/lib/kokkos/containers/performance_tests/TestUnorderedMapPerformance.hpp +++ b/lib/kokkos/containers/performance_tests/TestUnorderedMapPerformance.hpp @@ -55,9 +55,9 @@ namespace Perf { template struct UnorderedMapTest { - typedef Device execution_space; - typedef Kokkos::UnorderedMap map_type; - typedef typename map_type::histogram_type histogram_type; + using execution_space = Device; + using map_type = Kokkos::UnorderedMap; + using histogram_type = typename map_type::histogram_type; struct value_type { uint32_t failed_count; diff --git a/lib/kokkos/containers/src/CMakeLists.txt b/lib/kokkos/containers/src/CMakeLists.txt index 0c9d24d641bb61d99514a0a78a8405f5b7a86f3d..7000624b6bcfca69bf2bae30bdae7d971a067a63 100644 --- a/lib/kokkos/containers/src/CMakeLists.txt +++ b/lib/kokkos/containers/src/CMakeLists.txt @@ -9,6 +9,10 @@ KOKKOS_INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}) SET(KOKKOS_CONTAINERS_SRCS) APPEND_GLOB(KOKKOS_CONTAINERS_SRCS ${CMAKE_CURRENT_SOURCE_DIR}/impl/*.cpp) +SET(KOKKOS_CONTAINER_HEADERS) +APPEND_GLOB(KOKKOS_CONTAINERS_SRCS ${CMAKE_CURRENT_SOURCE_DIR}/impl/*.hpp) +APPEND_GLOB(KOKKOS_CONTAINERS_SRCS ${CMAKE_CURRENT_SOURCE_DIR}/*.hpp) + INSTALL ( DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/" @@ -19,6 +23,7 @@ INSTALL ( KOKKOS_ADD_LIBRARY( kokkoscontainers SOURCES ${KOKKOS_CONTAINERS_SRCS} + HEADERS ${KOKKOS_CONTAINER_HEADERS} ) SET_TARGET_PROPERTIES(kokkoscontainers PROPERTIES VERSION ${Kokkos_VERSION}) diff --git a/lib/kokkos/containers/src/Kokkos_Bitset.hpp b/lib/kokkos/containers/src/Kokkos_Bitset.hpp index ab75fc1e1d006e31c0efce756e85f4354f0c5588..eedfd5f9ef059493abe453f961c9459ac452b2bb 100644 --- a/lib/kokkos/containers/src/Kokkos_Bitset.hpp +++ b/lib/kokkos/containers/src/Kokkos_Bitset.hpp @@ -73,8 +73,8 @@ void deep_copy(ConstBitset& dst, ConstBitset const& src); template class Bitset { public: - typedef Device execution_space; - typedef unsigned size_type; + using execution_space = Device; + using size_type = unsigned; enum { BIT_SCAN_REVERSE = 1u }; enum { MOVE_HINT_BACKWARD = 2u }; @@ -137,9 +137,9 @@ class Bitset { if (m_last_block_mask) { // clear the unused bits in the last block - typedef Kokkos::Impl::DeepCopy - raw_deep_copy; + using raw_deep_copy = + Kokkos::Impl::DeepCopy; raw_deep_copy(m_blocks.data() + (m_blocks.extent(0) - 1u), &m_last_block_mask, sizeof(unsigned)); } @@ -234,6 +234,10 @@ class Bitset { return find_any_helper(block_idx, offset, block, scan_direction); } + KOKKOS_INLINE_FUNCTION constexpr bool is_allocated() const { + return m_blocks.is_allocated(); + } + private: KOKKOS_FORCEINLINE_FUNCTION Kokkos::pair find_any_helper(unsigned block_idx, @@ -304,8 +308,8 @@ class Bitset { template class ConstBitset { public: - typedef Device execution_space; - typedef unsigned size_type; + using execution_space = Device; + using size_type = unsigned; private: enum { block_size = static_cast(sizeof(unsigned) * CHAR_BIT) }; @@ -380,9 +384,9 @@ void deep_copy(Bitset& dst, Bitset const& src) { "Error: Cannot deep_copy bitsets of different sizes!"); } - typedef Kokkos::Impl::DeepCopy - raw_deep_copy; + using raw_deep_copy = + Kokkos::Impl::DeepCopy; raw_deep_copy(dst.m_blocks.data(), src.m_blocks.data(), sizeof(unsigned) * src.m_blocks.extent(0)); } @@ -394,9 +398,9 @@ void deep_copy(Bitset& dst, ConstBitset const& src) { "Error: Cannot deep_copy bitsets of different sizes!"); } - typedef Kokkos::Impl::DeepCopy - raw_deep_copy; + using raw_deep_copy = + Kokkos::Impl::DeepCopy; raw_deep_copy(dst.m_blocks.data(), src.m_blocks.data(), sizeof(unsigned) * src.m_blocks.extent(0)); } @@ -408,9 +412,9 @@ void deep_copy(ConstBitset& dst, ConstBitset const& src) { "Error: Cannot deep_copy bitsets of different sizes!"); } - typedef Kokkos::Impl::DeepCopy - raw_deep_copy; + using raw_deep_copy = + Kokkos::Impl::DeepCopy; raw_deep_copy(dst.m_blocks.data(), src.m_blocks.data(), sizeof(unsigned) * src.m_blocks.extent(0)); } diff --git a/lib/kokkos/containers/src/Kokkos_DualView.hpp b/lib/kokkos/containers/src/Kokkos_DualView.hpp index ede7d9a31f045a6346f41401d283f94a54675904..3fc0371c699cf48e1b60c409580576e38245a165 100644 --- a/lib/kokkos/containers/src/Kokkos_DualView.hpp +++ b/lib/kokkos/containers/src/Kokkos_DualView.hpp @@ -100,99 +100,91 @@ class DualView : public ViewTraits { public: //! \name Typedefs for device types and various Kokkos::View specializations. //@{ - typedef ViewTraits traits; + using traits = ViewTraits; //! The Kokkos Host Device type; - typedef typename traits::host_mirror_space host_mirror_space; + using host_mirror_space = typename traits::host_mirror_space; //! The type of a Kokkos::View on the device. - typedef View t_dev; + using t_dev = View; /// \typedef t_host /// \brief The type of a Kokkos::View host mirror of \c t_dev. - typedef typename t_dev::HostMirror t_host; + using t_host = typename t_dev::HostMirror; //! The type of a const View on the device. //! The type of a Kokkos::View on the device. - typedef View - t_dev_const; + using t_dev_const = + View; /// \typedef t_host_const /// \brief The type of a const View host mirror of \c t_dev_const. - typedef typename t_dev_const::HostMirror t_host_const; + using t_host_const = typename t_dev_const::HostMirror; //! The type of a const, random-access View on the device. - typedef View > - t_dev_const_randomread; + using t_dev_const_randomread = + View >; /// \typedef t_host_const_randomread /// \brief The type of a const, random-access View host mirror of /// \c t_dev_const_randomread. - typedef typename t_dev_const_randomread::HostMirror t_host_const_randomread; + using t_host_const_randomread = typename t_dev_const_randomread::HostMirror; //! The type of an unmanaged View on the device. - typedef View - t_dev_um; + using t_dev_um = + View; //! The type of an unmanaged View host mirror of \c t_dev_um. - typedef View - t_host_um; + using t_host_um = + View; //! The type of a const unmanaged View on the device. - typedef View - t_dev_const_um; + using t_dev_const_um = + View; //! The type of a const unmanaged View host mirror of \c t_dev_const_um. - typedef View - t_host_const_um; + using t_host_const_um = + View; //! The type of a const, random-access View on the device. - typedef View > - t_dev_const_randomread_um; + using t_dev_const_randomread_um = + View >; /// \typedef t_host_const_randomread /// \brief The type of a const, random-access View host mirror of /// \c t_dev_const_randomread. - typedef - typename t_dev_const_randomread::HostMirror t_host_const_randomread_um; - - //@} - //! \name The two View instances. - //@{ - - t_dev d_view; - t_host h_view; + using t_host_const_randomread_um = + typename t_dev_const_randomread::HostMirror; //@} //! \name Counters to keep track of changes ("modified" flags) //@{ -#ifndef KOKKOS_ENABLE_DEPRECATED_CODE protected: // modified_flags[0] -> host // modified_flags[1] -> device - typedef View t_modified_flags; + using t_modified_flags = View; t_modified_flags modified_flags; public: -#else - typedef View - t_modified_flags; - typedef View - t_modified_flag; - t_modified_flags modified_flags; - t_modified_flag modified_host, modified_device; -#endif + //@} + // Moved this specifically after modified_flags to resolve an alignment issue + // on MSVC/NVCC + //! \name The two View instances. + //@{ + t_dev d_view; + t_host h_view; //@} + //! \name Constructors //@{ @@ -201,14 +193,7 @@ class DualView : public ViewTraits { /// Both device and host View objects are constructed using their /// default constructors. The "modified" flags are both initialized /// to "unmodified." -#ifndef KOKKOS_ENABLE_DEPRECATED_CODE DualView() = default; -#else - DualView() : modified_flags(t_modified_flags("DualView::modified_flags")) { - modified_host = t_modified_flag(modified_flags, 0); - modified_device = t_modified_flag(modified_flags, 1); - } -#endif /// \brief Constructor that allocates View objects on both host and device. /// @@ -228,15 +213,10 @@ class DualView : public ViewTraits { const size_t n5 = KOKKOS_IMPL_CTOR_DEFAULT_ARG, const size_t n6 = KOKKOS_IMPL_CTOR_DEFAULT_ARG, const size_t n7 = KOKKOS_IMPL_CTOR_DEFAULT_ARG) - : d_view(label, n0, n1, n2, n3, n4, n5, n6, n7), + : modified_flags(t_modified_flags("DualView::modified_flags")), + d_view(label, n0, n1, n2, n3, n4, n5, n6, n7), h_view(create_mirror_view(d_view)) // without UVM, host View mirrors - , - modified_flags(t_modified_flags("DualView::modified_flags")) { -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - modified_host = t_modified_flag(modified_flags, 0); - modified_device = t_modified_flag(modified_flags, 1); -#endif - } + {} /// \brief Constructor that allocates View objects on both host and device. /// @@ -260,15 +240,10 @@ class DualView : public ViewTraits { const size_t n5 = KOKKOS_IMPL_CTOR_DEFAULT_ARG, const size_t n6 = KOKKOS_IMPL_CTOR_DEFAULT_ARG, const size_t n7 = KOKKOS_IMPL_CTOR_DEFAULT_ARG) - : d_view(arg_prop, n0, n1, n2, n3, n4, n5, n6, n7), + : modified_flags(t_modified_flags("DualView::modified_flags")), + d_view(arg_prop, n0, n1, n2, n3, n4, n5, n6, n7), h_view(create_mirror_view(d_view)) // without UVM, host View mirrors - , - modified_flags(t_modified_flags("DualView::modified_flags")) { -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - modified_host = t_modified_flag(modified_flags, 0); - modified_device = t_modified_flag(modified_flags, 1); -#endif - } + {} explicit inline DualView(const ViewAllocateWithoutInitializing& arg_prop, const size_t arg_N0 = KOKKOS_IMPL_CTOR_DEFAULT_ARG, @@ -288,30 +263,16 @@ class DualView : public ViewTraits { //! Copy constructor (shallow copy) template DualView(const DualView& src) - : d_view(src.d_view), - h_view(src.h_view), - modified_flags(src.modified_flags) -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - , - modified_host(src.modified_host), - modified_device(src.modified_device) -#endif - { - } + : modified_flags(src.modified_flags), + d_view(src.d_view), + h_view(src.h_view) {} //! Subview constructor template DualView(const DualView& src, const Arg0& arg0, Args... args) - : d_view(Kokkos::subview(src.d_view, arg0, args...)), - h_view(Kokkos::subview(src.h_view, arg0, args...)), - modified_flags(src.modified_flags) -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - , - modified_host(src.modified_host), - modified_device(src.modified_device) -#endif - { - } + : modified_flags(src.modified_flags), + d_view(Kokkos::subview(src.d_view, arg0, args...)), + h_view(Kokkos::subview(src.h_view, arg0, args...)) {} /// \brief Create DualView from existing device and host View objects. /// @@ -324,9 +285,9 @@ class DualView : public ViewTraits { /// \param d_view_ Device View /// \param h_view_ Host View (must have type t_host = t_dev::HostMirror) DualView(const t_dev& d_view_, const t_host& h_view_) - : d_view(d_view_), - h_view(h_view_), - modified_flags(t_modified_flags("DualView::modified_flags")) { + : modified_flags(t_modified_flags("DualView::modified_flags")), + d_view(d_view_), + h_view(h_view_) { if (int(d_view.rank) != int(h_view.rank) || d_view.extent(0) != h_view.extent(0) || d_view.extent(1) != h_view.extent(1) || @@ -348,10 +309,6 @@ class DualView : public ViewTraits { Kokkos::Impl::throw_runtime_exception( "DualView constructed with incompatible views"); } -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - modified_host = t_modified_flag(modified_flags, 0); - modified_device = t_modified_flag(modified_flags, 1); -#endif } //@} @@ -367,20 +324,25 @@ class DualView : public ViewTraits { /// /// For example, suppose you create a DualView on Cuda, like this: /// \code - /// typedef Kokkos::DualView - /// dual_view_type; dual_view_type DV ("my dual view", 100); \endcode If you - /// want to get the CUDA device View, do this: \code typename - /// dual_view_type::t_dev cudaView = DV.view (); \endcode and if - /// you want to get the host mirror of that View, do this: \code typedef - /// typename Kokkos::HostSpace::execution_space host_device_type; typename - /// dual_view_type::t_host hostView = DV.view (); \endcode + /// using dual_view_type = + /// Kokkos::DualView; + /// dual_view_type DV ("my dual view", 100); + /// \endcode + /// If you want to get the CUDA device View, do this: + /// \code + /// typename dual_view_type::t_dev cudaView = DV.view (); + /// \endcode + /// and if you want to get the host mirror of that View, do this: + /// \code + /// using host_device_type = typename Kokkos::HostSpace::execution_space; + /// typename dual_view_type::t_host hostView = DV.view (); + /// \endcode template KOKKOS_INLINE_FUNCTION const typename Impl::if_c< std::is_same::value, t_dev, t_host>::type& view() const { -#ifndef KOKKOS_ENABLE_DEPRECATED_CODE constexpr bool device_is_memspace = std::is_same::value; constexpr bool device_is_execspace = @@ -415,7 +377,6 @@ class DualView : public ViewTraits { (device_exec_is_t_dev_exec || device_exec_is_t_host_exec))), "Template parameter to .view() must exactly match one of the " "DualView's device types or one of the execution or memory spaces"); -#endif return Impl::if_c::value, @@ -428,6 +389,10 @@ class DualView : public ViewTraits { KOKKOS_INLINE_FUNCTION t_dev view_device() const { return d_view; } + KOKKOS_INLINE_FUNCTION constexpr bool is_allocated() const { + return (d_view.is_allocated() && h_view.is_allocated()); + } + template static int get_device_side() { constexpr bool device_is_memspace = @@ -453,7 +418,6 @@ class DualView : public ViewTraits { std::is_same::value; -#ifndef KOKKOS_ENABLE_DEPRECATED_CODE static_assert( device_is_t_dev_device || device_is_t_host_device || (device_is_memspace && @@ -465,13 +429,8 @@ class DualView : public ViewTraits { (device_exec_is_t_dev_exec || device_exec_is_t_host_exec))), "Template parameter to .sync() must exactly match one of the " "DualView's device types or one of the execution or memory spaces"); -#endif -#ifndef KOKKOS_ENABLE_DEPRECATED_CODE int dev = -1; -#else - int dev = 0; -#endif if (device_is_t_dev_device) dev = 1; else if (device_is_t_host_device) @@ -822,11 +781,6 @@ class DualView : public ViewTraits { //! \name Methods for getting capacity, stride, or dimension(s). //@{ -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - //! The allocation size (same as Kokkos::View::capacity). - size_t capacity() const { return d_view.span(); } -#endif - //! The allocation size (same as Kokkos::View::span). KOKKOS_INLINE_FUNCTION constexpr size_t span() const { return d_view.span(); } @@ -854,29 +808,6 @@ class DualView : public ViewTraits { return static_cast(d_view.extent(r)); } -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - /* Deprecate all 'dimension' functions in favor of - * ISO/C++ vocabulary 'extent'. - */ - - /* \brief return size of dimension 0 */ - size_t dimension_0() const { return d_view.extent(0); } - /* \brief return size of dimension 1 */ - size_t dimension_1() const { return d_view.extent(1); } - /* \brief return size of dimension 2 */ - size_t dimension_2() const { return d_view.extent(2); } - /* \brief return size of dimension 3 */ - size_t dimension_3() const { return d_view.extent(3); } - /* \brief return size of dimension 4 */ - size_t dimension_4() const { return d_view.extent(4); } - /* \brief return size of dimension 5 */ - size_t dimension_5() const { return d_view.extent(5); } - /* \brief return size of dimension 6 */ - size_t dimension_6() const { return d_view.extent(6); } - /* \brief return size of dimension 7 */ - size_t dimension_7() const { return d_view.extent(7); } -#endif - //@} }; @@ -893,13 +824,12 @@ namespace Impl { template struct DualViewSubview { - typedef typename Kokkos::Impl::ViewMapping< - void, Kokkos::ViewTraits, Args...>::traits_type dst_traits; + using dst_traits = typename Kokkos::Impl::ViewMapping< + void, Kokkos::ViewTraits, Args...>::traits_type; - typedef Kokkos::DualView< + using type = Kokkos::DualView< typename dst_traits::data_type, typename dst_traits::array_layout, - typename dst_traits::device_type, typename dst_traits::memory_traits> - type; + typename dst_traits::device_type, typename dst_traits::memory_traits>; }; } /* namespace Impl */ diff --git a/lib/kokkos/containers/src/Kokkos_DynRankView.hpp b/lib/kokkos/containers/src/Kokkos_DynRankView.hpp index 4ab212d7b9a9237c5c45f9d3713dffd28a0d147d..afb4b682c4be23bebd9306a056a34dc014785d23 100644 --- a/lib/kokkos/containers/src/Kokkos_DynRankView.hpp +++ b/lib/kokkos/containers/src/Kokkos_DynRankView.hpp @@ -349,8 +349,8 @@ class ViewMapping< public: enum { is_assignable = is_assignable_value_type && is_assignable_layout }; - typedef ViewMapping DstType; - typedef ViewMapping SrcType; + using DstType = ViewMapping; + using SrcType = ViewMapping; template KOKKOS_INLINE_FUNCTION static void assign( @@ -365,13 +365,13 @@ class ViewMapping< // Removed dimension checks... - typedef typename DstType::offset_type dst_offset_type; + using dst_offset_type = typename DstType::offset_type; dst.m_map.m_impl_offset = dst_offset_type( std::integral_constant(), src.layout()); // Check this for integer input1 for padding, etc dst.m_map.m_impl_handle = Kokkos::Impl::ViewDataHandle::assign( - src.m_map.m_impl_handle, src.m_track); - dst.m_track.assign(src.m_track, DstTraits::is_managed); + src.m_map.m_impl_handle, src.m_track.m_tracker); + dst.m_track.assign(src.m_track.m_tracker, DstTraits::is_managed); dst.m_rank = src.Rank; } }; @@ -415,16 +415,16 @@ class DynRankView : public ViewTraits { friend class Kokkos::Impl::ViewMapping; public: - typedef ViewTraits drvtraits; + using drvtraits = ViewTraits; - typedef View view_type; + using view_type = View; - typedef ViewTraits traits; + using traits = ViewTraits; private: - typedef Kokkos::Impl::ViewMapping - map_type; - typedef Kokkos::Impl::SharedAllocationTracker track_type; + using map_type = + Kokkos::Impl::ViewMapping; + using track_type = Kokkos::Impl::SharedAllocationTracker; track_type m_track; map_type m_map; @@ -440,28 +440,24 @@ class DynRankView : public ViewTraits { // 7 data_type of the traits /** \brief Compatible view of array of scalar types */ - typedef DynRankView< + using array_type = DynRankView< typename drvtraits::scalar_array_type, typename drvtraits::array_layout, - typename drvtraits::device_type, typename drvtraits::memory_traits> - array_type; + typename drvtraits::device_type, typename drvtraits::memory_traits>; /** \brief Compatible view of const data type */ - typedef DynRankView< + using const_type = DynRankView< typename drvtraits::const_data_type, typename drvtraits::array_layout, - typename drvtraits::device_type, typename drvtraits::memory_traits> - const_type; + typename drvtraits::device_type, typename drvtraits::memory_traits>; /** \brief Compatible view of non-const data type */ - typedef DynRankView< + using non_const_type = DynRankView< typename drvtraits::non_const_data_type, typename drvtraits::array_layout, - typename drvtraits::device_type, typename drvtraits::memory_traits> - non_const_type; + typename drvtraits::device_type, typename drvtraits::memory_traits>; /** \brief Compatible HostMirror view */ - typedef DynRankView - HostMirror; + using HostMirror = DynRankView; //---------------------------------------- // Domain rank and extents @@ -493,42 +489,6 @@ class DynRankView : public ViewTraits { * ISO/C++ vocabulary 'extent'. */ -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - template - KOKKOS_INLINE_FUNCTION constexpr - typename std::enable_if::value, size_t>::type - dimension(const iType& r) const { - return extent(r); - } - - KOKKOS_INLINE_FUNCTION constexpr size_t dimension_0() const { - return m_map.dimension_0(); - } - KOKKOS_INLINE_FUNCTION constexpr size_t dimension_1() const { - return m_map.dimension_1(); - } - KOKKOS_INLINE_FUNCTION constexpr size_t dimension_2() const { - return m_map.dimension_2(); - } - KOKKOS_INLINE_FUNCTION constexpr size_t dimension_3() const { - return m_map.dimension_3(); - } - KOKKOS_INLINE_FUNCTION constexpr size_t dimension_4() const { - return m_map.dimension_4(); - } - KOKKOS_INLINE_FUNCTION constexpr size_t dimension_5() const { - return m_map.dimension_5(); - } - KOKKOS_INLINE_FUNCTION constexpr size_t dimension_6() const { - return m_map.dimension_6(); - } - KOKKOS_INLINE_FUNCTION constexpr size_t dimension_7() const { - return m_map.dimension_7(); - } -#endif - - //---------------------------------------- - KOKKOS_INLINE_FUNCTION constexpr size_t size() const { return m_map.extent(0) * m_map.extent(1) * m_map.extent(2) * m_map.extent(3) * m_map.extent(4) * m_map.extent(5) * @@ -568,8 +528,8 @@ class DynRankView : public ViewTraits { //---------------------------------------- // Range span is the span which contains all members. - typedef typename map_type::reference_type reference_type; - typedef typename map_type::pointer_type pointer_type; + using reference_type = typename map_type::reference_type; + using pointer_type = typename map_type::pointer_type; enum { reference_type_is_lvalue_reference = @@ -577,39 +537,18 @@ class DynRankView : public ViewTraits { }; KOKKOS_INLINE_FUNCTION constexpr size_t span() const { return m_map.span(); } -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - // Deprecated, use 'span()' instead - KOKKOS_INLINE_FUNCTION constexpr size_t capacity() const { - return m_map.span(); - } -#endif KOKKOS_INLINE_FUNCTION constexpr bool span_is_contiguous() const { return m_map.span_is_contiguous(); } KOKKOS_INLINE_FUNCTION constexpr pointer_type data() const { return m_map.data(); } - -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - // Deprecated, use 'span_is_contigous()' instead - KOKKOS_INLINE_FUNCTION constexpr bool is_contiguous() const { - return m_map.span_is_contiguous(); - } - // Deprecated, use 'data()' instead - KOKKOS_INLINE_FUNCTION constexpr pointer_type ptr_on_device() const { - return m_map.data(); + KOKKOS_INLINE_FUNCTION constexpr bool is_allocated() const { + return (m_map.data() != nullptr); } -#endif //---------------------------------------- // Allow specializations to query their specialized map -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - KOKKOS_INLINE_FUNCTION - const Kokkos::Impl::ViewMapping& - implementation_map() const { - return m_map; - } -#endif KOKKOS_INLINE_FUNCTION const Kokkos::Impl::ViewMapping& impl_map() const { @@ -709,12 +648,11 @@ class DynRankView : public ViewTraits { const size_t dim_scalar = m_map.dimension_scalar(); const size_t bytes = this->span() / dim_scalar; - typedef Kokkos::View< + using tmp_view_type = Kokkos::View< DataType*, typename traits::array_layout, typename traits::device_type, Kokkos::MemoryTraits > - tmp_view_type; + traits::memory_traits::is_atomic> >; tmp_view_type rankone_view(this->data(), bytes, dim_scalar); return rankone_view(i0); } @@ -1102,10 +1040,9 @@ class DynRankView : public ViewTraits { template KOKKOS_INLINE_FUNCTION DynRankView(const DynRankView& rhs) : m_track(rhs.m_track, traits::is_managed), m_map(), m_rank(rhs.m_rank) { - typedef typename DynRankView::traits SrcTraits; - typedef Kokkos::Impl::ViewMapping - Mapping; + using SrcTraits = typename DynRankView::traits; + using Mapping = Kokkos::Impl::ViewMapping; static_assert(Mapping::is_assignable, "Incompatible DynRankView copy construction"); Mapping::assign(m_map, rhs.m_map, rhs.m_track); @@ -1114,10 +1051,9 @@ class DynRankView : public ViewTraits { template KOKKOS_INLINE_FUNCTION DynRankView& operator=( const DynRankView& rhs) { - typedef typename DynRankView::traits SrcTraits; - typedef Kokkos::Impl::ViewMapping - Mapping; + using SrcTraits = typename DynRankView::traits; + using Mapping = Kokkos::Impl::ViewMapping; static_assert(Mapping::is_assignable, "Incompatible DynRankView copy construction"); Mapping::assign(m_map, rhs.m_map, rhs.m_track); @@ -1130,10 +1066,10 @@ class DynRankView : public ViewTraits { template KOKKOS_INLINE_FUNCTION DynRankView(const View& rhs) : m_track(), m_map(), m_rank(rhs.Rank) { - typedef typename View::traits SrcTraits; - typedef Kokkos::Impl::ViewMapping - Mapping; + using SrcTraits = typename View::traits; + using Mapping = + Kokkos::Impl::ViewMapping; static_assert(Mapping::is_assignable, "Incompatible View to DynRankView copy construction"); Mapping::assign(*this, rhs); @@ -1141,10 +1077,10 @@ class DynRankView : public ViewTraits { template KOKKOS_INLINE_FUNCTION DynRankView& operator=(const View& rhs) { - typedef typename View::traits SrcTraits; - typedef Kokkos::Impl::ViewMapping - Mapping; + using SrcTraits = typename View::traits; + using Mapping = + Kokkos::Impl::ViewMapping; static_assert(Mapping::is_assignable, "Incompatible View to DynRankView copy assignment"); Mapping::assign(*this, rhs); @@ -1177,11 +1113,11 @@ class DynRankView : public ViewTraits { template computeRank( arg_prop, arg_layout)) { // Append layout and spaces if not input - typedef Kokkos::Impl::ViewCtorProp alloc_prop_input; + using alloc_prop_input = Kokkos::Impl::ViewCtorProp; // use 'std::integral_constant' for non-types // to avoid duplicate class error. - typedef Kokkos::Impl::ViewCtorProp< + using alloc_prop = Kokkos::Impl::ViewCtorProp< P..., typename std::conditional, @@ -1193,19 +1129,13 @@ class DynRankView : public ViewTraits { typename std::conditional< alloc_prop_input::has_execution_space, std::integral_constant, - typename traits::device_type::execution_space>::type> - alloc_prop; + typename traits::device_type::execution_space>::type>; static_assert(traits::is_managed, "View allocation constructor requires managed memory"); if (alloc_prop::initialize && -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - !alloc_prop::execution_space::is_initialized() -#else - !alloc_prop::execution_space::impl_is_initialized() -#endif - ) { + !alloc_prop::execution_space::impl_is_initialized()) { // If initializing view data then // the execution space must be initialized. Kokkos::Impl::throw_runtime_exception( @@ -1499,36 +1429,34 @@ struct ViewMapping< unsigned(R4) + unsigned(R5) + unsigned(R6) }; - typedef Kokkos::LayoutStride array_layout; + using array_layout = Kokkos::LayoutStride; - typedef typename SrcTraits::value_type value_type; + using value_type = typename SrcTraits::value_type; - typedef value_type******* data_type; + using data_type = value_type*******; public: - typedef Kokkos::ViewTraits - traits_type; + using traits_type = Kokkos::ViewTraits; - typedef Kokkos::View - type; + using type = + Kokkos::View; template struct apply { static_assert(Kokkos::Impl::is_memory_traits::value, ""); - typedef Kokkos::ViewTraits - traits_type; + using traits_type = + Kokkos::ViewTraits; - typedef Kokkos::View - type; + using type = Kokkos::View; }; - typedef typename SrcTraits::dimension dimension; + using dimension = typename SrcTraits::dimension; template - ret_type; + using ret_type = Kokkos::DynRankView; template KOKKOS_INLINE_FUNCTION static ret_type subview( const unsigned src_rank, Kokkos::DynRankView const& src, Args... args) { - typedef ViewMapping DstType; + using DstType = ViewMapping; - typedef typename std::conditional< + using DstDimType = typename std::conditional< (rank == 0), ViewDimension<>, typename std::conditional< (rank == 1), ViewDimension<0>, @@ -1570,10 +1497,10 @@ struct ViewMapping< typename std::conditional< (rank == 6), ViewDimension<0, 0, 0, 0, 0, 0>, ViewDimension<0, 0, 0, 0, 0, 0, 0> >::type>:: - type>::type>::type>::type>::type>::type DstDimType; + type>::type>::type>::type>::type>::type; - typedef ViewOffset dst_offset_type; - typedef typename DstType::handle_type dst_handle_type; + using dst_offset_type = ViewOffset; + using dst_handle_type = typename DstType::handle_type; ret_type dst; @@ -1636,9 +1563,9 @@ subdynrankview(const Kokkos::DynRankView& src, Args... args) { "DynRankView"); } - typedef Kokkos::Impl::ViewMapping, Args...> - metafcn; + using metafcn = + Kokkos::Impl::ViewMapping, Args...>; return metafcn::subview(src.rank(), src, args...); } @@ -1659,8 +1586,8 @@ template KOKKOS_INLINE_FUNCTION bool operator==(const DynRankView& lhs, const DynRankView& rhs) { // Same data, layout, dimensions - typedef ViewTraits lhs_traits; - typedef ViewTraits rhs_traits; + using lhs_traits = ViewTraits; + using rhs_traits = ViewTraits; return std::is_same::value && @@ -1691,7 +1618,7 @@ namespace Impl { template struct DynRankViewFill { - typedef typename OutputView::traits::const_value_type const_value_type; + using const_value_type = typename OutputView::traits::const_value_type; const OutputView output; const_value_type input; @@ -1722,15 +1649,11 @@ struct DynRankViewFill { DynRankViewFill(const OutputView& arg_out, const_value_type& arg_in) : output(arg_out), input(arg_in) { - typedef typename OutputView::execution_space execution_space; - typedef Kokkos::RangePolicy Policy; - - const Kokkos::Impl::ParallelFor closure( - *this, Policy(0, output.extent(0))); - - closure.execute(); + using execution_space = typename OutputView::execution_space; + using Policy = Kokkos::RangePolicy; - execution_space().fence(); + Kokkos::parallel_for("Kokkos::DynRankViewFill", Policy(0, output.extent(0)), + *this); } }; @@ -1770,11 +1693,9 @@ struct DynRankViewRemap { n5(std::min((size_t)arg_out.extent(5), (size_t)arg_in.extent(5))), n6(std::min((size_t)arg_out.extent(6), (size_t)arg_in.extent(6))), n7(std::min((size_t)arg_out.extent(7), (size_t)arg_in.extent(7))) { - typedef Kokkos::RangePolicy Policy; - const Kokkos::Impl::ParallelFor closure( - *this, Policy(0, n0)); - closure.execute(); - // ExecSpace().fence(); // ?? + using Policy = Kokkos::RangePolicy; + + Kokkos::parallel_for("Kokkos::DynRankViewRemap", Policy(0, n0), *this); } KOKKOS_INLINE_FUNCTION @@ -1814,7 +1735,9 @@ inline void deep_copy( typename ViewTraits::value_type>::value, "deep_copy requires non-const type"); + Kokkos::fence(); Kokkos::Impl::DynRankViewFill >(dst, value); + Kokkos::fence(); } /** \brief Deep copy into a value in Host memory from a view. */ @@ -1828,10 +1751,12 @@ inline void deep_copy( Kokkos::abort(""); } - typedef ViewTraits src_traits; - typedef typename src_traits::memory_space src_memory_space; + using src_traits = ViewTraits; + using src_memory_space = typename src_traits::memory_space; + Kokkos::fence(); Kokkos::Impl::DeepCopy(&dst, src.data(), sizeof(ST)); + Kokkos::fence(); } //---------------------------------------------------------------------------- @@ -1851,13 +1776,13 @@ inline void deep_copy( typename DstType::traits::non_const_value_type>::value, "deep_copy requires non-const destination type"); - typedef DstType dst_type; - typedef SrcType src_type; + using dst_type = DstType; + using src_type = SrcType; - typedef typename dst_type::execution_space dst_execution_space; - typedef typename src_type::execution_space src_execution_space; - typedef typename dst_type::memory_space dst_memory_space; - typedef typename src_type::memory_space src_memory_space; + using dst_execution_space = typename dst_type::execution_space; + using src_execution_space = typename src_type::execution_space; + using dst_memory_space = typename dst_type::memory_space; + using src_memory_space = typename src_type::memory_space; enum { DstExecCanAccessSrc = @@ -1878,9 +1803,11 @@ inline void deep_copy( // If same type, equal layout, equal dimensions, equal span, and contiguous // memory then can byte-wise copy if (rank(src) == 0 && rank(dst) == 0) { - typedef typename dst_type::value_type value_type; + using value_type = typename dst_type::value_type; + Kokkos::fence(); Kokkos::Impl::DeepCopy( dst.data(), src.data(), sizeof(value_type)); + Kokkos::fence(); } else if (std::is_same< typename DstType::traits::value_type, typename SrcType::traits::non_const_value_type>::value && @@ -1902,9 +1829,10 @@ inline void deep_copy( dst.extent(6) == src.extent(6) && dst.extent(7) == src.extent(7)) { const size_t nbytes = sizeof(typename dst_type::value_type) * dst.span(); - + Kokkos::fence(); Kokkos::Impl::DeepCopy( dst.data(), src.data(), nbytes); + Kokkos::fence(); } else if (std::is_same< typename DstType::traits::value_type, typename SrcType::traits::non_const_value_type>::value && @@ -1931,22 +1859,29 @@ inline void deep_copy( dst.stride_6() == src.stride_6() && dst.stride_7() == src.stride_7()) { const size_t nbytes = sizeof(typename dst_type::value_type) * dst.span(); - + Kokkos::fence(); Kokkos::Impl::DeepCopy( dst.data(), src.data(), nbytes); + Kokkos::fence(); } else if (DstExecCanAccessSrc) { // Copying data between views in accessible memory spaces and either // non-contiguous or incompatible shape. + Kokkos::fence(); Kokkos::Impl::DynRankViewRemap(dst, src); + Kokkos::fence(); } else if (SrcExecCanAccessDst) { // Copying data between views in accessible memory spaces and either // non-contiguous or incompatible shape. + Kokkos::fence(); Kokkos::Impl::DynRankViewRemap( dst, src); + Kokkos::fence(); } else { Kokkos::Impl::throw_runtime_exception( "deep_copy given views that would require a temporary allocation"); } + } else { + Kokkos::fence(); } } @@ -1962,45 +1897,45 @@ namespace Impl { template struct MirrorDRViewType { // The incoming view_type - typedef typename Kokkos::DynRankView src_view_type; + using src_view_type = typename Kokkos::DynRankView; // The memory space for the mirror view - typedef typename Space::memory_space memory_space; + using memory_space = typename Space::memory_space; // Check whether it is the same memory space enum { is_same_memspace = std::is_same::value }; // The array_layout - typedef typename src_view_type::array_layout array_layout; + using array_layout = typename src_view_type::array_layout; // The data type (we probably want it non-const since otherwise we can't even // deep_copy to it. - typedef typename src_view_type::non_const_data_type data_type; + using data_type = typename src_view_type::non_const_data_type; // The destination view type if it is not the same memory space - typedef Kokkos::DynRankView dest_view_type; + using dest_view_type = Kokkos::DynRankView; // If it is the same memory_space return the existsing view_type // This will also keep the unmanaged trait if necessary - typedef typename std::conditional::type view_type; + using view_type = typename std::conditional::type; }; template struct MirrorDRVType { // The incoming view_type - typedef typename Kokkos::DynRankView src_view_type; + using src_view_type = typename Kokkos::DynRankView; // The memory space for the mirror view - typedef typename Space::memory_space memory_space; + using memory_space = typename Space::memory_space; // Check whether it is the same memory space enum { is_same_memspace = std::is_same::value }; // The array_layout - typedef typename src_view_type::array_layout array_layout; + using array_layout = typename src_view_type::array_layout; // The data type (we probably want it non-const since otherwise we can't even // deep_copy to it. - typedef typename src_view_type::non_const_data_type data_type; + using data_type = typename src_view_type::non_const_data_type; // The destination view type if it is not the same memory space - typedef Kokkos::DynRankView view_type; + using view_type = Kokkos::DynRankView; }; } // namespace Impl @@ -2012,8 +1947,8 @@ inline typename DynRankView::HostMirror create_mirror( std::is_same::specialize, void>::value && !std::is_same::array_layout, Kokkos::LayoutStride>::value>::type* = nullptr) { - typedef DynRankView src_type; - typedef typename src_type::HostMirror dst_type; + using src_type = DynRankView; + using dst_type = typename src_type::HostMirror; return dst_type(std::string(src.label()).append("_mirror"), Impl::reconstructLayout(src.layout(), src.rank())); @@ -2026,8 +1961,8 @@ inline typename DynRankView::HostMirror create_mirror( std::is_same::specialize, void>::value && std::is_same::array_layout, Kokkos::LayoutStride>::value>::type* = 0) { - typedef DynRankView src_type; - typedef typename src_type::HostMirror dst_type; + using src_type = DynRankView; + using dst_type = typename src_type::HostMirror; return dst_type(std::string(src.label()).append("_mirror"), Impl::reconstructLayout(src.layout(), src.rank())); @@ -2066,7 +2001,7 @@ inline typename DynRankView::HostMirror create_mirror_view( typename DynRankView::HostMirror::memory_space>::value && std::is_same::data_type, typename DynRankView::HostMirror::data_type>:: - value)>::type* = 0) { + value)>::type* = nullptr) { return Kokkos::create_mirror(src); } @@ -2085,7 +2020,8 @@ template typename Impl::MirrorDRViewType::view_type create_mirror_view( const Space&, const Kokkos::DynRankView& src, typename std::enable_if< - !Impl::MirrorDRViewType::is_same_memspace>::type* = 0) { + !Impl::MirrorDRViewType::is_same_memspace>::type* = + nullptr) { return typename Impl::MirrorDRViewType::view_type( src.label(), Impl::reconstructLayout(src.layout(), src.rank())); } @@ -2112,7 +2048,8 @@ create_mirror_view_and_copy( const Space&, const Kokkos::DynRankView& src, std::string const& name = "", typename std::enable_if< - !Impl::MirrorDRViewType::is_same_memspace>::type* = 0) { + !Impl::MirrorDRViewType::is_same_memspace>::type* = + nullptr) { using Mirror = typename Impl::MirrorDRViewType::view_type; std::string label = name.empty() ? src.label() : name; auto mirror = Mirror(Kokkos::ViewAllocateWithoutInitializing(label), @@ -2139,7 +2076,7 @@ inline void resize(DynRankView& v, const size_t n5 = KOKKOS_INVALID_INDEX, const size_t n6 = KOKKOS_INVALID_INDEX, const size_t n7 = KOKKOS_INVALID_INDEX) { - typedef DynRankView drview_type; + using drview_type = DynRankView; static_assert(Kokkos::ViewTraits::is_managed, "Can only resize managed views"); @@ -2163,7 +2100,7 @@ inline void realloc(DynRankView& v, const size_t n5 = KOKKOS_INVALID_INDEX, const size_t n6 = KOKKOS_INVALID_INDEX, const size_t n7 = KOKKOS_INVALID_INDEX) { - typedef DynRankView drview_type; + using drview_type = DynRankView; static_assert(Kokkos::ViewTraits::is_managed, "Can only realloc managed views"); diff --git a/lib/kokkos/containers/src/Kokkos_DynamicView.hpp b/lib/kokkos/containers/src/Kokkos_DynamicView.hpp index ebbbcc5e8ca841d6406473cd8a0e402a524f39b1..3662acee64cd013dc06f545da6356ca27bd16444 100644 --- a/lib/kokkos/containers/src/Kokkos_DynamicView.hpp +++ b/lib/kokkos/containers/src/Kokkos_DynamicView.hpp @@ -85,13 +85,13 @@ struct ChunkArraySpace { template class DynamicView : public Kokkos::ViewTraits { public: - typedef Kokkos::ViewTraits traits; + using traits = Kokkos::ViewTraits; private: template friend class DynamicView; - typedef Kokkos::Impl::SharedAllocationTracker track_type; + using track_type = Kokkos::Impl::SharedAllocationTracker; static_assert(traits::rank == 1 && traits::rank_dynamic == 1, "DynamicView must be rank-one"); @@ -118,8 +118,8 @@ class DynamicView : public Kokkos::ViewTraits { private: track_type m_track; - typename traits::value_type** - m_chunks; // array of pointers to 'chunks' of memory + typename traits::value_type** m_chunks = + nullptr; // array of pointers to 'chunks' of memory unsigned m_chunk_shift; // ceil(log2(m_chunk_size)) unsigned m_chunk_mask; // m_chunk_size - 1 unsigned m_chunk_max; // number of entries in the chunk array - each pointing @@ -130,38 +130,36 @@ class DynamicView : public Kokkos::ViewTraits { //---------------------------------------------------------------------- /** \brief Compatible view of array of scalar types */ - typedef DynamicView - array_type; + using array_type = + DynamicView; /** \brief Compatible view of const data type */ - typedef DynamicView - const_type; + using const_type = DynamicView; /** \brief Compatible view of non-const data type */ - typedef DynamicView - non_const_type; + using non_const_type = DynamicView; /** \brief Must be accessible everywhere */ - typedef DynamicView HostMirror; + using HostMirror = DynamicView; /** \brief Unified types */ - typedef Kokkos::Device - uniform_device; - typedef array_type uniform_type; - typedef const_type uniform_const_type; - typedef array_type uniform_runtime_type; - typedef const_type uniform_runtime_const_type; - typedef DynamicView - uniform_nomemspace_type; - typedef DynamicView - uniform_const_nomemspace_type; - typedef DynamicView - uniform_runtime_nomemspace_type; - typedef DynamicView - uniform_runtime_const_nomemspace_type; + using uniform_device = + Kokkos::Device; + using uniform_type = array_type; + using uniform_const_type = const_type; + using uniform_runtime_type = array_type; + using uniform_runtime_const_type = const_type; + using uniform_nomemspace_type = + DynamicView; + using uniform_const_nomemspace_type = + DynamicView; + using uniform_runtime_nomemspace_type = + DynamicView; + using uniform_runtime_const_nomemspace_type = + DynamicView; //---------------------------------------------------------------------- @@ -193,17 +191,6 @@ class DynamicView : public Kokkos::ViewTraits { return r == 0 ? size() : 1; } -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - KOKKOS_INLINE_FUNCTION size_t dimension_0() const { return size(); } - KOKKOS_INLINE_FUNCTION constexpr size_t dimension_1() const { return 1; } - KOKKOS_INLINE_FUNCTION constexpr size_t dimension_2() const { return 1; } - KOKKOS_INLINE_FUNCTION constexpr size_t dimension_3() const { return 1; } - KOKKOS_INLINE_FUNCTION constexpr size_t dimension_4() const { return 1; } - KOKKOS_INLINE_FUNCTION constexpr size_t dimension_5() const { return 1; } - KOKKOS_INLINE_FUNCTION constexpr size_t dimension_6() const { return 1; } - KOKKOS_INLINE_FUNCTION constexpr size_t dimension_7() const { return 1; } -#endif - KOKKOS_INLINE_FUNCTION constexpr size_t stride_0() const { return 0; } KOKKOS_INLINE_FUNCTION constexpr size_t stride_1() const { return 0; } KOKKOS_INLINE_FUNCTION constexpr size_t stride_2() const { return 0; } @@ -231,8 +218,8 @@ class DynamicView : public Kokkos::ViewTraits { //---------------------------------------------------------------------- // Range span is the span which contains all members. - typedef typename traits::value_type& reference_type; - typedef typename traits::value_type* pointer_type; + using reference_type = typename traits::value_type&; + using pointer_type = typename traits::value_type*; enum { reference_type_is_lvalue_reference = @@ -299,8 +286,8 @@ class DynamicView : public Kokkos::ViewTraits { typename Impl::ChunkArraySpace< typename traits::memory_space>::memory_space>::accessible>::type resize_serial(IntType const& n) { - typedef typename traits::value_type local_value_type; - typedef local_value_type* value_pointer_type; + using local_value_type = typename traits::value_type; + using value_pointer_type = local_value_type*; const uintptr_t NC = (n + m_chunk_mask) >> @@ -332,6 +319,17 @@ class DynamicView : public Kokkos::ViewTraits { *(pc + 1) = n; } + KOKKOS_INLINE_FUNCTION bool is_allocated() const { + if (m_chunks == nullptr) { + return false; + } else { + // *m_chunks[m_chunk_max] stores the current number of chunks being used + uintptr_t* const pc = + reinterpret_cast(m_chunks + m_chunk_max); + return (*(pc + 1) > 0); + } + } + //---------------------------------------------------------------------- ~DynamicView() = default; @@ -349,8 +347,8 @@ class DynamicView : public Kokkos::ViewTraits { m_chunk_mask(rhs.m_chunk_mask), m_chunk_max(rhs.m_chunk_max), m_chunk_size(rhs.m_chunk_size) { - typedef typename DynamicView::traits SrcTraits; - typedef Kokkos::Impl::ViewMapping Mapping; + using SrcTraits = typename DynamicView::traits; + using Mapping = Kokkos::Impl::ViewMapping; static_assert(Mapping::is_assignable, "Incompatible DynamicView copy construction"); } @@ -373,9 +371,7 @@ class DynamicView : public Kokkos::ViewTraits { } void execute(bool arg_destroy) { - typedef Kokkos::RangePolicy Range; - // typedef Kokkos::RangePolicy< typename Impl::ChunkArraySpace< typename - // traits::memory_space >::memory_space::execution_space > Range ; + using Range = Kokkos::RangePolicy; m_destroy = arg_destroy; @@ -431,12 +427,11 @@ class DynamicView : public Kokkos::ViewTraits { m_chunk_shift) // max num pointers-to-chunks in array , m_chunk_size(2 << (m_chunk_shift - 1)) { - typedef typename Impl::ChunkArraySpace< - typename traits::memory_space>::memory_space chunk_array_memory_space; + using chunk_array_memory_space = typename Impl::ChunkArraySpace< + typename traits::memory_space>::memory_space; // A functor to deallocate all of the chunks upon final destruction - typedef Kokkos::Impl::SharedAllocationRecord - record_type; + using record_type = + Kokkos::Impl::SharedAllocationRecord; // Allocate chunk pointers and allocation counter record_type* const record = @@ -471,11 +466,11 @@ create_mirror_view(const Kokkos::Experimental::DynamicView& src) { template inline void deep_copy(const View& dst, const Kokkos::Experimental::DynamicView& src) { - typedef View dst_type; - typedef Kokkos::Experimental::DynamicView src_type; + using dst_type = View; + using src_type = Kokkos::Experimental::DynamicView; - typedef typename ViewTraits::execution_space dst_execution_space; - typedef typename ViewTraits::memory_space src_memory_space; + using dst_execution_space = typename ViewTraits::execution_space; + using src_memory_space = typename ViewTraits::memory_space; enum { DstExecCanAccessSrc = @@ -496,11 +491,11 @@ inline void deep_copy(const View& dst, template inline void deep_copy(const Kokkos::Experimental::DynamicView& dst, const View& src) { - typedef Kokkos::Experimental::DynamicView dst_type; - typedef View src_type; + using dst_type = Kokkos::Experimental::DynamicView; + using src_type = View; - typedef typename ViewTraits::execution_space dst_execution_space; - typedef typename ViewTraits::memory_space src_memory_space; + using dst_execution_space = typename ViewTraits::execution_space; + using src_memory_space = typename ViewTraits::memory_space; enum { DstExecCanAccessSrc = @@ -522,10 +517,10 @@ namespace Impl { template struct CommonSubview, Kokkos::Experimental::DynamicView, 1, Arg0> { - typedef Kokkos::Experimental::DynamicView DstType; - typedef Kokkos::Experimental::DynamicView SrcType; - typedef DstType dst_subview_type; - typedef SrcType src_subview_type; + using DstType = Kokkos::Experimental::DynamicView; + using SrcType = Kokkos::Experimental::DynamicView; + using dst_subview_type = DstType; + using src_subview_type = SrcType; dst_subview_type dst_sub; src_subview_type src_sub; CommonSubview(const DstType& dst, const SrcType& src, const Arg0& /*arg0*/) @@ -535,9 +530,9 @@ struct CommonSubview, template struct CommonSubview, SrcType, 1, Arg0> { - typedef Kokkos::Experimental::DynamicView DstType; - typedef DstType dst_subview_type; - typedef typename Kokkos::Subview src_subview_type; + using DstType = Kokkos::Experimental::DynamicView; + using dst_subview_type = DstType; + using src_subview_type = typename Kokkos::Subview; dst_subview_type dst_sub; src_subview_type src_sub; CommonSubview(const DstType& dst, const SrcType& src, const Arg0& arg0) @@ -547,9 +542,9 @@ struct CommonSubview, SrcType, 1, template struct CommonSubview, 1, Arg0> { - typedef Kokkos::Experimental::DynamicView SrcType; - typedef typename Kokkos::Subview dst_subview_type; - typedef SrcType src_subview_type; + using SrcType = Kokkos::Experimental::DynamicView; + using dst_subview_type = typename Kokkos::Subview; + using src_subview_type = SrcType; dst_subview_type dst_sub; src_subview_type src_sub; CommonSubview(const DstType& dst, const SrcType& src, const Arg0& arg0) @@ -559,11 +554,11 @@ struct CommonSubview, 1, template struct ViewCopy, ViewTypeB, Layout, - ExecSpace, 1, iType, false> { + ExecSpace, 1, iType> { Kokkos::Experimental::DynamicView a; ViewTypeB b; - typedef Kokkos::RangePolicy> policy_type; + using policy_type = Kokkos::RangePolicy>; ViewCopy(const Kokkos::Experimental::DynamicView& a_, const ViewTypeB& b_) @@ -580,11 +575,11 @@ template struct ViewCopy, Kokkos::Experimental::DynamicView, Layout, ExecSpace, 1, - iType, false> { + iType> { Kokkos::Experimental::DynamicView a; Kokkos::Experimental::DynamicView b; - typedef Kokkos::RangePolicy> policy_type; + using policy_type = Kokkos::RangePolicy>; ViewCopy(const Kokkos::Experimental::DynamicView& a_, const Kokkos::Experimental::DynamicView& b_) diff --git a/lib/kokkos/containers/src/Kokkos_ErrorReporter.hpp b/lib/kokkos/containers/src/Kokkos_ErrorReporter.hpp index e07c386b7d9c027e426dd61933a1adddce4cf2ce..fbfaed9b1bcda2d22077947532f3abe303ea5533 100644 --- a/lib/kokkos/containers/src/Kokkos_ErrorReporter.hpp +++ b/lib/kokkos/containers/src/Kokkos_ErrorReporter.hpp @@ -56,9 +56,9 @@ namespace Experimental { template class ErrorReporter { public: - typedef ReportType report_type; - typedef DeviceType device_type; - typedef typename device_type::execution_space execution_space; + using report_type = ReportType; + using device_type = DeviceType; + using execution_space = typename device_type::execution_space; ErrorReporter(int max_results) : m_numReportsAttempted(""), @@ -103,10 +103,10 @@ class ErrorReporter { } private: - typedef Kokkos::View reports_view_t; - typedef Kokkos::DualView reports_dualview_t; + using reports_view_t = Kokkos::View; + using reports_dualview_t = Kokkos::DualView; - typedef typename reports_dualview_t::host_mirror_space host_mirror_space; + using host_mirror_space = typename reports_dualview_t::host_mirror_space; Kokkos::View m_numReportsAttempted; reports_dualview_t m_reports; Kokkos::DualView m_reporters; diff --git a/lib/kokkos/containers/src/Kokkos_Functional.hpp b/lib/kokkos/containers/src/Kokkos_Functional.hpp index d908458518e1b5331c1553e7f252cab310c1b766..2e1fa336f7bc062cbfce346b5a1bb39e4354a15a 100644 --- a/lib/kokkos/containers/src/Kokkos_Functional.hpp +++ b/lib/kokkos/containers/src/Kokkos_Functional.hpp @@ -52,10 +52,10 @@ namespace Kokkos { template struct pod_hash { - typedef T argument_type; - typedef T first_argument_type; - typedef uint32_t second_argument_type; - typedef uint32_t result_type; + using argument_type = T; + using first_argument_type = T; + using second_argument_type = uint32_t; + using result_type = uint32_t; KOKKOS_FORCEINLINE_FUNCTION uint32_t operator()(T const& t) const { @@ -70,9 +70,9 @@ struct pod_hash { template struct pod_equal_to { - typedef T first_argument_type; - typedef T second_argument_type; - typedef bool result_type; + using first_argument_type = T; + using second_argument_type = T; + using result_type = bool; KOKKOS_FORCEINLINE_FUNCTION bool operator()(T const& a, T const& b) const { @@ -82,9 +82,9 @@ struct pod_equal_to { template struct pod_not_equal_to { - typedef T first_argument_type; - typedef T second_argument_type; - typedef bool result_type; + using first_argument_type = T; + using second_argument_type = T; + using result_type = bool; KOKKOS_FORCEINLINE_FUNCTION bool operator()(T const& a, T const& b) const { @@ -94,9 +94,9 @@ struct pod_not_equal_to { template struct equal_to { - typedef T first_argument_type; - typedef T second_argument_type; - typedef bool result_type; + using first_argument_type = T; + using second_argument_type = T; + using result_type = bool; KOKKOS_FORCEINLINE_FUNCTION bool operator()(T const& a, T const& b) const { return a == b; } @@ -104,9 +104,9 @@ struct equal_to { template struct not_equal_to { - typedef T first_argument_type; - typedef T second_argument_type; - typedef bool result_type; + using first_argument_type = T; + using second_argument_type = T; + using result_type = bool; KOKKOS_FORCEINLINE_FUNCTION bool operator()(T const& a, T const& b) const { return a != b; } @@ -114,9 +114,9 @@ struct not_equal_to { template struct greater { - typedef T first_argument_type; - typedef T second_argument_type; - typedef bool result_type; + using first_argument_type = T; + using second_argument_type = T; + using result_type = bool; KOKKOS_FORCEINLINE_FUNCTION bool operator()(T const& a, T const& b) const { return a > b; } @@ -124,9 +124,9 @@ struct greater { template struct less { - typedef T first_argument_type; - typedef T second_argument_type; - typedef bool result_type; + using first_argument_type = T; + using second_argument_type = T; + using result_type = bool; KOKKOS_FORCEINLINE_FUNCTION bool operator()(T const& a, T const& b) const { return a < b; } @@ -134,9 +134,9 @@ struct less { template struct greater_equal { - typedef T first_argument_type; - typedef T second_argument_type; - typedef bool result_type; + using first_argument_type = T; + using second_argument_type = T; + using result_type = bool; KOKKOS_FORCEINLINE_FUNCTION bool operator()(T const& a, T const& b) const { return a >= b; } @@ -144,9 +144,9 @@ struct greater_equal { template struct less_equal { - typedef T first_argument_type; - typedef T second_argument_type; - typedef bool result_type; + using first_argument_type = T; + using second_argument_type = T; + using result_type = bool; KOKKOS_FORCEINLINE_FUNCTION bool operator()(T const& a, T const& b) const { return a <= b; } diff --git a/lib/kokkos/containers/src/Kokkos_OffsetView.hpp b/lib/kokkos/containers/src/Kokkos_OffsetView.hpp index c3c66f0d7f6999b9ec3500624577652359b4c074..9233499bf4d977a9d4f65c2c435327025007a83f 100644 --- a/lib/kokkos/containers/src/Kokkos_OffsetView.hpp +++ b/lib/kokkos/containers/src/Kokkos_OffsetView.hpp @@ -51,10 +51,10 @@ namespace Impl { template struct GetOffsetViewTypeFromViewType { - typedef OffsetView< - typename ViewType::data_type, typename ViewType::array_layout, - typename ViewType::device_type, typename ViewType::memory_traits> - type; + using type = + OffsetView; }; template @@ -180,7 +180,7 @@ void runtime_check_rank_device(const size_t rank_dynamic, const size_t rank, template class OffsetView : public ViewTraits { public: - typedef ViewTraits traits; + using traits = ViewTraits; private: template @@ -190,12 +190,12 @@ class OffsetView : public ViewTraits { template friend class Kokkos::Impl::ViewMapping; - typedef Kokkos::Impl::ViewMapping map_type; - typedef Kokkos::Impl::SharedAllocationTracker track_type; + using map_type = Kokkos::Impl::ViewMapping; + using track_type = Kokkos::Impl::SharedAllocationTracker; public: enum { Rank = map_type::Rank }; - typedef Kokkos::Array begins_type; + using begins_type = Kokkos::Array; template < typename iType, @@ -223,28 +223,27 @@ class OffsetView : public ViewTraits { public: //---------------------------------------- /** \brief Compatible view of array of scalar types */ - typedef OffsetView< - typename traits::scalar_array_type, typename traits::array_layout, - typename traits::device_type, typename traits::memory_traits> - array_type; + using array_type = + OffsetView; /** \brief Compatible view of const data type */ - typedef OffsetView< - typename traits::const_data_type, typename traits::array_layout, - typename traits::device_type, typename traits::memory_traits> - const_type; + using const_type = + OffsetView; /** \brief Compatible view of non-const data type */ - typedef OffsetView< - typename traits::non_const_data_type, typename traits::array_layout, - typename traits::device_type, typename traits::memory_traits> - non_const_type; + using non_const_type = + OffsetView; /** \brief Compatible HostMirror view */ - typedef OffsetView - HostMirror; + using HostMirror = OffsetView; //---------------------------------------- // Domain rank and extents @@ -335,8 +334,8 @@ class OffsetView : public ViewTraits { //---------------------------------------- // Range span is the span which contains all members. - typedef typename map_type::reference_type reference_type; - typedef typename map_type::pointer_type pointer_type; + using reference_type = typename map_type::reference_type; + using pointer_type = typename map_type::pointer_type; enum { reference_type_is_lvalue_reference = @@ -347,6 +346,9 @@ class OffsetView : public ViewTraits { KOKKOS_INLINE_FUNCTION bool span_is_contiguous() const { return m_map.span_is_contiguous(); } + KOKKOS_INLINE_FUNCTION constexpr bool is_allocated() const { + return m_map.data() != nullptr; + } KOKKOS_INLINE_FUNCTION constexpr pointer_type data() const { return m_map.data(); } @@ -841,10 +843,9 @@ class OffsetView : public ViewTraits { // interoperability with View private: - typedef View - view_type; + using view_type = + View; public: KOKKOS_INLINE_FUNCTION @@ -856,8 +857,8 @@ class OffsetView : public ViewTraits { template KOKKOS_INLINE_FUNCTION OffsetView(const View& aview) : m_track(aview.impl_track()), m_map() { - typedef typename OffsetView::traits SrcTraits; - typedef Kokkos::Impl::ViewMapping Mapping; + using SrcTraits = typename OffsetView::traits; + using Mapping = Kokkos::Impl::ViewMapping; static_assert(Mapping::is_assignable, "Incompatible OffsetView copy construction"); Mapping::assign(m_map, aview.impl_map(), m_track); @@ -871,8 +872,8 @@ class OffsetView : public ViewTraits { KOKKOS_INLINE_FUNCTION OffsetView(const View& aview, const index_list_type& minIndices) : m_track(aview.impl_track()), m_map() { - typedef typename OffsetView::traits SrcTraits; - typedef Kokkos::Impl::ViewMapping Mapping; + using SrcTraits = typename OffsetView::traits; + using Mapping = Kokkos::Impl::ViewMapping; static_assert(Mapping::is_assignable, "Incompatible OffsetView copy construction"); Mapping::assign(m_map, aview.impl_map(), m_track); @@ -894,8 +895,8 @@ class OffsetView : public ViewTraits { KOKKOS_INLINE_FUNCTION OffsetView(const View& aview, const begins_type& beg) : m_track(aview.impl_track()), m_map(), m_begins(beg) { - typedef typename OffsetView::traits SrcTraits; - typedef Kokkos::Impl::ViewMapping Mapping; + using SrcTraits = typename OffsetView::traits; + using Mapping = Kokkos::Impl::ViewMapping; static_assert(Mapping::is_assignable, "Incompatible OffsetView copy construction"); Mapping::assign(m_map, aview.impl_map(), m_track); @@ -917,8 +918,8 @@ class OffsetView : public ViewTraits { : m_track(rhs.m_track, traits::is_managed), m_map(), m_begins(rhs.m_begins) { - typedef typename OffsetView::traits SrcTraits; - typedef Kokkos::Impl::ViewMapping Mapping; + using SrcTraits = typename OffsetView::traits; + using Mapping = Kokkos::Impl::ViewMapping; static_assert(Mapping::is_assignable, "Incompatible OffsetView copy construction"); Mapping::assign(m_map, rhs.m_map, rhs.m_track); // swb what about assign? @@ -1215,11 +1216,11 @@ class OffsetView : public ViewTraits { for (size_t i = 0; i < Rank; ++i) m_begins[i] = minIndices.begin()[i]; // Append layout and spaces if not input - typedef Kokkos::Impl::ViewCtorProp alloc_prop_input; + using alloc_prop_input = Kokkos::Impl::ViewCtorProp; // use 'std::integral_constant' for non-types // to avoid duplicate class error. - typedef Kokkos::Impl::ViewCtorProp< + using alloc_prop = Kokkos::Impl::ViewCtorProp< P..., typename std::conditional, @@ -1231,19 +1232,13 @@ class OffsetView : public ViewTraits { typename std::conditional< alloc_prop_input::has_execution_space, std::integral_constant, - typename traits::device_type::execution_space>::type> - alloc_prop; + typename traits::device_type::execution_space>::type>; static_assert(traits::is_managed, "OffsetView allocation constructor requires managed memory"); if (alloc_prop::initialize && -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - !alloc_prop::execution_space::is_initialized() -#else - !alloc_prop::execution_space::impl_is_initialized() -#endif - ) { + !alloc_prop::execution_space::impl_is_initialized()) { // If initializing view data then // the execution space must be initialized. Kokkos::Impl::throw_runtime_exception( @@ -1764,8 +1759,8 @@ template KOKKOS_INLINE_FUNCTION bool operator==(const OffsetView& lhs, const OffsetView& rhs) { // Same data, layout, dimensions - typedef ViewTraits lhs_traits; - typedef ViewTraits rhs_traits; + using lhs_traits = ViewTraits; + using rhs_traits = ViewTraits; return std::is_same::value && @@ -1795,8 +1790,8 @@ template KOKKOS_INLINE_FUNCTION bool operator==(const View& lhs, const OffsetView& rhs) { // Same data, layout, dimensions - typedef ViewTraits lhs_traits; - typedef ViewTraits rhs_traits; + using lhs_traits = ViewTraits; + using rhs_traits = ViewTraits; return std::is_same::value && @@ -1825,10 +1820,10 @@ KOKKOS_INLINE_FUNCTION bool operator==(const OffsetView& lhs, //---------------------------------------------------------------------------- namespace Kokkos { -namespace Experimental { + template inline void deep_copy( - const OffsetView& dst, + const Experimental::OffsetView& dst, typename ViewTraits::const_value_type& value, typename std::enable_if::specialize, void>::value>::type* = @@ -1844,7 +1839,8 @@ inline void deep_copy( template inline void deep_copy( - const OffsetView& dst, const OffsetView& value, + const Experimental::OffsetView& dst, + const Experimental::OffsetView& value, typename std::enable_if::specialize, void>::value>::type* = nullptr) { @@ -1858,7 +1854,8 @@ inline void deep_copy( } template inline void deep_copy( - const OffsetView& dst, const View& value, + const Experimental::OffsetView& dst, + const View& value, typename std::enable_if::specialize, void>::value>::type* = nullptr) { @@ -1873,7 +1870,8 @@ inline void deep_copy( template inline void deep_copy( - const View& dst, const OffsetView& value, + const View& dst, + const Experimental::OffsetView& value, typename std::enable_if::specialize, void>::value>::type* = nullptr) { @@ -1884,53 +1882,54 @@ inline void deep_copy( Kokkos::deep_copy(dst, value.view()); } + namespace Impl { // Deduce Mirror Types template struct MirrorOffsetViewType { // The incoming view_type - typedef typename Kokkos::Experimental::OffsetView src_view_type; + using src_view_type = typename Kokkos::Experimental::OffsetView; // The memory space for the mirror view - typedef typename Space::memory_space memory_space; + using memory_space = typename Space::memory_space; // Check whether it is the same memory space enum { is_same_memspace = std::is_same::value }; // The array_layout - typedef typename src_view_type::array_layout array_layout; + using array_layout = typename src_view_type::array_layout; // The data type (we probably want it non-const since otherwise we can't even // deep_copy to it. - typedef typename src_view_type::non_const_data_type data_type; + using data_type = typename src_view_type::non_const_data_type; // The destination view type if it is not the same memory space - typedef Kokkos::Experimental::OffsetView - dest_view_type; + using dest_view_type = + Kokkos::Experimental::OffsetView; // If it is the same memory_space return the existsing view_type // This will also keep the unmanaged trait if necessary - typedef typename std::conditional::type view_type; + using view_type = typename std::conditional::type; }; template struct MirrorOffsetType { // The incoming view_type - typedef typename Kokkos::Experimental::OffsetView src_view_type; + using src_view_type = typename Kokkos::Experimental::OffsetView; // The memory space for the mirror view - typedef typename Space::memory_space memory_space; + using memory_space = typename Space::memory_space; // Check whether it is the same memory space enum { is_same_memspace = std::is_same::value }; // The array_layout - typedef typename src_view_type::array_layout array_layout; + using array_layout = typename src_view_type::array_layout; // The data type (we probably want it non-const since otherwise we can't even // deep_copy to it. - typedef typename src_view_type::non_const_data_type data_type; + using data_type = typename src_view_type::non_const_data_type; // The destination view type if it is not the same memory space - typedef Kokkos::Experimental::OffsetView - view_type; + using view_type = + Kokkos::Experimental::OffsetView; }; } // namespace Impl @@ -1942,8 +1941,8 @@ create_mirror( typename std::enable_if< !std::is_same::array_layout, Kokkos::LayoutStride>::value>::type* = 0) { - typedef OffsetView src_type; - typedef typename src_type::HostMirror dst_type; + using src_type = Experimental::OffsetView; + using dst_type = typename src_type::HostMirror; return dst_type( Kokkos::Impl::ViewCtorProp( @@ -1962,8 +1961,8 @@ create_mirror( typename std::enable_if< std::is_same::array_layout, Kokkos::LayoutStride>::value>::type* = 0) { - typedef OffsetView src_type; - typedef typename src_type::HostMirror dst_type; + using src_type = Experimental::OffsetView; + using dst_type = typename src_type::HostMirror; Kokkos::LayoutStride layout; @@ -1992,14 +1991,13 @@ create_mirror( // Create a mirror in a new space (specialization for different space) template -typename Kokkos::Experimental::Impl::MirrorOffsetType::view_type +typename Kokkos::Impl::MirrorOffsetType::view_type create_mirror(const Space&, const Kokkos::Experimental::OffsetView& src) { - return typename Kokkos::Experimental::Impl::MirrorOffsetType< - Space, T, P...>::view_type(src.label(), src.layout(), - {src.begin(0), src.begin(1), src.begin(2), - src.begin(3), src.begin(4), src.begin(5), - src.begin(6), src.begin(7)}); + return typename Kokkos::Impl::MirrorOffsetType::view_type( + src.label(), src.layout(), + {src.begin(0), src.begin(1), src.begin(2), src.begin(3), src.begin(4), + src.begin(5), src.begin(6), src.begin(7)}); } template @@ -2031,13 +2029,12 @@ create_mirror_view( typename Kokkos::Experimental::OffsetView::data_type, typename Kokkos::Experimental::OffsetView< T, P...>::HostMirror::data_type>::value)>::type* = 0) { - return Kokkos::Experimental::create_mirror(src); + return Kokkos::create_mirror(src); } // Create a mirror view in a new space (specialization for same space) template -typename Kokkos::Experimental::Impl::MirrorOffsetViewType::view_type +typename Kokkos::Impl::MirrorOffsetViewType::view_type create_mirror_view(const Space&, const Kokkos::Experimental::OffsetView& src, typename std::enable_if -typename Kokkos::Experimental::Impl::MirrorOffsetViewType::view_type +typename Kokkos::Impl::MirrorOffsetViewType::view_type create_mirror_view(const Space&, const Kokkos::Experimental::OffsetView& src, typename std::enable_if::is_same_memspace>::type* = 0) { - return typename Kokkos::Experimental::Impl::MirrorOffsetViewType< - Space, T, P...>::view_type(src.label(), src.layout(), - {src.begin(0), src.begin(1), src.begin(2), - src.begin(3), src.begin(4), src.begin(5), - src.begin(6), src.begin(7)}); + return typename Kokkos::Impl::MirrorOffsetViewType::view_type( + src.label(), src.layout(), + {src.begin(0), src.begin(1), src.begin(2), src.begin(3), src.begin(4), + src.begin(5), src.begin(6), src.begin(7)}); } // // // Create a mirror view and deep_copy in a new space (specialization for @@ -2093,7 +2088,6 @@ create_mirror_view(const Space&, // return mirror; // } -} // namespace Experimental } /* namespace Kokkos */ //---------------------------------------------------------------------------- diff --git a/lib/kokkos/containers/src/Kokkos_ScatterView.hpp b/lib/kokkos/containers/src/Kokkos_ScatterView.hpp index eb3bc1f2bcd0a217e067906915a62a210f5047d1..3df0dfcd3b293cfd4d50fedead3c29c97a1d699e 100644 --- a/lib/kokkos/containers/src/Kokkos_ScatterView.hpp +++ b/lib/kokkos/containers/src/Kokkos_ScatterView.hpp @@ -62,16 +62,16 @@ namespace Experimental { * - These corresponds to subset of the reducers in parallel_reduce * - See Implementations of ScatterValue for details. */ -enum : int { - ScatterSum, - ScatterProd, - ScatterMax, - ScatterMin, -}; +struct ScatterSum {}; +struct ScatterProd {}; +struct ScatterMax {}; +struct ScatterMin {}; -enum : int { ScatterNonDuplicated = 0, ScatterDuplicated = 1 }; +struct ScatterNonDuplicated {}; +struct ScatterDuplicated {}; -enum : int { ScatterNonAtomic = 0, ScatterAtomic = 1 }; +struct ScatterNonAtomic {}; +struct ScatterAtomic {}; } // namespace Experimental } // namespace Kokkos @@ -83,159 +83,199 @@ namespace Experimental { template struct DefaultDuplication; -template +template struct DefaultContribution; #ifdef KOKKOS_ENABLE_SERIAL template <> struct DefaultDuplication { - enum : int { value = Kokkos::Experimental::ScatterNonDuplicated }; + using type = Kokkos::Experimental::ScatterNonDuplicated; }; + template <> struct DefaultContribution { - enum : int { value = Kokkos::Experimental::ScatterNonAtomic }; + using type = Kokkos::Experimental::ScatterNonAtomic; }; template <> struct DefaultContribution { - enum : int { value = Kokkos::Experimental::ScatterNonAtomic }; + using type = Kokkos::Experimental::ScatterNonAtomic; }; #endif #ifdef KOKKOS_ENABLE_OPENMP template <> struct DefaultDuplication { - enum : int { value = Kokkos::Experimental::ScatterDuplicated }; + using type = Kokkos::Experimental::ScatterDuplicated; }; template <> struct DefaultContribution { - enum : int { value = Kokkos::Experimental::ScatterAtomic }; + using type = Kokkos::Experimental::ScatterAtomic; }; template <> struct DefaultContribution { - enum : int { value = Kokkos::Experimental::ScatterNonAtomic }; + using type = Kokkos::Experimental::ScatterNonAtomic; +}; +#endif + +#ifdef KOKKOS_ENABLE_OPENMPTARGET +template <> +struct DefaultDuplication { + using type = Kokkos::Experimental::ScatterNonDuplicated; +}; +template <> +struct DefaultContribution { + using type = Kokkos::Experimental::ScatterAtomic; +}; +template <> +struct DefaultContribution { + using type = Kokkos::Experimental::ScatterNonAtomic; }; #endif #ifdef KOKKOS_ENABLE_HPX template <> struct DefaultDuplication { - enum : int { value = Kokkos::Experimental::ScatterDuplicated }; + using type = Kokkos::Experimental::ScatterDuplicated; }; template <> struct DefaultContribution { - enum : int { value = Kokkos::Experimental::ScatterAtomic }; + using type = Kokkos::Experimental::ScatterAtomic; }; template <> struct DefaultContribution { - enum : int { value = Kokkos::Experimental::ScatterNonAtomic }; + using type = Kokkos::Experimental::ScatterNonAtomic; }; #endif #ifdef KOKKOS_ENABLE_THREADS template <> struct DefaultDuplication { - enum : int { value = Kokkos::Experimental::ScatterDuplicated }; + using type = Kokkos::Experimental::ScatterDuplicated; }; template <> struct DefaultContribution { - enum : int { value = Kokkos::Experimental::ScatterAtomic }; + using type = Kokkos::Experimental::ScatterAtomic; }; template <> struct DefaultContribution { - enum : int { value = Kokkos::Experimental::ScatterNonAtomic }; + using type = Kokkos::Experimental::ScatterNonAtomic; }; #endif #ifdef KOKKOS_ENABLE_CUDA template <> struct DefaultDuplication { - enum : int { value = Kokkos::Experimental::ScatterNonDuplicated }; + using type = Kokkos::Experimental::ScatterNonDuplicated; }; template <> struct DefaultContribution { - enum : int { value = Kokkos::Experimental::ScatterAtomic }; + using type = Kokkos::Experimental::ScatterAtomic; }; template <> struct DefaultContribution { - enum : int { value = Kokkos::Experimental::ScatterAtomic }; + using type = Kokkos::Experimental::ScatterAtomic; }; #endif #ifdef KOKKOS_ENABLE_HIP template <> struct DefaultDuplication { - enum : int { value = Kokkos::Experimental::ScatterNonDuplicated }; + using type = Kokkos::Experimental::ScatterNonDuplicated; }; template <> struct DefaultContribution { - enum : int { value = Kokkos::Experimental::ScatterAtomic }; + using type = Kokkos::Experimental::ScatterAtomic; }; template <> struct DefaultContribution { - enum : int { value = Kokkos::Experimental::ScatterAtomic }; + using type = Kokkos::Experimental::ScatterAtomic; }; #endif -/* ScatterValue is the object - returned by the access operator() of ScatterAccess, This class inherits from - the Sum<> reducer and it wraps join(dest, src) with convenient operator+=, - etc. Note the addition of update(ValueType const& rhs) and reset() so that - all reducers can have common functions See ReduceDuplicates and - ResetDuplicates ) */ -template +// FIXME All these scatter values need overhaul: +// - like should they be copyable at all? +// - what is the internal handle type +// - remove join +// - consistently use the update function in operators +template struct ScatterValue; +/* ScatterValue is + the object returned by the access operator() of ScatterAccess. This class + inherits from the Sum<> reducer and it wraps join(dest, src) with convenient + operator+=, etc. Note the addition of update(ValueType const& rhs) and + reset() so that all reducers can have common functions See ReduceDuplicates + and ResetDuplicates ) */ template struct ScatterValue - : Sum { + Kokkos::Experimental::ScatterNonAtomic> { + ValueType& value; + public: KOKKOS_FORCEINLINE_FUNCTION ScatterValue(ValueType& value_in) - : Sum(value_in) {} + : value(value_in) {} KOKKOS_FORCEINLINE_FUNCTION ScatterValue(ScatterValue&& other) - : Sum(other.reference()) {} + : value(other.value) {} KOKKOS_FORCEINLINE_FUNCTION void operator+=(ValueType const& rhs) { - this->join(this->reference(), rhs); + update(rhs); } + KOKKOS_FORCEINLINE_FUNCTION void operator++() { update(1); } + KOKKOS_FORCEINLINE_FUNCTION void operator++(int) { update(1); } KOKKOS_FORCEINLINE_FUNCTION void operator-=(ValueType const& rhs) { - this->join(this->reference(), -rhs); + update(ValueType(-rhs)); } + KOKKOS_FORCEINLINE_FUNCTION void operator--() { update(ValueType(-1)); } + KOKKOS_FORCEINLINE_FUNCTION void operator--(int) { update(ValueType(-1)); } KOKKOS_FORCEINLINE_FUNCTION void update(ValueType const& rhs) { - this->join(this->reference(), rhs); + value += rhs; + } + KOKKOS_FORCEINLINE_FUNCTION void reset() { + value = reduction_identity::sum(); } - KOKKOS_FORCEINLINE_FUNCTION void reset() { this->init(this->reference()); } }; -/* ScatterValue is the object - returned by the access operator() - * of ScatterAccess, similar to that returned by an Atomic View, it wraps - Kokkos::atomic_add with convenient operator+=, etc. This version also has the - update(rhs) and reset() functions. */ +/* ScatterValue is the + object returned by the access operator() of ScatterAccess. This class inherits + from the Sum<> reducer, and similar to that returned by an Atomic View, it + wraps Kokkos::atomic_add with convenient operator+=, etc. This version also has + the update(rhs) and reset() functions. */ template struct ScatterValue - : Sum { + Kokkos::Experimental::ScatterAtomic> { + ValueType& value; + public: KOKKOS_FORCEINLINE_FUNCTION ScatterValue(ValueType& value_in) - : Sum(value_in) {} + : value(value_in) {} KOKKOS_FORCEINLINE_FUNCTION void operator+=(ValueType const& rhs) { - this->join(this->reference(), rhs); + this->join(value, rhs); } + KOKKOS_FORCEINLINE_FUNCTION void operator++() { this->join(value, 1); } + KOKKOS_FORCEINLINE_FUNCTION void operator++(int) { this->join(value, 1); } KOKKOS_FORCEINLINE_FUNCTION void operator-=(ValueType const& rhs) { - this->join(this->reference(), -rhs); + this->join(value, ValueType(-rhs)); + } + KOKKOS_FORCEINLINE_FUNCTION void operator--() { + this->join(value, ValueType(-1)); + } + KOKKOS_FORCEINLINE_FUNCTION void operator--(int) { + this->join(value, ValueType(-1)); } KOKKOS_INLINE_FUNCTION @@ -249,58 +289,67 @@ struct ScatterValuejoin(this->reference(), rhs); + this->join(value, rhs); } - KOKKOS_FORCEINLINE_FUNCTION void reset() { this->init(this->reference()); } + KOKKOS_FORCEINLINE_FUNCTION void reset() { + value = reduction_identity::sum(); + } }; -/* ScatterValue is the object - returned by the access operator() of ScatterAccess, This class inherits from - the Prod<> reducer and it wraps join(dest, src) with convenient operator*=, - etc. Note the addition of update(ValueType const& rhs) and reset() so that - all reducers can have common functions See ReduceDuplicates and - ResetDuplicates ) */ +/* ScatterValue is + the object returned by the access operator() of ScatterAccess. This class + inherits from the Prod<> reducer, and it wraps join(dest, src) with + convenient operator*=, etc. Note the addition of update(ValueType const& rhs) + and reset() so that all reducers can have common functions See + ReduceDuplicates and ResetDuplicates ) */ template struct ScatterValue - : Prod { + Kokkos::Experimental::ScatterNonAtomic> { + ValueType& value; + public: KOKKOS_FORCEINLINE_FUNCTION ScatterValue(ValueType& value_in) - : Prod(value_in) {} + : value(value_in) {} KOKKOS_FORCEINLINE_FUNCTION ScatterValue(ScatterValue&& other) - : Prod(other.reference()) {} + : value(other.value) {} KOKKOS_FORCEINLINE_FUNCTION void operator*=(ValueType const& rhs) { - this->join(this->reference(), rhs); + value *= rhs; } KOKKOS_FORCEINLINE_FUNCTION void operator/=(ValueType const& rhs) { - this->join(this->reference(), static_cast(1) / rhs); + value /= rhs; } + KOKKOS_FORCEINLINE_FUNCTION void update(ValueType const& rhs) { - this->join(this->reference(), rhs); + value *= rhs; + } + KOKKOS_FORCEINLINE_FUNCTION void reset() { + value = reduction_identity::prod(); } - KOKKOS_FORCEINLINE_FUNCTION void reset() { this->init(this->reference()); } }; -/* ScatterValue is the object - returned by the access operator() - * of ScatterAccess, similar to that returned by an Atomic View, it wraps and - atomic_prod with convenient operator*=, etc. atomic_prod uses the - atomic_compare_exchange. This version also has the update(rhs) and reset() - functions. */ +/* ScatterValue is the + object returned by the access operator() of ScatterAccess. This class + inherits from the Prod<> reducer, and similar to that returned by an Atomic + View, it wraps and atomic_prod with convenient operator*=, etc. atomic_prod + uses the atomic_compare_exchange. This version also has the update(rhs) + and reset() functions. */ template struct ScatterValue - : Prod { + Kokkos::Experimental::ScatterAtomic> { + ValueType& value; + public: KOKKOS_FORCEINLINE_FUNCTION ScatterValue(ValueType& value_in) - : Prod(value_in) {} + : value(value_in) {} + KOKKOS_FORCEINLINE_FUNCTION ScatterValue(ScatterValue&& other) + : value(other.value) {} KOKKOS_FORCEINLINE_FUNCTION void operator*=(ValueType const& rhs) { - this->join(this->reference(), rhs); + Kokkos::atomic_mul(&value, rhs); } KOKKOS_FORCEINLINE_FUNCTION void operator/=(ValueType const& rhs) { - this->join(this->reference(), static_cast(1) / rhs); + Kokkos::atomic_div(&value, rhs); } KOKKOS_FORCEINLINE_FUNCTION @@ -317,53 +366,62 @@ struct ScatterValuejoin(this->reference(), rhs); + atomic_prod(&value, rhs); + } + KOKKOS_FORCEINLINE_FUNCTION void reset() { + value = reduction_identity::prod(); } - KOKKOS_FORCEINLINE_FUNCTION void reset() { this->init(this->reference()); } }; -/* ScatterValue is the object - returned by the access operator() of ScatterAccess, This class inherits from - the Min<> reducer and it wraps join(dest, src) with convenient update(rhs). - Note the addition of update(ValueType const& rhs) and reset() are so that all - reducers can have a common update function See ReduceDuplicates and - ResetDuplicates ) */ +/* ScatterValue is + the object returned by the access operator() of ScatterAccess. This class + inherits from the Min<> reducer and it wraps join(dest, src) with convenient + update(rhs). Note the addition of update(ValueType const& rhs) and reset() + are so that all reducers can have a common update function See + ReduceDuplicates and ResetDuplicates ) */ template struct ScatterValue - : Min { - public: + Kokkos::Experimental::ScatterNonAtomic> { + ValueType& value; KOKKOS_FORCEINLINE_FUNCTION ScatterValue(ValueType& value_in) - : Min(value_in) {} + : value(value_in) {} KOKKOS_FORCEINLINE_FUNCTION ScatterValue(ScatterValue&& other) - : Min(other.reference()) {} + : value(other.value) {} + + public: KOKKOS_FORCEINLINE_FUNCTION void update(ValueType const& rhs) { - this->join(this->reference(), rhs); + value = rhs < value ? rhs : value; + } + KOKKOS_FORCEINLINE_FUNCTION void reset() { + value = reduction_identity::min(); } - KOKKOS_FORCEINLINE_FUNCTION void reset() { this->init(this->reference()); } }; -/* ScatterValue is the object - returned by the access operator() - * of ScatterAccess, similar to that returned by an Atomic View, it wraps and - atomic_min with the update(rhs) function. atomic_min uses the - atomic_compare_exchange. This version also has the reset() function */ +/* ScatterValue is the + object returned by the access operator() of ScatterAccess. This class + inherits from the Min<> reducer, and similar to that returned by an Atomic + View, it wraps atomic_min with join(), etc. atomic_min uses the + atomic_compare_exchange. This version also has the update(rhs) and reset() + functions. */ template struct ScatterValue - : Min { + Kokkos::Experimental::ScatterAtomic> { + ValueType& value; + public: KOKKOS_FORCEINLINE_FUNCTION ScatterValue(ValueType& value_in) - : Min(value_in) {} + : value(value_in) {} + KOKKOS_FORCEINLINE_FUNCTION ScatterValue(ScatterValue&& other) + : value(other.value) {} KOKKOS_FORCEINLINE_FUNCTION void atomic_min(ValueType& dest, const ValueType& src) const { @@ -388,44 +446,53 @@ struct ScatterValuejoin(this->reference(), rhs); + this->join(value, rhs); + } + KOKKOS_FORCEINLINE_FUNCTION void reset() { + value = reduction_identity::min(); } - KOKKOS_FORCEINLINE_FUNCTION void reset() { this->init(this->reference()); } }; -/* ScatterValue is the object - returned by the access operataor() of ScatterAccess, This class inherits from - the Max<> reducer and it wraps join(dest, src) with convenient update(rhs). - Note the addition of update(ValueType const& rhs) and reset() are so that all - reducers can have a common update function See ReduceDuplicates and - ResetDuplicates ) */ +/* ScatterValue is + the object returned by the access operator() of ScatterAccess. This class + inherits from the Max<> reducer and it wraps join(dest, src) with convenient + update(rhs). Note the addition of update(ValueType const& rhs) and reset() + are so that all reducers can have a common update function See + ReduceDuplicates and ResetDuplicates ) */ template struct ScatterValue - : Max { + Kokkos::Experimental::ScatterNonAtomic> { + ValueType& value; + public: KOKKOS_FORCEINLINE_FUNCTION ScatterValue(ValueType& value_in) - : Max(value_in) {} + : value(value_in) {} KOKKOS_FORCEINLINE_FUNCTION ScatterValue(ScatterValue&& other) - : Max(other.reference()) {} + : value(other.value) {} KOKKOS_FORCEINLINE_FUNCTION void update(ValueType const& rhs) { - this->join(this->reference(), rhs); + value = rhs > value ? rhs : value; + } + KOKKOS_FORCEINLINE_FUNCTION void reset() { + value = reduction_identity::max(); } - KOKKOS_FORCEINLINE_FUNCTION void reset() { this->init(this->reference()); } }; -/* ScatterValue is the object - returned by the access operator() - * of ScatterAccess, similar to that returned by an Atomic View, it wraps and - atomic_max with the update(rhs) function. atomic_max uses the - atomic_compare_exchange. This version also has the reset() function */ +/* ScatterValue is the + object returned by the access operator() of ScatterAccess. This class + inherits from the Max<> reducer, and similar to that returned by an Atomic + View, it wraps atomic_max with join(), etc. atomic_max uses the + atomic_compare_exchange. This version also has the update(rhs) and reset() + functions. */ template struct ScatterValue - : Max { + Kokkos::Experimental::ScatterAtomic> { + ValueType& value; + public: KOKKOS_FORCEINLINE_FUNCTION ScatterValue(ValueType& value_in) - : Max(value_in) {} + : value(value_in) {} + KOKKOS_FORCEINLINE_FUNCTION ScatterValue(ScatterValue&& other) + : value(other.value) {} KOKKOS_FORCEINLINE_FUNCTION void atomic_max(ValueType& dest, const ValueType& src) const { @@ -450,9 +517,11 @@ struct ScatterValuejoin(this->reference(), rhs); + this->join(value, rhs); + } + KOKKOS_FORCEINLINE_FUNCTION void reset() { + value = reduction_identity::max(); } - KOKKOS_FORCEINLINE_FUNCTION void reset() { this->init(this->reference()); } }; /* DuplicatedDataType, given a View DataType, will create a new DataType @@ -465,48 +534,48 @@ struct DuplicatedDataType; template struct DuplicatedDataType { - typedef T* value_type; // For LayoutRight, add a star all the way on the left + using value_type = T*; // For LayoutRight, add a star all the way on the left }; template struct DuplicatedDataType { - typedef typename DuplicatedDataType::value_type - value_type[N]; + using value_type = + typename DuplicatedDataType::value_type[N]; }; template struct DuplicatedDataType { - typedef typename DuplicatedDataType::value_type - value_type[]; + using value_type = + typename DuplicatedDataType::value_type[]; }; template struct DuplicatedDataType { - typedef typename DuplicatedDataType::value_type* - value_type; + using value_type = + typename DuplicatedDataType::value_type*; }; template struct DuplicatedDataType { - typedef T* value_type; + using value_type = T*; }; template struct DuplicatedDataType { - typedef typename DuplicatedDataType::value_type* - value_type; + using value_type = + typename DuplicatedDataType::value_type*; }; template struct DuplicatedDataType { - typedef typename DuplicatedDataType::value_type* - value_type; + using value_type = + typename DuplicatedDataType::value_type*; }; template struct DuplicatedDataType { - typedef typename DuplicatedDataType::value_type* - value_type; + using value_type = + typename DuplicatedDataType::value_type*; }; /* Insert integer argument pack into array */ @@ -526,8 +595,8 @@ void args_to_array(size_t* array, int pos, T dim0, Dims... dims) { subview where the index specified is the largest-stride one. */ template struct Slice { - typedef Slice next; - typedef typename next::value_type value_type; + using next = Slice; + using value_type = typename next::value_type; static value_type get(V const& src, const size_t i, Args... args) { return next::get(src, i, Kokkos::ALL, args...); @@ -536,9 +605,8 @@ struct Slice { template struct Slice { - typedef - typename Kokkos::Impl::ViewMapping::type - value_type; + using value_type = + typename Kokkos::Impl::ViewMapping::type; static value_type get(V const& src, const size_t i, Args... args) { return Kokkos::subview(src, i, args...); } @@ -546,20 +614,19 @@ struct Slice { template struct Slice { - typedef - typename Kokkos::Impl::ViewMapping::type - value_type; + using value_type = + typename Kokkos::Impl::ViewMapping::type; static value_type get(V const& src, const size_t i, Args... args) { return Kokkos::subview(src, args..., i); } }; -template +template struct ReduceDuplicates; -template +template struct ReduceDuplicatesBase { - typedef ReduceDuplicates Derived; + using Derived = ReduceDuplicates; ValueType const* src; ValueType* dst; size_t stride; @@ -569,35 +636,29 @@ struct ReduceDuplicatesBase { size_t stride_in, size_t start_in, size_t n_in, std::string const& name) : src(src_in), dst(dest_in), stride(stride_in), start(start_in), n(n_in) { -#if defined(KOKKOS_ENABLE_PROFILING) uint64_t kpID = 0; if (Kokkos::Profiling::profileLibraryLoaded()) { Kokkos::Profiling::beginParallelFor(std::string("reduce_") + name, 0, &kpID); } -#else - (void)name; -#endif - typedef RangePolicy policy_type; - typedef Kokkos::Impl::ParallelFor closure_type; + using policy_type = RangePolicy; + using closure_type = Kokkos::Impl::ParallelFor; const closure_type closure(*(static_cast(this)), policy_type(0, stride)); closure.execute(); -#if defined(KOKKOS_ENABLE_PROFILING) if (Kokkos::Profiling::profileLibraryLoaded()) { Kokkos::Profiling::endParallelFor(kpID); } -#endif } }; /* ReduceDuplicates -- Perform reduction on destination array using strided * source Use ScatterValue<> specific to operation to wrap destination array so * that the reduction operation can be accessed via the update(rhs) function */ -template +template struct ReduceDuplicates : public ReduceDuplicatesBase { - typedef ReduceDuplicatesBase Base; + using Base = ReduceDuplicatesBase; ReduceDuplicates(ValueType const* src_in, ValueType* dst_in, size_t stride_in, size_t start_in, size_t n_in, std::string const& name) : Base(src_in, dst_in, stride_in, start_in, n_in, name) {} @@ -611,44 +672,38 @@ struct ReduceDuplicates } }; -template +template struct ResetDuplicates; -template +template struct ResetDuplicatesBase { - typedef ResetDuplicates Derived; + using Derived = ResetDuplicates; ValueType* data; ResetDuplicatesBase(ValueType* data_in, size_t size_in, std::string const& name) : data(data_in) { -#if defined(KOKKOS_ENABLE_PROFILING) uint64_t kpID = 0; if (Kokkos::Profiling::profileLibraryLoaded()) { Kokkos::Profiling::beginParallelFor(std::string("reduce_") + name, 0, &kpID); } -#else - (void)name; -#endif - typedef RangePolicy policy_type; - typedef Kokkos::Impl::ParallelFor closure_type; + using policy_type = RangePolicy; + using closure_type = Kokkos::Impl::ParallelFor; const closure_type closure(*(static_cast(this)), policy_type(0, size_in)); closure.execute(); -#if defined(KOKKOS_ENABLE_PROFILING) if (Kokkos::Profiling::profileLibraryLoaded()) { Kokkos::Profiling::endParallelFor(kpID); } -#endif } }; /* ResetDuplicates -- Perform reset on destination array * Use ScatterValue<> specific to operation to wrap destination array so that * the reset operation can be accessed via the reset() function */ -template +template struct ResetDuplicates : public ResetDuplicatesBase { - typedef ResetDuplicatesBase Base; + using Base = ResetDuplicatesBase; ResetDuplicates(ValueType* data_in, size_t size_in, std::string const& name) : Base(data_in, size_in, name) {} KOKKOS_FORCEINLINE_FUNCTION void operator()(size_t i) const { @@ -667,37 +722,39 @@ namespace Kokkos { namespace Experimental { template ::value, - int contribution = Kokkos::Impl::Experimental::DefaultContribution< - typename DeviceType::execution_space, duplication>::value> + typename Layout = Kokkos::DefaultExecutionSpace::array_layout, + typename DeviceType = Kokkos::DefaultExecutionSpace, + typename Op = Kokkos::Experimental::ScatterSum, + typename Duplication = typename Kokkos::Impl::Experimental:: + DefaultDuplication::type, + typename Contribution = + typename Kokkos::Impl::Experimental::DefaultContribution< + typename DeviceType::execution_space, Duplication>::type> class ScatterView; -template +template class ScatterAccess; // non-duplicated implementation -template +template class ScatterView { + Contribution> { public: - using execution_space = typename DeviceType::execution_space; - using memory_space = typename DeviceType::memory_space; - using device_type = Kokkos::Device; - typedef Kokkos::View original_view_type; - typedef typename original_view_type::value_type original_value_type; - typedef typename original_view_type::reference_type original_reference_type; + using execution_space = typename DeviceType::execution_space; + using memory_space = typename DeviceType::memory_space; + using device_type = Kokkos::Device; + using original_view_type = Kokkos::View; + using original_value_type = typename original_view_type::value_type; + using original_reference_type = typename original_view_type::reference_type; friend class ScatterAccess; friend class ScatterAccess; - template + ScatterNonDuplicated, Contribution, ScatterAtomic>; + template friend class ScatterView; ScatterView() = default; @@ -713,30 +770,34 @@ class ScatterView KOKKOS_FUNCTION ScatterView( const ScatterView& other_view) + ScatterNonDuplicated, Contribution>& other_view) : internal_view(other_view.internal_view) {} template KOKKOS_FUNCTION void operator=( const ScatterView& other_view) { + ScatterNonDuplicated, Contribution>& other_view) { internal_view = other_view.internal_view; } - template + template KOKKOS_FORCEINLINE_FUNCTION ScatterAccess + Contribution, OverrideContribution> access() const { return ScatterAccess(*this); + Contribution, OverrideContribution>(*this); } original_view_type subview() const { return internal_view; } + KOKKOS_INLINE_FUNCTION constexpr bool is_allocated() const { + return internal_view.is_allocated(); + } + template void contribute_into(View const& dest) const { - typedef View dest_type; + using dest_type = View; static_assert(std::is_same::value, "ScatterView contribute destination has different layout"); static_assert( @@ -778,22 +839,20 @@ class ScatterView +template class ScatterAccess { + Contribution, OverrideContribution> { public: - typedef ScatterView - view_type; - typedef typename view_type::original_value_type original_value_type; - typedef Kokkos::Impl::Experimental::ScatterValue< - original_value_type, Op, DeviceType, override_contribution> - value_type; + using view_type = ScatterView; + using original_value_type = typename view_type::original_value_type; + using value_type = Kokkos::Impl::Experimental::ScatterValue< + original_value_type, Op, DeviceType, OverrideContribution>; KOKKOS_INLINE_FUNCTION ScatterAccess() : view(view_type()) {} @@ -825,44 +884,45 @@ class ScatterAccess +template class ScatterView { + ScatterDuplicated, Contribution> { public: using execution_space = typename DeviceType::execution_space; using memory_space = typename DeviceType::memory_space; using device_type = Kokkos::Device; - typedef Kokkos::View - original_view_type; - typedef typename original_view_type::value_type original_value_type; - typedef typename original_view_type::reference_type original_reference_type; + using original_view_type = + Kokkos::View; + using original_value_type = typename original_view_type::value_type; + using original_reference_type = typename original_view_type::reference_type; friend class ScatterAccess; + ScatterDuplicated, Contribution, ScatterNonAtomic>; friend class ScatterAccess; - template + ScatterDuplicated, Contribution, ScatterAtomic>; + template friend class ScatterView; - typedef typename Kokkos::Impl::Experimental::DuplicatedDataType< - DataType, Kokkos::LayoutRight> - data_type_info; - typedef typename data_type_info::value_type internal_data_type; - typedef Kokkos::View - internal_view_type; + using data_type_info = + typename Kokkos::Impl::Experimental::DuplicatedDataType< + DataType, Kokkos::LayoutRight>; + using internal_data_type = typename data_type_info::value_type; + using internal_view_type = + Kokkos::View; ScatterView() = default; template KOKKOS_FUNCTION ScatterView( const ScatterView& other_view) + ScatterDuplicated, Contribution>& other_view) : unique_token(other_view.unique_token), internal_view(other_view.internal_view) {} template KOKKOS_FUNCTION void operator=( const ScatterView& other_view) { + ScatterDuplicated, Contribution>& other_view) { unique_token = other_view.unique_token; internal_view = other_view.internal_view; } @@ -870,38 +930,25 @@ class ScatterView ScatterView(View const& original_view) : unique_token(), - internal_view(Kokkos::ViewAllocateWithoutInitializing( - std::string("duplicated_") + original_view.label()), - unique_token.size(), -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - original_view.extent(0), original_view.extent(1), - original_view.extent(2), original_view.extent(3), - original_view.extent(4), original_view.extent(5), - original_view.extent(6)) -#else - original_view.rank_dynamic > 0 - ? original_view.extent(0) - : KOKKOS_IMPL_CTOR_DEFAULT_ARG, - original_view.rank_dynamic > 1 - ? original_view.extent(1) - : KOKKOS_IMPL_CTOR_DEFAULT_ARG, - original_view.rank_dynamic > 2 - ? original_view.extent(2) - : KOKKOS_IMPL_CTOR_DEFAULT_ARG, - original_view.rank_dynamic > 3 - ? original_view.extent(3) - : KOKKOS_IMPL_CTOR_DEFAULT_ARG, - original_view.rank_dynamic > 4 - ? original_view.extent(4) - : KOKKOS_IMPL_CTOR_DEFAULT_ARG, - original_view.rank_dynamic > 5 - ? original_view.extent(5) - : KOKKOS_IMPL_CTOR_DEFAULT_ARG, - original_view.rank_dynamic > 6 - ? original_view.extent(6) - : KOKKOS_IMPL_CTOR_DEFAULT_ARG) + internal_view( + Kokkos::ViewAllocateWithoutInitializing(std::string("duplicated_") + + original_view.label()), + unique_token.size(), + original_view.rank_dynamic > 0 ? original_view.extent(0) + : KOKKOS_IMPL_CTOR_DEFAULT_ARG, + original_view.rank_dynamic > 1 ? original_view.extent(1) + : KOKKOS_IMPL_CTOR_DEFAULT_ARG, + original_view.rank_dynamic > 2 ? original_view.extent(2) + : KOKKOS_IMPL_CTOR_DEFAULT_ARG, + original_view.rank_dynamic > 3 ? original_view.extent(3) + : KOKKOS_IMPL_CTOR_DEFAULT_ARG, + original_view.rank_dynamic > 4 ? original_view.extent(4) + : KOKKOS_IMPL_CTOR_DEFAULT_ARG, + original_view.rank_dynamic > 5 ? original_view.extent(5) + : KOKKOS_IMPL_CTOR_DEFAULT_ARG, + original_view.rank_dynamic > 6 ? original_view.extent(6) + : KOKKOS_IMPL_CTOR_DEFAULT_ARG) -#endif { reset(); } @@ -913,14 +960,14 @@ class ScatterView + template KOKKOS_FORCEINLINE_FUNCTION ScatterAccess + ScatterDuplicated, Contribution, OverrideContribution> access() const { return ScatterAccess(*this); + ScatterDuplicated, Contribution, OverrideContribution>( + *this); } typename Kokkos::Impl::Experimental::Slice::get(internal_view, 0); } + KOKKOS_INLINE_FUNCTION constexpr bool is_allocated() const { + return internal_view.is_allocated(); + } + template void contribute_into(View const& dest) const { - typedef View dest_type; + using dest_type = View; static_assert(std::is_same::value, "ScatterView deep_copy destination has different layout"); @@ -989,38 +1040,38 @@ class ScatterView - unique_token_type; + using unique_token_type = Kokkos::Experimental::UniqueToken< + execution_space, Kokkos::Experimental::UniqueTokenScope::Global>; unique_token_type unique_token; internal_view_type internal_view; }; -template +template class ScatterView { + ScatterDuplicated, Contribution> { public: using execution_space = typename DeviceType::execution_space; using memory_space = typename DeviceType::memory_space; using device_type = Kokkos::Device; - typedef Kokkos::View - original_view_type; - typedef typename original_view_type::value_type original_value_type; - typedef typename original_view_type::reference_type original_reference_type; + using original_view_type = + Kokkos::View; + using original_value_type = typename original_view_type::value_type; + using original_reference_type = typename original_view_type::reference_type; friend class ScatterAccess; + ScatterDuplicated, Contribution, ScatterNonAtomic>; friend class ScatterAccess; - template + ScatterDuplicated, Contribution, ScatterAtomic>; + template friend class ScatterView; - typedef typename Kokkos::Impl::Experimental::DuplicatedDataType< - DataType, Kokkos::LayoutLeft> - data_type_info; - typedef typename data_type_info::value_type internal_data_type; - typedef Kokkos::View - internal_view_type; + using data_type_info = + typename Kokkos::Impl::Experimental::DuplicatedDataType< + DataType, Kokkos::LayoutLeft>; + using internal_data_type = typename data_type_info::value_type; + using internal_view_type = + Kokkos::View; ScatterView() = default; @@ -1079,26 +1130,26 @@ class ScatterView KOKKOS_FUNCTION ScatterView( const ScatterView& other_view) + ScatterDuplicated, Contribution>& other_view) : unique_token(other_view.unique_token), internal_view(other_view.internal_view) {} template KOKKOS_FUNCTION void operator=( const ScatterView& other_view) { + ScatterDuplicated, Contribution>& other_view) { unique_token = other_view.unique_token; internal_view = other_view.internal_view; } - template + template KOKKOS_FORCEINLINE_FUNCTION ScatterAccess + ScatterDuplicated, Contribution, OverrideContribution> access() const { return ScatterAccess(*this); + ScatterDuplicated, Contribution, OverrideContribution>( + *this); } typename Kokkos::Impl::Experimental::Slice::get(internal_view, 0); } + KOKKOS_INLINE_FUNCTION constexpr bool is_allocated() const { + return internal_view.is_allocated(); + } + template void contribute_into(View const& dest) const { - typedef View dest_type; + using dest_type = View; static_assert( std::is_same::value, @@ -1181,9 +1236,8 @@ class ScatterView - unique_token_type; + using unique_token_type = Kokkos::Experimental::UniqueToken< + execution_space, Kokkos::Experimental::UniqueTokenScope::Global>; unique_token_type unique_token; internal_view_type internal_view; @@ -1199,18 +1253,16 @@ class ScatterView +template class ScatterAccess { + Contribution, OverrideContribution> { public: - typedef ScatterView - view_type; - typedef typename view_type::original_value_type original_value_type; - typedef Kokkos::Impl::Experimental::ScatterValue< - original_value_type, Op, DeviceType, override_contribution> - value_type; + using view_type = ScatterView; + using original_value_type = typename view_type::original_value_type; + using value_type = Kokkos::Impl::Experimental::ScatterValue< + original_value_type, Op, DeviceType, OverrideContribution>; KOKKOS_FORCEINLINE_FUNCTION ScatterAccess(view_type const& view_in) @@ -1254,45 +1306,68 @@ class ScatterAccess +template ScatterView< RT, typename ViewTraits::array_layout, - typename ViewTraits::device_type, - Op - /* just setting defaults if not specified... things got messy because the - view type does not come before the duplication/contribution settings in - the template parameter list */ - , - duplication == -1 - ? Kokkos::Impl::Experimental::DefaultDuplication< - typename ViewTraits::execution_space>::value - : duplication, - contribution == -1 - ? Kokkos::Impl::Experimental::DefaultContribution< - typename ViewTraits::execution_space, - (duplication == -1 - ? Kokkos::Impl::Experimental::DefaultDuplication< - typename ViewTraits::execution_space>::value - : duplication)>::value - : contribution> + typename ViewTraits::device_type, Op, + typename Kokkos::Impl::if_c< + std::is_same::value, + typename Kokkos::Impl::Experimental::DefaultDuplication< + typename ViewTraits::execution_space>::type, + Duplication>::type, + typename Kokkos::Impl::if_c< + std::is_same::value, + typename Kokkos::Impl::Experimental::DefaultContribution< + typename ViewTraits::execution_space, + typename Kokkos::Impl::if_c< + std::is_same::value, + typename Kokkos::Impl::Experimental::DefaultDuplication< + typename ViewTraits::execution_space>::type, + Duplication>::type>::type, + Contribution>::type> create_scatter_view(View const& original_view) { return original_view; // implicit ScatterView constructor call } +template +ScatterView< + RT, typename ViewTraits::array_layout, + typename ViewTraits::device_type, Op, + typename Kokkos::Impl::Experimental::DefaultDuplication< + typename ViewTraits::execution_space>::type, + typename Kokkos::Impl::Experimental::DefaultContribution< + typename ViewTraits::execution_space, + typename Kokkos::Impl::Experimental::DefaultDuplication< + typename ViewTraits::execution_space>::type>::type> +create_scatter_view(Op, View const& original_view) { + return original_view; // implicit ScatterView constructor call +} + +template +ScatterView::array_layout, + typename ViewTraits::device_type, Op, Duplication, + Contribution> +create_scatter_view(Op, Duplication, Contribution, + View const& original_view) { + return original_view; // implicit ScatterView constructor call +} + } // namespace Experimental } // namespace Kokkos namespace Kokkos { namespace Experimental { -template +template void contribute( View& dest, Kokkos::Experimental::ScatterView const& src) { @@ -1304,16 +1379,16 @@ void contribute( namespace Kokkos { -template +template void realloc( Kokkos::Experimental::ScatterView& scatter_view, IS... is) { scatter_view.realloc(is...); } -template +template void resize( Kokkos::Experimental::ScatterView& scatter_view, IS... is) { diff --git a/lib/kokkos/containers/src/Kokkos_StaticCrsGraph.hpp b/lib/kokkos/containers/src/Kokkos_StaticCrsGraph.hpp index c11413d62789029396ab7cc7fa6ced197d874ac5..81be3ee2d3e836436a23f8808a07f9386bc3ac05 100644 --- a/lib/kokkos/containers/src/Kokkos_StaticCrsGraph.hpp +++ b/lib/kokkos/containers/src/Kokkos_StaticCrsGraph.hpp @@ -57,7 +57,7 @@ namespace Kokkos { namespace Impl { template struct StaticCrsGraphBalancerFunctor { - typedef typename RowOffsetsType::non_const_value_type int_type; + using int_type = typename RowOffsetsType::non_const_value_type; RowOffsetsType row_offsets; RowBlockOffsetsType row_block_offsets; @@ -148,7 +148,7 @@ struct StaticCrsGraphBalancerFunctor { /// /// Here is an example loop over the entries in the row: /// \code -/// typedef typename GraphRowViewConst::ordinal_type ordinal_type; +/// using ordinal_type = typename GraphRowViewConst::ordinal_type; /// /// GraphRowView G_i = ...; /// const ordinal_type numEntries = G_i.length; @@ -159,7 +159,7 @@ struct StaticCrsGraphBalancerFunctor { /// \endcode /// /// GraphType must provide the \c data_type -/// typedefs. In addition, it must make sense to use GraphRowViewConst to +/// aliases. In addition, it must make sense to use GraphRowViewConst to /// view a row of GraphType. In particular, column /// indices of a row must be accessible using the entries /// resp. colidx arrays given to the constructor of this @@ -170,7 +170,7 @@ struct StaticCrsGraphBalancerFunctor { template struct GraphRowViewConst { //! The type of the column indices in the row. - typedef const typename GraphType::data_type ordinal_type; + using ordinal_type = const typename GraphType::data_type; private: //! Array of (local) column indices in the row. @@ -279,49 +279,33 @@ struct GraphRowViewConst { ///
  • entries( row_map[i0] + i1 , i2 , i3 , ... );
  • /// template ::size_type, - class Arg3Type = void> -#else class Arg3Type = void, typename SizeType = typename ViewTraits::size_type> -#endif class StaticCrsGraph { private: - typedef ViewTraits traits; + using traits = ViewTraits; public: - typedef DataType data_type; - typedef typename traits::array_layout array_layout; - typedef typename traits::execution_space execution_space; - typedef typename traits::device_type device_type; - typedef typename traits::memory_traits memory_traits; - typedef SizeType size_type; - -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - typedef StaticCrsGraph - staticcrsgraph_type; - typedef StaticCrsGraph - HostMirror; -#else - typedef StaticCrsGraph - staticcrsgraph_type; - typedef StaticCrsGraph - HostMirror; -#endif - - typedef View - row_map_type; - typedef View - entries_type; - typedef View - row_block_type; + using data_type = DataType; + using array_layout = typename traits::array_layout; + using execution_space = typename traits::execution_space; + using device_type = typename traits::device_type; + using memory_traits = typename traits::memory_traits; + using size_type = SizeType; + + using staticcrsgraph_type = + StaticCrsGraph; + using HostMirror = StaticCrsGraph; + + using row_map_type = + View; + using entries_type = + View; + using row_block_type = + View; entries_type entries; row_map_type row_map; @@ -370,6 +354,10 @@ class StaticCrsGraph { : static_cast(0); } + KOKKOS_INLINE_FUNCTION constexpr bool is_allocated() const { + return (row_map.is_allocated() && entries.is_allocated()); + } + /// \brief Return a const view of row i of the graph. /// /// If row i does not belong to the graph, return an empty view. @@ -436,35 +424,19 @@ typename StaticCrsGraphType::staticcrsgraph_type create_staticcrsgraph( //---------------------------------------------------------------------------- -template -typename StaticCrsGraph::HostMirror -create_mirror_view(const StaticCrsGraph& input); -#else - class Arg3Type, typename SizeType> +template typename StaticCrsGraph::HostMirror create_mirror_view(const StaticCrsGraph& input); -#endif - -template -typename StaticCrsGraph::HostMirror -create_mirror_view(const StaticCrsGraph& input); -#else - class Arg3Type, typename SizeType> + +template typename StaticCrsGraph::HostMirror create_mirror(const StaticCrsGraph& input); -#endif } // namespace Kokkos @@ -481,8 +453,8 @@ namespace Impl { template struct StaticCrsGraphMaximumEntry { - typedef typename GraphType::execution_space execution_space; - typedef typename GraphType::data_type value_type; + using execution_space = typename GraphType::execution_space; + using value_type = typename GraphType::data_type; const typename GraphType::entries_type entries; @@ -505,22 +477,13 @@ struct StaticCrsGraphMaximumEntry { } // namespace Impl -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE -template -DataType maximum_entry(const StaticCrsGraph& graph) { - typedef StaticCrsGraph - GraphType; -#else template DataType maximum_entry(const StaticCrsGraph& graph) { - typedef StaticCrsGraph - GraphType; -#endif - typedef Impl::StaticCrsGraphMaximumEntry FunctorType; + using GraphType = + StaticCrsGraph; + using FunctorType = Impl::StaticCrsGraphMaximumEntry; DataType result = 0; Kokkos::parallel_reduce("Kokkos::maximum_entry", graph.entries.extent(0), diff --git a/lib/kokkos/containers/src/Kokkos_UnorderedMap.hpp b/lib/kokkos/containers/src/Kokkos_UnorderedMap.hpp index 6f0434dd04d160ecf141850d950070ec0beed7b6..e4e9b28914d287a19615bfd0143166a5e77faa3f 100644 --- a/lib/kokkos/containers/src/Kokkos_UnorderedMap.hpp +++ b/lib/kokkos/containers/src/Kokkos_UnorderedMap.hpp @@ -66,7 +66,7 @@ namespace Kokkos { -enum { UnorderedMapInvalidIndex = ~0u }; +enum : unsigned { UnorderedMapInvalidIndex = ~0u }; /// \brief First element of the return value of UnorderedMap::insert(). /// @@ -84,7 +84,7 @@ enum { UnorderedMapInvalidIndex = ~0u }; class UnorderedMapInsertResult { private: - enum Status { + enum Status : uint32_t { SUCCESS = 1u << 31, EXISTING = 1u << 30, FREED_EXISTING = 1u << 29, @@ -206,42 +206,40 @@ template ::type> > class UnorderedMap { private: - typedef typename ViewTraits::host_mirror_space - host_mirror_space; + using host_mirror_space = + typename ViewTraits::host_mirror_space; public: //! \name Public types and constants //@{ // key_types - typedef Key declared_key_type; - typedef typename std::remove_const::type key_type; - typedef typename std::add_const::type const_key_type; + using declared_key_type = Key; + using key_type = typename std::remove_const::type; + using const_key_type = typename std::add_const::type; // value_types - typedef Value declared_value_type; - typedef typename std::remove_const::type value_type; - typedef typename std::add_const::type const_value_type; + using declared_value_type = Value; + using value_type = typename std::remove_const::type; + using const_value_type = typename std::add_const::type; - typedef Device device_type; - typedef typename Device::execution_space execution_space; - typedef Hasher hasher_type; - typedef EqualTo equal_to_type; - typedef uint32_t size_type; + using device_type = Device; + using execution_space = typename Device::execution_space; + using hasher_type = Hasher; + using equal_to_type = EqualTo; + using size_type = uint32_t; // map_types - typedef UnorderedMap - declared_map_type; - typedef UnorderedMap - insertable_map_type; - typedef UnorderedMap - modifiable_map_type; - typedef UnorderedMap - const_map_type; + using declared_map_type = + UnorderedMap; + using insertable_map_type = UnorderedMap; + using modifiable_map_type = + UnorderedMap; + using const_map_type = UnorderedMap; static const bool is_set = std::is_same::value; static const bool has_const_key = @@ -254,43 +252,42 @@ class UnorderedMap { static const bool is_modifiable_map = has_const_key && !has_const_value; static const bool is_const_map = has_const_key && has_const_value; - typedef UnorderedMapInsertResult insert_result; + using insert_result = UnorderedMapInsertResult; - typedef UnorderedMap - HostMirror; + using HostMirror = + UnorderedMap; - typedef Impl::UnorderedMapHistogram histogram_type; + using histogram_type = Impl::UnorderedMapHistogram; //@} private: - enum { invalid_index = ~static_cast(0) }; + enum : size_type { invalid_index = ~static_cast(0) }; - typedef typename Impl::if_c::type - impl_value_type; + using impl_value_type = + typename Impl::if_c::type; - typedef typename Impl::if_c< + using key_type_view = typename Impl::if_c< is_insertable_map, View, - View > >::type - key_type_view; + View > >::type; - typedef typename Impl::if_c, - View > >::type - value_type_view; + using value_type_view = + typename Impl::if_c, + View > >::type; - typedef typename Impl::if_c< + using size_type_view = typename Impl::if_c< is_insertable_map, View, - View > >::type - size_type_view; + View > >::type; - typedef typename Impl::if_c, - ConstBitset >::type bitset_type; + using bitset_type = + typename Impl::if_c, + ConstBitset >::type; enum { modified_idx = 0, erasable_idx = 1, failed_insert_idx = 2 }; enum { num_scalars = 3 }; - typedef View scalars_view; + using scalars_view = View; public: //! \name Public member functions @@ -353,6 +350,11 @@ class UnorderedMap { { Kokkos::deep_copy(m_scalars, 0); } } + KOKKOS_INLINE_FUNCTION constexpr bool is_allocated() const { + return (m_keys.is_allocated() && m_values.is_allocated() && + m_scalars.is_allocated()); + } + /// \brief Change the capacity of the the map /// /// If there are no failed inserts the current size of the map will @@ -742,9 +744,9 @@ class UnorderedMap { Kokkos::deep_copy(tmp.m_available_indexes, src.m_available_indexes); - typedef Kokkos::Impl::DeepCopy - raw_deep_copy; + using raw_deep_copy = + Kokkos::Impl::DeepCopy; raw_deep_copy(tmp.m_hash_lists.data(), src.m_hash_lists.data(), sizeof(size_type) * src.m_hash_lists.extent(0)); @@ -768,25 +770,25 @@ class UnorderedMap { bool modified() const { return get_flag(modified_idx); } void set_flag(int flag) const { - typedef Kokkos::Impl::DeepCopy - raw_deep_copy; + using raw_deep_copy = + Kokkos::Impl::DeepCopy; const int true_ = true; raw_deep_copy(m_scalars.data() + flag, &true_, sizeof(int)); } void reset_flag(int flag) const { - typedef Kokkos::Impl::DeepCopy - raw_deep_copy; + using raw_deep_copy = + Kokkos::Impl::DeepCopy; const int false_ = false; raw_deep_copy(m_scalars.data() + flag, &false_, sizeof(int)); } bool get_flag(int flag) const { - typedef Kokkos::Impl::DeepCopy - raw_deep_copy; + using raw_deep_copy = + Kokkos::Impl::DeepCopy; int result = false; raw_deep_copy(&result, m_scalars.data() + flag, sizeof(int)); return result; diff --git a/lib/kokkos/containers/src/Kokkos_Vector.hpp b/lib/kokkos/containers/src/Kokkos_Vector.hpp index 02c3e44fc48b0b9069d0c0b09ce9fd3b8219406e..a1fbba6b21c76b4bb7b2a63a4e3a863241a7cd74 100644 --- a/lib/kokkos/containers/src/Kokkos_Vector.hpp +++ b/lib/kokkos/containers/src/Kokkos_Vector.hpp @@ -58,19 +58,19 @@ namespace Kokkos { template class vector : public DualView { public: - typedef Scalar value_type; - typedef Scalar* pointer; - typedef const Scalar* const_pointer; - typedef Scalar& reference; - typedef const Scalar& const_reference; - typedef Scalar* iterator; - typedef const Scalar* const_iterator; - typedef size_t size_type; + using value_type = Scalar; + using pointer = Scalar*; + using const_pointer = const Scalar*; + using reference = Scalar&; + using const_reference = const Scalar&; + using iterator = Scalar*; + using const_iterator = const Scalar*; + using size_type = size_t; private: size_t _size; float _extra_storage; - typedef DualView DV; + using DV = DualView; public: #ifdef KOKKOS_ENABLE_CUDA_UVM @@ -212,14 +212,17 @@ class vector : public DualView { return begin() + start; } + KOKKOS_INLINE_FUNCTION constexpr bool is_allocated() const { + return DV::is_allocated(); + } + size_type size() const { return _size; } size_type max_size() const { return 2000000000; } -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - size_type capacity() const { return DV::capacity(); } -#endif size_type span() const { return DV::span(); } bool empty() const { return _size == 0; } + pointer data() const { return DV::h_view.data(); } + iterator begin() const { return DV::h_view.data(); } iterator end() const { @@ -310,7 +313,7 @@ class vector : public DualView { public: struct set_functor { - typedef typename DV::t_dev::execution_space execution_space; + using execution_space = typename DV::t_dev::execution_space; typename DV::t_dev _data; Scalar _val; @@ -321,7 +324,7 @@ class vector : public DualView { }; struct set_functor_host { - typedef typename DV::t_host::execution_space execution_space; + using execution_space = typename DV::t_host::execution_space; typename DV::t_host _data; Scalar _val; diff --git a/lib/kokkos/containers/src/impl/Kokkos_Bitset_impl.hpp b/lib/kokkos/containers/src/impl/Kokkos_Bitset_impl.hpp index 6fd4319a822161bb1082c39043704d8b732c65e2..6e450598d1eb3f1c9b533044bfaa5c46f035d519 100644 --- a/lib/kokkos/containers/src/impl/Kokkos_Bitset_impl.hpp +++ b/lib/kokkos/containers/src/impl/Kokkos_Bitset_impl.hpp @@ -65,11 +65,11 @@ unsigned rotate_right(unsigned i, int r) { template struct BitsetCount { - typedef Bitset bitset_type; - typedef - typename bitset_type::execution_space::execution_space execution_space; - typedef typename bitset_type::size_type size_type; - typedef size_type value_type; + using bitset_type = Bitset; + using execution_space = + typename bitset_type::execution_space::execution_space; + using size_type = typename bitset_type::size_type; + using value_type = size_type; bitset_type m_bitset; diff --git a/lib/kokkos/containers/src/impl/Kokkos_Functional_impl.hpp b/lib/kokkos/containers/src/impl/Kokkos_Functional_impl.hpp index 6ba67766aa826089c71233a893f6451538f31bb6..367ab338572064f167c3c50f447e4d27efff6999 100644 --- a/lib/kokkos/containers/src/impl/Kokkos_Functional_impl.hpp +++ b/lib/kokkos/containers/src/impl/Kokkos_Functional_impl.hpp @@ -140,10 +140,10 @@ uint32_t MurmurHash3_x86_32(const void* key, int len, uint32_t seed) { template KOKKOS_FORCEINLINE_FUNCTION bool bitwise_equal(T const* const a_ptr, T const* const b_ptr) { - typedef uint64_t KOKKOS_IMPL_MAY_ALIAS T64; - typedef uint32_t KOKKOS_IMPL_MAY_ALIAS T32; - typedef uint16_t KOKKOS_IMPL_MAY_ALIAS T16; - typedef uint8_t KOKKOS_IMPL_MAY_ALIAS T8; + typedef uint64_t KOKKOS_IMPL_MAY_ALIAS T64; // NOLINT(modernize-use-using) + typedef uint32_t KOKKOS_IMPL_MAY_ALIAS T32; // NOLINT(modernize-use-using) + typedef uint16_t KOKKOS_IMPL_MAY_ALIAS T16; // NOLINT(modernize-use-using) + typedef uint8_t KOKKOS_IMPL_MAY_ALIAS T8; // NOLINT(modernize-use-using) enum { NUM_8 = sizeof(T), diff --git a/lib/kokkos/containers/src/impl/Kokkos_StaticCrsGraph_factory.hpp b/lib/kokkos/containers/src/impl/Kokkos_StaticCrsGraph_factory.hpp index a5fb9990f6a2cda37872eeffe75cb810c4c1cca1..f22e5d1eca928bc968d3cf32900f9fa0335751d7 100644 --- a/lib/kokkos/containers/src/impl/Kokkos_StaticCrsGraph_factory.hpp +++ b/lib/kokkos/containers/src/impl/Kokkos_StaticCrsGraph_factory.hpp @@ -50,19 +50,6 @@ namespace Kokkos { -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE -template -inline typename StaticCrsGraph::HostMirror -create_mirror_view( - const StaticCrsGraph& - view, - typename std::enable_if::is_hostspace>::type* = 0) { - return view; -} -#else template inline typename StaticCrsGraph::is_hostspace>::type* = 0) { return view; } -#endif - -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE -template -inline typename StaticCrsGraph::HostMirror -create_mirror(const StaticCrsGraph& view) { - // Force copy: - // typedef Impl::ViewAssignment< Impl::ViewDefault > alloc ; // unused - typedef StaticCrsGraph - staticcrsgraph_type; -#else + template inline typename StaticCrsGraph& view) { // Force copy: - // typedef Impl::ViewAssignment< Impl::ViewDefault > alloc ; // unused - typedef StaticCrsGraph - staticcrsgraph_type; -#endif + // using alloc = Impl::ViewAssignment; // unused + using staticcrsgraph_type = + StaticCrsGraph; typename staticcrsgraph_type::HostMirror tmp; typename staticcrsgraph_type::row_map_type::HostMirror tmp_row_map = @@ -120,17 +93,6 @@ create_mirror(const StaticCrsGraph -inline typename StaticCrsGraph::HostMirror -create_mirror_view( - const StaticCrsGraph& - view, - typename std::enable_if::is_hostspace>::type* = 0) -#else template inline typename StaticCrsGraph& view, typename std::enable_if::is_hostspace>::type* = 0) -#endif -{ + Arg3Type>::is_hostspace>::type* = 0) { return create_mirror(view); } } // namespace Kokkos @@ -154,16 +114,15 @@ namespace Kokkos { template inline typename StaticCrsGraphType::staticcrsgraph_type create_staticcrsgraph( const std::string& label, const std::vector& input) { - typedef StaticCrsGraphType output_type; - // typedef std::vector< InputSizeType > input_type ; // unused + using output_type = StaticCrsGraphType; + // using input_type = std::vector; // unused - typedef typename output_type::entries_type entries_type; + using entries_type = typename output_type::entries_type; - typedef View - work_type; + using work_type = View; output_type output; @@ -197,16 +156,15 @@ template inline typename StaticCrsGraphType::staticcrsgraph_type create_staticcrsgraph( const std::string& label, const std::vector >& input) { - typedef StaticCrsGraphType output_type; - typedef typename output_type::entries_type entries_type; + using output_type = StaticCrsGraphType; + using entries_type = typename output_type::entries_type; static_assert(entries_type::rank == 1, "Graph entries view must be rank one"); - typedef View - work_type; + using work_type = View; output_type output; diff --git a/lib/kokkos/containers/src/impl/Kokkos_UnorderedMap_impl.hpp b/lib/kokkos/containers/src/impl/Kokkos_UnorderedMap_impl.hpp index 813936575cf79bf8161b38d623b4f543b7e6b92d..b06ab0846c9a0f3d2dd2a082191030be68de5ae5 100644 --- a/lib/kokkos/containers/src/impl/Kokkos_UnorderedMap_impl.hpp +++ b/lib/kokkos/containers/src/impl/Kokkos_UnorderedMap_impl.hpp @@ -60,10 +60,10 @@ uint32_t find_hash_size(uint32_t size); template struct UnorderedMapRehash { - typedef Map map_type; - typedef typename map_type::const_map_type const_map_type; - typedef typename map_type::execution_space execution_space; - typedef typename map_type::size_type size_type; + using map_type = Map; + using const_map_type = typename map_type::const_map_type; + using execution_space = typename map_type::execution_space; + using size_type = typename map_type::size_type; map_type m_dst; const_map_type m_src; @@ -84,11 +84,11 @@ struct UnorderedMapRehash { template struct UnorderedMapErase { - typedef UMap map_type; - typedef typename map_type::execution_space execution_space; - typedef typename map_type::size_type size_type; - typedef typename map_type::key_type key_type; - typedef typename map_type::impl_value_type value_type; + using map_type = UMap; + using execution_space = typename map_type::execution_space; + using size_type = typename map_type::size_type; + using key_type = typename map_type::key_type; + using value_type = typename map_type::impl_value_type; map_type m_map; @@ -140,12 +140,12 @@ struct UnorderedMapErase { template struct UnorderedMapHistogram { - typedef UMap map_type; - typedef typename map_type::execution_space execution_space; - typedef typename map_type::size_type size_type; + using map_type = UMap; + using execution_space = typename map_type::execution_space; + using size_type = typename map_type::size_type; - typedef View histogram_view; - typedef typename histogram_view::HostMirror host_histogram_view; + using histogram_view = View; + using host_histogram_view = typename histogram_view::HostMirror; map_type m_map; histogram_view m_length; @@ -230,9 +230,9 @@ struct UnorderedMapHistogram { template struct UnorderedMapPrint { - typedef UMap map_type; - typedef typename map_type::execution_space execution_space; - typedef typename map_type::size_type size_type; + using map_type = UMap; + using execution_space = typename map_type::execution_space; + using size_type = typename map_type::size_type; map_type m_map; diff --git a/lib/kokkos/containers/unit_tests/TestBitset.hpp b/lib/kokkos/containers/unit_tests/TestBitset.hpp index 661a1365cb51d3e8f6fac51310a3867dd2b1e76a..6810ae101aff68f7137c28689cf4d98f13194a4f 100644 --- a/lib/kokkos/containers/unit_tests/TestBitset.hpp +++ b/lib/kokkos/containers/unit_tests/TestBitset.hpp @@ -47,6 +47,7 @@ #include #include #include +#include namespace Test { @@ -54,9 +55,9 @@ namespace Impl { template struct TestBitset { - typedef Bitset bitset_type; - typedef typename bitset_type::execution_space execution_space; - typedef uint32_t value_type; + using bitset_type = Bitset; + using execution_space = typename bitset_type::execution_space; + using value_type = uint32_t; bitset_type m_bitset; @@ -95,9 +96,9 @@ struct TestBitset { template struct TestBitsetTest { - typedef Bitset bitset_type; - typedef typename bitset_type::execution_space execution_space; - typedef uint32_t value_type; + using bitset_type = Bitset; + using execution_space = typename bitset_type::execution_space; + using value_type = uint32_t; bitset_type m_bitset; @@ -127,9 +128,9 @@ struct TestBitsetTest { template struct TestBitsetAny { - typedef Bitset bitset_type; - typedef typename bitset_type::execution_space execution_space; - typedef uint32_t value_type; + using bitset_type = Bitset; + using execution_space = typename bitset_type::execution_space; + using value_type = uint32_t; bitset_type m_bitset; @@ -181,16 +182,30 @@ struct TestBitsetAny { template void test_bitset() { - typedef Kokkos::Bitset bitset_type; - typedef Kokkos::ConstBitset const_bitset_type; + using bitset_type = Kokkos::Bitset; + using const_bitset_type = Kokkos::ConstBitset; - // unsigned test_sizes[] = { 0u, 1000u, 1u<<14, 1u<<16, 10000001 }; - unsigned test_sizes[] = {1000u, 1u << 14, 1u << 16, 10000001}; + { + unsigned ts = 100u; + bitset_type b1; + ASSERT_TRUE(b1.is_allocated()); - for (int i = 0, end = sizeof(test_sizes) / sizeof(unsigned); i < end; ++i) { + b1 = bitset_type(ts); + bitset_type b2(b1); + bitset_type b3(ts); + + ASSERT_TRUE(b1.is_allocated()); + ASSERT_TRUE(b2.is_allocated()); + ASSERT_TRUE(b3.is_allocated()); + } + + std::array test_sizes = { + {0u, 10u, 100u, 1000u, 1u << 14, 1u << 16, 10000001}}; + + for (const auto test_size : test_sizes) { // std::cout << "Bitset " << test_sizes[i] << std::endl; - bitset_type bitset(test_sizes[i]); + bitset_type bitset(test_size); // std::cout << " Check initial count " << std::endl; // nothing should be set @@ -253,10 +268,7 @@ void test_bitset() { } } -// FIXME_HIP deadlock -#ifndef KOKKOS_ENABLE_HIP TEST(TEST_CATEGORY, bitset) { test_bitset(); } -#endif } // namespace Test #endif // KOKKOS_TEST_BITSET_HPP diff --git a/lib/kokkos/containers/unit_tests/TestDualView.hpp b/lib/kokkos/containers/unit_tests/TestDualView.hpp index 665f25115803cd332bc2d54686e34fce97e23aac..ae5b746f94a028949a3a5867c879267a001177ad 100644 --- a/lib/kokkos/containers/unit_tests/TestDualView.hpp +++ b/lib/kokkos/containers/unit_tests/TestDualView.hpp @@ -55,13 +55,45 @@ namespace Test { namespace Impl { +template +struct test_dualview_alloc { + using scalar_type = Scalar; + using execution_space = Device; + + template + bool run_me(unsigned int n, unsigned int m) { + if (n < 10) n = 10; + if (m < 3) m = 3; + + { + ViewType b1; + if (b1.is_allocated() == true) return false; + + b1 = ViewType("B1", n, m); + ViewType b2(b1); + ViewType b3("B3", n, m); + + if (b1.is_allocated() == false) return false; + if (b2.is_allocated() == false) return false; + if (b3.is_allocated() == false) return false; + } + return true; + } + + bool result = false; + + test_dualview_alloc(unsigned int size) { + result = run_me >( + size, 3); + } +}; template struct test_dualview_combinations { - typedef test_dualview_combinations self_type; + using self_type = test_dualview_combinations; - typedef Scalar scalar_type; - typedef Device execution_space; + using scalar_type = Scalar; + using execution_space = Device; Scalar reference; Scalar result; @@ -110,7 +142,7 @@ struct test_dualview_combinations { template struct SumViewEntriesFunctor { - typedef Scalar value_type; + using value_type = Scalar; ViewType fv; @@ -126,8 +158,8 @@ struct SumViewEntriesFunctor { template struct test_dual_view_deep_copy { - typedef Scalar scalar_type; - typedef Device execution_space; + using scalar_type = Scalar; + using execution_space = Device; template void run_me(int n, const int m, const bool use_templ_sync) { @@ -153,8 +185,8 @@ struct test_dual_view_deep_copy { // Check device view is initialized as expected scalar_type a_d_sum = 0; // Execute on the execution_space associated with t_dev's memory space - typedef typename ViewType::t_dev::memory_space::execution_space - t_dev_exec_space; + using t_dev_exec_space = + typename ViewType::t_dev::memory_space::execution_space; Kokkos::parallel_reduce( Kokkos::RangePolicy(0, n), SumViewEntriesFunctor(a.d_view), @@ -220,8 +252,8 @@ struct test_dual_view_deep_copy { template struct test_dualview_resize { - typedef Scalar scalar_type; - typedef Device execution_space; + using scalar_type = Scalar; + using execution_space = Device; template void run_me() { @@ -244,8 +276,8 @@ struct test_dualview_resize { // Check device view is initialized as expected scalar_type a_d_sum = 0; // Execute on the execution_space associated with t_dev's memory space - typedef typename ViewType::t_dev::memory_space::execution_space - t_dev_exec_space; + using t_dev_exec_space = + typename ViewType::t_dev::memory_space::execution_space; Kokkos::parallel_reduce( Kokkos::RangePolicy(0, a.d_view.extent(0)), SumViewEntriesFunctor(a.d_view), @@ -274,8 +306,8 @@ struct test_dualview_resize { // Check device view is initialized as expected a_d_sum = 0; // Execute on the execution_space associated with t_dev's memory space - typedef typename ViewType::t_dev::memory_space::execution_space - t_dev_exec_space; + using t_dev_exec_space = + typename ViewType::t_dev::memory_space::execution_space; Kokkos::parallel_reduce( Kokkos::RangePolicy(0, a.d_view.extent(0)), SumViewEntriesFunctor(a.d_view), @@ -301,8 +333,8 @@ struct test_dualview_resize { template struct test_dualview_realloc { - typedef Scalar scalar_type; - typedef Device execution_space; + using scalar_type = Scalar; + using execution_space = Device; template void run_me() { @@ -319,8 +351,8 @@ struct test_dualview_realloc { // Check device view is initialized as expected scalar_type a_d_sum = 0; // Execute on the execution_space associated with t_dev's memory space - typedef typename ViewType::t_dev::memory_space::execution_space - t_dev_exec_space; + using t_dev_exec_space = + typename ViewType::t_dev::memory_space::execution_space; Kokkos::parallel_reduce( Kokkos::RangePolicy(0, a.d_view.extent(0)), SumViewEntriesFunctor(a.d_view), @@ -351,6 +383,12 @@ void test_dualview_combinations(unsigned int size, bool with_init) { ASSERT_EQ(test.result, 0); } +template +void test_dualview_alloc(unsigned int size) { + Impl::test_dualview_alloc test(size); + ASSERT_TRUE(test.result); +} + template void test_dualview_deep_copy() { Impl::test_dual_view_deep_copy(); @@ -370,6 +408,10 @@ TEST(TEST_CATEGORY, dualview_combination) { test_dualview_combinations(10, true); } +TEST(TEST_CATEGORY, dualview_alloc) { + test_dualview_alloc(10); +} + TEST(TEST_CATEGORY, dualview_combinations_without_init) { test_dualview_combinations(10, false); } diff --git a/lib/kokkos/containers/unit_tests/TestDynViewAPI.hpp b/lib/kokkos/containers/unit_tests/TestDynViewAPI.hpp index 5c1d0229cbaa131d2e8b629051c3076df72d2b92..97155d3047b98e90a8da3687518d5c328b9d356b 100644 --- a/lib/kokkos/containers/unit_tests/TestDynViewAPI.hpp +++ b/lib/kokkos/containers/unit_tests/TestDynViewAPI.hpp @@ -68,12 +68,12 @@ size_t allocation_count(const Kokkos::DynRankView& view) { template struct TestViewOperator { - typedef DeviceType execution_space; + using execution_space = DeviceType; static const unsigned N = 100; static const unsigned D = 3; - typedef Kokkos::DynRankView view_type; + using view_type = Kokkos::DynRankView; const view_type v1; const view_type v2; @@ -101,11 +101,11 @@ struct TestViewOperator_LeftAndRight; template struct TestViewOperator_LeftAndRight { - typedef DeviceType execution_space; - typedef typename execution_space::memory_space memory_space; - typedef typename execution_space::size_type size_type; + using execution_space = DeviceType; + using memory_space = typename execution_space::memory_space; + using size_type = typename execution_space::size_type; - typedef int value_type; + using value_type = int; KOKKOS_INLINE_FUNCTION static void join(volatile value_type& update, @@ -116,11 +116,11 @@ struct TestViewOperator_LeftAndRight { KOKKOS_INLINE_FUNCTION static void init(value_type& update) { update = 0; } - typedef Kokkos::DynRankView - left_view; + using left_view = + Kokkos::DynRankView; - typedef Kokkos::DynRankView - right_view; + using right_view = + Kokkos::DynRankView; left_view left; right_view right; @@ -186,11 +186,11 @@ struct TestViewOperator_LeftAndRight { template struct TestViewOperator_LeftAndRight { - typedef DeviceType execution_space; - typedef typename execution_space::memory_space memory_space; - typedef typename execution_space::size_type size_type; + using execution_space = DeviceType; + using memory_space = typename execution_space::memory_space; + using size_type = typename execution_space::size_type; - typedef int value_type; + using value_type = int; KOKKOS_INLINE_FUNCTION static void join(volatile value_type& update, @@ -201,11 +201,11 @@ struct TestViewOperator_LeftAndRight { KOKKOS_INLINE_FUNCTION static void init(value_type& update) { update = 0; } - typedef Kokkos::DynRankView - left_view; + using left_view = + Kokkos::DynRankView; - typedef Kokkos::DynRankView - right_view; + using right_view = + Kokkos::DynRankView; left_view left; right_view right; @@ -268,11 +268,11 @@ struct TestViewOperator_LeftAndRight { template struct TestViewOperator_LeftAndRight { - typedef DeviceType execution_space; - typedef typename execution_space::memory_space memory_space; - typedef typename execution_space::size_type size_type; + using execution_space = DeviceType; + using memory_space = typename execution_space::memory_space; + using size_type = typename execution_space::size_type; - typedef int value_type; + using value_type = int; KOKKOS_INLINE_FUNCTION static void join(volatile value_type& update, @@ -283,14 +283,14 @@ struct TestViewOperator_LeftAndRight { KOKKOS_INLINE_FUNCTION static void init(value_type& update) { update = 0; } - typedef Kokkos::DynRankView - left_view; + using left_view = + Kokkos::DynRankView; - typedef Kokkos::DynRankView - right_view; + using right_view = + Kokkos::DynRankView; - typedef Kokkos::DynRankView - stride_view; + using stride_view = + Kokkos::DynRankView; left_view left; right_view right; @@ -363,11 +363,11 @@ struct TestViewOperator_LeftAndRight { template struct TestViewOperator_LeftAndRight { - typedef DeviceType execution_space; - typedef typename execution_space::memory_space memory_space; - typedef typename execution_space::size_type size_type; + using execution_space = DeviceType; + using memory_space = typename execution_space::memory_space; + using size_type = typename execution_space::size_type; - typedef int value_type; + using value_type = int; KOKKOS_INLINE_FUNCTION static void join(volatile value_type& update, @@ -378,11 +378,11 @@ struct TestViewOperator_LeftAndRight { KOKKOS_INLINE_FUNCTION static void init(value_type& update) { update = 0; } - typedef Kokkos::DynRankView - left_view; + using left_view = + Kokkos::DynRankView; - typedef Kokkos::DynRankView - right_view; + using right_view = + Kokkos::DynRankView; left_view left; right_view right; @@ -438,11 +438,11 @@ struct TestViewOperator_LeftAndRight { template struct TestViewOperator_LeftAndRight { - typedef DeviceType execution_space; - typedef typename execution_space::memory_space memory_space; - typedef typename execution_space::size_type size_type; + using execution_space = DeviceType; + using memory_space = typename execution_space::memory_space; + using size_type = typename execution_space::size_type; - typedef int value_type; + using value_type = int; KOKKOS_INLINE_FUNCTION static void join(volatile value_type& update, @@ -453,14 +453,14 @@ struct TestViewOperator_LeftAndRight { KOKKOS_INLINE_FUNCTION static void init(value_type& update) { update = 0; } - typedef Kokkos::DynRankView - left_view; + using left_view = + Kokkos::DynRankView; - typedef Kokkos::DynRankView - right_view; + using right_view = + Kokkos::DynRankView; - typedef Kokkos::DynRankView - stride_view; + using stride_view = + Kokkos::DynRankView; left_view left; right_view right; @@ -536,11 +536,11 @@ struct TestViewOperator_LeftAndRight { template struct TestViewOperator_LeftAndRight { - typedef DeviceType execution_space; - typedef typename execution_space::memory_space memory_space; - typedef typename execution_space::size_type size_type; + using execution_space = DeviceType; + using memory_space = typename execution_space::memory_space; + using size_type = typename execution_space::size_type; - typedef int value_type; + using value_type = int; KOKKOS_INLINE_FUNCTION static void join(volatile value_type& update, @@ -551,11 +551,11 @@ struct TestViewOperator_LeftAndRight { KOKKOS_INLINE_FUNCTION static void init(value_type& update) { update = 0; } - typedef Kokkos::DynRankView - left_view; + using left_view = + Kokkos::DynRankView; - typedef Kokkos::DynRankView - right_view; + using right_view = + Kokkos::DynRankView; left_view left; right_view right; @@ -616,11 +616,11 @@ struct TestViewOperator_LeftAndRight { template struct TestViewOperator_LeftAndRight { - typedef DeviceType execution_space; - typedef typename execution_space::memory_space memory_space; - typedef typename execution_space::size_type size_type; + using execution_space = DeviceType; + using memory_space = typename execution_space::memory_space; + using size_type = typename execution_space::size_type; - typedef int value_type; + using value_type = int; KOKKOS_INLINE_FUNCTION static void join(volatile value_type& update, @@ -631,14 +631,14 @@ struct TestViewOperator_LeftAndRight { KOKKOS_INLINE_FUNCTION static void init(value_type& update) { update = 0; } - typedef Kokkos::DynRankView - left_view; + using left_view = + Kokkos::DynRankView; - typedef Kokkos::DynRankView - right_view; + using right_view = + Kokkos::DynRankView; - typedef Kokkos::DynRankView - stride_view; + using stride_view = + Kokkos::DynRankView; left_view left; right_view right; @@ -689,22 +689,22 @@ struct TestViewOperator_LeftAndRight { template class TestDynViewAPI { public: - typedef DeviceType device; + using device = DeviceType; enum { N0 = 1000, N1 = 3, N2 = 5, N3 = 7 }; - typedef Kokkos::DynRankView dView0; - typedef Kokkos::DynRankView const_dView0; + using dView0 = Kokkos::DynRankView; + using const_dView0 = Kokkos::DynRankView; - typedef Kokkos::DynRankView - dView0_unmanaged; - typedef typename dView0::host_mirror_space host_drv_space; + using dView0_unmanaged = + Kokkos::DynRankView; + using host_drv_space = typename dView0::host_mirror_space; - typedef Kokkos::View View0; - typedef Kokkos::View View1; - typedef Kokkos::View View7; + using View0 = Kokkos::View; + using View1 = Kokkos::View; + using View7 = Kokkos::View; - typedef typename View0::host_mirror_space host_view_space; + using host_view_space = typename View0::host_mirror_space; static void run_tests() { run_test_resize_realloc(); @@ -712,6 +712,7 @@ class TestDynViewAPI { run_test_mirror_and_copy(); run_test_scalar(); run_test(); + run_test_allocated(); run_test_const(); run_test_subview(); run_test_subview_strided(); @@ -750,8 +751,8 @@ class TestDynViewAPI { } static void run_test_mirror() { - typedef Kokkos::DynRankView view_type; - typedef typename view_type::HostMirror mirror_type; + using view_type = Kokkos::DynRankView; + using mirror_type = typename view_type::HostMirror; view_type a("a"); mirror_type am = Kokkos::create_mirror_view(a); mirror_type ax = Kokkos::create_mirror(a); @@ -851,8 +852,8 @@ class TestDynViewAPI { ASSERT_EQ(a_h.rank(), a_d.rank()); } { - typedef Kokkos::DynRankView - view_stride_type; + using view_stride_type = + Kokkos::DynRankView; unsigned order[] = {6, 5, 4, 3, 2, 1, 0}, dimen[] = {N0, N1, N2, 2, 2, 2, 2}; // LayoutRight equivalent view_stride_type a_h( @@ -956,8 +957,8 @@ class TestDynViewAPI { } static void run_test_scalar() { - typedef typename dView0::HostMirror - hView0; // HostMirror of DynRankView is a DynRankView + using hView0 = typename dView0::HostMirror; // HostMirror of DynRankView is + // a DynRankView dView0 dx, dy; hView0 hx, hy; @@ -1050,12 +1051,12 @@ class TestDynViewAPI { static void run_test() { // mfh 14 Feb 2014: This test doesn't actually create instances of - // these types. In order to avoid "declared but unused typedef" + // these types. In order to avoid "unused type alias" // warnings, we declare empty instances of these types, with the // usual "(void)" marker to avoid compiler warnings for unused // variables. - typedef typename dView0::HostMirror hView0; + using hView0 = typename dView0::HostMirror; { hView0 thing; @@ -1361,7 +1362,7 @@ class TestDynViewAPI { } } - typedef T DataType; + using DataType = T; static void check_auto_conversion_to_const( const Kokkos::DynRankView& arg_const, @@ -1369,12 +1370,28 @@ class TestDynViewAPI { ASSERT_TRUE(arg_const == arg); } + static void run_test_allocated() { + using device_type = Kokkos::DynRankView; + + const int N1 = 100; + const int N2 = 10; + + device_type d1; + ASSERT_FALSE(d1.is_allocated()); + + d1 = device_type("d1", N1, N2); + device_type d2(d1); + device_type d3("d3", N1); + ASSERT_TRUE(d1.is_allocated()); + ASSERT_TRUE(d2.is_allocated()); + ASSERT_TRUE(d3.is_allocated()); + } + static void run_test_const() { - typedef Kokkos::DynRankView typeX; - typedef Kokkos::DynRankView const_typeX; - typedef Kokkos::DynRankView - const_typeR; + using typeX = Kokkos::DynRankView; + using const_typeX = Kokkos::DynRankView; + using const_typeR = + Kokkos::DynRankView; typeX x("X", 2); const_typeX xc = x; const_typeR xr = x; @@ -1398,10 +1415,10 @@ class TestDynViewAPI { } static void run_test_subview() { - typedef Kokkos::DynRankView cdView; - typedef Kokkos::DynRankView dView; + using cdView = Kokkos::DynRankView; + using dView = Kokkos::DynRankView; // LayoutStride required for all returned DynRankView subdynrankview's - typedef Kokkos::DynRankView sdView; + using sdView = Kokkos::DynRankView; dView0 d0("d0"); cdView s0 = d0; @@ -1452,7 +1469,7 @@ class TestDynViewAPI { ASSERT_EQ(dv6.rank(), 6); // DynRankView with LayoutRight - typedef Kokkos::DynRankView drView; + using drView = Kokkos::DynRankView; drView dr5("dr5", N0, N1, N2, 2, 2); ASSERT_EQ(dr5.rank(), 5); @@ -1514,7 +1531,8 @@ class TestDynViewAPI { ASSERT_EQ(ds5.extent(4), ds5plus.extent(4)); ASSERT_EQ(ds5.extent(5), ds5plus.extent(5)); -#if !defined(KOKKOS_ENABLE_CUDA) || defined(KOKKOS_ENABLE_CUDA_UVM) +#if (!defined(KOKKOS_ENABLE_CUDA) || defined(KOKKOS_ENABLE_CUDA_UVM)) && \ + !defined(KOKKOS_ENABLE_HIP) ASSERT_EQ(&ds5(1, 1, 1, 1, 0) - &ds5plus(1, 1, 1, 1, 0), 0); ASSERT_EQ(&ds5(1, 1, 1, 1, 0, 0) - &ds5plus(1, 1, 1, 1, 0, 0), 0); // passing argument to rank beyond the view's rank is allowed @@ -1538,12 +1556,12 @@ class TestDynViewAPI { } static void run_test_subview_strided() { - typedef Kokkos::DynRankView - drview_left; - typedef Kokkos::DynRankView - drview_right; - typedef Kokkos::DynRankView - drview_stride; + using drview_left = + Kokkos::DynRankView; + using drview_right = + Kokkos::DynRankView; + using drview_stride = + Kokkos::DynRankView; drview_left xl2("xl2", 100, 200); drview_right xr2("xr2", 100, 200); @@ -1588,31 +1606,29 @@ class TestDynViewAPI { static void run_test_vector() { static const unsigned Length = 1000, Count = 8; - typedef typename Kokkos::DynRankView - multivector_type; + using multivector_type = + typename Kokkos::DynRankView; - typedef typename Kokkos::DynRankView - multivector_right_type; + using multivector_right_type = + typename Kokkos::DynRankView; multivector_type mv = multivector_type("mv", Length, Count); multivector_right_type mv_right = multivector_right_type("mv", Length, Count); - typedef - typename Kokkos::DynRankView - svector_type; - typedef - typename Kokkos::DynRankView - smultivector_type; - typedef typename Kokkos::DynRankView - const_svector_right_type; - typedef typename Kokkos::DynRankView - const_svector_type; - typedef typename Kokkos::DynRankView - const_smultivector_type; + using svector_type = + typename Kokkos::DynRankView; + using smultivector_type = + typename Kokkos::DynRankView; + using const_svector_right_type = + typename Kokkos::DynRankView; + using const_svector_type = + typename Kokkos::DynRankView; + using const_smultivector_type = + typename Kokkos::DynRankView; svector_type v1 = Kokkos::subdynrankview(mv, Kokkos::ALL(), 0); svector_type v2 = Kokkos::subdynrankview(mv, Kokkos::ALL(), 1); diff --git a/lib/kokkos/containers/unit_tests/TestDynViewAPI_generic.hpp b/lib/kokkos/containers/unit_tests/TestDynViewAPI_generic.hpp index b3e2812b4402b23213606bba7a9c34485a3e18a2..90ca5df194d5c33f53446125470ab7f464085095 100644 --- a/lib/kokkos/containers/unit_tests/TestDynViewAPI_generic.hpp +++ b/lib/kokkos/containers/unit_tests/TestDynViewAPI_generic.hpp @@ -44,10 +44,7 @@ #include namespace Test { -// FIXME_HIP attempt to access inaccessible memory space -#ifndef KOKKOS_ENABLE_HIP TEST(TEST_CATEGORY, dyn_rank_view_api_generic) { TestDynViewAPI::run_tests(); } -#endif } // namespace Test diff --git a/lib/kokkos/containers/unit_tests/TestDynViewAPI_rank12345.hpp b/lib/kokkos/containers/unit_tests/TestDynViewAPI_rank12345.hpp index 86a2e4e9548cb7cd37dedf30897327a09c526392..050ebbe35cab5e85b726b7ad5f9a10f3170607bb 100644 --- a/lib/kokkos/containers/unit_tests/TestDynViewAPI_rank12345.hpp +++ b/lib/kokkos/containers/unit_tests/TestDynViewAPI_rank12345.hpp @@ -45,10 +45,7 @@ #include namespace Test { -// FIXME_HIP failing with wrong value -#ifndef KOKKOS_ENABLE_HIP TEST(TEST_CATEGORY, dyn_rank_view_api_operator_rank12345) { TestDynViewAPI::run_operator_test_rank12345(); } -#endif } // namespace Test diff --git a/lib/kokkos/containers/unit_tests/TestDynamicView.hpp b/lib/kokkos/containers/unit_tests/TestDynamicView.hpp index 8eabbcb3718fcba29c4285a49ab8ddc63ff1d9da..f018793dd6f3b162acbf9db20174c47ac75fc1c0 100644 --- a/lib/kokkos/containers/unit_tests/TestDynamicView.hpp +++ b/lib/kokkos/containers/unit_tests/TestDynamicView.hpp @@ -58,12 +58,12 @@ namespace Test { template struct TestDynamicView { - typedef typename Space::execution_space execution_space; - typedef typename Space::memory_space memory_space; + using execution_space = typename Space::execution_space; + using memory_space = typename Space::memory_space; - typedef Kokkos::Experimental::DynamicView view_type; + using view_type = Kokkos::Experimental::DynamicView; - typedef double value_type; + using value_type = double; static void run(unsigned arg_total_size) { // Test: Create DynamicView, initialize size (via resize), run through @@ -71,6 +71,27 @@ struct TestDynamicView { // values and repeat // Case 1: min_chunk_size is a power of 2 { + { + view_type d1; + ASSERT_FALSE(d1.is_allocated()); + + d1 = view_type("d1", 1024, arg_total_size); + view_type d2(d1); + view_type d3("d3", 1024, arg_total_size); + + ASSERT_FALSE(d1.is_allocated()); + ASSERT_FALSE(d2.is_allocated()); + ASSERT_FALSE(d3.is_allocated()); + + unsigned d_size = arg_total_size / 8; + d1.resize_serial(d_size); + d2.resize_serial(d_size); + d3.resize_serial(d_size); + + ASSERT_TRUE(d1.is_allocated()); + ASSERT_TRUE(d2.is_allocated()); + ASSERT_TRUE(d3.is_allocated()); + } view_type da("da", 1024, arg_total_size); ASSERT_EQ(da.size(), 0); // Init @@ -223,7 +244,7 @@ struct TestDynamicView { }; TEST(TEST_CATEGORY, dynamic_view) { - typedef TestDynamicView TestDynView; + using TestDynView = TestDynamicView; for (int i = 0; i < 10; ++i) { TestDynView::run(100000 + 100 * i); diff --git a/lib/kokkos/containers/unit_tests/TestErrorReporter.hpp b/lib/kokkos/containers/unit_tests/TestErrorReporter.hpp index 318132500c57b32511ece11d4472b883d40164a7..a90885bd33a8731667e20804d3c70fb5b8f35c37 100644 --- a/lib/kokkos/containers/unit_tests/TestErrorReporter.hpp +++ b/lib/kokkos/containers/unit_tests/TestErrorReporter.hpp @@ -84,9 +84,9 @@ void checkReportersAndReportsAgree(const std::vector &reporters, template struct ErrorReporterDriverBase { - typedef ThreeValReport report_type; - typedef Kokkos::Experimental::ErrorReporter - error_reporter_type; + using report_type = ThreeValReport; + using error_reporter_type = + Kokkos::Experimental::ErrorReporter; error_reporter_type m_errorReporter; ErrorReporterDriverBase(int reporter_capacity, int /*test_size*/) @@ -97,10 +97,11 @@ struct ErrorReporterDriverBase { } void check_expectations(int reporter_capacity, int test_size) { + using namespace std; int num_reported = m_errorReporter.getNumReports(); int num_attempts = m_errorReporter.getNumReportAttempts(); - int expected_num_reports = std::min(reporter_capacity, test_size / 2); + int expected_num_reports = min(reporter_capacity, test_size / 2); EXPECT_EQ(expected_num_reports, num_reported); EXPECT_EQ(test_size / 2, num_attempts); @@ -112,7 +113,7 @@ struct ErrorReporterDriverBase { template void TestErrorReporter() { - typedef ErrorReporterDriverType tester_type; + using tester_type = ErrorReporterDriverType; std::vector reporters; std::vector reports; @@ -147,9 +148,9 @@ void TestErrorReporter() { template struct ErrorReporterDriver : public ErrorReporterDriverBase { - typedef ErrorReporterDriverBase driver_base; - typedef typename driver_base::error_reporter_type::execution_space - execution_space; + using driver_base = ErrorReporterDriverBase; + using execution_space = + typename driver_base::error_reporter_type::execution_space; ErrorReporterDriver(int reporter_capacity, int test_size) : driver_base(reporter_capacity, test_size) { @@ -185,12 +186,16 @@ struct ErrorReporterDriver : public ErrorReporterDriverBase { template struct ErrorReporterDriverUseLambda : public ErrorReporterDriverBase { - typedef ErrorReporterDriverBase driver_base; - typedef typename driver_base::error_reporter_type::execution_space - execution_space; + using driver_base = ErrorReporterDriverBase; + using execution_space = + typename driver_base::error_reporter_type::execution_space; ErrorReporterDriverUseLambda(int reporter_capacity, int test_size) : driver_base(reporter_capacity, test_size) { + execute(reporter_capacity, test_size); + } + + void execute(int reporter_capacity, int test_size) { Kokkos::parallel_for( Kokkos::RangePolicy(0, test_size), KOKKOS_CLASS_LAMBDA(const int work_idx) { @@ -210,9 +215,9 @@ struct ErrorReporterDriverUseLambda #ifdef KOKKOS_ENABLE_OPENMP struct ErrorReporterDriverNativeOpenMP : public ErrorReporterDriverBase { - typedef ErrorReporterDriverBase driver_base; - typedef typename driver_base::error_reporter_type::execution_space - execution_space; + using driver_base = ErrorReporterDriverBase; + using execution_space = + typename driver_base::error_reporter_type::execution_space; ErrorReporterDriverNativeOpenMP(int reporter_capacity, int test_size) : driver_base(reporter_capacity, test_size) { diff --git a/lib/kokkos/containers/unit_tests/TestOffsetView.hpp b/lib/kokkos/containers/unit_tests/TestOffsetView.hpp index 5114b8022faf8835512965c31a3787485a7de38d..e5186e3e1e5ebbac00d52a100f607b6999dfd6e1 100644 --- a/lib/kokkos/containers/unit_tests/TestOffsetView.hpp +++ b/lib/kokkos/containers/unit_tests/TestOffsetView.hpp @@ -61,12 +61,25 @@ namespace Test { template void test_offsetview_construction() { - typedef Kokkos::Experimental::OffsetView offset_view_type; - typedef Kokkos::View view_type; + using offset_view_type = Kokkos::Experimental::OffsetView; + using view_type = Kokkos::View; Kokkos::Experimental::index_list_type range0 = {-1, 3}; Kokkos::Experimental::index_list_type range1 = {-2, 2}; + { + offset_view_type o1; + ASSERT_FALSE(o1.is_allocated()); + + o1 = offset_view_type("o1", range0, range1); + offset_view_type o2(o1); + offset_view_type o3("o3", range0, range1); + + ASSERT_TRUE(o1.is_allocated()); + ASSERT_TRUE(o2.is_allocated()); + ASSERT_TRUE(o3.is_allocated()); + } + offset_view_type ov("firstOV", range0, range1); ASSERT_EQ("firstOV", ov.label()); @@ -109,9 +122,9 @@ void test_offsetview_construction() { { // test deep copy of scalar const value into mirro const int constVal = 6; typename offset_view_type::HostMirror hostOffsetView = - Kokkos::Experimental::create_mirror_view(ov); + Kokkos::create_mirror_view(ov); - Kokkos::Experimental::deep_copy(hostOffsetView, constVal); + Kokkos::deep_copy(hostOffsetView, constVal); for (int i = hostOffsetView.begin(0); i < hostOffsetView.end(0); ++i) { for (int j = hostOffsetView.begin(1); j < hostOffsetView.end(1); ++j) { @@ -121,10 +134,9 @@ void test_offsetview_construction() { } } - typedef Kokkos::MDRangePolicy, - Kokkos::IndexType > - range_type; - typedef typename range_type::point_type point_type; + using range_type = + Kokkos::MDRangePolicy, Kokkos::IndexType >; + using point_type = typename range_type::point_type; range_type rangePolicy2D(point_type{{ovmin0, ovmin1}}, point_type{{ovend0, ovend1}}); @@ -136,9 +148,9 @@ void test_offsetview_construction() { // test offsetview to offsetviewmirror deep copy typename offset_view_type::HostMirror hostOffsetView = - Kokkos::Experimental::create_mirror_view(ov); + Kokkos::create_mirror_view(ov); - Kokkos::Experimental::deep_copy(hostOffsetView, ov); + Kokkos::deep_copy(hostOffsetView, ov); for (int i = hostOffsetView.begin(0); i < hostOffsetView.end(0); ++i) { for (int j = hostOffsetView.begin(1); j < hostOffsetView.end(1); ++j) { @@ -185,10 +197,9 @@ void test_offsetview_construction() { Kokkos::deep_copy(view3D, 1); - typedef Kokkos::MDRangePolicy, - Kokkos::IndexType > - range3_type; - typedef typename range3_type::point_type point3_type; + using range3_type = Kokkos::MDRangePolicy, + Kokkos::IndexType >; + using point3_type = typename range3_type::point_type; typename point3_type::value_type begins0 = -10, begins1 = -20, begins2 = -30; @@ -245,7 +256,7 @@ void test_offsetview_construction() { { // test offsetview to view deep copy view_type aView("aView", ov.extent(0), ov.extent(1)); - Kokkos::Experimental::deep_copy(aView, ov); + Kokkos::deep_copy(aView, ov); #if defined(KOKKOS_ENABLE_CUDA_LAMBDA) || !defined(KOKKOS_ENABLE_CUDA) int sum = 0; @@ -264,7 +275,7 @@ void test_offsetview_construction() { view_type aView("aView", ov.extent(0), ov.extent(1)); Kokkos::deep_copy(aView, 99); - Kokkos::Experimental::deep_copy(ov, aView); + Kokkos::deep_copy(ov, aView); #if defined(KOKKOS_ENABLE_CUDA_LAMBDA) || !defined(KOKKOS_ENABLE_CUDA) int sum = 0; @@ -447,10 +458,9 @@ void test_offsetview_subview() { ASSERT_EQ(offsetSubview.end(1), 9); #if defined(KOKKOS_ENABLE_CUDA_LAMBDA) || !defined(KOKKOS_ENABLE_CUDA) - typedef Kokkos::MDRangePolicy, - Kokkos::IndexType > - range_type; - typedef typename range_type::point_type point_type; + using range_type = Kokkos::MDRangePolicy, + Kokkos::IndexType >; + using point_type = typename range_type::point_type; const int b0 = offsetSubview.begin(0); const int b1 = offsetSubview.begin(1); diff --git a/lib/kokkos/containers/unit_tests/TestScatterView.hpp b/lib/kokkos/containers/unit_tests/TestScatterView.hpp index 915d96d321009aa41f9562c52562ebd330470259..4ec83baece1548d15627da1aa86e15cdb001a392 100644 --- a/lib/kokkos/containers/unit_tests/TestScatterView.hpp +++ b/lib/kokkos/containers/unit_tests/TestScatterView.hpp @@ -50,21 +50,22 @@ namespace Test { -template +template struct test_scatter_view_impl_cls; -template -struct test_scatter_view_impl_cls { +template +struct test_scatter_view_impl_cls { public: - typedef Kokkos::Experimental::ScatterView - scatter_view_type; + using scatter_view_type = + Kokkos::Experimental::ScatterView; - typedef Kokkos::View orig_view_type; + using orig_view_type = Kokkos::View; scatter_view_type scatter_view; int scatterSize; @@ -80,9 +81,18 @@ struct test_scatter_view_impl_cls(); for (int j = 0; j < 10; ++j) { auto k = (i + j) % scatterSize; - scatter_access(k, 0) += 4.2; - scatter_access_atomic(k, 1) += 2.0; - scatter_access(k, 2) += 1.0; + scatter_access(k, 0) += 4; + ++scatter_access(k, 1); + --scatter_access(k, 2); + scatter_access(k, 3)++; + scatter_access(k, 4)--; + scatter_access(k, 5) -= 5; + scatter_access_atomic(k, 6) += 2; + scatter_access_atomic(k, 7)++; + scatter_access_atomic(k, 8)--; + --scatter_access_atomic(k, 9); + ++scatter_access_atomic(k, 10); + scatter_access(k, 11) -= 3; } } @@ -114,27 +133,46 @@ struct test_scatter_view_impl_cls -struct test_scatter_view_impl_cls { +template +struct test_scatter_view_impl_cls { public: - typedef Kokkos::Experimental::ScatterView - scatter_view_type; + using scatter_view_type = + Kokkos::Experimental::ScatterView; - typedef Kokkos::View orig_view_type; + using orig_view_type = Kokkos::View; scatter_view_type scatter_view; int scatterSize; @@ -194,17 +232,18 @@ struct test_scatter_view_impl_cls -struct test_scatter_view_impl_cls { +template +struct test_scatter_view_impl_cls { public: - typedef Kokkos::Experimental::ScatterView - scatter_view_type; + using scatter_view_type = + Kokkos::Experimental::ScatterView; - typedef Kokkos::View orig_view_type; + using orig_view_type = Kokkos::View; scatter_view_type scatter_view; int scatterSize; @@ -242,9 +281,9 @@ struct test_scatter_view_impl_cls(); for (int j = 0; j < 4; ++j) { auto k = (i + j) % scatterSize; - scatter_access(k, 0).update((double)(j + 1) * 4); - scatter_access_atomic(k, 1).update((double)(j + 1) * 2.0); - scatter_access(k, 2).update((double)(j + 1) * 1.0); + scatter_access(k, 0).update((NumberType)(j + 1) * 4); + scatter_access_atomic(k, 1).update((NumberType)(j + 1) * 2.0); + scatter_access(k, 2).update((NumberType)(j + 1) * 1.0); } } @@ -264,17 +303,18 @@ struct test_scatter_view_impl_cls -struct test_scatter_view_impl_cls { +template +struct test_scatter_view_impl_cls { public: - typedef Kokkos::Experimental::ScatterView - scatter_view_type; + using scatter_view_type = + Kokkos::Experimental::ScatterView; - typedef Kokkos::View orig_view_type; + using orig_view_type = Kokkos::View; scatter_view_type scatter_view; int scatterSize; @@ -311,9 +351,9 @@ struct test_scatter_view_impl_cls(); for (int j = 0; j < 4; ++j) { auto k = (i + j) % scatterSize; - scatter_access(k, 0).update((double)(j + 1) * 4); - scatter_access_atomic(k, 1).update((double)(j + 1) * 2.0); - scatter_access(k, 2).update((double)(j + 1) * 1.0); + scatter_access(k, 0).update((NumberType)(j + 1) * 4); + scatter_access_atomic(k, 1).update((NumberType)(j + 1) * 2.0); + scatter_access(k, 2).update((NumberType)(j + 1) * 1.0); } } @@ -333,27 +373,126 @@ struct test_scatter_view_impl_cls +template +struct test_default_scatter_view { + public: + using default_duplication = Kokkos::Impl::Experimental::DefaultDuplication< + typename DeviceType::execution_space>; + using Duplication = typename default_duplication::type; + using Contribution = typename Kokkos::Impl::Experimental::DefaultContribution< + typename DeviceType::execution_space, Duplication>::type; + using scatter_view_def = + typename test_scatter_view_impl_cls::scatter_view_type; + using orig_view_def = + typename test_scatter_view_impl_cls::orig_view_type; + + void run_test(int n) { + // Test creation via create_scatter_view overload 1 + { + orig_view_def original_view("original_view", n); + scatter_view_def scatter_view = + Kokkos::Experimental::create_scatter_view(Op{}, original_view); + + test_scatter_view_impl_cls + scatter_view_test_impl(scatter_view); + scatter_view_test_impl.initialize(original_view); + scatter_view_test_impl.run_parallel(n); + + Kokkos::Experimental::contribute(original_view, scatter_view); + scatter_view.reset_except(original_view); + + scatter_view_test_impl.run_parallel(n); + + Kokkos::Experimental::contribute(original_view, scatter_view); + Kokkos::fence(); + + scatter_view_test_impl.validateResults(original_view); + + { + scatter_view_def persistent_view("persistent", n); + auto result_view = persistent_view.subview(); + contribute(result_view, persistent_view); + Kokkos::fence(); + } + } + } +}; + +template struct test_scatter_view_config { public: - typedef - typename test_scatter_view_impl_cls::scatter_view_type - scatter_view_def; - typedef typename test_scatter_view_impl_cls::orig_view_type - orig_view_def; + using scatter_view_def = + typename test_scatter_view_impl_cls::scatter_view_type; + using orig_view_def = + typename test_scatter_view_impl_cls::orig_view_type; void run_test(int n) { + // test allocation + { + orig_view_def ov1("ov1", n); + scatter_view_def sv1; + + ASSERT_FALSE(sv1.is_allocated()); + + sv1 = Kokkos::Experimental::create_scatter_view(ov1); + + scatter_view_def sv2(sv1); + scatter_view_def sv3("sv3", n); + + ASSERT_TRUE(sv1.is_allocated()); + ASSERT_TRUE(sv2.is_allocated()); + ASSERT_TRUE(sv3.is_allocated()); + } + // Test creation via create_scatter_view { orig_view_def original_view("original_view", n); scatter_view_def scatter_view = Kokkos::Experimental::create_scatter_view< - op, duplication, contribution>(original_view); + Op, Duplication, Contribution>(original_view); - test_scatter_view_impl_cls + test_scatter_view_impl_cls + scatter_view_test_impl(scatter_view); + scatter_view_test_impl.initialize(original_view); + scatter_view_test_impl.run_parallel(n); + + Kokkos::Experimental::contribute(original_view, scatter_view); + scatter_view.reset_except(original_view); + + scatter_view_test_impl.run_parallel(n); + + Kokkos::Experimental::contribute(original_view, scatter_view); + Kokkos::fence(); + + scatter_view_test_impl.validateResults(original_view); + + { + scatter_view_def persistent_view("persistent", n); + auto result_view = persistent_view.subview(); + contribute(result_view, persistent_view); + Kokkos::fence(); + } + } + // Test creation via create_scatter_view overload 2 + { + orig_view_def original_view("original_view", n); + scatter_view_def scatter_view = Kokkos::Experimental::create_scatter_view( + Op{}, Duplication{}, Contribution{}, original_view); + + test_scatter_view_impl_cls scatter_view_test_impl(scatter_view); scatter_view_test_impl.initialize(original_view); scatter_view_test_impl.run_parallel(n); @@ -380,8 +519,8 @@ struct test_scatter_view_config { orig_view_def original_view("original_view", n); scatter_view_def scatter_view(original_view); - test_scatter_view_impl_cls + test_scatter_view_impl_cls scatter_view_test_impl(scatter_view); scatter_view_test_impl.initialize(original_view); scatter_view_test_impl.run_parallel(n); @@ -406,19 +545,19 @@ struct test_scatter_view_config { } }; -template +template struct TestDuplicatedScatterView { TestDuplicatedScatterView(int n) { // ScatterSum test test_scatter_view_config + ScatterType, NumberType> test_sv_right_config; test_sv_right_config.run_test(n); test_scatter_view_config< DeviceType, Kokkos::LayoutLeft, Kokkos::Experimental::ScatterDuplicated, - Kokkos::Experimental::ScatterNonAtomic, ScatterType> + Kokkos::Experimental::ScatterNonAtomic, ScatterType, NumberType> test_sv_left_config; test_sv_left_config.run_test(n); } @@ -427,18 +566,19 @@ struct TestDuplicatedScatterView { #ifdef KOKKOS_ENABLE_CUDA // disable duplicated instantiation with CUDA until // UniqueToken can support it -template -struct TestDuplicatedScatterView { +template +struct TestDuplicatedScatterView { TestDuplicatedScatterView(int) {} }; -template +template struct TestDuplicatedScatterView< - Kokkos::Device, ScatterType> { + Kokkos::Device, ScatterType, NumberType> { TestDuplicatedScatterView(int) {} }; -template +template struct TestDuplicatedScatterView< - Kokkos::Device, ScatterType> { + Kokkos::Device, ScatterType, + NumberType> { TestDuplicatedScatterView(int) {} }; #endif @@ -446,13 +586,14 @@ struct TestDuplicatedScatterView< #ifdef KOKKOS_ENABLE_ROCM // disable duplicated instantiation with ROCm until // UniqueToken can support it -template +template struct TestDuplicatedScatterView { TestDuplicatedScatterView(int) {} }; #endif -template +template void test_scatter_view(int n) { using execution_space = typename DeviceType::execution_space; @@ -463,7 +604,7 @@ void test_scatter_view(int n) { test_scatter_view_config + ScatterType, NumberType> test_sv_config; test_sv_config.run_test(n); } @@ -472,30 +613,40 @@ void test_scatter_view(int n) { #endif test_scatter_view_config + Kokkos::Experimental::ScatterAtomic, ScatterType, + NumberType> test_sv_config; test_sv_config.run_test(n); #ifdef KOKKOS_ENABLE_SERIAL } #endif // with hundreds of threads we were running out of memory. - // limit (n) so that duplication doesn't exceed 8GB + // limit (n) so that duplication doesn't exceed 4GB constexpr std::size_t maximum_allowed_total_bytes = - 8ull * 1024ull * 1024ull * 1024ull; + 4ull * 1024ull * 1024ull * 1024ull; std::size_t const maximum_allowed_copy_bytes = maximum_allowed_total_bytes / std::size_t(execution_space().concurrency()); - constexpr std::size_t bytes_per_value = sizeof(double) * 3; + constexpr std::size_t bytes_per_value = sizeof(NumberType) * 12; std::size_t const maximum_allowed_copy_values = maximum_allowed_copy_bytes / bytes_per_value; n = std::min(n, int(maximum_allowed_copy_values)); - TestDuplicatedScatterView duptest(n); + + // if the default is duplicated, this needs to follow the limit + { + test_default_scatter_view + test_default_sv; + test_default_sv.run_test(n); + } + TestDuplicatedScatterView duptest(n); } -// FIXME_HIP ScatterView requires UniqueToken -#ifndef KOKKOS_ENABLE_HIP TEST(TEST_CATEGORY, scatterview) { - test_scatter_view(10); + test_scatter_view( + 10); + test_scatter_view(10); test_scatter_view(10); test_scatter_view(10); test_scatter_view(10); @@ -512,7 +663,10 @@ TEST(TEST_CATEGORY, scatterview) { #endif #endif - test_scatter_view(big_n); + test_scatter_view( + big_n); + test_scatter_view(big_n); test_scatter_view(big_n); test_scatter_view(big_n); test_scatter_view(big_n); @@ -522,7 +676,9 @@ TEST(TEST_CATEGORY, scatterview_devicetype) { using device_type = Kokkos::Device; - test_scatter_view(10); + test_scatter_view(10); + test_scatter_view(10); test_scatter_view(10); test_scatter_view(10); test_scatter_view(10); @@ -530,14 +686,19 @@ TEST(TEST_CATEGORY, scatterview_devicetype) { #ifdef KOKKOS_ENABLE_CUDA if (std::is_same::value) { using cuda_device_type = Kokkos::Device; - test_scatter_view(10); + test_scatter_view(10); + test_scatter_view(10); test_scatter_view(10); test_scatter_view(10); test_scatter_view(10); using cudauvm_device_type = Kokkos::Device; - test_scatter_view( - 10); + test_scatter_view(10); + test_scatter_view(10); test_scatter_view( 10); test_scatter_view( @@ -547,7 +708,6 @@ TEST(TEST_CATEGORY, scatterview_devicetype) { } #endif } -#endif } // namespace Test diff --git a/lib/kokkos/containers/unit_tests/TestStaticCrsGraph.hpp b/lib/kokkos/containers/unit_tests/TestStaticCrsGraph.hpp index 15c190242c768577251f8e49b9ebd2f734b578c9..89c69756d8dddbbf8c9821dbb837e46bf6151efa 100644 --- a/lib/kokkos/containers/unit_tests/TestStaticCrsGraph.hpp +++ b/lib/kokkos/containers/unit_tests/TestStaticCrsGraph.hpp @@ -55,12 +55,10 @@ namespace TestStaticCrsGraph { template void run_test_graph() { - typedef Kokkos::StaticCrsGraph dView; - typedef typename dView::HostMirror hView; + using dView = Kokkos::StaticCrsGraph; + using hView = typename dView::HostMirror; const unsigned LENGTH = 1000; - dView dx; - hView hx; std::vector > graph(LENGTH); @@ -71,6 +69,23 @@ void run_test_graph() { } } + { + dView d1; + ASSERT_FALSE(d1.is_allocated()); + + d1 = Kokkos::create_staticcrsgraph("d1", graph); + + dView d2(d1); + dView d3(d1.entries, d1.row_map); + + ASSERT_TRUE(d1.is_allocated()); + ASSERT_TRUE(d2.is_allocated()); + ASSERT_TRUE(d3.is_allocated()); + } + + dView dx; + hView hx; + dx = Kokkos::create_staticcrsgraph("dx", graph); hx = Kokkos::create_mirror(dx); @@ -98,8 +113,8 @@ void run_test_graph() { template void run_test_graph2() { - typedef Kokkos::StaticCrsGraph dView; - typedef typename dView::HostMirror hView; + using dView = Kokkos::StaticCrsGraph; + using hView = typename dView::HostMirror; const unsigned LENGTH = 10; @@ -158,8 +173,8 @@ template void run_test_graph3(size_t B, size_t N) { srand(10310); - typedef Kokkos::StaticCrsGraph dView; - typedef typename dView::HostMirror hView; + using dView = Kokkos::StaticCrsGraph; + using hView = typename dView::HostMirror; const unsigned LENGTH = 2000; @@ -197,20 +212,13 @@ void run_test_graph3(size_t B, size_t N) { template void run_test_graph4() { - typedef unsigned ordinal_type; - typedef Kokkos::LayoutRight layout_type; - typedef Space space_type; - typedef Kokkos::MemoryUnmanaged memory_traits_type; -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - typedef Kokkos::StaticCrsGraph - dView; -#else - typedef Kokkos::StaticCrsGraph - dView; -#endif - typedef typename dView::HostMirror hView; + using ordinal_type = unsigned; + using layout_type = Kokkos::LayoutRight; + using space_type = Space; + using memory_traits_type = Kokkos::MemoryUnmanaged; + using dView = Kokkos::StaticCrsGraph; + using hView = typename dView::HostMirror; dView dx; @@ -227,8 +235,8 @@ void run_test_graph4() { // of the unmanaged StaticCrsGraph // Data types for raw pointers storing StaticCrsGraph info - typedef typename dView::size_type ptr_row_map_type; - typedef typename dView::data_type ptr_entries_type; + using ptr_row_map_type = typename dView::size_type; + using ptr_entries_type = typename dView::data_type; const ordinal_type numRows = 8; const ordinal_type nnz = 24; @@ -237,8 +245,8 @@ void run_test_graph4() { 4, 5, 4, 5, 2, 3, 6, 7, 2, 3, 6, 7}; // Wrap pointers in unmanaged host views - typedef typename hView::row_map_type local_row_map_type; - typedef typename hView::entries_type local_entries_type; + using local_row_map_type = typename hView::row_map_type; + using local_entries_type = typename hView::entries_type; local_row_map_type unman_row_map(&(ptrRaw[0]), numRows + 1); local_entries_type unman_entries(&(indRaw[0]), nnz); @@ -248,10 +256,10 @@ void run_test_graph4() { // Create the device Views for copying the host arrays into // An allocation is needed on the device for the unmanaged StaticCrsGraph to // wrap the pointer - typedef typename Kokkos::View - d_row_map_view_type; - typedef typename Kokkos::View - d_entries_view_type; + using d_row_map_view_type = + typename Kokkos::View; + using d_entries_view_type = + typename Kokkos::View; d_row_map_view_type tmp_row_map("tmp_row_map", numRows + 1); d_entries_view_type tmp_entries("tmp_entries", nnz); diff --git a/lib/kokkos/containers/unit_tests/TestUnorderedMap.hpp b/lib/kokkos/containers/unit_tests/TestUnorderedMap.hpp index 3ec3a4e5ec2a575943b107ea0e7a340eadf6ea44..d39e0061c747c78abbd30d0284cc398a41714326 100644 --- a/lib/kokkos/containers/unit_tests/TestUnorderedMap.hpp +++ b/lib/kokkos/containers/unit_tests/TestUnorderedMap.hpp @@ -53,9 +53,9 @@ namespace Impl { template struct TestInsert { - typedef MapType map_type; - typedef typename map_type::execution_space execution_space; - typedef uint32_t value_type; + using map_type = MapType; + using execution_space = typename map_type::execution_space; + using value_type = uint32_t; map_type map; uint32_t inserts; @@ -101,10 +101,10 @@ struct TestInsert { template struct TestErase { - typedef TestErase self_type; + using self_type = TestErase; - typedef MapType map_type; - typedef typename MapType::execution_space execution_space; + using map_type = MapType; + using execution_space = typename MapType::execution_space; map_type m_map; uint32_t m_num_erase; @@ -131,9 +131,9 @@ struct TestErase { template struct TestFind { - typedef MapType map_type; - typedef typename MapType::execution_space::execution_space execution_space; - typedef uint32_t value_type; + using map_type = MapType; + using execution_space = typename MapType::execution_space::execution_space; + using value_type = uint32_t; map_type m_map; uint32_t m_num_insert; @@ -180,9 +180,9 @@ struct TestFind { template void test_insert(uint32_t num_nodes, uint32_t num_inserts, uint32_t num_duplicates, bool near) { - typedef Kokkos::UnorderedMap map_type; - typedef Kokkos::UnorderedMap - const_map_type; + using map_type = Kokkos::UnorderedMap; + using const_map_type = + Kokkos::UnorderedMap; const uint32_t expected_inserts = (num_inserts + num_duplicates - 1u) / num_duplicates; @@ -232,7 +232,7 @@ void test_insert(uint32_t num_nodes, uint32_t num_inserts, template void test_failed_insert(uint32_t num_nodes) { - typedef Kokkos::UnorderedMap map_type; + using map_type = Kokkos::UnorderedMap; map_type map(num_nodes); Impl::TestInsert test_insert(map, 2u * num_nodes, 1u); @@ -244,13 +244,11 @@ void test_failed_insert(uint32_t num_nodes) { template void test_deep_copy(uint32_t num_nodes) { - typedef Kokkos::UnorderedMap map_type; - typedef Kokkos::UnorderedMap - const_map_type; + using map_type = Kokkos::UnorderedMap; + using const_map_type = + Kokkos::UnorderedMap; - typedef typename map_type::HostMirror host_map_type; - // typedef Kokkos::UnorderedMap host_map_type; + using host_map_type = typename map_type::HostMirror; map_type map; map.rehash(num_nodes, false); @@ -295,7 +293,7 @@ void test_deep_copy(uint32_t num_nodes) { } } -// FIXME_HIP deadlock +// FIXME_HIP wrong result in CI but works locally #ifndef KOKKOS_ENABLE_HIP // WORKAROUND MSVC #ifndef _WIN32 @@ -306,6 +304,7 @@ TEST(TEST_CATEGORY, UnorderedMap_insert) { } } #endif +#endif TEST(TEST_CATEGORY, UnorderedMap_failed_insert) { for (int i = 0; i < 1000; ++i) test_failed_insert(10000); @@ -314,7 +313,6 @@ TEST(TEST_CATEGORY, UnorderedMap_failed_insert) { TEST(TEST_CATEGORY, UnorderedMap_deep_copy) { for (int i = 0; i < 2; ++i) test_deep_copy(10000); } -#endif TEST(TEST_CATEGORY, UnorderedMap_valid_empty) { using Key = int; @@ -326,6 +324,8 @@ TEST(TEST_CATEGORY, UnorderedMap_valid_empty) { n = Map{m.capacity()}; n.rehash(m.capacity()); Kokkos::deep_copy(n, m); + ASSERT_TRUE(m.is_allocated()); + ASSERT_TRUE(n.is_allocated()); } } // namespace Test diff --git a/lib/kokkos/containers/unit_tests/TestVector.hpp b/lib/kokkos/containers/unit_tests/TestVector.hpp index 4174a477c4d7e5d7ad525ed7b7248426e8de5761..296b9a7e644e211bc7ad0d624aa70bcbfe9e29f1 100644 --- a/lib/kokkos/containers/unit_tests/TestVector.hpp +++ b/lib/kokkos/containers/unit_tests/TestVector.hpp @@ -55,14 +55,17 @@ namespace Impl { template struct test_vector_insert { - typedef Scalar scalar_type; - typedef Device execution_space; + using scalar_type = Scalar; + using execution_space = Device; template void run_test(Vector& a) { int n = a.size(); auto it = a.begin(); + if (n > 0) { + ASSERT_EQ(a.data(), &a[0]); + } it += 15; ASSERT_EQ(*it, scalar_type(1)); @@ -172,12 +175,43 @@ struct test_vector_insert { } }; +template +struct test_vector_allocate { + using self_type = test_vector_allocate; + + using scalar_type = Scalar; + using execution_space = Device; + + bool result = false; + + template + Scalar run_me(unsigned int n) { + { + Vector v1; + if (v1.is_allocated() == true) return false; + + v1 = Vector(n, 1); + Vector v2(v1); + Vector v3(n, 1); + + if (v1.is_allocated() == false) return false; + if (v2.is_allocated() == false) return false; + if (v3.is_allocated() == false) return false; + } + return true; + } + + test_vector_allocate(unsigned int size) { + result = run_me >(size); + } +}; + template struct test_vector_combinations { - typedef test_vector_combinations self_type; + using self_type = test_vector_combinations; - typedef Scalar scalar_type; - typedef Device execution_space; + using scalar_type = Scalar; + using execution_space = Device; Scalar reference; Scalar result; @@ -231,7 +265,14 @@ void test_vector_combinations(unsigned int size) { ASSERT_EQ(test.reference, test.result); } +template +void test_vector_allocate(unsigned int size) { + Impl::test_vector_allocate test(size); + ASSERT_TRUE(test.result); +} + TEST(TEST_CATEGORY, vector_combination) { + test_vector_allocate(10); test_vector_combinations(10); test_vector_combinations(3057); } diff --git a/lib/kokkos/containers/unit_tests/TestViewCtorPropEmbeddedDim.hpp b/lib/kokkos/containers/unit_tests/TestViewCtorPropEmbeddedDim.hpp index 3f7d4101f7e6bf2ddd3b1197b6f1326553dbe334..d402160ef4bafb176647bf309b507129265de514 100644 --- a/lib/kokkos/containers/unit_tests/TestViewCtorPropEmbeddedDim.hpp +++ b/lib/kokkos/containers/unit_tests/TestViewCtorPropEmbeddedDim.hpp @@ -91,10 +91,10 @@ struct TestViewCtorProp_EmbeddedDim { { // Two views auto view_alloc_arg = Kokkos::common_view_alloc_prop(vi1, vd1); - typedef - typename decltype(view_alloc_arg)::value_type CommonViewValueType; - typedef typename Kokkos::View CVT; - typedef typename CVT::HostMirror HostCVT; + using CommonViewValueType = + typename decltype(view_alloc_arg)::value_type; + using CVT = typename Kokkos::View; + using HostCVT = typename CVT::HostMirror; // Construct View using the common type; for case of specialization, an // 'embedded_dim' would be stored by view_alloc_arg @@ -128,10 +128,10 @@ struct TestViewCtorProp_EmbeddedDim { { // Single view auto view_alloc_arg = Kokkos::common_view_alloc_prop(vi1); - typedef - typename decltype(view_alloc_arg)::value_type CommonViewValueType; - typedef typename Kokkos::View CVT; - typedef typename CVT::HostMirror HostCVT; + using CommonViewValueType = + typename decltype(view_alloc_arg)::value_type; + using CVT = typename Kokkos::View; + using HostCVT = typename CVT::HostMirror; // Construct View using the common type; for case of specialization, an // 'embedded_dim' would be stored by view_alloc_arg @@ -161,10 +161,10 @@ struct TestViewCtorProp_EmbeddedDim { { // Two views auto view_alloc_arg = Kokkos::common_view_alloc_prop(vi1, vd1); - typedef - typename decltype(view_alloc_arg)::value_type CommonViewValueType; - typedef typename Kokkos::View CVT; - typedef typename CVT::HostMirror HostCVT; + using CommonViewValueType = + typename decltype(view_alloc_arg)::value_type; + using CVT = typename Kokkos::View; + using HostCVT = typename CVT::HostMirror; // Construct View using the common type; for case of specialization, an // 'embedded_dim' would be stored by view_alloc_arg @@ -182,10 +182,10 @@ struct TestViewCtorProp_EmbeddedDim { { // Single views auto view_alloc_arg = Kokkos::common_view_alloc_prop(vi1); - typedef - typename decltype(view_alloc_arg)::value_type CommonViewValueType; - typedef typename Kokkos::View CVT; - typedef typename CVT::HostMirror HostCVT; + using CommonViewValueType = + typename decltype(view_alloc_arg)::value_type; + using CVT = typename Kokkos::View; + using HostCVT = typename CVT::HostMirror; // Construct View using the common type; for case of specialization, an // 'embedded_dim' would be stored by view_alloc_arg diff --git a/lib/kokkos/core/CMakeLists.txt b/lib/kokkos/core/CMakeLists.txt index 8df72dfc90e53def1ee00c4207a968086e484a0c..68d3f83319995037aaa9528a93ee30c024c3ac39 100644 --- a/lib/kokkos/core/CMakeLists.txt +++ b/lib/kokkos/core/CMakeLists.txt @@ -2,7 +2,9 @@ KOKKOS_SUBPACKAGE(Core) -ADD_SUBDIRECTORY(src) +IF (NOT Kokkos_INSTALL_TESTING) + ADD_SUBDIRECTORY(src) +ENDIF() KOKKOS_ADD_TEST_DIRECTORIES(unit_test) KOKKOS_ADD_TEST_DIRECTORIES(perf_test) diff --git a/lib/kokkos/core/cmake/KokkosCore_config.h.in b/lib/kokkos/core/cmake/KokkosCore_config.h.in index 095c869a32d1997a902898b8e5861299fc0a9e30..e930f6a05e3214d8268d8c136df54db1ae419adf 100644 --- a/lib/kokkos/core/cmake/KokkosCore_config.h.in +++ b/lib/kokkos/core/cmake/KokkosCore_config.h.in @@ -6,7 +6,8 @@ #if !defined(KOKKOS_FOR_SIERRA) #if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Don't include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." +#error \ + "Don't include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." #else #define KOKKOS_CORE_CONFIG_H #endif @@ -25,8 +26,8 @@ #cmakedefine KOKKOS_ENABLE_DEBUG #cmakedefine KOKKOS_ENABLE_DEBUG_BOUNDS_CHECK #cmakedefine KOKKOS_ENABLE_DEBUG_DUALVIEW_MODIFY_CHECK -#cmakedefine KOKKOS_ENABLE_PROFILING #cmakedefine KOKKOS_ENABLE_PROFILING_LOAD_PRINT +#cmakedefine KOKKOS_ENABLE_TUNING #cmakedefine KOKKOS_ENABLE_AGGRESSIVE_VECTORIZATION @@ -38,7 +39,8 @@ // any value of KOKKOS_USE_CUDA_UVM here. Doing this should prevent build // warnings like this one: // -// packages/kokkos/core/src/KokkosCore_config.h:13:1: warning: "KOKKOS_USE_CUDA_UVM" redefined +// packages/kokkos/core/src/KokkosCore_config.h:13:1: warning: +// "KOKKOS_USE_CUDA_UVM" redefined // // At some point, we should edit the test-build scripts in // Trilinos/cmake/ctest/drivers/perseus/, and take @@ -100,4 +102,4 @@ #cmakedefine KOKKOS_USING_DEPRECATED_VIEW #cmakedefine KOKKOS_ENABLE_CXX11 -#endif // !defined(KOKKOS_FOR_SIERRA) +#endif // !defined(KOKKOS_FOR_SIERRA) diff --git a/lib/kokkos/core/perf_test/CMakeLists.txt b/lib/kokkos/core/perf_test/CMakeLists.txt index ca695e2700dd98f8838b042d6cea49854be637ef..f55721e04a9f0876f01451425c70b965d05ec6e7 100644 --- a/lib/kokkos/core/perf_test/CMakeLists.txt +++ b/lib/kokkos/core/perf_test/CMakeLists.txt @@ -49,11 +49,19 @@ SET(SOURCES ) IF(Kokkos_ENABLE_HIP) -# FIXME requires TeamPolicy +# FIXME HIP requires TeamPolicy LIST(REMOVE_ITEM SOURCES PerfTest_CustomReduction.cpp PerfTest_ExecSpacePartitioning.cpp - ) + ) +ENDIF() + +IF(Kokkos_ENABLE_OPENMPTARGET) +# FIXME OPENMPTARGET requires TeamPolicy Reductions and Custom Reduction + LIST(REMOVE_ITEM SOURCES + PerfTest_CustomReduction.cpp + PerfTest_ExecSpacePartitioning.cpp + ) ENDIF() # Per #374, we always want to build this test, but we only want to run @@ -76,7 +84,22 @@ IF(NOT KOKKOS_CXX_COMPILER_ID STREQUAL "MSVC") ENDIF() KOKKOS_ADD_EXECUTABLE_AND_TEST( - PerformanceTest_TaskDag - SOURCES test_taskdag.cpp + PerformanceTest_Atomic + SOURCES test_atomic.cpp + CATEGORIES PERFORMANCE +) + +KOKKOS_ADD_EXECUTABLE_AND_TEST( + PerformanceTest_Mempool + SOURCES test_mempool.cpp CATEGORIES PERFORMANCE ) + +IF(NOT Kokkos_ENABLE_OPENMPTARGET) +# FIXME OPENMPTARGET needs tasking + KOKKOS_ADD_EXECUTABLE_AND_TEST( + PerformanceTest_TaskDag + SOURCES test_taskdag.cpp + CATEGORIES PERFORMANCE + ) +ENDIF() diff --git a/lib/kokkos/core/perf_test/Makefile b/lib/kokkos/core/perf_test/Makefile index ca98ca6dded94d267cfa53c1c0cda61ddb83609c..6d619dc573ab4af6ff6c44dee76e5365221b5170 100644 --- a/lib/kokkos/core/perf_test/Makefile +++ b/lib/kokkos/core/perf_test/Makefile @@ -53,7 +53,6 @@ TEST_TARGETS += test-atomic # -ifneq ($(KOKKOS_INTERNAL_USE_ROCM), 1) OBJ_MEMPOOL = test_mempool.o TARGETS += KokkosCore_PerformanceTest_Mempool TEST_TARGETS += test-mempool @@ -63,7 +62,6 @@ TEST_TARGETS += test-mempool OBJ_TASKDAG = test_taskdag.o TARGETS += KokkosCore_PerformanceTest_TaskDAG TEST_TARGETS += test-taskdag -endif # diff --git a/lib/kokkos/core/perf_test/PerfTestBlasKernels.hpp b/lib/kokkos/core/perf_test/PerfTestBlasKernels.hpp index 2717b133bd6915f8a4725f0e33a8add69b604324..e133dafa368d562a148caf2e3b8adc4ff4a8b77d 100644 --- a/lib/kokkos/core/perf_test/PerfTestBlasKernels.hpp +++ b/lib/kokkos/core/perf_test/PerfTestBlasKernels.hpp @@ -51,12 +51,12 @@ namespace Kokkos { template struct Dot { - typedef typename Type::execution_space execution_space; + using execution_space = typename Type::execution_space; static_assert(static_cast(Type::Rank) == static_cast(1), "Dot static_assert Fail: Rank != 1"); - typedef double value_type; + using value_type = double; #if 1 typename Type::const_type X; @@ -83,12 +83,12 @@ struct Dot { template struct DotSingle { - typedef typename Type::execution_space execution_space; + using execution_space = typename Type::execution_space; static_assert(static_cast(Type::Rank) == static_cast(1), "DotSingle static_assert Fail: Rank != 1"); - typedef double value_type; + using value_type = double; #if 1 typename Type::const_type X; @@ -116,7 +116,7 @@ struct DotSingle { template struct Scale { - typedef typename VectorType::execution_space execution_space; + using execution_space = typename VectorType::execution_space; static_assert(static_cast(ScalarType::Rank) == static_cast(0), @@ -143,7 +143,7 @@ struct Scale { template struct AXPBY { - typedef typename VectorType::execution_space execution_space; + using execution_space = typename VectorType::execution_space; static_assert(static_cast(ScalarType::Rank) == static_cast(0), @@ -185,7 +185,7 @@ namespace Kokkos { template void axpby(const ConstScalarType& alpha, const ConstVectorType& X, const ConstScalarType& beta, const VectorType& Y) { - typedef AXPBY functor; + using functor = AXPBY; parallel_for(Y.extent(0), functor(alpha, X, beta, Y)); } @@ -193,7 +193,7 @@ void axpby(const ConstScalarType& alpha, const ConstVectorType& X, /** \brief Y *= alpha */ template void scale(const ConstScalarType& alpha, const VectorType& Y) { - typedef Scale functor; + using functor = Scale; parallel_for(Y.extent(0), functor(alpha, Y)); } @@ -201,14 +201,14 @@ void scale(const ConstScalarType& alpha, const VectorType& Y) { template void dot(const ConstVectorType& X, const ConstVectorType& Y, const Finalize& finalize) { - typedef Dot functor; + using functor = Dot; parallel_reduce(X.extent(0), functor(X, Y), finalize); } template void dot(const ConstVectorType& X, const Finalize& finalize) { - typedef DotSingle functor; + using functor = DotSingle; parallel_reduce(X.extent(0), functor(X), finalize); } diff --git a/lib/kokkos/core/perf_test/PerfTestGramSchmidt.cpp b/lib/kokkos/core/perf_test/PerfTestGramSchmidt.cpp index 0916b230ecb65a50247fee3b31d5bb954dda247f..70186283c1a76789b1ab943b3793f36f55b9f258 100644 --- a/lib/kokkos/core/perf_test/PerfTestGramSchmidt.cpp +++ b/lib/kokkos/core/perf_test/PerfTestGramSchmidt.cpp @@ -58,7 +58,7 @@ namespace Test { // PostProcess : R(j,j) = result ; inv = 1 / result ; template struct InvNorm2 : public Kokkos::DotSingle { - typedef typename Kokkos::DotSingle::value_type value_type; + using value_type = typename Kokkos::DotSingle::value_type; ValueView Rjj; ValueView inv; @@ -69,10 +69,7 @@ struct InvNorm2 : public Kokkos::DotSingle { KOKKOS_INLINE_FUNCTION void final(value_type& result) const { -#ifndef KOKKOS_ENABLE_HIP // FIXME_HIP - using std::sqrt; -#endif - result = sqrt(result); + result = std::sqrt(result); Rjj() = result; inv() = (0 < result) ? 1.0 / result : 0; } @@ -88,7 +85,7 @@ inline void invnorm2(const VectorView& x, const ValueView& r, // PostProcess : tmp = - ( R(j,k) = result ); template struct DotM : public Kokkos::Dot { - typedef typename Kokkos::Dot::value_type value_type; + using value_type = typename Kokkos::Dot::value_type; ValueView Rjk; ValueView tmp; @@ -113,16 +110,16 @@ inline void dot_neg(const VectorView& x, const VectorView& y, template struct ModifiedGramSchmidt { - typedef DeviceType execution_space; - typedef typename execution_space::size_type size_type; + using execution_space = DeviceType; + using size_type = typename execution_space::size_type; - typedef Kokkos::View - multivector_type; + using multivector_type = + Kokkos::View; - typedef Kokkos::View - vector_type; + using vector_type = + Kokkos::View; - typedef Kokkos::View value_view; + using value_view = Kokkos::View; multivector_type Q; multivector_type R; @@ -243,9 +240,9 @@ TEST(default_exec, gramschmidt) { int exp_end = 20; int num_trials = 5; - if (command_line_num_args() > 1) exp_beg = atoi(command_line_arg(1)); - if (command_line_num_args() > 2) exp_end = atoi(command_line_arg(2)); - if (command_line_num_args() > 3) num_trials = atoi(command_line_arg(3)); + if (command_line_num_args() > 1) exp_beg = std::stoi(command_line_arg(1)); + if (command_line_num_args() > 2) exp_end = std::stoi(command_line_arg(2)); + if (command_line_num_args() > 3) num_trials = std::stoi(command_line_arg(3)); EXPECT_NO_THROW(run_test_gramschmidt( exp_beg, exp_end, num_trials, Kokkos::DefaultExecutionSpace::name())); diff --git a/lib/kokkos/core/perf_test/PerfTestHexGrad.cpp b/lib/kokkos/core/perf_test/PerfTestHexGrad.cpp index d8792828677e9e0012a99e4daf87d307e7ad9aaa..c431c2b0c86d30192edc63d7dfbc447887f227cf 100644 --- a/lib/kokkos/core/perf_test/PerfTestHexGrad.cpp +++ b/lib/kokkos/core/perf_test/PerfTestHexGrad.cpp @@ -51,20 +51,20 @@ namespace Test { template struct HexGrad { - typedef DeviceType execution_space; - typedef typename execution_space::size_type size_type; + using execution_space = DeviceType; + using size_type = typename execution_space::size_type; - typedef HexGrad self_type; + using self_type = HexGrad; // 3D array : ( ParallelWork , Space , Node ) enum { NSpace = 3, NNode = 8 }; - typedef Kokkos::View - elem_coord_type; + using elem_coord_type = + Kokkos::View; - typedef Kokkos::View - elem_grad_type; + using elem_grad_type = + Kokkos::View; elem_coord_type coords; elem_grad_type grad_op; @@ -179,7 +179,7 @@ struct HexGrad { //-------------------------------------------------------------------------- struct Init { - typedef typename self_type::execution_space execution_space; + using execution_space = typename self_type::execution_space; elem_coord_type coords; @@ -289,9 +289,9 @@ TEST(default_exec, hexgrad) { int exp_end = 20; int num_trials = 5; - if (command_line_num_args() > 1) exp_beg = atoi(command_line_arg(1)); - if (command_line_num_args() > 2) exp_end = atoi(command_line_arg(2)); - if (command_line_num_args() > 3) num_trials = atoi(command_line_arg(3)); + if (command_line_num_args() > 1) exp_beg = std::stoi(command_line_arg(1)); + if (command_line_num_args() > 2) exp_end = std::stoi(command_line_arg(2)); + if (command_line_num_args() > 3) num_trials = std::stoi(command_line_arg(3)); EXPECT_NO_THROW(run_test_hexgrad( exp_beg, exp_end, num_trials, Kokkos::DefaultExecutionSpace::name())); diff --git a/lib/kokkos/core/perf_test/PerfTestMDRange.hpp b/lib/kokkos/core/perf_test/PerfTestMDRange.hpp index 3afff96ff3d9cab6ca43ec66f172646c6719d775..ec0452d5f197888d1cdbdf2c189e2c614e1b66d8 100644 --- a/lib/kokkos/core/perf_test/PerfTestMDRange.hpp +++ b/lib/kokkos/core/perf_test/PerfTestMDRange.hpp @@ -46,13 +46,13 @@ namespace Test { template struct MultiDimRangePerf3D { - typedef DeviceType execution_space; - typedef typename execution_space::size_type size_type; + using execution_space = DeviceType; + using size_type = typename execution_space::size_type; using iterate_type = Kokkos::Iterate; - typedef Kokkos::View view_type; - typedef typename view_type::HostMirror host_view_type; + using view_type = Kokkos::View; + using host_view_type = typename view_type::HostMirror; view_type A; view_type B; @@ -108,8 +108,8 @@ struct MultiDimRangePerf3D { // This test performs multidim range over all dims view_type Atest("Atest", icount, jcount, kcount); view_type Btest("Btest", icount + 2, jcount + 2, kcount + 2); - typedef MultiDimRangePerf3D - FunctorType; + using FunctorType = + MultiDimRangePerf3D; double dt_min = 0; @@ -125,10 +125,9 @@ struct MultiDimRangePerf3D { policy_initB({{0, 0, 0}}, {{icount + 2, jcount + 2, kcount + 2}}, {{Ti, Tj, Tk}}); - typedef typename Kokkos::MDRangePolicy< + using MDRangeType = typename Kokkos::MDRangePolicy< Kokkos::Rank<3, iterate_type::Right, iterate_type::Right>, - execution_space> - MDRangeType; + execution_space>; using tile_type = typename MDRangeType::tile_type; using point_type = typename MDRangeType::point_type; @@ -216,14 +215,15 @@ struct MultiDimRangePerf3D { policy_initB({{0, 0, 0}}, {{icount + 2, jcount + 2, kcount + 2}}, {{Ti, Tj, Tk}}); - // typedef typename Kokkos::MDRangePolicy, execution_space > MDRangeType; + // using MDRangeType = + // typename Kokkos::MDRangePolicy< + // Kokkos::Rank<3, iterate_type::Left, iterate_type::Left>, + // execution_space >; // using tile_type = typename MDRangeType::tile_type; // using point_type = typename MDRangeType::point_type; - // Kokkos::MDRangePolicy, execution_space > - // policy(point_type{{0,0,0}},point_type{{icount,jcount,kcount}},tile_type{{Ti,Tj,Tk}} - // ); + // MDRangeType policy(point_type{{0,0,0}}, + // point_type{{icount,jcount,kcount}}, + // tile_type{{Ti,Tj,Tk}}); Kokkos::MDRangePolicy< Kokkos::Rank<3, iterate_type::Left, iterate_type::Left>, execution_space> @@ -306,14 +306,14 @@ struct RangePolicyCollapseTwo { // RangePolicy for 3D range, but will collapse only 2 dims => like Rank<2> for // multi-dim; unroll 2 dims in one-dim - typedef DeviceType execution_space; - typedef typename execution_space::size_type size_type; - typedef TestLayout layout; + using execution_space = DeviceType; + using size_type = typename execution_space::size_type; + using layout = TestLayout; using iterate_type = Kokkos::Iterate; - typedef Kokkos::View view_type; - typedef typename view_type::HostMirror host_view_type; + using view_type = Kokkos::View; + using host_view_type = typename view_type::HostMirror; view_type A; view_type B; @@ -388,8 +388,8 @@ struct RangePolicyCollapseTwo { // This test refers to collapsing two dims while using the RangePolicy view_type Atest("Atest", icount, jcount, kcount); view_type Btest("Btest", icount + 2, jcount + 2, kcount + 2); - typedef RangePolicyCollapseTwo - FunctorType; + using FunctorType = + RangePolicyCollapseTwo; long collapse_index_rangeA = 0; long collapse_index_rangeB = 0; @@ -480,12 +480,12 @@ template view_type; - typedef typename view_type::HostMirror host_view_type; + using view_type = Kokkos::View; + using host_view_type = typename view_type::HostMirror; view_type A; view_type B; @@ -552,8 +552,8 @@ struct RangePolicyCollapseAll { // This test refers to collapsing all dims using the RangePolicy view_type Atest("Atest", icount, jcount, kcount); view_type Btest("Btest", icount + 2, jcount + 2, kcount + 2); - typedef RangePolicyCollapseAll - FunctorType; + using FunctorType = + RangePolicyCollapseAll; const long flat_index_range = icount * jcount * kcount; Kokkos::RangePolicy policy(0, flat_index_range); diff --git a/lib/kokkos/core/perf_test/PerfTest_CustomReduction.cpp b/lib/kokkos/core/perf_test/PerfTest_CustomReduction.cpp index 75ca4a0d5a461f823edbd2b52a932902acfed1ea..1ab76d6e543996be34b40800c8da31022cd625cd 100644 --- a/lib/kokkos/core/perf_test/PerfTest_CustomReduction.cpp +++ b/lib/kokkos/core/perf_test/PerfTest_CustomReduction.cpp @@ -129,9 +129,9 @@ TEST(default_exec, custom_reduction) { int R = 1000; int num_trials = 1; - if (command_line_num_args() > 1) N = atoi(command_line_arg(1)); - if (command_line_num_args() > 2) R = atoi(command_line_arg(2)); - if (command_line_num_args() > 3) num_trials = atoi(command_line_arg(3)); + if (command_line_num_args() > 1) N = std::stoi(command_line_arg(1)); + if (command_line_num_args() > 2) R = std::stoi(command_line_arg(2)); + if (command_line_num_args() > 3) num_trials = std::stoi(command_line_arg(3)); custom_reduction_test(N, R, num_trials); } } // namespace Test diff --git a/lib/kokkos/core/perf_test/PerfTest_ExecSpacePartitioning.cpp b/lib/kokkos/core/perf_test/PerfTest_ExecSpacePartitioning.cpp index c6d5b2b8d647d2c997ef5fef4b19b544c14c3f0b..50bbc78a6b75815ad59ea73c0077dc27ae2dccfa 100644 --- a/lib/kokkos/core/perf_test/PerfTest_ExecSpacePartitioning.cpp +++ b/lib/kokkos/core/perf_test/PerfTest_ExecSpacePartitioning.cpp @@ -29,7 +29,7 @@ struct SpaceInstance { bool value = true; auto local_rank_str = std::getenv("CUDA_LAUNCH_BLOCKING"); if (local_rank_str) { - value = (std::atoi(local_rank_str) == 0); + value = (std::stoi(local_rank_str) == 0); } return value; } diff --git a/lib/kokkos/core/perf_test/test_atomic.cpp b/lib/kokkos/core/perf_test/test_atomic.cpp index 7699d7b91cac1dca2fd4f02bbfb048bf61727901..59820f3bdd2e83291dfd524325d3b7be6ba918ef 100644 --- a/lib/kokkos/core/perf_test/test_atomic.cpp +++ b/lib/kokkos/core/perf_test/test_atomic.cpp @@ -49,7 +49,7 @@ #include #include -typedef Kokkos::DefaultExecutionSpace exec_space; +using exec_space = Kokkos::DefaultExecutionSpace; #define RESET 0 #define BRIGHT 1 @@ -80,9 +80,9 @@ void textcolor_standard() { textcolor(RESET, BLACK, WHITE); } template struct ZeroFunctor { - typedef DEVICE_TYPE execution_space; - typedef typename Kokkos::View type; - typedef typename Kokkos::View::HostMirror h_type; + using execution_space = DEVICE_TYPE; + using type = typename Kokkos::View; + using h_type = typename Kokkos::View::HostMirror; type data; KOKKOS_INLINE_FUNCTION void operator()(int) const { data() = 0; } @@ -94,8 +94,8 @@ struct ZeroFunctor { template struct AddFunctor { - typedef DEVICE_TYPE execution_space; - typedef Kokkos::View type; + using execution_space = DEVICE_TYPE; + using type = Kokkos::View; type data; KOKKOS_INLINE_FUNCTION @@ -123,8 +123,8 @@ T AddLoop(int loop) { template struct AddNonAtomicFunctor { - typedef DEVICE_TYPE execution_space; - typedef Kokkos::View type; + using execution_space = DEVICE_TYPE; + using type = Kokkos::View; type data; KOKKOS_INLINE_FUNCTION @@ -166,8 +166,8 @@ T AddLoopSerial(int loop) { template struct CASFunctor { - typedef DEVICE_TYPE execution_space; - typedef Kokkos::View type; + using execution_space = DEVICE_TYPE; + using type = Kokkos::View; type data; KOKKOS_INLINE_FUNCTION @@ -204,8 +204,8 @@ T CASLoop(int loop) { template struct CASNonAtomicFunctor { - typedef DEVICE_TYPE execution_space; - typedef Kokkos::View type; + using execution_space = DEVICE_TYPE; + using type = Kokkos::View; type data; KOKKOS_INLINE_FUNCTION @@ -268,8 +268,8 @@ T CASLoopSerial(int loop) { template struct ExchFunctor { - typedef DEVICE_TYPE execution_space; - typedef Kokkos::View type; + using execution_space = DEVICE_TYPE; + using type = Kokkos::View; type data, data2; KOKKOS_INLINE_FUNCTION @@ -309,8 +309,8 @@ T ExchLoop(int loop) { template struct ExchNonAtomicFunctor { - typedef DEVICE_TYPE execution_space; - typedef Kokkos::View type; + using execution_space = DEVICE_TYPE; + using type = Kokkos::View; type data, data2; KOKKOS_INLINE_FUNCTION @@ -448,15 +448,15 @@ int main(int argc, char* argv[]) { for (int i = 0; i < argc; i++) { if ((strcmp(argv[i], "--test") == 0)) { - test = atoi(argv[++i]); + test = std::stoi(argv[++i]); continue; } if ((strcmp(argv[i], "--type") == 0)) { - type = atoi(argv[++i]); + type = std::stoi(argv[++i]); continue; } if ((strcmp(argv[i], "-l") == 0) || (strcmp(argv[i], "--loop") == 0)) { - loop = atoi(argv[++i]); + loop = std::stoi(argv[++i]); continue; } } diff --git a/lib/kokkos/core/perf_test/test_mempool.cpp b/lib/kokkos/core/perf_test/test_mempool.cpp index ad8622e7a656fcfd5468857d6deef10359bf17a1..9aab119774c49d99ec112c527c79364a9c02ddc6 100644 --- a/lib/kokkos/core/perf_test/test_mempool.cpp +++ b/lib/kokkos/core/perf_test/test_mempool.cpp @@ -56,7 +56,7 @@ using MemorySpace = Kokkos::DefaultExecutionSpace::memory_space; using MemoryPool = Kokkos::MemoryPool; struct TestFunctor { - typedef Kokkos::View ptrs_type; + using ptrs_type = Kokkos::View; enum : unsigned { chunk = 32 }; @@ -87,7 +87,7 @@ struct TestFunctor { //---------------------------------------- - typedef long value_type; + using value_type = long; //---------------------------------------- @@ -107,7 +107,7 @@ struct TestFunctor { } bool test_fill() { - typedef Kokkos::RangePolicy policy; + using policy = Kokkos::RangePolicy; long result = 0; @@ -134,7 +134,7 @@ struct TestFunctor { } void test_del() { - typedef Kokkos::RangePolicy policy; + using policy = Kokkos::RangePolicy; Kokkos::parallel_for(policy(0, range_iter), *this); Kokkos::fence(); @@ -164,7 +164,7 @@ struct TestFunctor { } bool test_alloc_dealloc() { - typedef Kokkos::RangePolicy policy; + using policy = Kokkos::RangePolicy; long error_count = 0; @@ -203,22 +203,22 @@ int main(int argc, char* argv[]) { total_alloc_size = atol(a + strlen(alloc_size_flag)); if (!strncmp(a, super_size_flag, strlen(super_size_flag))) - min_superblock_size = atoi(a + strlen(super_size_flag)); + min_superblock_size = std::stoi(a + strlen(super_size_flag)); if (!strncmp(a, fill_stride_flag, strlen(fill_stride_flag))) - fill_stride = atoi(a + strlen(fill_stride_flag)); + fill_stride = std::stoi(a + strlen(fill_stride_flag)); if (!strncmp(a, fill_level_flag, strlen(fill_level_flag))) - fill_level = atoi(a + strlen(fill_level_flag)); + fill_level = std::stoi(a + strlen(fill_level_flag)); if (!strncmp(a, chunk_span_flag, strlen(chunk_span_flag))) - chunk_span = atoi(a + strlen(chunk_span_flag)); + chunk_span = std::stoi(a + strlen(chunk_span_flag)); if (!strncmp(a, repeat_outer_flag, strlen(repeat_outer_flag))) - repeat_outer = atoi(a + strlen(repeat_outer_flag)); + repeat_outer = std::stoi(a + strlen(repeat_outer_flag)); if (!strncmp(a, repeat_inner_flag, strlen(repeat_inner_flag))) - repeat_inner = atoi(a + strlen(repeat_inner_flag)); + repeat_inner = std::stoi(a + strlen(repeat_inner_flag)); } int chunk_span_bytes = 0; diff --git a/lib/kokkos/core/perf_test/test_taskdag.cpp b/lib/kokkos/core/perf_test/test_taskdag.cpp index a97edc59e8312cc74e51dd8cd6dfb2fdb1057d4f..b2f936a955eca4a6d8a3c0eec928e01c5de66e51 100644 --- a/lib/kokkos/core/perf_test/test_taskdag.cpp +++ b/lib/kokkos/core/perf_test/test_taskdag.cpp @@ -91,7 +91,7 @@ struct TestFib { using MemberType = typename Scheduler::member_type; using FutureType = Kokkos::BasicFuture; - typedef long value_type; + using value_type = long; FutureType dep[2]; const value_type n; @@ -152,13 +152,13 @@ int main(int argc, char* argv[]) { total_alloc_size = atol(a + strlen(alloc_size)); if (!strncmp(a, super_size, strlen(super_size))) - min_superblock_size = atoi(a + strlen(super_size)); + min_superblock_size = std::stoi(a + strlen(super_size)); if (!strncmp(a, repeat_outer, strlen(repeat_outer))) - test_repeat_outer = atoi(a + strlen(repeat_outer)); + test_repeat_outer = std::stoi(a + strlen(repeat_outer)); if (!strncmp(a, input_value, strlen(input_value))) - fib_input = atoi(a + strlen(input_value)); + fib_input = std::stoi(a + strlen(input_value)); } const long fib_output = eval_fib(fib_input); @@ -182,7 +182,7 @@ int main(int argc, char* argv[]) { using Scheduler = Kokkos::TaskSchedulerMultiple; - typedef TestFib Functor; + using Functor = TestFib; Kokkos::initialize(argc, argv); diff --git a/lib/kokkos/core/src/CMakeLists.txt b/lib/kokkos/core/src/CMakeLists.txt index 5b91b30787ae968b3cb05fa9a0ccee600023d0c3..b4051dc57f229b5e58f7185c3734756c2c83f1b2 100644 --- a/lib/kokkos/core/src/CMakeLists.txt +++ b/lib/kokkos/core/src/CMakeLists.txt @@ -8,50 +8,49 @@ KOKKOS_INCLUDE_DIRECTORIES( INSTALL (DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/" DESTINATION ${KOKKOS_HEADER_DIR} - FILES_MATCHING PATTERN "*.hpp" + FILES_MATCHING + PATTERN "*.hpp" + PATTERN "*.h" ) SET(KOKKOS_CORE_SRCS) APPEND_GLOB(KOKKOS_CORE_SRCS ${CMAKE_CURRENT_SOURCE_DIR}/impl/*.cpp) +SET(KOKKOS_CORE_HEADERS) +APPEND_GLOB(KOKKOS_CORE_HEADERS ${CMAKE_CURRENT_SOURCE_DIR}/*.hpp) +APPEND_GLOB(KOKKOS_CORE_HEADERS ${CMAKE_CURRENT_SOURCE_DIR}/impl/*.hpp) IF (KOKKOS_ENABLE_ROCM) APPEND_GLOB(KOKKOS_CORE_SRCS ${CMAKE_CURRENT_SOURCE_DIR}/ROCm/*.cpp) - IF (KOKKOS_ENABLE_ETI) - APPEND_GLOB(KOKKOS_CORE_SRCS ${CMAKE_CURRENT_SOURCE_DIR}/eti/ROCm/*.cpp) - ENDIF() ENDIF() IF (KOKKOS_ENABLE_CUDA) APPEND_GLOB(KOKKOS_CORE_SRCS ${CMAKE_CURRENT_SOURCE_DIR}/Cuda/*.cpp) - IF (KOKKOS_ENABLE_ETI) - APPEND_GLOB(KOKKOS_CORE_SRC ${CMAKE_CURRENT_SOURCE_DIR/eti/Cuda/*.cpp) - ENDIF() + APPEND_GLOB(KOKKOS_CORE_HEADERS ${CMAKE_CURRENT_SOURCE_DIR}/Cuda/*.hpp) ENDIF() IF (KOKKOS_ENABLE_OPENMP) APPEND_GLOB(KOKKOS_CORE_SRCS ${CMAKE_CURRENT_SOURCE_DIR}/OpenMP/*.cpp) - IF (KOKKOS_ENABLE_ETI) - APPEND_GLOB(KOKKOS_CORE_SRCS ${CMAKE_CURRENT_SOURCE_DIR}/eti/OpenMP/*.cpp) - ENDIF() + APPEND_GLOB(KOKKOS_CORE_HEADERS ${CMAKE_CURRENT_SOURCE_DIR}/OpenMP/*.hpp) ENDIF() IF (KOKKOS_ENABLE_OPENMPTARGET) APPEND_GLOB(KOKKOS_CORE_SRCS ${CMAKE_CURRENT_SOURCE_DIR}/OpenMPTarget/*.cpp) + APPEND_GLOB(KOKKOS_CORE_HEADERS ${CMAKE_CURRENT_SOURCE_DIR}/OpenMPTarget/*.hpp) ENDIF() IF (KOKKOS_ENABLE_PTHREAD) APPEND_GLOB(KOKKOS_CORE_SRCS ${CMAKE_CURRENT_SOURCE_DIR}/Threads/*.cpp) - IF (KOKKOS_ENABLE_ETI) - APPEND_GLOB(KOKKOS_CORE_SRCS ${CMAKE_CURRENT_SOURCE_DIR}/eti/Threads/*.cpp) - ENDIF() + APPEND_GLOB(KOKKOS_CORE_HEADERS ${CMAKE_CURRENT_SOURCE_DIR}/Threads/*.hpp) ENDIF() IF (KOKKOS_ENABLE_HIP) APPEND_GLOB(KOKKOS_CORE_SRCS ${CMAKE_CURRENT_SOURCE_DIR}/HIP/*.cpp) + APPEND_GLOB(KOKKOS_CORE_HEADERS ${CMAKE_CURRENT_SOURCE_DIR}/HIP/*.hpp) ENDIF() IF (KOKKOS_ENABLE_HPX) APPEND_GLOB(KOKKOS_CORE_SRCS ${CMAKE_CURRENT_SOURCE_DIR}/HPX/*.cpp) + APPEND_GLOB(KOKKOS_CORE_HEADERS ${CMAKE_CURRENT_SOURCE_DIR}/HPX/*.hpp) ENDIF() IF (NOT KOKKOS_ENABLE_MEMKIND) @@ -59,9 +58,7 @@ IF (NOT KOKKOS_ENABLE_MEMKIND) ENDIF() IF (KOKKOS_ENABLE_SERIAL) - IF (KOKKOS_ENABLE_ETI) - APPEND_GLOB(KOKKOS_CORE_SRCS ${CMAKE_CURRENT_SOURCE_DIR}/eti/Serial/*.cpp) - ENDIF() + APPEND_GLOB(KOKKOS_CORE_HEADERS ${CMAKE_CURRENT_SOURCE_DIR}/Serial/*.hpp) ELSE() LIST(REMOVE_ITEM KOKKOS_CORE_SRCS ${CMAKE_CURRENT_SOURCE_DIR}/impl/Kokkos_Serial.cpp) LIST(REMOVE_ITEM KOKKOS_CORE_SRCS ${CMAKE_CURRENT_SOURCE_DIR}/impl/Kokkos_Serial_task.cpp) @@ -70,6 +67,8 @@ ENDIF() KOKKOS_ADD_LIBRARY( kokkoscore SOURCES ${KOKKOS_CORE_SRCS} + HEADERS ${KOKKOS_CORE_HEADERS} + ADD_BUILD_OPTIONS # core should be given all the necessary compiler/linker flags ) SET_TARGET_PROPERTIES(kokkoscore PROPERTIES VERSION ${Kokkos_VERSION}) diff --git a/lib/kokkos/core/src/Cuda/KokkosExp_Cuda_IterateTile.hpp b/lib/kokkos/core/src/Cuda/KokkosExp_Cuda_IterateTile.hpp index 37062639217693623a02d93fc1eb469540011cbe..6feaed80e1ec4d41ffea7eaf297ebc95a3bcca68 100644 --- a/lib/kokkos/core/src/Cuda/KokkosExp_Cuda_IterateTile.hpp +++ b/lib/kokkos/core/src/Cuda/KokkosExp_Cuda_IterateTile.hpp @@ -48,7 +48,6 @@ #include #if defined(__CUDACC__) && defined(KOKKOS_ENABLE_CUDA) -#include #include #include @@ -60,10 +59,8 @@ // type is not allowed As a result, recreate cuda_parallel_launch and associated // code -#if defined(KOKKOS_ENABLE_PROFILING) -#include +#include #include -#endif namespace Kokkos { namespace Impl { @@ -1291,8 +1288,8 @@ struct DeviceIterateTile { using point_type = typename RP::point_type; struct VoidDummy {}; - typedef typename std::conditional::value, VoidDummy, - Tag>::type usable_tag; + using usable_tag = typename std::conditional::value, + VoidDummy, Tag>::type; DeviceIterateTile(const RP& rp, const Functor& func) : m_rp{rp}, m_func{func} {} @@ -1310,6 +1307,8 @@ struct DeviceIterateTile { 65535; // not true for blockIdx.x for newer archs if (RP::rank == 2) { const dim3 block(m_rp.m_tile[0], m_rp.m_tile[1], 1); + KOKKOS_ASSERT(block.x > 0); + KOKKOS_ASSERT(block.y > 0); const dim3 grid( std::min((m_rp.m_upper[0] - m_rp.m_lower[0] + block.x - 1) / block.x, maxblocks), @@ -1319,6 +1318,9 @@ struct DeviceIterateTile { CudaLaunch(*this, grid, block); } else if (RP::rank == 3) { const dim3 block(m_rp.m_tile[0], m_rp.m_tile[1], m_rp.m_tile[2]); + KOKKOS_ASSERT(block.x > 0); + KOKKOS_ASSERT(block.y > 0); + KOKKOS_ASSERT(block.z > 0); const dim3 grid( std::min((m_rp.m_upper[0] - m_rp.m_lower[0] + block.x - 1) / block.x, maxblocks), @@ -1332,6 +1334,8 @@ struct DeviceIterateTile { // threadIdx.z const dim3 block(m_rp.m_tile[0] * m_rp.m_tile[1], m_rp.m_tile[2], m_rp.m_tile[3]); + KOKKOS_ASSERT(block.y > 0); + KOKKOS_ASSERT(block.z > 0); const dim3 grid( std::min( static_cast(m_rp.m_tile_end[0] * m_rp.m_tile_end[1]), @@ -1346,6 +1350,7 @@ struct DeviceIterateTile { // threadIdx.z const dim3 block(m_rp.m_tile[0] * m_rp.m_tile[1], m_rp.m_tile[2] * m_rp.m_tile[3], m_rp.m_tile[4]); + KOKKOS_ASSERT(block.z > 0); const dim3 grid( std::min( static_cast(m_rp.m_tile_end[0] * m_rp.m_tile_end[1]), diff --git a/lib/kokkos/core/src/Cuda/KokkosExp_Cuda_IterateTile_Refactor.hpp b/lib/kokkos/core/src/Cuda/KokkosExp_Cuda_IterateTile_Refactor.hpp index cb7f5971ae0f3c4bb4abe5a72241ce5effa715f4..0425fe6ed5dd442673990e021237e01e504d6bb6 100644 --- a/lib/kokkos/core/src/Cuda/KokkosExp_Cuda_IterateTile_Refactor.hpp +++ b/lib/kokkos/core/src/Cuda/KokkosExp_Cuda_IterateTile_Refactor.hpp @@ -48,9 +48,7 @@ #include #if defined(__CUDACC__) && defined(KOKKOS_ENABLE_CUDA) -#include #include -#include #include @@ -60,10 +58,8 @@ // type is not allowed use existing Kokkos functionality, e.g. max blocks, once // resolved -#if defined(KOKKOS_ENABLE_PROFILING) -#include +#include #include -#endif namespace Kokkos { namespace Impl { diff --git a/lib/kokkos/core/src/Cuda/Kokkos_CudaSpace.cpp b/lib/kokkos/core/src/Cuda/Kokkos_CudaSpace.cpp index e11961d763a40821e21ae865aa3c21fd7123526a..91feb8b727d55b33f3298aca1a138f6a90919862 100644 --- a/lib/kokkos/core/src/Cuda/Kokkos_CudaSpace.cpp +++ b/lib/kokkos/core/src/Cuda/Kokkos_CudaSpace.cpp @@ -60,9 +60,7 @@ #include #include -#if defined(KOKKOS_ENABLE_PROFILING) -#include -#endif +#include /*--------------------------------------------------------------------------*/ /*--------------------------------------------------------------------------*/ @@ -75,8 +73,8 @@ namespace { static std::atomic num_uvm_allocations(0); cudaStream_t get_deep_copy_stream() { - static cudaStream_t s = 0; - if (s == 0) { + static cudaStream_t s = nullptr; + if (s == nullptr) { cudaStreamCreate(&s); } return s; @@ -201,6 +199,10 @@ CudaHostPinnedSpace::CudaHostPinnedSpace() {} // {{{1 void *CudaSpace::allocate(const size_t arg_alloc_size) const { + return allocate("[unlabeled]", arg_alloc_size); +} +void *CudaSpace::allocate(const char *arg_label, const size_t arg_alloc_size, + const size_t arg_logical_size) const { void *ptr = nullptr; auto error_code = cudaMalloc(&ptr, arg_alloc_size); @@ -213,10 +215,22 @@ void *CudaSpace::allocate(const size_t arg_alloc_size) const { Experimental::RawMemoryAllocationFailure::AllocationMechanism:: CudaMalloc); } + + if (Kokkos::Profiling::profileLibraryLoaded()) { + const size_t reported_size = + (arg_logical_size > 0) ? arg_logical_size : arg_alloc_size; + Kokkos::Profiling::allocateData( + Kokkos::Profiling::make_space_handle(name()), arg_label, ptr, + reported_size); + } return ptr; } void *CudaUVMSpace::allocate(const size_t arg_alloc_size) const { + return allocate("[unlabeled]", arg_alloc_size); +} +void *CudaUVMSpace::allocate(const char *arg_label, const size_t arg_alloc_size, + const size_t arg_logical_size) const { void *ptr = nullptr; Cuda::impl_static_fence(); @@ -243,11 +257,22 @@ void *CudaUVMSpace::allocate(const size_t arg_alloc_size) const { } } Cuda::impl_static_fence(); - + if (Kokkos::Profiling::profileLibraryLoaded()) { + const size_t reported_size = + (arg_logical_size > 0) ? arg_logical_size : arg_alloc_size; + Kokkos::Profiling::allocateData( + Kokkos::Profiling::make_space_handle(name()), arg_label, ptr, + reported_size); + } return ptr; } void *CudaHostPinnedSpace::allocate(const size_t arg_alloc_size) const { + return allocate("[unlabeled]", arg_alloc_size); +} +void *CudaHostPinnedSpace::allocate(const char *arg_label, + const size_t arg_alloc_size, + const size_t arg_logical_size) const { void *ptr = nullptr; auto error_code = cudaHostAlloc(&ptr, arg_alloc_size, cudaHostAllocDefault); @@ -260,24 +285,56 @@ void *CudaHostPinnedSpace::allocate(const size_t arg_alloc_size) const { Experimental::RawMemoryAllocationFailure::AllocationMechanism:: CudaHostAlloc); } - + if (Kokkos::Profiling::profileLibraryLoaded()) { + const size_t reported_size = + (arg_logical_size > 0) ? arg_logical_size : arg_alloc_size; + Kokkos::Profiling::allocateData( + Kokkos::Profiling::make_space_handle(name()), arg_label, ptr, + reported_size); + } return ptr; } // end allocate() }}}1 //============================================================================== - void CudaSpace::deallocate(void *const arg_alloc_ptr, - const size_t /* arg_alloc_size */) const { + const size_t arg_alloc_size) const { + deallocate("[unlabeled]", arg_alloc_ptr, arg_alloc_size); +} +void CudaSpace::deallocate(const char *arg_label, void *const arg_alloc_ptr, + const size_t arg_alloc_size, + const size_t arg_logical_size) const { + if (Kokkos::Profiling::profileLibraryLoaded()) { + const size_t reported_size = + (arg_logical_size > 0) ? arg_logical_size : arg_alloc_size; + Kokkos::Profiling::deallocateData( + Kokkos::Profiling::make_space_handle(name()), arg_label, arg_alloc_ptr, + reported_size); + } + try { CUDA_SAFE_CALL(cudaFree(arg_alloc_ptr)); } catch (...) { } } - void CudaUVMSpace::deallocate(void *const arg_alloc_ptr, - const size_t /* arg_alloc_size */) const { + const size_t arg_alloc_size) const { + deallocate("[unlabeled]", arg_alloc_ptr, arg_alloc_size); +} + +void CudaUVMSpace::deallocate(const char *arg_label, void *const arg_alloc_ptr, + const size_t arg_alloc_size + + , + const size_t arg_logical_size) const { Cuda::impl_static_fence(); + if (Kokkos::Profiling::profileLibraryLoaded()) { + const size_t reported_size = + (arg_logical_size > 0) ? arg_logical_size : arg_alloc_size; + Kokkos::Profiling::deallocateData( + Kokkos::Profiling::make_space_handle(name()), arg_label, arg_alloc_ptr, + reported_size); + } try { if (arg_alloc_ptr != nullptr) { Kokkos::Impl::num_uvm_allocations--; @@ -289,7 +346,21 @@ void CudaUVMSpace::deallocate(void *const arg_alloc_ptr, } void CudaHostPinnedSpace::deallocate(void *const arg_alloc_ptr, - const size_t /* arg_alloc_size */) const { + const size_t arg_alloc_size) const { + deallocate("[unlabeled]", arg_alloc_ptr, arg_alloc_size); +} + +void CudaHostPinnedSpace::deallocate(const char *arg_label, + void *const arg_alloc_ptr, + const size_t arg_alloc_size, + const size_t arg_logical_size) const { + if (Kokkos::Profiling::profileLibraryLoaded()) { + const size_t reported_size = + (arg_logical_size > 0) ? arg_logical_size : arg_alloc_size; + Kokkos::Profiling::deallocateData( + Kokkos::Profiling::make_space_handle(name()), arg_label, arg_alloc_ptr, + reported_size); + } try { CUDA_SAFE_CALL(cudaFreeHost(arg_alloc_ptr)); } catch (...) { @@ -321,7 +392,8 @@ SharedAllocationRecord::attach_texture_object( size_t const alloc_size) { enum { TEXTURE_BOUND_1D = 1u << 27 }; - if ((alloc_ptr == 0) || (sizeof_alias * TEXTURE_BOUND_1D <= alloc_size)) { + if ((alloc_ptr == nullptr) || + (sizeof_alias * TEXTURE_BOUND_1D <= alloc_size)) { std::ostringstream msg; msg << "Kokkos::CudaSpace ERROR: Cannot attach texture object to" << " alloc_ptr(" << alloc_ptr << ")" @@ -434,48 +506,36 @@ void SharedAllocationRecord::deallocate( // {{{1 SharedAllocationRecord::~SharedAllocationRecord() { -#if defined(KOKKOS_ENABLE_PROFILING) + const char *label = nullptr; if (Kokkos::Profiling::profileLibraryLoaded()) { SharedAllocationHeader header; - Kokkos::Impl::DeepCopy( + Kokkos::Impl::DeepCopy( &header, RecordBase::m_alloc_ptr, sizeof(SharedAllocationHeader)); - - Kokkos::Profiling::deallocateData( - Kokkos::Profiling::SpaceHandle(Kokkos::CudaSpace::name()), - header.m_label, data(), size()); + label = header.label(); } -#endif - - m_space.deallocate(SharedAllocationRecord::m_alloc_ptr, - SharedAllocationRecord::m_alloc_size); + auto alloc_size = SharedAllocationRecord::m_alloc_size; + m_space.deallocate(label, SharedAllocationRecord::m_alloc_ptr, + alloc_size, (alloc_size - sizeof(SharedAllocationHeader))); } SharedAllocationRecord::~SharedAllocationRecord() { -#if defined(KOKKOS_ENABLE_PROFILING) + const char *label = nullptr; if (Kokkos::Profiling::profileLibraryLoaded()) { - Cuda::impl_static_fence(); // Make sure I can access the label ... - Kokkos::Profiling::deallocateData( - Kokkos::Profiling::SpaceHandle(Kokkos::CudaUVMSpace::name()), - RecordBase::m_alloc_ptr->m_label, data(), size()); + label = RecordBase::m_alloc_ptr->m_label; } -#endif - - m_space.deallocate(SharedAllocationRecord::m_alloc_ptr, - SharedAllocationRecord::m_alloc_size); + m_space.deallocate(label, SharedAllocationRecord::m_alloc_ptr, + SharedAllocationRecord::m_alloc_size, + (SharedAllocationRecord::m_alloc_size - + sizeof(SharedAllocationHeader))); } SharedAllocationRecord::~SharedAllocationRecord() { -#if defined(KOKKOS_ENABLE_PROFILING) - if (Kokkos::Profiling::profileLibraryLoaded()) { - Kokkos::Profiling::deallocateData( - Kokkos::Profiling::SpaceHandle(Kokkos::CudaHostPinnedSpace::name()), - RecordBase::m_alloc_ptr->m_label, data(), size()); - } -#endif - - m_space.deallocate(SharedAllocationRecord::m_alloc_ptr, - SharedAllocationRecord::m_alloc_size); + m_space.deallocate(RecordBase::m_alloc_ptr->m_label, + SharedAllocationRecord::m_alloc_ptr, + SharedAllocationRecord::m_alloc_size, + (SharedAllocationRecord::m_alloc_size - + sizeof(SharedAllocationHeader))); } // end SharedAllocationRecord destructors }}}1 @@ -499,13 +559,6 @@ SharedAllocationRecord::SharedAllocationRecord( sizeof(SharedAllocationHeader) + arg_alloc_size, arg_dealloc), m_tex_obj(0), m_space(arg_space) { -#if defined(KOKKOS_ENABLE_PROFILING) - if (Kokkos::Profiling::profileLibraryLoaded()) { - Kokkos::Profiling::allocateData( - Kokkos::Profiling::SpaceHandle(arg_space.name()), arg_label, data(), - arg_alloc_size); - } -#endif SharedAllocationHeader header; @@ -537,13 +590,6 @@ SharedAllocationRecord::SharedAllocationRecord( sizeof(SharedAllocationHeader) + arg_alloc_size, arg_dealloc), m_tex_obj(0), m_space(arg_space) { -#if defined(KOKKOS_ENABLE_PROFILING) - if (Kokkos::Profiling::profileLibraryLoaded()) { - Kokkos::Profiling::allocateData( - Kokkos::Profiling::SpaceHandle(arg_space.name()), arg_label, data(), - arg_alloc_size); - } -#endif // Fill in the Header information, directly accessible via UVM RecordBase::m_alloc_ptr->m_record = this; @@ -572,13 +618,6 @@ SharedAllocationRecord:: arg_alloc_size), sizeof(SharedAllocationHeader) + arg_alloc_size, arg_dealloc), m_space(arg_space) { -#if defined(KOKKOS_ENABLE_PROFILING) - if (Kokkos::Profiling::profileLibraryLoaded()) { - Kokkos::Profiling::allocateData( - Kokkos::Profiling::SpaceHandle(arg_space.name()), arg_label, data(), - arg_alloc_size); - } -#endif // Fill in the Header information, directly accessible on the host RecordBase::m_alloc_ptr->m_record = this; @@ -599,7 +638,7 @@ SharedAllocationRecord:: void *SharedAllocationRecord::allocate_tracked( const Kokkos::CudaSpace &arg_space, const std::string &arg_alloc_label, const size_t arg_alloc_size) { - if (!arg_alloc_size) return (void *)0; + if (!arg_alloc_size) return nullptr; SharedAllocationRecord *const r = allocate(arg_space, arg_alloc_label, arg_alloc_size); @@ -611,7 +650,7 @@ void *SharedAllocationRecord::allocate_tracked( void SharedAllocationRecord::deallocate_tracked( void *const arg_alloc_ptr) { - if (arg_alloc_ptr != 0) { + if (arg_alloc_ptr != nullptr) { SharedAllocationRecord *const r = get_record(arg_alloc_ptr); RecordBase::decrement(r); @@ -636,7 +675,7 @@ void *SharedAllocationRecord::reallocate_tracked( void *SharedAllocationRecord::allocate_tracked( const Kokkos::CudaUVMSpace &arg_space, const std::string &arg_alloc_label, const size_t arg_alloc_size) { - if (!arg_alloc_size) return (void *)0; + if (!arg_alloc_size) return nullptr; SharedAllocationRecord *const r = allocate(arg_space, arg_alloc_label, arg_alloc_size); @@ -648,7 +687,7 @@ void *SharedAllocationRecord::allocate_tracked( void SharedAllocationRecord::deallocate_tracked( void *const arg_alloc_ptr) { - if (arg_alloc_ptr != 0) { + if (arg_alloc_ptr != nullptr) { SharedAllocationRecord *const r = get_record(arg_alloc_ptr); RecordBase::decrement(r); @@ -674,7 +713,7 @@ void * SharedAllocationRecord::allocate_tracked( const Kokkos::CudaHostPinnedSpace &arg_space, const std::string &arg_alloc_label, const size_t arg_alloc_size) { - if (!arg_alloc_size) return (void *)0; + if (!arg_alloc_size) return nullptr; SharedAllocationRecord *const r = allocate(arg_space, arg_alloc_label, arg_alloc_size); @@ -687,7 +726,7 @@ SharedAllocationRecord::allocate_tracked( void SharedAllocationRecord::deallocate_tracked(void *const arg_alloc_ptr) { - if (arg_alloc_ptr != 0) { + if (arg_alloc_ptr != nullptr) { SharedAllocationRecord *const r = get_record(arg_alloc_ptr); RecordBase::decrement(r); @@ -726,7 +765,7 @@ SharedAllocationRecord::get_record(void *alloc_ptr) { Header head; Header const *const head_cuda = - alloc_ptr ? Header::get_header(alloc_ptr) : (Header *)0; + alloc_ptr ? Header::get_header(alloc_ptr) : nullptr; if (alloc_ptr) { Kokkos::Impl::DeepCopy( @@ -734,7 +773,7 @@ SharedAllocationRecord::get_record(void *alloc_ptr) { } RecordCuda *const record = - alloc_ptr ? static_cast(head.m_record) : (RecordCuda *)0; + alloc_ptr ? static_cast(head.m_record) : nullptr; if (!alloc_ptr || record->m_alloc_ptr != head_cuda) { Kokkos::Impl::throw_runtime_exception( @@ -751,7 +790,7 @@ SharedAllocationRecord *SharedAllocationRecord< using RecordCuda = SharedAllocationRecord; Header *const h = - alloc_ptr ? reinterpret_cast
    (alloc_ptr) - 1 : (Header *)0; + alloc_ptr ? reinterpret_cast
    (alloc_ptr) - 1 : nullptr; if (!alloc_ptr || h->m_record->m_alloc_ptr != h) { Kokkos::Impl::throw_runtime_exception( @@ -769,7 +808,7 @@ SharedAllocationRecord using RecordCuda = SharedAllocationRecord; Header *const h = - alloc_ptr ? reinterpret_cast
    (alloc_ptr) - 1 : (Header *)0; + alloc_ptr ? reinterpret_cast
    (alloc_ptr) - 1 : nullptr; if (!alloc_ptr || h->m_record->m_alloc_ptr != h) { Kokkos::Impl::throw_runtime_exception( diff --git a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_BlockSize_Deduction.hpp b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_BlockSize_Deduction.hpp index 34b681be15cd5ebc15f19c3793b866839875b84b..5a143fd26788424e548cbc50c461c46df60d696f 100644 --- a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_BlockSize_Deduction.hpp +++ b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_BlockSize_Deduction.hpp @@ -48,319 +48,128 @@ #include #ifdef KOKKOS_ENABLE_CUDA -#include #include namespace Kokkos { namespace Impl { -template -struct CudaGetMaxBlockSize; +inline int cuda_max_active_blocks_per_sm(cudaDeviceProp const& properties, + cudaFuncAttributes const& attributes, + int block_size, size_t dynamic_shmem) { + // Limits due do registers/SM + int const regs_per_sm = properties.regsPerMultiprocessor; + int const regs_per_thread = attributes.numRegs; + int const max_blocks_regs = regs_per_sm / (regs_per_thread * block_size); + + // Limits due to shared memory/SM + size_t const shmem_per_sm = properties.sharedMemPerMultiprocessor; + size_t const shmem_per_block = properties.sharedMemPerBlock; + size_t const static_shmem = attributes.sharedSizeBytes; + size_t const dynamic_shmem_per_block = attributes.maxDynamicSharedSizeBytes; + size_t const total_shmem = static_shmem + dynamic_shmem; + + int const max_blocks_shmem = + total_shmem > shmem_per_block || dynamic_shmem > dynamic_shmem_per_block + ? 0 + : (total_shmem > 0 ? (int)shmem_per_sm / total_shmem + : max_blocks_regs); + + // Limits due to blocks/SM +#if CUDA_VERSION >= 11000 + int const max_blocks_per_sm = properties.maxBlocksPerMultiProcessor; +#else + int const max_blocks_per_sm = [&properties]() { + switch (properties.major) { + case 3: return 16; + case 5: + case 6: return 32; + case 7: { + int isTuring = properties.minor == 5; + return (isTuring) ? 16 : 32; + } + default: + throw_runtime_exception("Unknown device in cuda block size deduction"); + return 0; + } + }(); +#endif -template -int cuda_get_max_block_size(const typename DriverType::functor_type& f, - const size_t vector_length, - const size_t shmem_extra_block, - const size_t shmem_extra_thread) { - return CudaGetMaxBlockSize::get_block_size( - f, vector_length, shmem_extra_block, shmem_extra_thread); + // Overall occupancy in blocks + return std::min({max_blocks_regs, max_blocks_shmem, max_blocks_per_sm}); } -template -int cuda_get_max_block_size(const CudaInternal* cuda_instance, - const cudaFuncAttributes& attr, - const FunctorType& f, const size_t vector_length, - const size_t shmem_block, - const size_t shmem_thread) { - const int min_blocks_per_sm = +template +inline int cuda_deduce_block_size(bool early_termination, + cudaDeviceProp const& properties, + cudaFuncAttributes const& attributes, + UnaryFunction block_size_to_dynamic_shmem, + LaunchBounds) { + // Limits + int const max_threads_per_sm = properties.maxThreadsPerMultiProcessor; + // unsure if I need to do that or if this is already accounted for in the + // functor attributes + int const max_threads_per_block = + std::min(LaunchBounds::maxTperB == 0 ? (int)properties.maxThreadsPerBlock + : (int)LaunchBounds::maxTperB, + attributes.maxThreadsPerBlock); + int const min_blocks_per_sm = LaunchBounds::minBperSM == 0 ? 1 : LaunchBounds::minBperSM; - const int max_threads_per_block = LaunchBounds::maxTperB == 0 - ? cuda_instance->m_maxThreadsPerBlock - : LaunchBounds::maxTperB; - const int regs_per_thread = attr.numRegs; - const int regs_per_sm = cuda_instance->m_regsPerSM; - const int shmem_per_sm = cuda_instance->m_shmemPerSM; - const int max_shmem_per_block = cuda_instance->m_maxShmemPerBlock; - const int max_blocks_per_sm = cuda_instance->m_maxBlocksPerSM; - const int max_threads_per_sm = cuda_instance->m_maxThreadsPerSM; + // Recorded maximum + int opt_block_size = 0; + int opt_threads_per_sm = 0; - int block_size = std::min(attr.maxThreadsPerBlock, max_threads_per_block); + for (int block_size = max_threads_per_block; block_size > 0; + block_size -= 32) { + size_t const dynamic_shmem = block_size_to_dynamic_shmem(block_size); + + int blocks_per_sm = cuda_max_active_blocks_per_sm( + properties, attributes, block_size, dynamic_shmem); + + int threads_per_sm = blocks_per_sm * block_size; - int functor_shmem = - FunctorTeamShmemSize::value(f, block_size / vector_length); - int total_shmem = shmem_block + shmem_thread * (block_size / vector_length) + - functor_shmem + attr.sharedSizeBytes; - int max_blocks_regs = regs_per_sm / (regs_per_thread * block_size); - int max_blocks_shmem = - (total_shmem < max_shmem_per_block) - ? (total_shmem > 0 ? shmem_per_sm / total_shmem : max_blocks_regs) - : 0; - int blocks_per_sm = std::min(max_blocks_regs, max_blocks_shmem); - int threads_per_sm = blocks_per_sm * block_size; - if (threads_per_sm > max_threads_per_sm) { - blocks_per_sm = max_threads_per_sm / block_size; - threads_per_sm = blocks_per_sm * block_size; - } - int opt_block_size = (blocks_per_sm >= min_blocks_per_sm) ? block_size : 0; - int opt_threads_per_sm = threads_per_sm; - // printf("BlockSizeMax: %i Shmem: %i %i %i %i Regs: %i %i Blocks: %i %i - // Achieved: %i %i Opt: %i %i\n",block_size, - // shmem_per_sm,max_shmem_per_block,functor_shmem,total_shmem, - // regs_per_sm,regs_per_thread,max_blocks_shmem,max_blocks_regs,blocks_per_sm,threads_per_sm,opt_block_size,opt_threads_per_sm); - block_size -= 32; - while ((blocks_per_sm == 0) && (block_size >= 32)) { - functor_shmem = - FunctorTeamShmemSize::value(f, block_size / vector_length); - total_shmem = shmem_block + shmem_thread * (block_size / vector_length) + - functor_shmem + attr.sharedSizeBytes; - max_blocks_regs = regs_per_sm / (regs_per_thread * block_size); - max_blocks_shmem = - (total_shmem < max_shmem_per_block) - ? (total_shmem > 0 ? shmem_per_sm / total_shmem : max_blocks_regs) - : 0; - blocks_per_sm = std::min(max_blocks_regs, max_blocks_shmem); - threads_per_sm = blocks_per_sm * block_size; if (threads_per_sm > max_threads_per_sm) { blocks_per_sm = max_threads_per_sm / block_size; threads_per_sm = blocks_per_sm * block_size; } - if ((blocks_per_sm >= min_blocks_per_sm) && - (blocks_per_sm <= max_blocks_per_sm)) { + + if (blocks_per_sm >= min_blocks_per_sm) { if (threads_per_sm >= opt_threads_per_sm) { opt_block_size = block_size; opt_threads_per_sm = threads_per_sm; } } - // printf("BlockSizeMax: %i Shmem: %i %i %i %i Regs: %i %i Blocks: %i %i - // Achieved: %i %i Opt: %i %i\n",block_size, - // shmem_per_sm,max_shmem_per_block,functor_shmem,total_shmem, - // regs_per_sm,regs_per_thread,max_blocks_shmem,max_blocks_regs,blocks_per_sm,threads_per_sm,opt_block_size,opt_threads_per_sm); - block_size -= 32; - } - return opt_block_size; -} - -template -struct CudaGetMaxBlockSize, true> { - static int get_block_size(const typename DriverType::functor_type& f, - const size_t vector_length, - const size_t shmem_extra_block, - const size_t shmem_extra_thread) { - int numBlocks; - int blockSize = 1024; - int sharedmem = - shmem_extra_block + shmem_extra_thread * (blockSize / vector_length) + - FunctorTeamShmemSize::value( - f, blockSize / vector_length); - cudaOccupancyMaxActiveBlocksPerMultiprocessor( - &numBlocks, cuda_parallel_launch_constant_memory, blockSize, - sharedmem); - - if (numBlocks > 0) return blockSize; - while (blockSize > 32 && numBlocks == 0) { - blockSize /= 2; - sharedmem = - shmem_extra_block + shmem_extra_thread * (blockSize / vector_length) + - FunctorTeamShmemSize::value( - f, blockSize / vector_length); - - cudaOccupancyMaxActiveBlocksPerMultiprocessor( - &numBlocks, cuda_parallel_launch_constant_memory, - blockSize, sharedmem); - } - int blockSizeUpperBound = blockSize * 2; - while (blockSize < blockSizeUpperBound && numBlocks > 0) { - blockSize += 32; - sharedmem = - shmem_extra_block + shmem_extra_thread * (blockSize / vector_length) + - FunctorTeamShmemSize::value( - f, blockSize / vector_length); - - cudaOccupancyMaxActiveBlocksPerMultiprocessor( - &numBlocks, cuda_parallel_launch_constant_memory, - blockSize, sharedmem); - } - return blockSize - 32; - } -}; - -template -struct CudaGetMaxBlockSize, false> { - static int get_block_size(const typename DriverType::functor_type& f, - const size_t vector_length, - const size_t shmem_extra_block, - const size_t shmem_extra_thread) { - int numBlocks; - - unsigned int blockSize = 1024; - unsigned int sharedmem = - shmem_extra_block + shmem_extra_thread * (blockSize / vector_length) + - FunctorTeamShmemSize::value( - f, blockSize / vector_length); - cudaOccupancyMaxActiveBlocksPerMultiprocessor( - &numBlocks, cuda_parallel_launch_local_memory, blockSize, - sharedmem); - - if (numBlocks > 0) return blockSize; - while (blockSize > 32 && numBlocks == 0) { - blockSize /= 2; - sharedmem = - shmem_extra_block + shmem_extra_thread * (blockSize / vector_length) + - FunctorTeamShmemSize::value( - f, blockSize / vector_length); - - cudaOccupancyMaxActiveBlocksPerMultiprocessor( - &numBlocks, cuda_parallel_launch_local_memory, blockSize, - sharedmem); - } - unsigned int blockSizeUpperBound = blockSize * 2; - while (blockSize < blockSizeUpperBound && numBlocks > 0) { - blockSize += 32; - sharedmem = - shmem_extra_block + shmem_extra_thread * (blockSize / vector_length) + - FunctorTeamShmemSize::value( - f, blockSize / vector_length); - cudaOccupancyMaxActiveBlocksPerMultiprocessor( - &numBlocks, cuda_parallel_launch_local_memory, blockSize, - sharedmem); - } - return blockSize - 32; + if (early_termination && blocks_per_sm != 0) break; } -}; - -template -struct CudaGetMaxBlockSize< - DriverType, Kokkos::LaunchBounds, - true> { - static int get_block_size(const typename DriverType::functor_type& f, - const size_t vector_length, - const size_t shmem_extra_block, - const size_t shmem_extra_thread) { - int numBlocks = 0, oldNumBlocks = 0; - unsigned int blockSize = MaxThreadsPerBlock; - unsigned int sharedmem = - shmem_extra_block + shmem_extra_thread * (blockSize / vector_length) + - FunctorTeamShmemSize::value( - f, blockSize / vector_length); - cudaOccupancyMaxActiveBlocksPerMultiprocessor( - &numBlocks, - cuda_parallel_launch_constant_memory, - blockSize, sharedmem); - if (static_cast(numBlocks) >= MinBlocksPerSM) - return blockSize; + return opt_block_size; +} - while (blockSize > 32 && - static_cast(numBlocks) < MinBlocksPerSM) { - blockSize /= 2; - sharedmem = - shmem_extra_block + shmem_extra_thread * (blockSize / vector_length) + - FunctorTeamShmemSize::value( - f, blockSize / vector_length); +template +int cuda_get_max_block_size(const CudaInternal* cuda_instance, + const cudaFuncAttributes& attr, + const FunctorType& f, const size_t vector_length, + const size_t shmem_block, + const size_t shmem_thread) { + (void)cuda_instance; - cudaOccupancyMaxActiveBlocksPerMultiprocessor( - &numBlocks, cuda_parallel_launch_constant_memory, - blockSize, sharedmem); - } - unsigned int blockSizeUpperBound = - (blockSize * 2 < MaxThreadsPerBlock ? blockSize * 2 - : MaxThreadsPerBlock); - while (blockSize(numBlocks)> - MinBlocksPerSM) { - blockSize += 32; - sharedmem = - shmem_extra_block + shmem_extra_thread * (blockSize / vector_length) + - FunctorTeamShmemSize::value( - f, blockSize / vector_length); - oldNumBlocks = numBlocks; - cudaOccupancyMaxActiveBlocksPerMultiprocessor( - &numBlocks, cuda_parallel_launch_constant_memory, - blockSize, sharedmem); - } - if (static_cast(oldNumBlocks) >= MinBlocksPerSM) - return blockSize - 32; - return -1; - } -}; + auto const& prop = Kokkos::Cuda().cuda_device_prop(); -template -struct CudaGetMaxBlockSize< - DriverType, Kokkos::LaunchBounds, - false> { - static int get_block_size(const typename DriverType::functor_type& f, - const size_t vector_length, - const size_t shmem_extra_block, - const size_t shmem_extra_thread) { - int numBlocks = 0, oldNumBlocks = 0; - unsigned int blockSize = MaxThreadsPerBlock; - int sharedmem = - shmem_extra_block + shmem_extra_thread * (blockSize / vector_length) + - FunctorTeamShmemSize::value( - f, blockSize / vector_length); - cudaOccupancyMaxActiveBlocksPerMultiprocessor( - &numBlocks, - cuda_parallel_launch_local_memory, - blockSize, sharedmem); - if (static_cast(numBlocks) >= MinBlocksPerSM) - return blockSize; + auto const block_size_to_dynamic_shmem = [&f, vector_length, shmem_block, + shmem_thread](int block_size) { + size_t const functor_shmem = + Kokkos::Impl::FunctorTeamShmemSize::value( + f, block_size / vector_length); - while (blockSize > 32 && - static_cast(numBlocks) < MinBlocksPerSM) { - blockSize /= 2; - sharedmem = - shmem_extra_block + shmem_extra_thread * (blockSize / vector_length) + - FunctorTeamShmemSize::value( - f, blockSize / vector_length); + size_t const dynamic_shmem = shmem_block + + shmem_thread * (block_size / vector_length) + + functor_shmem; + return dynamic_shmem; + }; - cudaOccupancyMaxActiveBlocksPerMultiprocessor( - &numBlocks, cuda_parallel_launch_local_memory, blockSize, - sharedmem); - } - unsigned int blockSizeUpperBound = - (blockSize * 2 < MaxThreadsPerBlock ? blockSize * 2 - : MaxThreadsPerBlock); - while (blockSize < blockSizeUpperBound && - static_cast(numBlocks) >= MinBlocksPerSM) { - blockSize += 32; - sharedmem = - shmem_extra_block + shmem_extra_thread * (blockSize / vector_length) + - FunctorTeamShmemSize::value( - f, blockSize / vector_length); - oldNumBlocks = numBlocks; - cudaOccupancyMaxActiveBlocksPerMultiprocessor( - &numBlocks, cuda_parallel_launch_local_memory, blockSize, - sharedmem); - } - if (static_cast(oldNumBlocks) >= MinBlocksPerSM) - return blockSize - 32; - return -1; - } -}; - -template -struct CudaGetOptBlockSize; - -template -int cuda_get_opt_block_size(const typename DriverType::functor_type& f, - const size_t vector_length, - const size_t shmem_extra_block, - const size_t shmem_extra_thread) { - return CudaGetOptBlockSize< - DriverType, LaunchBounds, - // LaunchBounds::launch_mechanism == Kokkos::Experimental::LaunchDefault ? - // (( CudaTraits::ConstantMemoryUseThreshold < - // sizeof(DriverType) )? - // Kokkos::Experimental::CudaLaunchConstantMemory:Kokkos::Experimental::CudaLaunchLocalMemory): - // LaunchBounds::launch_mechanism - (CudaTraits::ConstantMemoryUseThreshold < - sizeof(DriverType))>::get_block_size(f, vector_length, shmem_extra_block, - shmem_extra_thread); + return cuda_deduce_block_size(true, prop, attr, block_size_to_dynamic_shmem, + LaunchBounds{}); } template @@ -369,221 +178,26 @@ int cuda_get_opt_block_size(const CudaInternal* cuda_instance, const FunctorType& f, const size_t vector_length, const size_t shmem_block, const size_t shmem_thread) { - const int min_blocks_per_sm = - LaunchBounds::minBperSM == 0 ? 1 : LaunchBounds::minBperSM; - const int max_threads_per_block = LaunchBounds::maxTperB == 0 - ? cuda_instance->m_maxThreadsPerBlock - : LaunchBounds::maxTperB; + (void)cuda_instance; - const int regs_per_thread = attr.numRegs; - const int regs_per_sm = cuda_instance->m_regsPerSM; - const int shmem_per_sm = cuda_instance->m_shmemPerSM; - const int max_shmem_per_block = cuda_instance->m_maxShmemPerBlock; - const int max_blocks_per_sm = cuda_instance->m_maxBlocksPerSM; - const int max_threads_per_sm = cuda_instance->m_maxThreadsPerSM; + auto const& prop = Kokkos::Cuda().cuda_device_prop(); - int block_size = std::min(attr.maxThreadsPerBlock, max_threads_per_block); + auto const block_size_to_dynamic_shmem = [&f, vector_length, shmem_block, + shmem_thread](int block_size) { + size_t const functor_shmem = + Kokkos::Impl::FunctorTeamShmemSize::value( + f, block_size / vector_length); - int functor_shmem = - FunctorTeamShmemSize::value(f, block_size / vector_length); - int total_shmem = shmem_block + shmem_thread * (block_size / vector_length) + - functor_shmem + attr.sharedSizeBytes; - int max_blocks_regs = regs_per_sm / (regs_per_thread * block_size); - int max_blocks_shmem = - (total_shmem < max_shmem_per_block) - ? (total_shmem > 0 ? shmem_per_sm / total_shmem : max_blocks_regs) - : 0; - int blocks_per_sm = std::min(max_blocks_regs, max_blocks_shmem); - int threads_per_sm = blocks_per_sm * block_size; - if (threads_per_sm > max_threads_per_sm) { - blocks_per_sm = max_threads_per_sm / block_size; - threads_per_sm = blocks_per_sm * block_size; - } - int opt_block_size = (blocks_per_sm >= min_blocks_per_sm) ? block_size : 0; - int opt_threads_per_sm = threads_per_sm; + size_t const dynamic_shmem = shmem_block + + shmem_thread * (block_size / vector_length) + + functor_shmem; + return dynamic_shmem; + }; - block_size -= 32; - while ((block_size >= 32)) { - functor_shmem = - FunctorTeamShmemSize::value(f, block_size / vector_length); - total_shmem = shmem_block + shmem_thread * (block_size / vector_length) + - functor_shmem + attr.sharedSizeBytes; - max_blocks_regs = regs_per_sm / (regs_per_thread * block_size); - max_blocks_shmem = - (total_shmem < max_shmem_per_block) - ? (total_shmem > 0 ? shmem_per_sm / total_shmem : max_blocks_regs) - : 0; - blocks_per_sm = std::min(max_blocks_regs, max_blocks_shmem); - threads_per_sm = blocks_per_sm * block_size; - if (threads_per_sm > max_threads_per_sm) { - blocks_per_sm = max_threads_per_sm / block_size; - threads_per_sm = blocks_per_sm * block_size; - } - if ((blocks_per_sm >= min_blocks_per_sm) && - (blocks_per_sm <= max_blocks_per_sm)) { - if (threads_per_sm >= opt_threads_per_sm) { - opt_block_size = block_size; - opt_threads_per_sm = threads_per_sm; - } - } - block_size -= 32; - } - return opt_block_size; + return cuda_deduce_block_size(false, prop, attr, block_size_to_dynamic_shmem, + LaunchBounds{}); } -template -struct CudaGetOptBlockSize, true> { - static int get_block_size(const typename DriverType::functor_type& f, - const size_t vector_length, - const size_t shmem_extra_block, - const size_t shmem_extra_thread) { - int blockSize = 16; - int numBlocks; - int sharedmem; - int maxOccupancy = 0; - int bestBlockSize = 0; - - while (blockSize < 1024) { - blockSize *= 2; - - // calculate the occupancy with that optBlockSize and check whether its - // larger than the largest one found so far - sharedmem = - shmem_extra_block + shmem_extra_thread * (blockSize / vector_length) + - FunctorTeamShmemSize::value( - f, blockSize / vector_length); - cudaOccupancyMaxActiveBlocksPerMultiprocessor( - &numBlocks, cuda_parallel_launch_constant_memory, - blockSize, sharedmem); - if (maxOccupancy < numBlocks * blockSize) { - maxOccupancy = numBlocks * blockSize; - bestBlockSize = blockSize; - } - } - return bestBlockSize; - } -}; - -template -struct CudaGetOptBlockSize, false> { - static int get_block_size(const typename DriverType::functor_type& f, - const size_t vector_length, - const size_t shmem_extra_block, - const size_t shmem_extra_thread) { - int blockSize = 16; - int numBlocks; - int sharedmem; - int maxOccupancy = 0; - int bestBlockSize = 0; - - while (blockSize < 1024) { - blockSize *= 2; - sharedmem = - shmem_extra_block + shmem_extra_thread * (blockSize / vector_length) + - FunctorTeamShmemSize::value( - f, blockSize / vector_length); - - cudaOccupancyMaxActiveBlocksPerMultiprocessor( - &numBlocks, cuda_parallel_launch_local_memory, blockSize, - sharedmem); - - if (maxOccupancy < numBlocks * blockSize) { - maxOccupancy = numBlocks * blockSize; - bestBlockSize = blockSize; - } - } - return bestBlockSize; - } -}; - -template -struct CudaGetOptBlockSize< - DriverType, Kokkos::LaunchBounds, - true> { - static int get_block_size(const typename DriverType::functor_type& f, - const size_t vector_length, - const size_t shmem_extra_block, - const size_t shmem_extra_thread) { - int blockSize = 16; - int numBlocks; - int sharedmem; - int maxOccupancy = 0; - int bestBlockSize = 0; - int max_threads_per_block = - std::min(MaxThreadsPerBlock, - cuda_internal_maximum_warp_count() * CudaTraits::WarpSize); - - while (blockSize < max_threads_per_block) { - blockSize *= 2; - - // calculate the occupancy with that optBlockSize and check whether its - // larger than the largest one found so far - sharedmem = - shmem_extra_block + shmem_extra_thread * (blockSize / vector_length) + - FunctorTeamShmemSize::value( - f, blockSize / vector_length); - cudaOccupancyMaxActiveBlocksPerMultiprocessor( - &numBlocks, - cuda_parallel_launch_constant_memory, - blockSize, sharedmem); - if (numBlocks >= int(MinBlocksPerSM) && - blockSize <= int(MaxThreadsPerBlock)) { - if (maxOccupancy < numBlocks * blockSize) { - maxOccupancy = numBlocks * blockSize; - bestBlockSize = blockSize; - } - } - } - if (maxOccupancy > 0) return bestBlockSize; - return -1; - } -}; - -template -struct CudaGetOptBlockSize< - DriverType, Kokkos::LaunchBounds, - false> { - static int get_block_size(const typename DriverType::functor_type& f, - const size_t vector_length, - const size_t shmem_extra_block, - const size_t shmem_extra_thread) { - int blockSize = 16; - int numBlocks; - int sharedmem; - int maxOccupancy = 0; - int bestBlockSize = 0; - int max_threads_per_block = - std::min(MaxThreadsPerBlock, - cuda_internal_maximum_warp_count() * CudaTraits::WarpSize); - - while (blockSize < max_threads_per_block) { - blockSize *= 2; - sharedmem = - shmem_extra_block + shmem_extra_thread * (blockSize / vector_length) + - FunctorTeamShmemSize::value( - f, blockSize / vector_length); - - cudaOccupancyMaxActiveBlocksPerMultiprocessor( - &numBlocks, - cuda_parallel_launch_local_memory, - blockSize, sharedmem); - if (numBlocks >= int(MinBlocksPerSM) && - blockSize <= int(MaxThreadsPerBlock)) { - if (maxOccupancy < numBlocks * blockSize) { - maxOccupancy = numBlocks * blockSize; - bestBlockSize = blockSize; - } - } - } - if (maxOccupancy > 0) return bestBlockSize; - return -1; - } -}; - } // namespace Impl } // namespace Kokkos diff --git a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Error.hpp b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Error.hpp index 01e60315ee0b7c2d8e06c618e44a521a3fc902ac..4759001d81f99afc0a1e2aa6cf64462d9e7fcdc9 100644 --- a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Error.hpp +++ b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Error.hpp @@ -50,7 +50,7 @@ #include -#include +#include namespace Kokkos { namespace Impl { @@ -113,12 +113,7 @@ class CudaRawMemoryAllocationFailure : public RawMemoryAllocationFailure { get_failure_mode(arg_error_code), arg_mechanism), m_error_code(arg_error_code) {} - void append_additional_error_information(std::ostream& o) const override { - if (m_error_code != cudaSuccess) { - o << " The Cuda allocation returned the error code \"\"" - << cudaGetErrorName(m_error_code) << "\"."; - } - } + void append_additional_error_information(std::ostream& o) const override; }; } // end namespace Experimental diff --git a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Instance.cpp b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Instance.cpp index 37d0ffb687e40930e9599a169297efcaf81fb465..e4bb7d3c52836be1898aae6e861c343f574faaa3 100644 --- a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Instance.cpp +++ b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Instance.cpp @@ -55,7 +55,7 @@ #include #include #include -#include +#include /*--------------------------------------------------------------------------*/ /* Standard 'C' libraries */ @@ -134,7 +134,7 @@ bool cuda_launch_blocking() { if (env == 0) return false; - return atoi(env); + return std::stoi(env); } #endif @@ -239,8 +239,9 @@ const CudaInternalDevices &CudaInternalDevices::singleton() { } // namespace -int CudaInternal::was_initialized = 0; -int CudaInternal::was_finalized = 0; +unsigned long *CudaInternal::constantMemHostStaging = nullptr; +cudaEvent_t CudaInternal::constantMemReusable = nullptr; + //---------------------------------------------------------------------------- void CudaInternal::print_configuration(std::ostream &s) const { @@ -288,11 +289,11 @@ CudaInternal::~CudaInternal() { m_scratchUnifiedCount = 0; m_scratchUnifiedSupported = 0; m_streamCount = 0; - m_scratchSpace = 0; - m_scratchFlags = 0; - m_scratchUnified = 0; - m_scratchConcurrentBitset = 0; - m_stream = 0; + m_scratchSpace = nullptr; + m_scratchFlags = nullptr; + m_scratchUnified = nullptr; + m_scratchConcurrentBitset = nullptr; + m_stream = nullptr; } int CudaInternal::verify_is_initialized(const char *const label) const { @@ -307,22 +308,20 @@ CudaInternal &CudaInternal::singleton() { static CudaInternal self; return self; } -void CudaInternal::fence() const { cudaStreamSynchronize(m_stream); } +void CudaInternal::fence() const { + CUDA_SAFE_CALL(cudaStreamSynchronize(m_stream)); +} void CudaInternal::initialize(int cuda_device_id, cudaStream_t stream) { if (was_finalized) Kokkos::abort("Calling Cuda::initialize after Cuda::finalize is illegal\n"); - was_initialized = 1; + was_initialized = true; if (is_initialized()) return; enum { WordSize = sizeof(size_type) }; #ifndef KOKKOS_IMPL_TURN_OFF_CUDA_HOST_INIT_CHECK -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - if (!HostSpace::execution_space::is_initialized()) { -#else if (!HostSpace::execution_space::impl_is_initialized()) { -#endif const std::string msg( "Cuda::initialize ERROR : HostSpace::execution_space is not " "initialized"); @@ -332,7 +331,7 @@ void CudaInternal::initialize(int cuda_device_id, cudaStream_t stream) { const CudaInternalDevices &dev_info = CudaInternalDevices::singleton(); - const bool ok_init = 0 == m_scratchSpace || 0 == m_scratchFlags; + const bool ok_init = nullptr == m_scratchSpace || nullptr == m_scratchFlags; const bool ok_id = 0 <= cuda_device_id && cuda_device_id < dev_info.m_cudaDevCount; @@ -366,7 +365,7 @@ void CudaInternal::initialize(int cuda_device_id, cudaStream_t stream) { int compiled_major = m_cudaArch / 100; int compiled_minor = (m_cudaArch % 100) / 10; - if (compiled_major != cudaProp.major || compiled_minor < cudaProp.minor) { + if (compiled_major != cudaProp.major || compiled_minor > cudaProp.minor) { std::stringstream ss; ss << "Kokkos::Cuda::initialize ERROR: running kernels compiled for " "compute capability " @@ -453,8 +452,8 @@ void CudaInternal::initialize(int cuda_device_id, cudaStream_t stream) { // Allocate and initialize uint32_t[ buffer_bound ] - typedef Kokkos::Impl::SharedAllocationRecord - Record; + using Record = + Kokkos::Impl::SharedAllocationRecord; Record *const r = Record::allocate(Kokkos::CudaSpace(), "InternalScratchBitset", @@ -511,7 +510,7 @@ void CudaInternal::initialize(int cuda_device_id, cudaStream_t stream) { if (env_force_device_alloc == 0) force_device_alloc = false; else - force_device_alloc = atoi(env_force_device_alloc) != 0; + force_device_alloc = std::stoi(env_force_device_alloc) != 0; const char *env_visible_devices = getenv("CUDA_VISIBLE_DEVICES"); bool visible_devices_one = true; @@ -542,14 +541,23 @@ void CudaInternal::initialize(int cuda_device_id, cudaStream_t stream) { #endif // Init the array for used for arbitrarily sized atomics - if (stream == 0) Impl::initialize_host_cuda_lock_arrays(); + if (stream == nullptr) Impl::initialize_host_cuda_lock_arrays(); + + // Allocate a staging buffer for constant mem in pinned host memory + // and an event to avoid overwriting driver for previous kernel launches + if (stream == nullptr) { + CUDA_SAFE_CALL(cudaMallocHost((void **)&constantMemHostStaging, + CudaTraits::ConstantMemoryUsage)); + + CUDA_SAFE_CALL(cudaEventCreate(&constantMemReusable)); + } m_stream = stream; } //---------------------------------------------------------------------------- -typedef Cuda::size_type ScratchGrain[Impl::CudaTraits::WarpSize]; +using ScratchGrain = Cuda::size_type[Impl::CudaTraits::WarpSize]; enum { sizeScratchGrain = sizeof(ScratchGrain) }; Cuda::size_type *CudaInternal::scratch_flags(const Cuda::size_type size) const { @@ -557,8 +565,8 @@ Cuda::size_type *CudaInternal::scratch_flags(const Cuda::size_type size) const { m_scratchFlagsCount * sizeScratchGrain < size) { m_scratchFlagsCount = (size + sizeScratchGrain - 1) / sizeScratchGrain; - typedef Kokkos::Impl::SharedAllocationRecord - Record; + using Record = + Kokkos::Impl::SharedAllocationRecord; if (m_scratchFlags) Record::decrement(Record::get_record(m_scratchFlags)); @@ -582,8 +590,8 @@ Cuda::size_type *CudaInternal::scratch_space(const Cuda::size_type size) const { m_scratchSpaceCount * sizeScratchGrain < size) { m_scratchSpaceCount = (size + sizeScratchGrain - 1) / sizeScratchGrain; - typedef Kokkos::Impl::SharedAllocationRecord - Record; + using Record = + Kokkos::Impl::SharedAllocationRecord; if (m_scratchSpace) Record::decrement(Record::get_record(m_scratchSpace)); @@ -605,9 +613,8 @@ Cuda::size_type *CudaInternal::scratch_unified( m_scratchUnifiedCount * sizeScratchGrain < size) { m_scratchUnifiedCount = (size + sizeScratchGrain - 1) / sizeScratchGrain; - typedef Kokkos::Impl::SharedAllocationRecord - Record; + using Record = + Kokkos::Impl::SharedAllocationRecord; if (m_scratchUnified) Record::decrement(Record::get_record(m_scratchUnified)); @@ -629,8 +636,8 @@ Cuda::size_type *CudaInternal::scratch_functor( if (verify_is_initialized("scratch_functor") && m_scratchFunctorSize < size) { m_scratchFunctorSize = size; - typedef Kokkos::Impl::SharedAllocationRecord - Record; + using Record = + Kokkos::Impl::SharedAllocationRecord; if (m_scratchFunctor) Record::decrement(Record::get_record(m_scratchFunctor)); @@ -649,15 +656,13 @@ Cuda::size_type *CudaInternal::scratch_functor( //---------------------------------------------------------------------------- void CudaInternal::finalize() { - was_finalized = 1; - if (0 != m_scratchSpace || 0 != m_scratchFlags) { + was_finalized = true; + if (nullptr != m_scratchSpace || nullptr != m_scratchFlags) { Impl::finalize_host_cuda_lock_arrays(); - if (m_stream != 0) cudaStreamDestroy(m_stream); - - typedef Kokkos::Impl::SharedAllocationRecord RecordCuda; - typedef Kokkos::Impl::SharedAllocationRecord - RecordHost; + using RecordCuda = Kokkos::Impl::SharedAllocationRecord; + using RecordHost = + Kokkos::Impl::SharedAllocationRecord; RecordCuda::decrement(RecordCuda::get_record(m_scratchFlags)); RecordCuda::decrement(RecordCuda::get_record(m_scratchSpace)); @@ -675,11 +680,17 @@ void CudaInternal::finalize() { m_scratchFlagsCount = 0; m_scratchUnifiedCount = 0; m_streamCount = 0; - m_scratchSpace = 0; - m_scratchFlags = 0; - m_scratchUnified = 0; - m_scratchConcurrentBitset = 0; - m_stream = 0; + m_scratchSpace = nullptr; + m_scratchFlags = nullptr; + m_scratchUnified = nullptr; + m_scratchConcurrentBitset = nullptr; + m_stream = nullptr; + } + + // only destroy these if we're finalizing the singleton + if (this == &singleton()) { + cudaFreeHost(constantMemHostStaging); + cudaEventDestroy(constantMemReusable); } } @@ -743,27 +754,13 @@ int Cuda::concurrency() { return Impl::CudaInternal::singleton().m_maxConcurrency; } -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE -int Cuda::is_initialized() -#else -int Cuda::impl_is_initialized() -#endif -{ +int Cuda::impl_is_initialized() { return Impl::CudaInternal::singleton().is_initialized(); } -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE -void Cuda::initialize(const Cuda::SelectDevice config, size_t num_instances) -#else void Cuda::impl_initialize(const Cuda::SelectDevice config, - size_t /*num_instances*/) -#endif -{ - Impl::CudaInternal::singleton().initialize(config.cuda_device_id, 0); - -#if defined(KOKKOS_ENABLE_PROFILING) - Kokkos::Profiling::initialize(); -#endif + size_t /*num_instances*/) { + Impl::CudaInternal::singleton().initialize(config.cuda_device_id, nullptr); } std::vector Cuda::detect_device_arch() { @@ -793,48 +790,72 @@ Cuda::size_type Cuda::device_arch() { return dev_arch; } -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE -void Cuda::finalize() -#else -void Cuda::impl_finalize() -#endif -{ - Impl::CudaInternal::singleton().finalize(); - -#if defined(KOKKOS_ENABLE_PROFILING) - Kokkos::Profiling::finalize(); -#endif -} +void Cuda::impl_finalize() { Impl::CudaInternal::singleton().finalize(); } -Cuda::Cuda() : m_space_instance(&Impl::CudaInternal::singleton()) { +Cuda::Cuda() + : m_space_instance(&Impl::CudaInternal::singleton()), m_counter(nullptr) { Impl::CudaInternal::singleton().verify_is_initialized( "Cuda instance constructor"); } -Cuda::Cuda(cudaStream_t stream) : m_space_instance(new Impl::CudaInternal) { +Cuda::Cuda(cudaStream_t stream) + : m_space_instance(new Impl::CudaInternal), m_counter(new int(1)) { Impl::CudaInternal::singleton().verify_is_initialized( "Cuda instance constructor"); m_space_instance->initialize(Impl::CudaInternal::singleton().m_cudaDev, stream); } -void Cuda::print_configuration(std::ostream &s, const bool) { - Impl::CudaInternal::singleton().print_configuration(s); +KOKKOS_FUNCTION Cuda::Cuda(Cuda &&other) noexcept { + m_space_instance = other.m_space_instance; + other.m_space_instance = nullptr; + m_counter = other.m_counter; + other.m_counter = nullptr; +} + +KOKKOS_FUNCTION Cuda::Cuda(const Cuda &other) + : m_space_instance(other.m_space_instance), m_counter(other.m_counter) { +#ifndef KOKKOS_ACTIVE_EXECUTION_MEMORY_SPACE_CUDA + if (m_counter) Kokkos::atomic_add(m_counter, 1); +#endif } -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE -bool Cuda::sleep() { return false; } +KOKKOS_FUNCTION Cuda &Cuda::operator=(Cuda &&other) noexcept { + m_space_instance = other.m_space_instance; + other.m_space_instance = nullptr; + m_counter = other.m_counter; + other.m_counter = nullptr; + return *this; +} -bool Cuda::wake() { return true; } +KOKKOS_FUNCTION Cuda &Cuda::operator=(const Cuda &other) { + m_space_instance = other.m_space_instance; + m_counter = other.m_counter; +#ifndef KOKKOS_ACTIVE_EXECUTION_MEMORY_SPACE_CUDA + if (m_counter) Kokkos::atomic_add(m_counter, 1); #endif + return *this; +} + +KOKKOS_FUNCTION Cuda::~Cuda() noexcept { +#ifndef KOKKOS_ACTIVE_EXECUTION_MEMORY_SPACE_CUDA + if (m_counter == nullptr) return; + int const count = Kokkos::atomic_fetch_sub(m_counter, 1); + if (count == 1) { + delete m_counter; + m_space_instance->finalize(); + delete m_space_instance; + } +#endif +} + +void Cuda::print_configuration(std::ostream &s, const bool) { + Impl::CudaInternal::singleton().print_configuration(s); +} void Cuda::impl_static_fence() { Kokkos::Impl::cuda_device_synchronize(); } -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE -void Cuda::fence() { impl_static_fence(); } -#else void Cuda::fence() const { m_space_instance->fence(); } -#endif const char *Cuda::name() { return "Cuda"; } diff --git a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Instance.hpp b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Instance.hpp index 2158f03dd58df353aa26ca7addd7485445921aec..6e9118e156933ce6146b1ca35f27d8ee088040b8 100644 --- a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Instance.hpp +++ b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Instance.hpp @@ -1,6 +1,8 @@ #ifndef KOKKOS_CUDA_INSTANCE_HPP_ #define KOKKOS_CUDA_INSTANCE_HPP_ +#include +#include //---------------------------------------------------------------------------- //---------------------------------------------------------------------------- // These functions fulfill the purpose of allowing to work around @@ -15,25 +17,28 @@ namespace Kokkos { namespace Impl { struct CudaTraits { - enum { WarpSize = 32 /* 0x0020 */ }; - enum { WarpIndexMask = 0x001f /* Mask for warpindex */ }; - enum { WarpIndexShift = 5 /* WarpSize == 1 << WarpShift */ }; + enum : CudaSpace::size_type { WarpSize = 32 /* 0x0020 */ }; + enum : CudaSpace::size_type { + WarpIndexMask = 0x001f /* Mask for warpindex */ + }; + enum : CudaSpace::size_type { + WarpIndexShift = 5 /* WarpSize == 1 << WarpShift */ + }; - enum { ConstantMemoryUsage = 0x008000 /* 32k bytes */ }; - enum { ConstantMemoryCache = 0x002000 /* 8k bytes */ }; - enum { KernelArgumentLimit = 0x001000 /* 4k bytes */ }; + enum : CudaSpace::size_type { + ConstantMemoryUsage = 0x008000 /* 32k bytes */ + }; + enum : CudaSpace::size_type { + ConstantMemoryCache = 0x002000 /* 8k bytes */ + }; + enum : CudaSpace::size_type { + KernelArgumentLimit = 0x001000 /* 4k bytes */ + }; - typedef unsigned long - ConstantGlobalBufferType[ConstantMemoryUsage / sizeof(unsigned long)]; + using ConstantGlobalBufferType = + unsigned long[ConstantMemoryUsage / sizeof(unsigned long)]; -#if defined(KOKKOS_ARCH_VOLTA) || defined(KOKKOS_ARCH_PASCAL) - enum { - ConstantMemoryUseThreshold = - 0x000200 /* 0 bytes -> always use constant (or global)*/ - }; -#else enum { ConstantMemoryUseThreshold = 0x000200 /* 512 bytes */ }; -#endif KOKKOS_INLINE_FUNCTION static CudaSpace::size_type warp_count( CudaSpace::size_type i) { @@ -42,7 +47,7 @@ struct CudaTraits { KOKKOS_INLINE_FUNCTION static CudaSpace::size_type warp_align( CudaSpace::size_type i) { - enum { Mask = ~CudaSpace::size_type(WarpIndexMask) }; + constexpr CudaSpace::size_type Mask = ~WarpIndexMask; return (i + WarpIndexMask) & Mask; } }; @@ -79,7 +84,7 @@ class CudaInternal { #endif public: - typedef Cuda::size_type size_type; + using size_type = Cuda::size_type; int m_cudaDev; @@ -112,18 +117,23 @@ class CudaInternal { uint32_t* m_scratchConcurrentBitset; cudaStream_t m_stream; - static int was_initialized; - static int was_finalized; + bool was_initialized = false; + bool was_finalized = false; + + // FIXME_CUDA: these want to be per-device, not per-stream... use of 'static' + // here will break once there are multiple devices though + static unsigned long* constantMemHostStaging; + static cudaEvent_t constantMemReusable; static CudaInternal& singleton(); int verify_is_initialized(const char* const label) const; int is_initialized() const { - return 0 != m_scratchSpace && 0 != m_scratchFlags; + return nullptr != m_scratchSpace && nullptr != m_scratchFlags; } - void initialize(int cuda_device_id, cudaStream_t stream = 0); + void initialize(int cuda_device_id, cudaStream_t stream = nullptr); void finalize(); void print_configuration(std::ostream&) const; @@ -157,12 +167,12 @@ class CudaInternal { m_scratchFunctorSize(0), m_scratchUnifiedSupported(0), m_streamCount(0), - m_scratchSpace(0), - m_scratchFlags(0), - m_scratchUnified(0), - m_scratchFunctor(0), - m_scratchConcurrentBitset(0), - m_stream(0) {} + m_scratchSpace(nullptr), + m_scratchFlags(nullptr), + m_scratchUnified(nullptr), + m_scratchFunctor(nullptr), + m_scratchConcurrentBitset(nullptr), + m_stream(nullptr) {} size_type* scratch_space(const size_type size) const; size_type* scratch_flags(const size_type size) const; diff --git a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_KernelLaunch.hpp b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_KernelLaunch.hpp index ca72b3b3021baca225fe0e61f188f0306a51c458..c30e14255839e52d22582127de8f1b5046b94c6b 100644 --- a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_KernelLaunch.hpp +++ b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_KernelLaunch.hpp @@ -244,9 +244,6 @@ struct CudaParallelLaunch< const CudaInternal* cuda_instance, const bool prefer_shmem) { if ((grid.x != 0) && ((block.x * block.y * block.z) != 0)) { - // Fence before changing settings and copying closure - Kokkos::Cuda().fence(); - if (cuda_instance->m_maxShmemPerBlock < shmem) { Kokkos::Impl::throw_runtime_exception(std::string( "CudaParallelLaunch FAILED: shared memory request is too large")); @@ -254,28 +251,43 @@ struct CudaParallelLaunch< #ifndef KOKKOS_ARCH_KEPLER // On Kepler the L1 has no benefit since it doesn't cache reads else { - CUDA_SAFE_CALL(cudaFuncSetCacheConfig( - cuda_parallel_launch_constant_memory, - (prefer_shmem ? cudaFuncCachePreferShared - : cudaFuncCachePreferL1))); + static bool cache_config_set = false; + if (!cache_config_set) { + CUDA_SAFE_CALL(cudaFuncSetCacheConfig( + cuda_parallel_launch_constant_memory< + DriverType, MaxThreadsPerBlock, MinBlocksPerSM>, + (prefer_shmem ? cudaFuncCachePreferShared + : cudaFuncCachePreferL1))); + cache_config_set = true; + } } #else (void)prefer_shmem; #endif - // Copy functor to constant memory on the device - cudaMemcpyToSymbolAsync(kokkos_impl_cuda_constant_memory_buffer, &driver, + KOKKOS_ENSURE_CUDA_LOCK_ARRAYS_ON_DEVICE(); + + // Wait until the previous kernel that uses the constant buffer is done + CUDA_SAFE_CALL(cudaEventSynchronize(cuda_instance->constantMemReusable)); + + // Copy functor (synchronously) to staging buffer in pinned host memory + unsigned long* staging = cuda_instance->constantMemHostStaging; + memcpy(staging, &driver, sizeof(DriverType)); + + // Copy functor asynchronously from there to constant memory on the device + cudaMemcpyToSymbolAsync(kokkos_impl_cuda_constant_memory_buffer, staging, sizeof(DriverType), 0, cudaMemcpyHostToDevice, cudaStream_t(cuda_instance->m_stream)); - KOKKOS_ENSURE_CUDA_LOCK_ARRAYS_ON_DEVICE(); - // Invoke the driver function on the device cuda_parallel_launch_constant_memory <<m_stream>>>(); + // Record an event that says when the constant buffer can be reused + CUDA_SAFE_CALL(cudaEventRecord(cuda_instance->constantMemReusable, + cudaStream_t(cuda_instance->m_stream))); + #if defined(KOKKOS_ENABLE_DEBUG_BOUNDS_CHECK) CUDA_SAFE_CALL(cudaGetLastError()); Kokkos::Cuda().fence(); @@ -284,11 +296,15 @@ struct CudaParallelLaunch< } static cudaFuncAttributes get_cuda_func_attributes() { - cudaFuncAttributes attr; - CUDA_SAFE_CALL(cudaFuncGetAttributes( - &attr, - cuda_parallel_launch_constant_memory)); + static cudaFuncAttributes attr; + static bool attr_set = false; + if (!attr_set) { + CUDA_SAFE_CALL(cudaFuncGetAttributes( + &attr, + cuda_parallel_launch_constant_memory)); + attr_set = true; + } return attr; } }; @@ -304,9 +320,6 @@ struct CudaParallelLaunch, const CudaInternal* cuda_instance, const bool prefer_shmem) { if ((grid.x != 0) && ((block.x * block.y * block.z) != 0)) { - // Fence before changing settings and copying closure - Kokkos::Cuda().fence(); - if (cuda_instance->m_maxShmemPerBlock < shmem) { Kokkos::Impl::throw_runtime_exception(std::string( "CudaParallelLaunch FAILED: shared memory request is too large")); @@ -314,26 +327,41 @@ struct CudaParallelLaunch, #ifndef KOKKOS_ARCH_KEPLER // On Kepler the L1 has no benefit since it doesn't cache reads else { - CUDA_SAFE_CALL(cudaFuncSetCacheConfig( - cuda_parallel_launch_constant_memory, - (prefer_shmem ? cudaFuncCachePreferShared - : cudaFuncCachePreferL1))); + static bool cache_config_set = false; + if (!cache_config_set) { + CUDA_SAFE_CALL(cudaFuncSetCacheConfig( + cuda_parallel_launch_constant_memory, + (prefer_shmem ? cudaFuncCachePreferShared + : cudaFuncCachePreferL1))); + cache_config_set = true; + } } #else (void)prefer_shmem; #endif - // Copy functor to constant memory on the device - cudaMemcpyToSymbolAsync(kokkos_impl_cuda_constant_memory_buffer, &driver, + KOKKOS_ENSURE_CUDA_LOCK_ARRAYS_ON_DEVICE(); + + // Wait until the previous kernel that uses the constant buffer is done + CUDA_SAFE_CALL(cudaEventSynchronize(cuda_instance->constantMemReusable)); + + // Copy functor (synchronously) to staging buffer in pinned host memory + unsigned long* staging = cuda_instance->constantMemHostStaging; + memcpy(staging, &driver, sizeof(DriverType)); + + // Copy functor asynchronously from there to constant memory on the device + cudaMemcpyToSymbolAsync(kokkos_impl_cuda_constant_memory_buffer, staging, sizeof(DriverType), 0, cudaMemcpyHostToDevice, cudaStream_t(cuda_instance->m_stream)); - KOKKOS_ENSURE_CUDA_LOCK_ARRAYS_ON_DEVICE(); - // Invoke the driver function on the device cuda_parallel_launch_constant_memory <<m_stream>>>(); + // Record an event that says when the constant buffer can be reused + CUDA_SAFE_CALL(cudaEventRecord(cuda_instance->constantMemReusable, + cudaStream_t(cuda_instance->m_stream))); + #if defined(KOKKOS_ENABLE_DEBUG_BOUNDS_CHECK) CUDA_SAFE_CALL(cudaGetLastError()); Kokkos::Cuda().fence(); @@ -342,9 +370,13 @@ struct CudaParallelLaunch, } static cudaFuncAttributes get_cuda_func_attributes() { - cudaFuncAttributes attr; - CUDA_SAFE_CALL(cudaFuncGetAttributes( - &attr, cuda_parallel_launch_constant_memory)); + static cudaFuncAttributes attr; + static bool attr_set = false; + if (!attr_set) { + CUDA_SAFE_CALL(cudaFuncGetAttributes( + &attr, cuda_parallel_launch_constant_memory)); + attr_set = true; + } return attr; } }; @@ -369,11 +401,15 @@ struct CudaParallelLaunch< #ifndef KOKKOS_ARCH_KEPLER // On Kepler the L1 has no benefit since it doesn't cache reads else { - CUDA_SAFE_CALL(cudaFuncSetCacheConfig( - cuda_parallel_launch_local_memory, - (prefer_shmem ? cudaFuncCachePreferShared - : cudaFuncCachePreferL1))); + static bool cache_config_set = false; + if (!cache_config_set) { + CUDA_SAFE_CALL(cudaFuncSetCacheConfig( + cuda_parallel_launch_local_memory, + (prefer_shmem ? cudaFuncCachePreferShared + : cudaFuncCachePreferL1))); + cache_config_set = true; + } } #else (void)prefer_shmem; @@ -394,10 +430,15 @@ struct CudaParallelLaunch< } static cudaFuncAttributes get_cuda_func_attributes() { - cudaFuncAttributes attr; - CUDA_SAFE_CALL(cudaFuncGetAttributes( - &attr, cuda_parallel_launch_local_memory)); + static cudaFuncAttributes attr; + static bool attr_set = false; + if (!attr_set) { + CUDA_SAFE_CALL(cudaFuncGetAttributes( + &attr, + cuda_parallel_launch_local_memory)); + attr_set = true; + } return attr; } }; @@ -420,10 +461,14 @@ struct CudaParallelLaunch, #ifndef KOKKOS_ARCH_KEPLER // On Kepler the L1 has no benefit since it doesn't cache reads else { - CUDA_SAFE_CALL(cudaFuncSetCacheConfig( - cuda_parallel_launch_local_memory, - (prefer_shmem ? cudaFuncCachePreferShared - : cudaFuncCachePreferL1))); + static bool cache_config_set = false; + if (!cache_config_set) { + CUDA_SAFE_CALL(cudaFuncSetCacheConfig( + cuda_parallel_launch_local_memory, + (prefer_shmem ? cudaFuncCachePreferShared + : cudaFuncCachePreferL1))); + cache_config_set = true; + } } #else (void)prefer_shmem; @@ -443,9 +488,13 @@ struct CudaParallelLaunch, } static cudaFuncAttributes get_cuda_func_attributes() { - cudaFuncAttributes attr; - CUDA_SAFE_CALL(cudaFuncGetAttributes( - &attr, cuda_parallel_launch_local_memory)); + static cudaFuncAttributes attr; + static bool attr_set = false; + if (!attr_set) { + CUDA_SAFE_CALL(cudaFuncGetAttributes( + &attr, cuda_parallel_launch_local_memory)); + attr_set = true; + } return attr; } }; @@ -467,11 +516,15 @@ struct CudaParallelLaunch< #ifndef KOKKOS_ARCH_KEPLER // On Kepler the L1 has no benefit since it doesn't cache reads else { - CUDA_SAFE_CALL(cudaFuncSetCacheConfig( - cuda_parallel_launch_global_memory, - (prefer_shmem ? cudaFuncCachePreferShared - : cudaFuncCachePreferL1))); + static bool cache_config_set = false; + if (!cache_config_set) { + CUDA_SAFE_CALL(cudaFuncSetCacheConfig( + cuda_parallel_launch_global_memory, + (prefer_shmem ? cudaFuncCachePreferShared + : cudaFuncCachePreferL1))); + cache_config_set = true; + } } #else (void)prefer_shmem; @@ -497,11 +550,15 @@ struct CudaParallelLaunch< } } static cudaFuncAttributes get_cuda_func_attributes() { - cudaFuncAttributes attr; - CUDA_SAFE_CALL(cudaFuncGetAttributes( - &attr, - cuda_parallel_launch_global_memory)); + static cudaFuncAttributes attr; + static bool attr_set = false; + if (!attr_set) { + CUDA_SAFE_CALL(cudaFuncGetAttributes( + &attr, + cuda_parallel_launch_global_memory)); + attr_set = true; + } return attr; } }; @@ -521,10 +578,14 @@ struct CudaParallelLaunch, #ifndef KOKKOS_ARCH_KEPLER // On Kepler the L1 has no benefit since it doesn't cache reads else { - CUDA_SAFE_CALL(cudaFuncSetCacheConfig( - cuda_parallel_launch_global_memory, - (prefer_shmem ? cudaFuncCachePreferShared - : cudaFuncCachePreferL1))); + static bool cache_config_set = false; + if (!cache_config_set) { + CUDA_SAFE_CALL(cudaFuncSetCacheConfig( + cuda_parallel_launch_global_memory, + (prefer_shmem ? cudaFuncCachePreferShared + : cudaFuncCachePreferL1))); + cache_config_set = true; + } } #else (void)prefer_shmem; @@ -549,9 +610,13 @@ struct CudaParallelLaunch, } static cudaFuncAttributes get_cuda_func_attributes() { - cudaFuncAttributes attr; - CUDA_SAFE_CALL(cudaFuncGetAttributes( - &attr, cuda_parallel_launch_global_memory)); + static cudaFuncAttributes attr; + static bool attr_set = false; + if (!attr_set) { + CUDA_SAFE_CALL(cudaFuncGetAttributes( + &attr, cuda_parallel_launch_global_memory)); + attr_set = true; + } return attr; } }; diff --git a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Parallel.hpp b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Parallel.hpp index 71ddadf74e275398eb3b87d67742e4834db8f80c..c252fbfec3b373c6b4012a5e9564fd3f0cad7ecd 100644 --- a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Parallel.hpp +++ b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Parallel.hpp @@ -48,8 +48,8 @@ #include #if defined(__CUDACC__) && defined(KOKKOS_ENABLE_CUDA) -#include #include +#include #include #include @@ -63,10 +63,8 @@ #include #include -#if defined(KOKKOS_ENABLE_PROFILING) -#include +#include #include -#endif #include @@ -84,9 +82,9 @@ class TeamPolicyInternal : public PolicyTraits { public: //! Tag this class as a kokkos execution policy - typedef TeamPolicyInternal execution_policy; + using execution_policy = TeamPolicyInternal; - typedef PolicyTraits traits; + using traits = PolicyTraits; template friend class TeamPolicyInternal; @@ -104,7 +102,7 @@ class TeamPolicyInternal public: //! Execution space of this execution policy - typedef Kokkos::Cuda execution_space; + using execution_space = Kokkos::Cuda; template TeamPolicyInternal(const TeamPolicyInternal& p) { @@ -119,50 +117,12 @@ class TeamPolicyInternal m_space = p.m_space; } - TeamPolicyInternal& operator=(const TeamPolicyInternal& p) { - m_league_size = p.m_league_size; - m_team_size = p.m_team_size; - m_vector_length = p.m_vector_length; - m_team_scratch_size[0] = p.m_team_scratch_size[0]; - m_team_scratch_size[1] = p.m_team_scratch_size[1]; - m_thread_scratch_size[0] = p.m_thread_scratch_size[0]; - m_thread_scratch_size[1] = p.m_thread_scratch_size[1]; - m_chunk_size = p.m_chunk_size; - m_space = p.m_space; - return *this; - } - //---------------------------------------- -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - template - static inline int team_size_max(const FunctorType& functor) { - int n = MAX_WARP * Impl::CudaTraits::WarpSize; - - for (; n; n >>= 1) { - const int shmem_size = - /* for global reduce */ Impl:: - cuda_single_inter_block_reduce_scan_shmem< - false, FunctorType, typename traits::work_tag>(functor, n) - /* for team reduce */ - + (n + 2) * sizeof(double) - /* for team shared */ - + Impl::FunctorTeamShmemSize::value(functor, n); - - if (shmem_size < typename traits::execution_space() - .impl_internal_space_instance() - ->m_maxShmemPerBlock) - break; - } - - return n; - } -#endif - template int team_size_max(const FunctorType& f, const ParallelForTag&) const { - typedef Impl::ParallelFor> - closure_type; + using closure_type = + Impl::ParallelFor>; cudaFuncAttributes attr = CudaParallelLaunch:: get_cuda_func_attributes(); @@ -179,15 +139,15 @@ class TeamPolicyInternal template inline int team_size_max(const FunctorType& f, const ParallelReduceTag&) const { - typedef Impl::FunctorAnalysis - functor_analysis_type; - typedef typename Impl::ParallelReduceReturnValue< + using functor_analysis_type = + Impl::FunctorAnalysis; + using reducer_type = typename Impl::ParallelReduceReturnValue< void, typename functor_analysis_type::value_type, - FunctorType>::reducer_type reducer_type; - typedef Impl::ParallelReduce, - reducer_type> - closure_type; + FunctorType>::reducer_type; + using closure_type = + Impl::ParallelReduce, + reducer_type>; return internal_team_size_max(f); } @@ -200,25 +160,10 @@ class TeamPolicyInternal return internal_team_size_max(f); } -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - template - static int team_size_recommended(const FunctorType& functor) { - return team_size_max(functor); - } - - template - static int team_size_recommended(const FunctorType& functor, - const int vector_length) { - int max = team_size_max(functor) / vector_length; - if (max < 1) max = 1; - return max; - } -#endif - template int team_size_recommended(const FunctorType& f, const ParallelForTag&) const { - typedef Impl::ParallelFor> - closure_type; + using closure_type = + Impl::ParallelFor>; cudaFuncAttributes attr = CudaParallelLaunch:: get_cuda_func_attributes(); @@ -235,24 +180,24 @@ class TeamPolicyInternal template inline int team_size_recommended(const FunctorType& f, const ParallelReduceTag&) const { - typedef Impl::FunctorAnalysis - functor_analysis_type; - typedef typename Impl::ParallelReduceReturnValue< + using functor_analysis_type = + Impl::FunctorAnalysis; + using reducer_type = typename Impl::ParallelReduceReturnValue< void, typename functor_analysis_type::value_type, - FunctorType>::reducer_type reducer_type; - typedef Impl::ParallelReduce, - reducer_type> - closure_type; + FunctorType>::reducer_type; + using closure_type = + Impl::ParallelReduce, + reducer_type>; return internal_team_size_recommended(f); } template int team_size_recommended(const FunctorType& f, const ReducerType&, const ParallelReduceTag&) const { - typedef Impl::ParallelReduce, - ReducerType> - closure_type; + using closure_type = + Impl::ParallelReduce, + ReducerType>; return internal_team_size_recommended(f); } @@ -401,44 +346,6 @@ class TeamPolicyInternal inline int chunk_size() const { return m_chunk_size; } -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - /** \brief set chunk_size to a discrete value*/ - inline TeamPolicyInternal set_chunk_size( - typename traits::index_type chunk_size_) const { - TeamPolicyInternal p = *this; - p.m_chunk_size = chunk_size_; - return p; - } - - /** \brief set per team scratch size for a specific level of the scratch - * hierarchy */ - inline TeamPolicyInternal set_scratch_size( - const int& level, const PerTeamValue& per_team) const { - TeamPolicyInternal p = *this; - p.m_team_scratch_size[level] = per_team.value; - return p; - }; - - /** \brief set per thread scratch size for a specific level of the scratch - * hierarchy */ - inline TeamPolicyInternal set_scratch_size( - const int& level, const PerThreadValue& per_thread) const { - TeamPolicyInternal p = *this; - p.m_thread_scratch_size[level] = per_thread.value; - return p; - }; - - /** \brief set per thread and per team scratch size for a specific level of - * the scratch hierarchy */ - inline TeamPolicyInternal set_scratch_size( - const int& level, const PerTeamValue& per_team, - const PerThreadValue& per_thread) const { - TeamPolicyInternal p = *this; - p.m_team_scratch_size[level] = per_team.value; - p.m_thread_scratch_size[level] = per_thread.value; - return p; - }; -#else /** \brief set chunk_size to a discrete value*/ inline TeamPolicyInternal& set_chunk_size( typename traits::index_type chunk_size_) { @@ -471,46 +378,10 @@ class TeamPolicyInternal m_thread_scratch_size[level] = per_thread.value; return *this; } -#endif - typedef Kokkos::Impl::CudaTeamMember member_type; + using member_type = Kokkos::Impl::CudaTeamMember; protected: -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - /** \brief set chunk_size to a discrete value*/ - inline TeamPolicyInternal internal_set_chunk_size( - typename traits::index_type chunk_size_) { - m_chunk_size = chunk_size_; - return *this; - } - - /** \brief set per team scratch size for a specific level of the scratch - * hierarchy */ - inline TeamPolicyInternal internal_set_scratch_size( - const int& level, const PerTeamValue& per_team) { - m_team_scratch_size[level] = per_team.value; - return *this; - } - - /** \brief set per thread scratch size for a specific level of the scratch - * hierarchy */ - inline TeamPolicyInternal internal_set_scratch_size( - const int& level, const PerThreadValue& per_thread) { - m_thread_scratch_size[level] = per_thread.value; - return *this; - } - - /** \brief set per thread and per team scratch size for a specific level of - * the scratch hierarchy */ - inline TeamPolicyInternal internal_set_scratch_size( - const int& level, const PerTeamValue& per_team, - const PerThreadValue& per_thread) { - m_team_scratch_size[level] = per_team.value; - m_thread_scratch_size[level] = per_thread.value; - return *this; - } -#endif - template int internal_team_size_common(const FunctorType& f, BlockSizeCallable&& block_size_callable) const { @@ -567,12 +438,12 @@ namespace Impl { template class ParallelFor, Kokkos::Cuda> { public: - typedef Kokkos::RangePolicy Policy; + using Policy = Kokkos::RangePolicy; private: - typedef typename Policy::member_type Member; - typedef typename Policy::work_tag WorkTag; - typedef typename Policy::launch_bounds LaunchBounds; + using Member = typename Policy::member_type; + using WorkTag = typename Policy::work_tag; + using LaunchBounds = typename Policy::launch_bounds; const FunctorType m_functor; const Policy m_policy; @@ -595,7 +466,7 @@ class ParallelFor, Kokkos::Cuda> { } public: - typedef FunctorType functor_type; + using functor_type = FunctorType; inline __device__ void operator()(void) const { const Member work_stride = blockDim.y * gridDim.x; @@ -620,6 +491,7 @@ class ParallelFor, Kokkos::Cuda> { Kokkos::Impl::cuda_get_opt_block_size( m_policy.space().impl_internal_space_instance(), attr, m_functor, 1, 0, 0); + KOKKOS_ASSERT(block_size > 0); dim3 block(1, block_size, 1); dim3 grid( std::min( @@ -646,13 +518,13 @@ class ParallelFor, Kokkos::Cuda> { template class ParallelFor, Kokkos::Cuda> { public: - typedef Kokkos::MDRangePolicy Policy; + using Policy = Kokkos::MDRangePolicy; private: - using RP = Policy; - typedef typename Policy::array_index_type array_index_type; - typedef typename Policy::index_type index_type; - typedef typename Policy::launch_bounds LaunchBounds; + using RP = Policy; + using array_index_type = typename Policy::array_index_type; + using index_type = typename Policy::index_type; + using LaunchBounds = typename Policy::launch_bounds; const FunctorType m_functor; const Policy m_rp; @@ -666,29 +538,36 @@ class ParallelFor, Kokkos::Cuda> { } inline void execute() const { + using namespace std; + if (m_rp.m_num_tiles == 0) return; const array_index_type maxblocks = static_cast( m_rp.space().impl_internal_space_instance()->m_maxBlock); if (RP::rank == 2) { const dim3 block(m_rp.m_tile[0], m_rp.m_tile[1], 1); + KOKKOS_ASSERT(block.x > 0); + KOKKOS_ASSERT(block.y > 0); const dim3 grid( - std::min((m_rp.m_upper[0] - m_rp.m_lower[0] + block.x - 1) / block.x, - maxblocks), - std::min((m_rp.m_upper[1] - m_rp.m_lower[1] + block.y - 1) / block.y, - maxblocks), + min((m_rp.m_upper[0] - m_rp.m_lower[0] + block.x - 1) / block.x, + maxblocks), + min((m_rp.m_upper[1] - m_rp.m_lower[1] + block.y - 1) / block.y, + maxblocks), 1); CudaParallelLaunch( *this, grid, block, 0, m_rp.space().impl_internal_space_instance(), false); } else if (RP::rank == 3) { const dim3 block(m_rp.m_tile[0], m_rp.m_tile[1], m_rp.m_tile[2]); + KOKKOS_ASSERT(block.x > 0); + KOKKOS_ASSERT(block.y > 0); + KOKKOS_ASSERT(block.z > 0); const dim3 grid( - std::min((m_rp.m_upper[0] - m_rp.m_lower[0] + block.x - 1) / block.x, - maxblocks), - std::min((m_rp.m_upper[1] - m_rp.m_lower[1] + block.y - 1) / block.y, - maxblocks), - std::min((m_rp.m_upper[2] - m_rp.m_lower[2] + block.z - 1) / block.z, - maxblocks)); + min((m_rp.m_upper[0] - m_rp.m_lower[0] + block.x - 1) / block.x, + maxblocks), + min((m_rp.m_upper[1] - m_rp.m_lower[1] + block.y - 1) / block.y, + maxblocks), + min((m_rp.m_upper[2] - m_rp.m_lower[2] + block.z - 1) / block.z, + maxblocks)); CudaParallelLaunch( *this, grid, block, 0, m_rp.space().impl_internal_space_instance(), false); @@ -697,14 +576,15 @@ class ParallelFor, Kokkos::Cuda> { // threadIdx.z const dim3 block(m_rp.m_tile[0] * m_rp.m_tile[1], m_rp.m_tile[2], m_rp.m_tile[3]); + KOKKOS_ASSERT(block.y > 0); + KOKKOS_ASSERT(block.z > 0); const dim3 grid( - std::min( - static_cast(m_rp.m_tile_end[0] * m_rp.m_tile_end[1]), + min(static_cast(m_rp.m_tile_end[0] * m_rp.m_tile_end[1]), static_cast(maxblocks)), - std::min((m_rp.m_upper[2] - m_rp.m_lower[2] + block.y - 1) / block.y, - maxblocks), - std::min((m_rp.m_upper[3] - m_rp.m_lower[3] + block.z - 1) / block.z, - maxblocks)); + min((m_rp.m_upper[2] - m_rp.m_lower[2] + block.y - 1) / block.y, + maxblocks), + min((m_rp.m_upper[3] - m_rp.m_lower[3] + block.z - 1) / block.z, + maxblocks)); CudaParallelLaunch( *this, grid, block, 0, m_rp.space().impl_internal_space_instance(), false); @@ -713,15 +593,14 @@ class ParallelFor, Kokkos::Cuda> { // threadIdx.z const dim3 block(m_rp.m_tile[0] * m_rp.m_tile[1], m_rp.m_tile[2] * m_rp.m_tile[3], m_rp.m_tile[4]); + KOKKOS_ASSERT(block.z > 0); const dim3 grid( - std::min( - static_cast(m_rp.m_tile_end[0] * m_rp.m_tile_end[1]), + min(static_cast(m_rp.m_tile_end[0] * m_rp.m_tile_end[1]), static_cast(maxblocks)), - std::min( - static_cast(m_rp.m_tile_end[2] * m_rp.m_tile_end[3]), + min(static_cast(m_rp.m_tile_end[2] * m_rp.m_tile_end[3]), static_cast(maxblocks)), - std::min((m_rp.m_upper[4] - m_rp.m_lower[4] + block.z - 1) / block.z, - maxblocks)); + min((m_rp.m_upper[4] - m_rp.m_lower[4] + block.z - 1) / block.z, + maxblocks)); CudaParallelLaunch( *this, grid, block, 0, m_rp.space().impl_internal_space_instance(), false); @@ -732,14 +611,11 @@ class ParallelFor, Kokkos::Cuda> { m_rp.m_tile[2] * m_rp.m_tile[3], m_rp.m_tile[4] * m_rp.m_tile[5]); const dim3 grid( - std::min( - static_cast(m_rp.m_tile_end[0] * m_rp.m_tile_end[1]), + min(static_cast(m_rp.m_tile_end[0] * m_rp.m_tile_end[1]), static_cast(maxblocks)), - std::min( - static_cast(m_rp.m_tile_end[2] * m_rp.m_tile_end[3]), + min(static_cast(m_rp.m_tile_end[2] * m_rp.m_tile_end[3]), static_cast(maxblocks)), - std::min( - static_cast(m_rp.m_tile_end[4] * m_rp.m_tile_end[5]), + min(static_cast(m_rp.m_tile_end[4] * m_rp.m_tile_end[5]), static_cast(maxblocks))); CudaParallelLaunch( *this, grid, block, 0, m_rp.space().impl_internal_space_instance(), @@ -760,16 +636,16 @@ template class ParallelFor, Kokkos::Cuda> { public: - typedef TeamPolicyInternal Policy; + using Policy = TeamPolicyInternal; private: - typedef typename Policy::member_type Member; - typedef typename Policy::work_tag WorkTag; - typedef typename Policy::launch_bounds LaunchBounds; + using Member = typename Policy::member_type; + using WorkTag = typename Policy::work_tag; + using LaunchBounds = typename Policy::launch_bounds; public: - typedef FunctorType functor_type; - typedef Cuda::size_type size_type; + using functor_type = FunctorType; + using size_type = Cuda::size_type; private: // Algorithmic constraints: blockDim.y is a power of two AND blockDim.y == @@ -941,34 +817,34 @@ template class ParallelReduce, ReducerType, Kokkos::Cuda> { public: - typedef Kokkos::RangePolicy Policy; + using Policy = Kokkos::RangePolicy; private: - typedef typename Policy::WorkRange WorkRange; - typedef typename Policy::work_tag WorkTag; - typedef typename Policy::member_type Member; - typedef typename Policy::launch_bounds LaunchBounds; - - typedef Kokkos::Impl::if_c::value, - FunctorType, ReducerType> - ReducerConditional; - typedef typename ReducerConditional::type ReducerTypeFwd; - typedef + using WorkRange = typename Policy::WorkRange; + using WorkTag = typename Policy::work_tag; + using Member = typename Policy::member_type; + using LaunchBounds = typename Policy::launch_bounds; + + using ReducerConditional = + Kokkos::Impl::if_c::value, + FunctorType, ReducerType>; + using ReducerTypeFwd = typename ReducerConditional::type; + using WorkTagFwd = typename Kokkos::Impl::if_c::value, - WorkTag, void>::type WorkTagFwd; + WorkTag, void>::type; - typedef Kokkos::Impl::FunctorValueTraits - ValueTraits; - typedef Kokkos::Impl::FunctorValueInit ValueInit; - typedef Kokkos::Impl::FunctorValueJoin ValueJoin; + using ValueTraits = + Kokkos::Impl::FunctorValueTraits; + using ValueInit = Kokkos::Impl::FunctorValueInit; + using ValueJoin = Kokkos::Impl::FunctorValueJoin; public: - typedef typename ValueTraits::pointer_type pointer_type; - typedef typename ValueTraits::value_type value_type; - typedef typename ValueTraits::reference_type reference_type; - typedef FunctorType functor_type; - typedef Kokkos::Cuda::size_type size_type; - typedef typename Policy::index_type index_type; + using pointer_type = typename ValueTraits::pointer_type; + using value_type = typename ValueTraits::value_type; + using reference_type = typename ValueTraits::reference_type; + using functor_type = FunctorType; + using size_type = Kokkos::Cuda::size_type; + using index_type = typename Policy::index_type; // Algorithmic constraints: blockSize is a power of two AND blockDim.y == // blockDim.z == 1 @@ -990,8 +866,8 @@ class ParallelReduce, ReducerType, //}; // Some crutch to do function overloading private: - typedef double DummyShflReductionType; - typedef int DummySHMEMReductionType; + using DummyShflReductionType = double; + using DummySHMEMReductionType = int; public: // Make the exec_range calls call to Reduce::DeviceIterateTile @@ -1124,13 +1000,19 @@ class ParallelReduce, ReducerType, int shmem_size = cuda_single_inter_block_reduce_scan_shmem( f, n); + using closure_type = Impl::ParallelReduce; + cudaFuncAttributes attr = + CudaParallelLaunch::get_cuda_func_attributes(); while ( (n && (m_policy.space().impl_internal_space_instance()->m_maxShmemPerBlock < shmem_size)) || - (n > static_cast( - Kokkos::Impl::cuda_get_max_block_size< - ParallelReduce, LaunchBounds>(f, 1, shmem_size, 0)))) { + (n > + static_cast( + Kokkos::Impl::cuda_get_max_block_size( + m_policy.space().impl_internal_space_instance(), attr, f, 1, + shmem_size, 0)))) { n >>= 1; shmem_size = cuda_single_inter_block_reduce_scan_shmem(f, n); @@ -1142,6 +1024,7 @@ class ParallelReduce, ReducerType, const index_type nwork = m_policy.end() - m_policy.begin(); if (nwork) { const int block_size = local_block_size(m_functor); + KOKKOS_ASSERT(block_size > 0); m_scratch_space = cuda_internal_scratch_space( m_policy.space(), ValueTraits::value_size(ReducerConditional::select( @@ -1215,9 +1098,9 @@ class ParallelReduce, ReducerType, m_result_ptr_device_accessible( MemorySpaceAccess::accessible), - m_scratch_space(0), - m_scratch_flags(0), - m_unified_space(0) {} + m_scratch_space(nullptr), + m_scratch_flags(nullptr), + m_unified_space(nullptr) {} ParallelReduce(const FunctorType& arg_functor, const Policy& arg_policy, const ReducerType& reducer) @@ -1229,9 +1112,9 @@ class ParallelReduce, ReducerType, MemorySpaceAccess::accessible), - m_scratch_space(0), - m_scratch_flags(0), - m_unified_space(0) {} + m_scratch_space(nullptr), + m_scratch_flags(nullptr), + m_unified_space(nullptr) {} }; // MDRangePolicy impl @@ -1239,35 +1122,35 @@ template class ParallelReduce, ReducerType, Kokkos::Cuda> { public: - typedef Kokkos::MDRangePolicy Policy; + using Policy = Kokkos::MDRangePolicy; private: - typedef typename Policy::array_index_type array_index_type; - typedef typename Policy::index_type index_type; - - typedef typename Policy::work_tag WorkTag; - typedef typename Policy::member_type Member; - typedef typename Policy::launch_bounds LaunchBounds; - - typedef Kokkos::Impl::if_c::value, - FunctorType, ReducerType> - ReducerConditional; - typedef typename ReducerConditional::type ReducerTypeFwd; - typedef + using array_index_type = typename Policy::array_index_type; + using index_type = typename Policy::index_type; + + using WorkTag = typename Policy::work_tag; + using Member = typename Policy::member_type; + using LaunchBounds = typename Policy::launch_bounds; + + using ReducerConditional = + Kokkos::Impl::if_c::value, + FunctorType, ReducerType>; + using ReducerTypeFwd = typename ReducerConditional::type; + using WorkTagFwd = typename Kokkos::Impl::if_c::value, - WorkTag, void>::type WorkTagFwd; + WorkTag, void>::type; - typedef Kokkos::Impl::FunctorValueTraits - ValueTraits; - typedef Kokkos::Impl::FunctorValueInit ValueInit; - typedef Kokkos::Impl::FunctorValueJoin ValueJoin; + using ValueTraits = + Kokkos::Impl::FunctorValueTraits; + using ValueInit = Kokkos::Impl::FunctorValueInit; + using ValueJoin = Kokkos::Impl::FunctorValueJoin; public: - typedef typename ValueTraits::pointer_type pointer_type; - typedef typename ValueTraits::value_type value_type; - typedef typename ValueTraits::reference_type reference_type; - typedef FunctorType functor_type; - typedef Cuda::size_type size_type; + using pointer_type = typename ValueTraits::pointer_type; + using value_type = typename ValueTraits::value_type; + using reference_type = typename ValueTraits::reference_type; + using functor_type = FunctorType; + using size_type = Cuda::size_type; // Algorithmic constraints: blockSize is a power of two AND blockDim.y == // blockDim.z == 1 @@ -1281,10 +1164,9 @@ class ParallelReduce, ReducerType, size_type* m_scratch_flags; size_type* m_unified_space; - typedef typename Kokkos::Impl::Reduce::DeviceIterateTile< + using DeviceIteratePattern = typename Kokkos::Impl::Reduce::DeviceIterateTile< Policy::rank, Policy, FunctorType, typename Policy::work_tag, - reference_type> - DeviceIteratePattern; + reference_type>; // Shall we use the shfl based reduction or not (only use it for static sized // types of more than 128bit @@ -1294,8 +1176,8 @@ class ParallelReduce, ReducerType, }; // Some crutch to do function overloading private: - typedef double DummyShflReductionType; - typedef int DummySHMEMReductionType; + using DummyShflReductionType = double; + using DummySHMEMReductionType = int; public: inline __device__ void exec_range(reference_type update) const { @@ -1414,13 +1296,19 @@ class ParallelReduce, ReducerType, int shmem_size = cuda_single_inter_block_reduce_scan_shmem( f, n); + using closure_type = Impl::ParallelReduce; + cudaFuncAttributes attr = + CudaParallelLaunch::get_cuda_func_attributes(); while ( (n && (m_policy.space().impl_internal_space_instance()->m_maxShmemPerBlock < shmem_size)) || - (n > static_cast( - Kokkos::Impl::cuda_get_max_block_size< - ParallelReduce, LaunchBounds>(f, 1, shmem_size, 0)))) { + (n > + static_cast( + Kokkos::Impl::cuda_get_max_block_size( + m_policy.space().impl_internal_space_instance(), attr, f, 1, + shmem_size, 0)))) { n >>= 1; shmem_size = cuda_single_inter_block_reduce_scan_shmem(f, n); @@ -1507,9 +1395,9 @@ class ParallelReduce, ReducerType, m_result_ptr_device_accessible( MemorySpaceAccess::accessible), - m_scratch_space(0), - m_scratch_flags(0), - m_unified_space(0) {} + m_scratch_space(nullptr), + m_scratch_flags(nullptr), + m_unified_space(nullptr) {} ParallelReduce(const FunctorType& arg_functor, const Policy& arg_policy, const ReducerType& reducer) @@ -1521,9 +1409,9 @@ class ParallelReduce, ReducerType, MemorySpaceAccess::accessible), - m_scratch_space(0), - m_scratch_flags(0), - m_unified_space(0) {} + m_scratch_space(nullptr), + m_scratch_flags(nullptr), + m_unified_space(nullptr) {} }; //---------------------------------------------------------------------------- @@ -1532,39 +1420,39 @@ template class ParallelReduce, ReducerType, Kokkos::Cuda> { public: - typedef TeamPolicyInternal Policy; + using Policy = TeamPolicyInternal; private: - typedef typename Policy::member_type Member; - typedef typename Policy::work_tag WorkTag; - typedef typename Policy::launch_bounds LaunchBounds; - - typedef Kokkos::Impl::if_c::value, - FunctorType, ReducerType> - ReducerConditional; - typedef typename ReducerConditional::type ReducerTypeFwd; - typedef + using Member = typename Policy::member_type; + using WorkTag = typename Policy::work_tag; + using LaunchBounds = typename Policy::launch_bounds; + + using ReducerConditional = + Kokkos::Impl::if_c::value, + FunctorType, ReducerType>; + using ReducerTypeFwd = typename ReducerConditional::type; + using WorkTagFwd = typename Kokkos::Impl::if_c::value, - WorkTag, void>::type WorkTagFwd; + WorkTag, void>::type; - typedef Kokkos::Impl::FunctorValueTraits - ValueTraits; - typedef Kokkos::Impl::FunctorValueInit ValueInit; - typedef Kokkos::Impl::FunctorValueJoin ValueJoin; + using ValueTraits = + Kokkos::Impl::FunctorValueTraits; + using ValueInit = Kokkos::Impl::FunctorValueInit; + using ValueJoin = Kokkos::Impl::FunctorValueJoin; - typedef typename ValueTraits::pointer_type pointer_type; - typedef typename ValueTraits::reference_type reference_type; - typedef typename ValueTraits::value_type value_type; + using pointer_type = typename ValueTraits::pointer_type; + using reference_type = typename ValueTraits::reference_type; + using value_type = typename ValueTraits::value_type; public: - typedef FunctorType functor_type; - typedef Cuda::size_type size_type; + using functor_type = FunctorType; + using size_type = Cuda::size_type; enum { UseShflReduction = (true && (ValueTraits::StaticValueSize != 0)) }; private: - typedef double DummyShflReductionType; - typedef int DummySHMEMReductionType; + using DummyShflReductionType = double; + using DummySHMEMReductionType = int; // Algorithmic constraints: blockDim.y is a power of two AND blockDim.y == // blockDim.z == 1 shared memory utilization: @@ -1818,9 +1706,9 @@ class ParallelReduce, m_result_ptr_device_accessible( MemorySpaceAccess::accessible), - m_scratch_space(0), - m_scratch_flags(0), - m_unified_space(0), + m_scratch_space(nullptr), + m_scratch_flags(nullptr), + m_unified_space(nullptr), m_team_begin(0), m_shmem_begin(0), m_shmem_size(0), @@ -1917,9 +1805,9 @@ class ParallelReduce, MemorySpaceAccess::accessible), - m_scratch_space(0), - m_scratch_flags(0), - m_unified_space(0), + m_scratch_space(nullptr), + m_scratch_flags(nullptr), + m_unified_space(nullptr), m_team_begin(0), m_shmem_begin(0), m_shmem_size(0), @@ -2013,23 +1901,23 @@ namespace Impl { template class ParallelScan, Kokkos::Cuda> { public: - typedef Kokkos::RangePolicy Policy; + using Policy = Kokkos::RangePolicy; private: - typedef typename Policy::member_type Member; - typedef typename Policy::work_tag WorkTag; - typedef typename Policy::WorkRange WorkRange; - typedef typename Policy::launch_bounds LaunchBounds; + using Member = typename Policy::member_type; + using WorkTag = typename Policy::work_tag; + using WorkRange = typename Policy::WorkRange; + using LaunchBounds = typename Policy::launch_bounds; - typedef Kokkos::Impl::FunctorValueTraits ValueTraits; - typedef Kokkos::Impl::FunctorValueInit ValueInit; - typedef Kokkos::Impl::FunctorValueOps ValueOps; + using ValueTraits = Kokkos::Impl::FunctorValueTraits; + using ValueInit = Kokkos::Impl::FunctorValueInit; + using ValueOps = Kokkos::Impl::FunctorValueOps; public: - typedef typename ValueTraits::pointer_type pointer_type; - typedef typename ValueTraits::reference_type reference_type; - typedef FunctorType functor_type; - typedef Cuda::size_type size_type; + using pointer_type = typename ValueTraits::pointer_type; + using reference_type = typename ValueTraits::reference_type; + using functor_type = FunctorType; + using size_type = Cuda::size_type; private: // Algorithmic constraints: @@ -2233,6 +2121,7 @@ class ParallelScan, Kokkos::Cuda> { enum { GridMaxComputeCapability_2x = 0x0ffff }; const int block_size = local_block_size(m_functor); + KOKKOS_ASSERT(block_size > 0); const int grid_max = (block_size * block_size) < GridMaxComputeCapability_2x @@ -2283,8 +2172,8 @@ class ParallelScan, Kokkos::Cuda> { ParallelScan(const FunctorType& arg_functor, const Policy& arg_policy) : m_functor(arg_functor), m_policy(arg_policy), - m_scratch_space(0), - m_scratch_flags(0), + m_scratch_space(nullptr), + m_scratch_flags(nullptr), m_final(false) #ifdef KOKKOS_IMPL_DEBUG_CUDA_SERIAL_EXECUTION , @@ -2299,23 +2188,23 @@ template class ParallelScanWithTotal, ReturnType, Kokkos::Cuda> { public: - typedef Kokkos::RangePolicy Policy; + using Policy = Kokkos::RangePolicy; private: - typedef typename Policy::member_type Member; - typedef typename Policy::work_tag WorkTag; - typedef typename Policy::WorkRange WorkRange; - typedef typename Policy::launch_bounds LaunchBounds; + using Member = typename Policy::member_type; + using WorkTag = typename Policy::work_tag; + using WorkRange = typename Policy::WorkRange; + using LaunchBounds = typename Policy::launch_bounds; - typedef Kokkos::Impl::FunctorValueTraits ValueTraits; - typedef Kokkos::Impl::FunctorValueInit ValueInit; - typedef Kokkos::Impl::FunctorValueOps ValueOps; + using ValueTraits = Kokkos::Impl::FunctorValueTraits; + using ValueInit = Kokkos::Impl::FunctorValueInit; + using ValueOps = Kokkos::Impl::FunctorValueOps; public: - typedef typename ValueTraits::pointer_type pointer_type; - typedef typename ValueTraits::reference_type reference_type; - typedef FunctorType functor_type; - typedef Cuda::size_type size_type; + using pointer_type = typename ValueTraits::pointer_type; + using reference_type = typename ValueTraits::reference_type; + using functor_type = FunctorType; + using size_type = Cuda::size_type; private: // Algorithmic constraints: @@ -2523,6 +2412,7 @@ class ParallelScanWithTotal, enum { GridMaxComputeCapability_2x = 0x0ffff }; const int block_size = local_block_size(m_functor); + KOKKOS_ASSERT(block_size > 0); const int grid_max = (block_size * block_size) < GridMaxComputeCapability_2x @@ -2585,8 +2475,8 @@ class ParallelScanWithTotal, const Policy& arg_policy, ReturnType& arg_returnvalue) : m_functor(arg_functor), m_policy(arg_policy), - m_scratch_space(0), - m_scratch_flags(0), + m_scratch_space(nullptr), + m_scratch_flags(nullptr), m_final(false), m_returnvalue(arg_returnvalue) #ifdef KOKKOS_IMPL_DEBUG_CUDA_SERIAL_EXECUTION @@ -2610,7 +2500,7 @@ template struct CudaFunctorAdapter { const FunctorType f; - typedef ValueType value_type; + using value_type = ValueType; CudaFunctorAdapter(const FunctorType& f_) : f(f_) {} __device__ inline void operator()(typename ExecPolicy::work_tag, @@ -2680,7 +2570,7 @@ struct CudaFunctorAdapter { template struct CudaFunctorAdapter { const FunctorType f; - typedef ValueType value_type; + using value_type = ValueType; CudaFunctorAdapter(const FunctorType& f_) : f(f_) {} __device__ inline void operator()(const typename ExecPolicy::member_type& i, @@ -2801,13 +2691,14 @@ struct CudaFunctorAdapter { template ::value> struct FunctorReferenceType { - typedef ResultType& reference_type; + using reference_type = ResultType&; }; template struct FunctorReferenceType { - typedef typename Kokkos::Impl::FunctorValueTraits< - FunctorType, Tag>::reference_type reference_type; + using reference_type = + typename Kokkos::Impl::FunctorValueTraits::reference_type; }; template @@ -2815,10 +2706,9 @@ struct ParallelReduceFunctorType { enum { FunctorHasValueType = IsNonTrivialReduceFunctor::value }; - typedef typename Kokkos::Impl::if_c< + using functor_type = typename Kokkos::Impl::if_c< FunctorHasValueType, FunctorTypeIn, - Impl::CudaFunctorAdapter>::type - functor_type; + Impl::CudaFunctorAdapter>::type; static functor_type functor(const FunctorTypeIn& functor_in) { return Impl::if_c::select( functor_in, functor_type(functor_in)); diff --git a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_ReduceScan.hpp b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_ReduceScan.hpp index 8795eb5a38b289c68768de4ddfa553307bb75152..69894319078ef040002f662e803afa5cd4e5ff6d 100644 --- a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_ReduceScan.hpp +++ b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_ReduceScan.hpp @@ -140,10 +140,10 @@ __device__ bool cuda_inter_block_reduction( Cuda::size_type* const m_scratch_flags, const int max_active_thread = blockDim.y) { #ifdef __CUDA_ARCH__ - typedef typename FunctorValueTraits::pointer_type - pointer_type; - typedef - typename FunctorValueTraits::value_type value_type; + using pointer_type = + typename FunctorValueTraits::pointer_type; + using value_type = + typename FunctorValueTraits::value_type; // Do the intra-block reduction with shfl operations and static shared memory cuda_intra_block_reduction(value, join, max_active_thread); @@ -255,7 +255,7 @@ __device__ inline cuda_intra_warp_reduction(const ReducerType& reducer, typename ReducerType::value_type& result, const uint32_t max_active_thread = blockDim.y) { - typedef typename ReducerType::value_type ValueType; + using ValueType = typename ReducerType::value_type; unsigned int shift = 1; @@ -278,7 +278,7 @@ __device__ inline cuda_inter_warp_reduction(const ReducerType& reducer, typename ReducerType::value_type value, const int max_active_thread = blockDim.y) { - typedef typename ReducerType::value_type ValueType; + using ValueType = typename ReducerType::value_type; #define STEP_WIDTH 4 // Depending on the ValueType _shared__ memory must be aligned up to 8byte @@ -336,8 +336,8 @@ __device__ inline Cuda::size_type* const m_scratch_flags, const int max_active_thread = blockDim.y) { #ifdef __CUDA_ARCH__ - typedef typename ReducerType::value_type* pointer_type; - typedef typename ReducerType::value_type value_type; + using pointer_type = typename ReducerType::value_type*; + using value_type = typename ReducerType::value_type; // Do the intra-block reduction with shfl operations and static shared memory cuda_intra_block_reduction(reducer, max_active_thread); @@ -450,12 +450,12 @@ struct CudaReductionsFunctor; template struct CudaReductionsFunctor { - typedef FunctorValueTraits ValueTraits; - typedef FunctorValueJoin ValueJoin; - typedef FunctorValueInit ValueInit; - typedef FunctorValueOps ValueOps; - typedef typename ValueTraits::pointer_type pointer_type; - typedef typename ValueTraits::value_type Scalar; + using ValueTraits = FunctorValueTraits; + using ValueJoin = FunctorValueJoin; + using ValueInit = FunctorValueInit; + using ValueOps = FunctorValueOps; + using pointer_type = typename ValueTraits::pointer_type; + using Scalar = typename ValueTraits::value_type; __device__ static inline void scalar_intra_warp_reduction( const FunctorType& functor, @@ -533,8 +533,12 @@ struct CudaReductionsFunctor { __threadfence(); __syncthreads(); unsigned int num_teams_done = 0; + // The cast in the atomic call is necessary to find matching call with + // MSVC/NVCC if (threadIdx.x + threadIdx.y == 0) { - num_teams_done = Kokkos::atomic_fetch_add(global_flags, 1) + 1; + num_teams_done = + Kokkos::atomic_fetch_add(global_flags, static_cast(1)) + + 1; } bool is_last_block = false; if (__syncthreads_or(num_teams_done == gridDim.x)) { @@ -555,12 +559,12 @@ struct CudaReductionsFunctor { template struct CudaReductionsFunctor { - typedef FunctorValueTraits ValueTraits; - typedef FunctorValueJoin ValueJoin; - typedef FunctorValueInit ValueInit; - typedef FunctorValueOps ValueOps; - typedef typename ValueTraits::pointer_type pointer_type; - typedef typename ValueTraits::value_type Scalar; + using ValueTraits = FunctorValueTraits; + using ValueJoin = FunctorValueJoin; + using ValueInit = FunctorValueInit; + using ValueOps = FunctorValueOps; + using pointer_type = typename ValueTraits::pointer_type; + using Scalar = typename ValueTraits::value_type; __device__ static inline void scalar_intra_warp_reduction( const FunctorType& functor, @@ -635,8 +639,12 @@ struct CudaReductionsFunctor { __syncthreads(); unsigned int num_teams_done = 0; + // The cast in the atomic call is necessary to find matching call with + // MSVC/NVCC if (threadIdx.x + threadIdx.y == 0) { - num_teams_done = Kokkos::atomic_fetch_add(global_flags, 1) + 1; + num_teams_done = + Kokkos::atomic_fetch_add(global_flags, static_cast(1)) + + 1; } bool is_last_block = false; if (__syncthreads_or(num_teams_done == gridDim.x)) { @@ -677,10 +685,10 @@ __device__ void cuda_intra_block_reduce_scan( const FunctorType& functor, const typename FunctorValueTraits::pointer_type base_data) { - typedef FunctorValueTraits ValueTraits; - typedef FunctorValueJoin ValueJoin; + using ValueTraits = FunctorValueTraits; + using ValueJoin = FunctorValueJoin; - typedef typename ValueTraits::pointer_type pointer_type; + using pointer_type = typename ValueTraits::pointer_type; const unsigned value_count = ValueTraits::value_count(functor); const unsigned BlockSizeMask = blockDim.y - 1; @@ -855,13 +863,13 @@ __device__ bool cuda_single_inter_block_reduce_scan2( const FunctorType& functor, const Cuda::size_type block_id, const Cuda::size_type block_count, Cuda::size_type* const shared_data, Cuda::size_type* const global_data, Cuda::size_type* const global_flags) { - typedef Cuda::size_type size_type; - typedef FunctorValueTraits ValueTraits; - typedef FunctorValueJoin ValueJoin; - typedef FunctorValueInit ValueInit; - typedef FunctorValueOps ValueOps; + using size_type = Cuda::size_type; + using ValueTraits = FunctorValueTraits; + using ValueJoin = FunctorValueJoin; + using ValueInit = FunctorValueInit; + using ValueOps = FunctorValueOps; - typedef typename ValueTraits::pointer_type pointer_type; + using pointer_type = typename ValueTraits::pointer_type; // '__ffs' = position of the least significant bit set to 1. // 'blockDim.y' is guaranteed to be a power of two so this @@ -950,8 +958,8 @@ __device__ bool cuda_single_inter_block_reduce_scan( const FunctorType& functor, const Cuda::size_type block_id, const Cuda::size_type block_count, Cuda::size_type* const shared_data, Cuda::size_type* const global_data, Cuda::size_type* const global_flags) { - typedef FunctorValueTraits ValueTraits; - if (!DoScan && ValueTraits::StaticValueSize) + using ValueTraits = FunctorValueTraits; + if (!DoScan && ValueTraits::StaticValueSize > 0) return Kokkos::Impl::CudaReductionsFunctor< FunctorType, ArgTag, false, (ValueTraits::StaticValueSize > 16)>:: scalar_inter_block_reduction(functor, block_id, block_count, diff --git a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Task.hpp b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Task.hpp index decbecc5e67bf4e42b27bacec7ce9935d10c53a1..6ead5197eeb5dcb94438272c6a95fb91acb5f361 100644 --- a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Task.hpp +++ b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Task.hpp @@ -754,7 +754,7 @@ namespace Kokkos { // TeamThreadRange( const Impl::TaskExec< Kokkos::Cuda > & thread // , const iType1 & begin, const iType2 & end ) //{ -// typedef typename std::common_type< iType1, iType2 >::type iType; +// using iType = typename std::common_type< iType1, iType2 >::type; // return Impl::TeamThreadRangeBoundariesStruct< iType, Impl::TaskExec< // Kokkos::Cuda > >( // thread, iType(begin), iType(end) ); @@ -921,7 +921,7 @@ KOKKOS_INLINE_FUNCTION void parallel_reduce( const Impl::TeamThreadRangeBoundariesStruct< iType, Impl::TaskExec>& loop_boundaries, const Lambda& lambda, const ReducerType& reducer) { - typedef typename ReducerType::value_type ValueType; + using ValueType = typename ReducerType::value_type; // TODO @internal_documentation what is the point of creating this temporary? ValueType result = ValueType(); reducer.init(result); @@ -1005,7 +1005,7 @@ KOKKOS_INLINE_FUNCTION void parallel_reduce( const Impl::ThreadVectorRangeBoundariesStruct< iType, Impl::TaskExec>& loop_boundaries, const Lambda& lambda, const ReducerType& reducer) { - typedef typename ReducerType::value_type ValueType; + using ValueType = typename ReducerType::value_type; ValueType result = ValueType(); reducer.init(result); diff --git a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Team.hpp b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Team.hpp index d9d5ed0bf3265bab12dd94948343693736c25b7e..1160336519a3dcbcfea9ac7d135ab424cb505a79 100644 --- a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Team.hpp +++ b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Team.hpp @@ -45,9 +45,7 @@ #ifndef KOKKOS_CUDA_TEAM_HPP #define KOKKOS_CUDA_TEAM_HPP -#include #include -#include #include @@ -62,10 +60,8 @@ #include #include -#if defined(KOKKOS_ENABLE_PROFILING) -#include +#include #include -#endif //---------------------------------------------------------------------------- //---------------------------------------------------------------------------- @@ -75,7 +71,7 @@ namespace Impl { template struct CudaJoinFunctor { - typedef Type value_type; + using value_type = Type; KOKKOS_INLINE_FUNCTION static void join(volatile value_type& update, @@ -104,8 +100,8 @@ struct CudaJoinFunctor { */ class CudaTeamMember { public: - typedef Kokkos::Cuda execution_space; - typedef execution_space::scratch_memory_space scratch_memory_space; + using execution_space = Kokkos::Cuda; + using scratch_memory_space = execution_space::scratch_memory_space; private: mutable void* m_team_reduce; @@ -357,8 +353,8 @@ class CudaTeamMember { int const shmem_size) { #ifdef __CUDA_ARCH__ - typedef typename ReducerType::value_type value_type; - typedef value_type volatile* pointer_type; + using value_type = typename ReducerType::value_type; + using pointer_type = value_type volatile*; // Number of shared memory entries for the reduction: const int nsh = shmem_size / sizeof(value_type); @@ -563,7 +559,7 @@ namespace Impl { template struct TeamThreadRangeBoundariesStruct { - typedef iType index_type; + using index_type = iType; const CudaTeamMember& member; const iType start; const iType end; @@ -580,7 +576,7 @@ struct TeamThreadRangeBoundariesStruct { template struct TeamVectorRangeBoundariesStruct { - typedef iType index_type; + using index_type = iType; const CudaTeamMember& member; const iType start; const iType end; @@ -598,7 +594,7 @@ struct TeamVectorRangeBoundariesStruct { template struct ThreadVectorRangeBoundariesStruct { - typedef iType index_type; + using index_type = iType; const index_type start; const index_type end; @@ -634,7 +630,7 @@ template KOKKOS_INLINE_FUNCTION Impl::TeamThreadRangeBoundariesStruct< typename std::common_type::type, Impl::CudaTeamMember> TeamThreadRange(const Impl::CudaTeamMember& thread, iType1 begin, iType2 end) { - typedef typename std::common_type::type iType; + using iType = typename std::common_type::type; return Impl::TeamThreadRangeBoundariesStruct( thread, iType(begin), iType(end)); } @@ -652,7 +648,7 @@ KOKKOS_INLINE_FUNCTION Impl::TeamVectorRangeBoundariesStruct< typename std::common_type::type, Impl::CudaTeamMember> TeamVectorRange(const Impl::CudaTeamMember& thread, const iType1& begin, const iType2& end) { - typedef typename std::common_type::type iType; + using iType = typename std::common_type::type; return Impl::TeamVectorRangeBoundariesStruct( thread, iType(begin), iType(end)); } diff --git a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_UniqueToken.hpp b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_UniqueToken.hpp index 3b470edbc35dd456f9da0d8d95002b54b7a612a2..f846c06ce573fcd13f797bbaaa9375af4ce8ad33 100644 --- a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_UniqueToken.hpp +++ b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_UniqueToken.hpp @@ -59,7 +59,7 @@ namespace Experimental { // both global and instance Unique Tokens are implemented in the same way template <> class UniqueToken { - private: + protected: uint32_t volatile* m_buffer; uint32_t m_count; @@ -67,14 +67,7 @@ class UniqueToken { using execution_space = Cuda; using size_type = int32_t; -#if defined(KOKKOS_ENABLE_DEPRECATED_CODE) - explicit UniqueToken(execution_space const&); - - KOKKOS_INLINE_FUNCTION - UniqueToken() : m_buffer(0), m_count(0) {} -#else explicit UniqueToken(execution_space const& = execution_space()); -#endif KOKKOS_DEFAULTED_FUNCTION UniqueToken(const UniqueToken&) = default; @@ -101,7 +94,7 @@ class UniqueToken { if (result.first < 0) { Kokkos::abort( - "UniqueToken failure to release tokens, no tokens available"); + "UniqueToken failure to acquire tokens, no tokens available"); } return result.first; @@ -117,14 +110,20 @@ class UniqueToken { template <> class UniqueToken : public UniqueToken { + private: + Kokkos::View m_buffer_view; + public: -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - explicit UniqueToken(execution_space const& arg) - : UniqueToken(arg) {} -#else explicit UniqueToken(execution_space const& arg = execution_space()) : UniqueToken(arg) {} -#endif + + UniqueToken(size_type max_size, execution_space const& = execution_space()) + : m_buffer_view( + "UniqueToken::m_buffer_view", + ::Kokkos::Impl::concurrent_bitset::buffer_bound(max_size)) { + m_buffer = m_buffer_view.data(); + m_count = max_size; + } }; } // namespace Experimental diff --git a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Vectorization.hpp b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Vectorization.hpp index 62966f859d1e88acfd96bf0949a6acfeac5ef89c..7f7b7b6e78adc3de9d5ae446565eedc7d00439f5 100644 --- a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Vectorization.hpp +++ b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Vectorization.hpp @@ -47,7 +47,7 @@ #include #ifdef KOKKOS_ENABLE_CUDA -#include +#include #include namespace Kokkos { diff --git a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_View.hpp b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_View.hpp index 364f334a4cdb944d40c2ff7813562a043834db5d..f24abb377dae3102dd26341d5a733ddfd3281a1a 100644 --- a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_View.hpp +++ b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_View.hpp @@ -257,8 +257,8 @@ class ViewDataHandle< // which can only occur on the host. In addition, 'get_record' is only // valid if called in a host execution space - typedef typename Traits::memory_space memory_space; - typedef typename Impl::SharedAllocationRecord record; + using memory_space = typename Traits::memory_space; + using record = typename Impl::SharedAllocationRecord; record* const r = arg_tracker.template get_record(); diff --git a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_WorkGraphPolicy.hpp b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_WorkGraphPolicy.hpp index 0753e383a171beb679dd8745fcfd78e1287a242b..b7c81b92f8d2d6c6cd7e80d63d54dd7fab7a75dc 100644 --- a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_WorkGraphPolicy.hpp +++ b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_WorkGraphPolicy.hpp @@ -45,6 +45,8 @@ #ifndef KOKKOS_CUDA_WORKGRAPHPOLICY_HPP #define KOKKOS_CUDA_WORKGRAPHPOLICY_HPP +#include + namespace Kokkos { namespace Impl { @@ -52,8 +54,8 @@ template class ParallelFor, Kokkos::Cuda> { public: - typedef Kokkos::WorkGraphPolicy Policy; - typedef ParallelFor Self; + using Policy = Kokkos::WorkGraphPolicy; + using Self = ParallelFor; private: Policy m_policy; diff --git a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_abort.hpp b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_abort.hpp index 698695dbdb44bbf60d1773aff9c8f623dcd20f73..f3cf25efef11b9bc261c37086a619fc5ef8d935c 100644 --- a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_abort.hpp +++ b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_abort.hpp @@ -64,14 +64,34 @@ extern __device__ void __assertfail(const void *message, const void *file, namespace Kokkos { namespace Impl { +#if !defined(__APPLE__) +// required to workaround failures in random number generator unit tests with +// pre-volta architectures +#if defined(KOKKOS_ENABLE_DEBUG_BOUNDS_CHECK) __device__ inline void cuda_abort(const char *const message) { -#ifndef __APPLE__ +#else +[[noreturn]] __device__ inline void cuda_abort(const char *const message) { +#endif const char empty[] = ""; __assertfail((const void *)message, (const void *)empty, (unsigned int)0, (const void *)empty, sizeof(char)); + + // This loop is never executed. It's intended to suppress warnings that the + // function returns, even though it does not. This is necessary because + // __assertfail is not marked as [[noreturn]], even though it does not return. + // Disable with KOKKOS_ENABLE_DEBUG_BOUNDS_CHECK to workaround failures + // in random number generator unit tests with pre-volta architectures +#if !defined(KOKKOS_ENABLE_DEBUG_BOUNDS_CHECK) + while (true) + ; #endif } +#else +__device__ inline void cuda_abort(const char *const message) { + // __assertfail is not supported on MAC +} +#endif } // namespace Impl } // namespace Kokkos diff --git a/lib/kokkos/core/src/HIP/KokkosExp_HIP_IterateTile.hpp b/lib/kokkos/core/src/HIP/KokkosExp_HIP_IterateTile.hpp index e2525d70c175e109663511078caae2a574a9f413..1e8a5503135a123e440183cd301ed0eb295cdd04 100644 --- a/lib/kokkos/core/src/HIP/KokkosExp_HIP_IterateTile.hpp +++ b/lib/kokkos/core/src/HIP/KokkosExp_HIP_IterateTile.hpp @@ -48,16 +48,12 @@ #include #if defined(__HIPCC__) -#include #include -#include #include -#if defined(KOKKOS_ENABLE_PROFILING) #include #include -#endif namespace Kokkos { namespace Impl { @@ -80,22 +76,22 @@ struct DeviceIterateTile<2, PolicyType, Functor, void> { void exec_range() const { // LL if (PolicyType::inner_direction == PolicyType::Left) { - for (index_type tile_id1 = static_cast(hipBlockIdx_y); - tile_id1 < m_policy.m_tile_end[1]; tile_id1 += hipGridDim_y) { + for (index_type tile_id1 = static_cast(blockIdx.y); + tile_id1 < m_policy.m_tile_end[1]; tile_id1 += gridDim.y) { const index_type offset_1 = tile_id1 * m_policy.m_tile[1] + - static_cast(hipThreadIdx_y) + + static_cast(threadIdx.y) + static_cast(m_policy.m_lower[1]); if (offset_1 < m_policy.m_upper[1] && - static_cast(hipThreadIdx_y) < m_policy.m_tile[1]) { - for (index_type tile_id0 = static_cast(hipBlockIdx_x); - tile_id0 < m_policy.m_tile_end[0]; tile_id0 += hipGridDim_x) { + static_cast(threadIdx.y) < m_policy.m_tile[1]) { + for (index_type tile_id0 = static_cast(blockIdx.x); + tile_id0 < m_policy.m_tile_end[0]; tile_id0 += gridDim.x) { const index_type offset_0 = tile_id0 * m_policy.m_tile[0] + - static_cast(hipThreadIdx_x) + + static_cast(threadIdx.x) + static_cast(m_policy.m_lower[0]); if (offset_0 < m_policy.m_upper[0] && - static_cast(hipThreadIdx_x) < m_policy.m_tile[0]) { + static_cast(threadIdx.x) < m_policy.m_tile[0]) { m_func(offset_0, offset_1); } } @@ -104,22 +100,22 @@ struct DeviceIterateTile<2, PolicyType, Functor, void> { } // LR else { - for (index_type tile_id0 = static_cast(hipBlockIdx_x); - tile_id0 < m_policy.m_tile_end[0]; tile_id0 += hipGridDim_x) { + for (index_type tile_id0 = static_cast(blockIdx.x); + tile_id0 < m_policy.m_tile_end[0]; tile_id0 += gridDim.x) { const index_type offset_0 = tile_id0 * m_policy.m_tile[0] + - static_cast(hipThreadIdx_x) + + static_cast(threadIdx.x) + static_cast(m_policy.m_lower[0]); if (offset_0 < m_policy.m_upper[0] && - static_cast(hipThreadIdx_x) < m_policy.m_tile[0]) { - for (index_type tile_id1 = static_cast(hipBlockIdx_y); - tile_id1 < m_policy.m_tile_end[1]; tile_id1 += hipGridDim_y) { + static_cast(threadIdx.x) < m_policy.m_tile[0]) { + for (index_type tile_id1 = static_cast(blockIdx.y); + tile_id1 < m_policy.m_tile_end[1]; tile_id1 += gridDim.y) { const index_type offset_1 = tile_id1 * m_policy.m_tile[1] + - static_cast(hipThreadIdx_y) + + static_cast(threadIdx.y) + static_cast(m_policy.m_lower[1]); if (offset_1 < m_policy.m_upper[1] && - static_cast(hipThreadIdx_y) < m_policy.m_tile[1]) { + static_cast(threadIdx.y) < m_policy.m_tile[1]) { m_func(offset_0, offset_1); } } @@ -146,44 +142,44 @@ struct DeviceIterateTile<2, PolicyType, Functor, Tag> { void exec_range() const { if (PolicyType::inner_direction == PolicyType::Left) { // Loop over size maxnumblocks until full range covered - for (index_type tile_id1 = static_cast(hipBlockIdx_y); - tile_id1 < m_policy.m_tile_end[1]; tile_id1 += hipGridDim_y) { + for (index_type tile_id1 = static_cast(blockIdx.y); + tile_id1 < m_policy.m_tile_end[1]; tile_id1 += gridDim.y) { const index_type offset_1 = tile_id1 * m_policy.m_tile[1] + - static_cast(hipThreadIdx_y) + + static_cast(threadIdx.y) + static_cast(m_policy.m_lower[1]); if (offset_1 < m_policy.m_upper[1] && - static_cast(hipThreadIdx_y) < m_policy.m_tile[1]) { - for (index_type tile_id0 = static_cast(hipBlockIdx_x); - tile_id0 < m_policy.m_tile_end[0]; tile_id0 += hipGridDim_x) { + static_cast(threadIdx.y) < m_policy.m_tile[1]) { + for (index_type tile_id0 = static_cast(blockIdx.x); + tile_id0 < m_policy.m_tile_end[0]; tile_id0 += gridDim.x) { const index_type offset_0 = tile_id0 * m_policy.m_tile[0] + - static_cast(hipThreadIdx_x) + + static_cast(threadIdx.x) + static_cast(m_policy.m_lower[0]); if (offset_0 < m_policy.m_upper[0] && - static_cast(hipThreadIdx_x) < m_policy.m_tile[0]) { + static_cast(threadIdx.x) < m_policy.m_tile[0]) { m_func(Tag(), offset_0, offset_1); } } } } } else { - for (index_type tile_id0 = static_cast(hipBlockIdx_x); - tile_id0 < m_policy.m_tile_end[0]; tile_id0 += hipGridDim_x) { + for (index_type tile_id0 = static_cast(blockIdx.x); + tile_id0 < m_policy.m_tile_end[0]; tile_id0 += gridDim.x) { const index_type offset_0 = tile_id0 * m_policy.m_tile[0] + - static_cast(hipThreadIdx_x) + + static_cast(threadIdx.x) + static_cast(m_policy.m_lower[0]); if (offset_0 < m_policy.m_upper[0] && - static_cast(hipThreadIdx_x) < m_policy.m_tile[0]) { - for (index_type tile_id1 = static_cast(hipBlockIdx_y); - tile_id1 < m_policy.m_tile_end[1]; tile_id1 += hipGridDim_y) { + static_cast(threadIdx.x) < m_policy.m_tile[0]) { + for (index_type tile_id1 = static_cast(blockIdx.y); + tile_id1 < m_policy.m_tile_end[1]; tile_id1 += gridDim.y) { const index_type offset_1 = tile_id1 * m_policy.m_tile[1] + - static_cast(hipThreadIdx_y) + + static_cast(threadIdx.y) + static_cast(m_policy.m_lower[1]); if (offset_1 < m_policy.m_upper[1] && - static_cast(hipThreadIdx_y) < m_policy.m_tile[1]) { + static_cast(threadIdx.y) < m_policy.m_tile[1]) { m_func(Tag(), offset_0, offset_1); } } @@ -210,32 +206,30 @@ struct DeviceIterateTile<3, PolicyType, Functor, void> { void exec_range() const { // LL if (PolicyType::inner_direction == PolicyType::Left) { - for (index_type tile_id2 = static_cast(hipBlockIdx_z); - tile_id2 < m_policy.m_tile_end[2]; tile_id2 += hipGridDim_z) { + for (index_type tile_id2 = static_cast(blockIdx.z); + tile_id2 < m_policy.m_tile_end[2]; tile_id2 += gridDim.z) { const index_type offset_2 = tile_id2 * m_policy.m_tile[2] + - static_cast(hipThreadIdx_z) + + static_cast(threadIdx.z) + static_cast(m_policy.m_lower[2]); if (offset_2 < m_policy.m_upper[2] && - static_cast(hipThreadIdx_z) < m_policy.m_tile[2]) { - for (index_type tile_id1 = static_cast(hipBlockIdx_y); - tile_id1 < m_policy.m_tile_end[1]; tile_id1 += hipGridDim_y) { + static_cast(threadIdx.z) < m_policy.m_tile[2]) { + for (index_type tile_id1 = static_cast(blockIdx.y); + tile_id1 < m_policy.m_tile_end[1]; tile_id1 += gridDim.y) { const index_type offset_1 = tile_id1 * m_policy.m_tile[1] + - static_cast(hipThreadIdx_y) + + static_cast(threadIdx.y) + static_cast(m_policy.m_lower[1]); if (offset_1 < m_policy.m_upper[1] && - static_cast(hipThreadIdx_y) < m_policy.m_tile[1]) { - for (index_type tile_id0 = static_cast(hipBlockIdx_x); - tile_id0 < m_policy.m_tile_end[0]; - tile_id0 += hipGridDim_x) { + static_cast(threadIdx.y) < m_policy.m_tile[1]) { + for (index_type tile_id0 = static_cast(blockIdx.x); + tile_id0 < m_policy.m_tile_end[0]; tile_id0 += gridDim.x) { const index_type offset_0 = tile_id0 * m_policy.m_tile[0] + - static_cast(hipThreadIdx_x) + + static_cast(threadIdx.x) + static_cast(m_policy.m_lower[0]); if (offset_0 < m_policy.m_upper[0] && - static_cast(hipThreadIdx_x) < - m_policy.m_tile[0]) { + static_cast(threadIdx.x) < m_policy.m_tile[0]) { m_func(offset_0, offset_1, offset_2); } } @@ -246,32 +240,30 @@ struct DeviceIterateTile<3, PolicyType, Functor, void> { } // LR else { - for (index_type tile_id0 = static_cast(hipBlockIdx_x); - tile_id0 < m_policy.m_tile_end[0]; tile_id0 += hipGridDim_x) { + for (index_type tile_id0 = static_cast(blockIdx.x); + tile_id0 < m_policy.m_tile_end[0]; tile_id0 += gridDim.x) { const index_type offset_0 = tile_id0 * m_policy.m_tile[0] + - static_cast(hipThreadIdx_x) + + static_cast(threadIdx.x) + static_cast(m_policy.m_lower[0]); if (offset_0 < m_policy.m_upper[0] && - static_cast(hipThreadIdx_x) < m_policy.m_tile[0]) { - for (index_type tile_id1 = static_cast(hipBlockIdx_y); - tile_id1 < m_policy.m_tile_end[1]; tile_id1 += hipGridDim_y) { + static_cast(threadIdx.x) < m_policy.m_tile[0]) { + for (index_type tile_id1 = static_cast(blockIdx.y); + tile_id1 < m_policy.m_tile_end[1]; tile_id1 += gridDim.y) { const index_type offset_1 = tile_id1 * m_policy.m_tile[1] + - static_cast(hipThreadIdx_y) + + static_cast(threadIdx.y) + static_cast(m_policy.m_lower[1]); if (offset_1 < m_policy.m_upper[1] && - static_cast(hipThreadIdx_y) < m_policy.m_tile[1]) { - for (index_type tile_id2 = static_cast(hipBlockIdx_z); - tile_id2 < m_policy.m_tile_end[2]; - tile_id2 += hipGridDim_z) { + static_cast(threadIdx.y) < m_policy.m_tile[1]) { + for (index_type tile_id2 = static_cast(blockIdx.z); + tile_id2 < m_policy.m_tile_end[2]; tile_id2 += gridDim.z) { const index_type offset_2 = tile_id2 * m_policy.m_tile[2] + - static_cast(hipThreadIdx_z) + + static_cast(threadIdx.z) + static_cast(m_policy.m_lower[2]); if (offset_2 < m_policy.m_upper[2] && - static_cast(hipThreadIdx_z) < - m_policy.m_tile[2]) { + static_cast(threadIdx.z) < m_policy.m_tile[2]) { m_func(offset_0, offset_1, offset_2); } } @@ -299,32 +291,30 @@ struct DeviceIterateTile<3, PolicyType, Functor, Tag> { KOKKOS_INLINE_FUNCTION void exec_range() const { if (PolicyType::inner_direction == PolicyType::Left) { - for (index_type tile_id2 = static_cast(hipBlockIdx_z); - tile_id2 < m_policy.m_tile_end[2]; tile_id2 += hipGridDim_z) { + for (index_type tile_id2 = static_cast(blockIdx.z); + tile_id2 < m_policy.m_tile_end[2]; tile_id2 += gridDim.z) { const index_type offset_2 = tile_id2 * m_policy.m_tile[2] + - static_cast(hipThreadIdx_z) + + static_cast(threadIdx.z) + static_cast(m_policy.m_lower[2]); if (offset_2 < m_policy.m_upper[2] && - static_cast(hipThreadIdx_z) < m_policy.m_tile[2]) { - for (index_type tile_id1 = static_cast(hipBlockIdx_y); - tile_id1 < m_policy.m_tile_end[1]; tile_id1 += hipGridDim_y) { + static_cast(threadIdx.z) < m_policy.m_tile[2]) { + for (index_type tile_id1 = static_cast(blockIdx.y); + tile_id1 < m_policy.m_tile_end[1]; tile_id1 += gridDim.y) { const index_type offset_1 = tile_id1 * m_policy.m_tile[1] + - static_cast(hipThreadIdx_y) + + static_cast(threadIdx.y) + static_cast(m_policy.m_lower[1]); if (offset_1 < m_policy.m_upper[1] && - static_cast(hipThreadIdx_y) < m_policy.m_tile[1]) { - for (index_type tile_id0 = static_cast(hipBlockIdx_x); - tile_id0 < m_policy.m_tile_end[0]; - tile_id0 += hipGridDim_x) { + static_cast(threadIdx.y) < m_policy.m_tile[1]) { + for (index_type tile_id0 = static_cast(blockIdx.x); + tile_id0 < m_policy.m_tile_end[0]; tile_id0 += gridDim.x) { const index_type offset_0 = tile_id0 * m_policy.m_tile[0] + - static_cast(hipThreadIdx_x) + + static_cast(threadIdx.x) + static_cast(m_policy.m_lower[0]); if (offset_0 < m_policy.m_upper[0] && - static_cast(hipThreadIdx_x) < - m_policy.m_tile[0]) { + static_cast(threadIdx.x) < m_policy.m_tile[0]) { m_func(Tag(), offset_0, offset_1, offset_2); } } @@ -333,32 +323,30 @@ struct DeviceIterateTile<3, PolicyType, Functor, Tag> { } } } else { - for (index_type tile_id0 = static_cast(hipBlockIdx_x); - tile_id0 < m_policy.m_tile_end[0]; tile_id0 += hipGridDim_x) { + for (index_type tile_id0 = static_cast(blockIdx.x); + tile_id0 < m_policy.m_tile_end[0]; tile_id0 += gridDim.x) { const index_type offset_0 = tile_id0 * m_policy.m_tile[0] + - static_cast(hipThreadIdx_x) + + static_cast(threadIdx.x) + static_cast(m_policy.m_lower[0]); if (offset_0 < m_policy.m_upper[0] && - static_cast(hipThreadIdx_x) < m_policy.m_tile[0]) { - for (index_type tile_id1 = static_cast(hipBlockIdx_y); - tile_id1 < m_policy.m_tile_end[1]; tile_id1 += hipGridDim_y) { + static_cast(threadIdx.x) < m_policy.m_tile[0]) { + for (index_type tile_id1 = static_cast(blockIdx.y); + tile_id1 < m_policy.m_tile_end[1]; tile_id1 += gridDim.y) { const index_type offset_1 = tile_id1 * m_policy.m_tile[1] + - static_cast(hipThreadIdx_y) + + static_cast(threadIdx.y) + static_cast(m_policy.m_lower[1]); if (offset_1 < m_policy.m_upper[1] && - static_cast(hipThreadIdx_y) < m_policy.m_tile[1]) { - for (index_type tile_id2 = static_cast(hipBlockIdx_z); - tile_id2 < m_policy.m_tile_end[2]; - tile_id2 += hipGridDim_z) { + static_cast(threadIdx.y) < m_policy.m_tile[1]) { + for (index_type tile_id2 = static_cast(blockIdx.z); + tile_id2 < m_policy.m_tile_end[2]; tile_id2 += gridDim.z) { const index_type offset_2 = tile_id2 * m_policy.m_tile[2] + - static_cast(hipThreadIdx_z) + + static_cast(threadIdx.z) + static_cast(m_policy.m_lower[2]); if (offset_2 < m_policy.m_upper[2] && - static_cast(hipThreadIdx_z) < - m_policy.m_tile[2]) { + static_cast(threadIdx.z) < m_policy.m_tile[2]) { m_func(Tag(), offset_0, offset_1, offset_2); } } @@ -397,31 +385,29 @@ struct DeviceIterateTile<4, PolicyType, Functor, void> { ? index_type(max_blocks / numbl0) : (temp1 <= max_blocks ? temp1 : max_blocks)); - const index_type tile_id0 = - static_cast(hipBlockIdx_x) % numbl0; - const index_type tile_id1 = - static_cast(hipBlockIdx_x) / numbl0; + const index_type tile_id0 = static_cast(blockIdx.x) % numbl0; + const index_type tile_id1 = static_cast(blockIdx.x) / numbl0; const index_type thr_id0 = - static_cast(hipThreadIdx_x) % m_policy.m_tile[0]; + static_cast(threadIdx.x) % m_policy.m_tile[0]; const index_type thr_id1 = - static_cast(hipThreadIdx_x) / m_policy.m_tile[0]; + static_cast(threadIdx.x) / m_policy.m_tile[0]; - for (index_type tile_id3 = static_cast(hipBlockIdx_z); - tile_id3 < m_policy.m_tile_end[3]; tile_id3 += hipGridDim_z) { + for (index_type tile_id3 = static_cast(blockIdx.z); + tile_id3 < m_policy.m_tile_end[3]; tile_id3 += gridDim.z) { const index_type offset_3 = tile_id3 * m_policy.m_tile[3] + - static_cast(hipThreadIdx_z) + + static_cast(threadIdx.z) + static_cast(m_policy.m_lower[3]); if (offset_3 < m_policy.m_upper[3] && - static_cast(hipThreadIdx_z) < m_policy.m_tile[3]) { - for (index_type tile_id2 = static_cast(hipBlockIdx_y); - tile_id2 < m_policy.m_tile_end[2]; tile_id2 += hipGridDim_y) { + static_cast(threadIdx.z) < m_policy.m_tile[3]) { + for (index_type tile_id2 = static_cast(blockIdx.y); + tile_id2 < m_policy.m_tile_end[2]; tile_id2 += gridDim.y) { const index_type offset_2 = tile_id2 * m_policy.m_tile[2] + - static_cast(hipThreadIdx_y) + + static_cast(threadIdx.y) + static_cast(m_policy.m_lower[2]); if (offset_2 < m_policy.m_upper[2] && - static_cast(hipThreadIdx_y) < m_policy.m_tile[2]) { + static_cast(threadIdx.y) < m_policy.m_tile[2]) { for (index_type j = tile_id1; j < m_policy.m_tile_end[1]; j += numbl1) { const index_type offset_1 = @@ -456,14 +442,12 @@ struct DeviceIterateTile<4, PolicyType, Functor, void> { ? index_type(max_blocks / numbl1) : (temp0 <= max_blocks ? temp0 : max_blocks)); - const index_type tile_id0 = - static_cast(hipBlockIdx_x) / numbl1; - const index_type tile_id1 = - static_cast(hipBlockIdx_x) % numbl1; + const index_type tile_id0 = static_cast(blockIdx.x) / numbl1; + const index_type tile_id1 = static_cast(blockIdx.x) % numbl1; const index_type thr_id0 = - static_cast(hipThreadIdx_x) / m_policy.m_tile[1]; + static_cast(threadIdx.x) / m_policy.m_tile[1]; const index_type thr_id1 = - static_cast(hipThreadIdx_x) % m_policy.m_tile[1]; + static_cast(threadIdx.x) % m_policy.m_tile[1]; for (index_type i = tile_id0; i < m_policy.m_tile_end[0]; i += numbl0) { const index_type offset_0 = @@ -477,26 +461,24 @@ struct DeviceIterateTile<4, PolicyType, Functor, void> { static_cast(m_policy.m_lower[1]); if (offset_1 < m_policy.m_upper[1] && thr_id1 < m_policy.m_tile[1]) { - for (index_type tile_id2 = static_cast(hipBlockIdx_y); - tile_id2 < m_policy.m_tile_end[2]; - tile_id2 += hipGridDim_y) { + for (index_type tile_id2 = static_cast(blockIdx.y); + tile_id2 < m_policy.m_tile_end[2]; tile_id2 += gridDim.y) { const index_type offset_2 = tile_id2 * m_policy.m_tile[2] + - static_cast(hipThreadIdx_y) + + static_cast(threadIdx.y) + static_cast(m_policy.m_lower[2]); if (offset_2 < m_policy.m_upper[2] && - static_cast(hipThreadIdx_y) < - m_policy.m_tile[2]) { + static_cast(threadIdx.y) < m_policy.m_tile[2]) { for (index_type tile_id3 = - static_cast(hipBlockIdx_z); + static_cast(blockIdx.z); tile_id3 < m_policy.m_tile_end[3]; - tile_id3 += hipGridDim_z) { + tile_id3 += gridDim.z) { const index_type offset_3 = tile_id3 * m_policy.m_tile[3] + - static_cast(hipThreadIdx_z) + + static_cast(threadIdx.z) + static_cast(m_policy.m_lower[3]); if (offset_3 < m_policy.m_upper[3] && - static_cast(hipThreadIdx_z) < + static_cast(threadIdx.z) < m_policy.m_tile[3]) { m_func(offset_0, offset_1, offset_2, offset_3); } @@ -537,31 +519,29 @@ struct DeviceIterateTile<4, PolicyType, Functor, Tag> { ? static_cast(max_blocks / numbl0) : (temp1 <= max_blocks ? temp1 : max_blocks)); - const index_type tile_id0 = - static_cast(hipBlockIdx_x) % numbl0; - const index_type tile_id1 = - static_cast(hipBlockIdx_x) / numbl0; + const index_type tile_id0 = static_cast(blockIdx.x) % numbl0; + const index_type tile_id1 = static_cast(blockIdx.x) / numbl0; const index_type thr_id0 = - static_cast(hipThreadIdx_x) % m_policy.m_tile[0]; + static_cast(threadIdx.x) % m_policy.m_tile[0]; const index_type thr_id1 = - static_cast(hipThreadIdx_x) / m_policy.m_tile[0]; + static_cast(threadIdx.x) / m_policy.m_tile[0]; - for (index_type tile_id3 = static_cast(hipBlockIdx_z); - tile_id3 < m_policy.m_tile_end[3]; tile_id3 += hipGridDim_z) { + for (index_type tile_id3 = static_cast(blockIdx.z); + tile_id3 < m_policy.m_tile_end[3]; tile_id3 += gridDim.z) { const index_type offset_3 = tile_id3 * m_policy.m_tile[3] + - static_cast(hipThreadIdx_z) + + static_cast(threadIdx.z) + static_cast(m_policy.m_lower[3]); if (offset_3 < m_policy.m_upper[3] && - static_cast(hipThreadIdx_z) < m_policy.m_tile[3]) { - for (index_type tile_id2 = static_cast(hipBlockIdx_y); - tile_id2 < m_policy.m_tile_end[2]; tile_id2 += hipGridDim_y) { + static_cast(threadIdx.z) < m_policy.m_tile[3]) { + for (index_type tile_id2 = static_cast(blockIdx.y); + tile_id2 < m_policy.m_tile_end[2]; tile_id2 += gridDim.y) { const index_type offset_2 = tile_id2 * m_policy.m_tile[2] + - static_cast(hipThreadIdx_y) + + static_cast(threadIdx.y) + static_cast(m_policy.m_lower[2]); if (offset_2 < m_policy.m_upper[2] && - static_cast(hipThreadIdx_y) < m_policy.m_tile[2]) { + static_cast(threadIdx.y) < m_policy.m_tile[2]) { for (index_type j = tile_id1; j < m_policy.m_tile_end[1]; j += numbl1) { const index_type offset_1 = @@ -594,14 +574,12 @@ struct DeviceIterateTile<4, PolicyType, Functor, Tag> { ? index_type(max_blocks / numbl1) : (temp0 <= max_blocks ? temp0 : max_blocks)); - const index_type tile_id0 = - static_cast(hipBlockIdx_x) / numbl1; - const index_type tile_id1 = - static_cast(hipBlockIdx_x) % numbl1; + const index_type tile_id0 = static_cast(blockIdx.x) / numbl1; + const index_type tile_id1 = static_cast(blockIdx.x) % numbl1; const index_type thr_id0 = - static_cast(hipThreadIdx_x) / m_policy.m_tile[1]; + static_cast(threadIdx.x) / m_policy.m_tile[1]; const index_type thr_id1 = - static_cast(hipThreadIdx_x) % m_policy.m_tile[1]; + static_cast(threadIdx.x) % m_policy.m_tile[1]; for (index_type i = tile_id0; i < m_policy.m_tile_end[0]; i += numbl0) { const index_type offset_0 = @@ -615,26 +593,24 @@ struct DeviceIterateTile<4, PolicyType, Functor, Tag> { static_cast(m_policy.m_lower[1]); if (offset_1 < m_policy.m_upper[1] && thr_id1 < m_policy.m_tile[1]) { - for (index_type tile_id2 = static_cast(hipBlockIdx_y); - tile_id2 < m_policy.m_tile_end[2]; - tile_id2 += hipGridDim_y) { + for (index_type tile_id2 = static_cast(blockIdx.y); + tile_id2 < m_policy.m_tile_end[2]; tile_id2 += gridDim.y) { const index_type offset_2 = tile_id2 * m_policy.m_tile[2] + - static_cast(hipThreadIdx_y) + + static_cast(threadIdx.y) + static_cast(m_policy.m_lower[2]); if (offset_2 < m_policy.m_upper[2] && - static_cast(hipThreadIdx_y) < - m_policy.m_tile[2]) { + static_cast(threadIdx.y) < m_policy.m_tile[2]) { for (index_type tile_id3 = - static_cast(hipBlockIdx_z); + static_cast(blockIdx.z); tile_id3 < m_policy.m_tile_end[3]; - tile_id3 += hipGridDim_z) { + tile_id3 += gridDim.z) { const index_type offset_3 = tile_id3 * m_policy.m_tile[3] + - static_cast(hipThreadIdx_z) + + static_cast(threadIdx.z) + static_cast(m_policy.m_lower[3]); if (offset_3 < m_policy.m_upper[3] && - static_cast(hipThreadIdx_z) < + static_cast(threadIdx.z) < m_policy.m_tile[3]) { m_func(Tag(), offset_0, offset_1, offset_2, offset_3); } @@ -676,14 +652,12 @@ struct DeviceIterateTile<5, PolicyType, Functor, void> { ? index_type(max_blocks / numbl0) : (temp1 <= max_blocks ? temp1 : max_blocks)); - const index_type tile_id0 = - static_cast(hipBlockIdx_x) % numbl0; - const index_type tile_id1 = - static_cast(hipBlockIdx_x) / numbl0; + const index_type tile_id0 = static_cast(blockIdx.x) % numbl0; + const index_type tile_id1 = static_cast(blockIdx.x) / numbl0; const index_type thr_id0 = - static_cast(hipThreadIdx_x) % m_policy.m_tile[0]; + static_cast(threadIdx.x) % m_policy.m_tile[0]; const index_type thr_id1 = - static_cast(hipThreadIdx_x) / m_policy.m_tile[0]; + static_cast(threadIdx.x) / m_policy.m_tile[0]; temp0 = m_policy.m_tile_end[2]; temp1 = m_policy.m_tile_end[3]; @@ -693,23 +667,21 @@ struct DeviceIterateTile<5, PolicyType, Functor, void> { ? index_type(max_blocks / numbl2) : (temp1 <= max_blocks ? temp1 : max_blocks)); - const index_type tile_id2 = - static_cast(hipBlockIdx_y) % numbl2; - const index_type tile_id3 = - static_cast(hipBlockIdx_y) / numbl2; + const index_type tile_id2 = static_cast(blockIdx.y) % numbl2; + const index_type tile_id3 = static_cast(blockIdx.y) / numbl2; const index_type thr_id2 = - static_cast(hipThreadIdx_y) % m_policy.m_tile[2]; + static_cast(threadIdx.y) % m_policy.m_tile[2]; const index_type thr_id3 = - static_cast(hipThreadIdx_y) / m_policy.m_tile[2]; + static_cast(threadIdx.y) / m_policy.m_tile[2]; - for (index_type tile_id4 = static_cast(hipBlockIdx_z); - tile_id4 < m_policy.m_tile_end[4]; tile_id4 += hipGridDim_z) { + for (index_type tile_id4 = static_cast(blockIdx.z); + tile_id4 < m_policy.m_tile_end[4]; tile_id4 += gridDim.z) { const index_type offset_4 = tile_id4 * m_policy.m_tile[4] + - static_cast(hipThreadIdx_z) + + static_cast(threadIdx.z) + static_cast(m_policy.m_lower[4]); if (offset_4 < m_policy.m_upper[4] && - static_cast(hipThreadIdx_z) < m_policy.m_tile[4]) { + static_cast(threadIdx.z) < m_policy.m_tile[4]) { for (index_type l = tile_id3; l < m_policy.m_tile_end[3]; l += numbl3) { const index_type offset_3 = @@ -761,14 +733,12 @@ struct DeviceIterateTile<5, PolicyType, Functor, void> { ? index_type(max_blocks / numbl1) : (temp0 <= max_blocks ? temp0 : max_blocks)); - const index_type tile_id0 = - static_cast(hipBlockIdx_x) / numbl1; - const index_type tile_id1 = - static_cast(hipBlockIdx_x) % numbl1; + const index_type tile_id0 = static_cast(blockIdx.x) / numbl1; + const index_type tile_id1 = static_cast(blockIdx.x) % numbl1; const index_type thr_id0 = - static_cast(hipThreadIdx_x) / m_policy.m_tile[1]; + static_cast(threadIdx.x) / m_policy.m_tile[1]; const index_type thr_id1 = - static_cast(hipThreadIdx_x) % m_policy.m_tile[1]; + static_cast(threadIdx.x) % m_policy.m_tile[1]; temp0 = m_policy.m_tile_end[2]; temp1 = m_policy.m_tile_end[3]; @@ -778,14 +748,12 @@ struct DeviceIterateTile<5, PolicyType, Functor, void> { ? index_type(max_blocks / numbl3) : (temp0 <= max_blocks ? temp0 : max_blocks)); - const index_type tile_id2 = - static_cast(hipBlockIdx_y) / numbl3; - const index_type tile_id3 = - static_cast(hipBlockIdx_y) % numbl3; + const index_type tile_id2 = static_cast(blockIdx.y) / numbl3; + const index_type tile_id3 = static_cast(blockIdx.y) % numbl3; const index_type thr_id2 = - static_cast(hipThreadIdx_y) / m_policy.m_tile[3]; + static_cast(threadIdx.y) / m_policy.m_tile[3]; const index_type thr_id3 = - static_cast(hipThreadIdx_y) % m_policy.m_tile[3]; + static_cast(threadIdx.y) % m_policy.m_tile[3]; for (index_type i = tile_id0; i < m_policy.m_tile_end[0]; i += numbl0) { const index_type offset_0 = @@ -814,15 +782,15 @@ struct DeviceIterateTile<5, PolicyType, Functor, void> { if (offset_3 < m_policy.m_upper[3] && thr_id3 < m_policy.m_tile[3]) { for (index_type tile_id4 = - static_cast(hipBlockIdx_z); + static_cast(blockIdx.z); tile_id4 < m_policy.m_tile_end[4]; - tile_id4 += hipGridDim_z) { + tile_id4 += gridDim.z) { const index_type offset_4 = tile_id4 * m_policy.m_tile[4] + - static_cast(hipThreadIdx_z) + + static_cast(threadIdx.z) + static_cast(m_policy.m_lower[4]); if (offset_4 < m_policy.m_upper[4] && - static_cast(hipThreadIdx_z) < + static_cast(threadIdx.z) < m_policy.m_tile[4]) { m_func(offset_0, offset_1, offset_2, offset_3, offset_4); @@ -867,14 +835,12 @@ struct DeviceIterateTile<5, PolicyType, Functor, Tag> { ? index_type(max_blocks / numbl0) : (temp1 <= max_blocks ? temp1 : max_blocks)); - const index_type tile_id0 = - static_cast(hipBlockIdx_x) % numbl0; - const index_type tile_id1 = - static_cast(hipBlockIdx_x) / numbl0; + const index_type tile_id0 = static_cast(blockIdx.x) % numbl0; + const index_type tile_id1 = static_cast(blockIdx.x) / numbl0; const index_type thr_id0 = - static_cast(hipThreadIdx_x) % m_policy.m_tile[0]; + static_cast(threadIdx.x) % m_policy.m_tile[0]; const index_type thr_id1 = - static_cast(hipThreadIdx_x) / m_policy.m_tile[0]; + static_cast(threadIdx.x) / m_policy.m_tile[0]; temp0 = m_policy.m_tile_end[2]; temp1 = m_policy.m_tile_end[3]; @@ -884,23 +850,21 @@ struct DeviceIterateTile<5, PolicyType, Functor, Tag> { ? index_type(max_blocks / numbl2) : (temp1 <= max_blocks ? temp1 : max_blocks)); - const index_type tile_id2 = - static_cast(hipBlockIdx_y) % numbl2; - const index_type tile_id3 = - static_cast(hipBlockIdx_y) / numbl2; + const index_type tile_id2 = static_cast(blockIdx.y) % numbl2; + const index_type tile_id3 = static_cast(blockIdx.y) / numbl2; const index_type thr_id2 = - static_cast(hipThreadIdx_y) % m_policy.m_tile[2]; + static_cast(threadIdx.y) % m_policy.m_tile[2]; const index_type thr_id3 = - static_cast(hipThreadIdx_y) / m_policy.m_tile[2]; + static_cast(threadIdx.y) / m_policy.m_tile[2]; - for (index_type tile_id4 = static_cast(hipBlockIdx_z); - tile_id4 < m_policy.m_tile_end[4]; tile_id4 += hipGridDim_z) { + for (index_type tile_id4 = static_cast(blockIdx.z); + tile_id4 < m_policy.m_tile_end[4]; tile_id4 += gridDim.z) { const index_type offset_4 = tile_id4 * m_policy.m_tile[4] + - static_cast(hipThreadIdx_z) + + static_cast(threadIdx.z) + static_cast(m_policy.m_lower[4]); if (offset_4 < m_policy.m_upper[4] && - static_cast(hipThreadIdx_z) < m_policy.m_tile[4]) { + static_cast(threadIdx.z) < m_policy.m_tile[4]) { for (index_type l = tile_id3; l < m_policy.m_tile_end[3]; l += numbl3) { const index_type offset_3 = @@ -952,14 +916,12 @@ struct DeviceIterateTile<5, PolicyType, Functor, Tag> { ? static_cast(max_blocks / numbl1) : (temp0 <= max_blocks ? temp0 : max_blocks)); - const index_type tile_id0 = - static_cast(hipBlockIdx_x) / numbl1; - const index_type tile_id1 = - static_cast(hipBlockIdx_x) % numbl1; + const index_type tile_id0 = static_cast(blockIdx.x) / numbl1; + const index_type tile_id1 = static_cast(blockIdx.x) % numbl1; const index_type thr_id0 = - static_cast(hipThreadIdx_x) / m_policy.m_tile[1]; + static_cast(threadIdx.x) / m_policy.m_tile[1]; const index_type thr_id1 = - static_cast(hipThreadIdx_x) % m_policy.m_tile[1]; + static_cast(threadIdx.x) % m_policy.m_tile[1]; temp0 = m_policy.m_tile_end[2]; temp1 = m_policy.m_tile_end[3]; @@ -969,14 +931,12 @@ struct DeviceIterateTile<5, PolicyType, Functor, Tag> { ? index_type(max_blocks / numbl3) : (temp0 <= max_blocks ? temp0 : max_blocks)); - const index_type tile_id2 = - static_cast(hipBlockIdx_y) / numbl3; - const index_type tile_id3 = - static_cast(hipBlockIdx_y) % numbl3; + const index_type tile_id2 = static_cast(blockIdx.y) / numbl3; + const index_type tile_id3 = static_cast(blockIdx.y) % numbl3; const index_type thr_id2 = - static_cast(hipThreadIdx_y) / m_policy.m_tile[3]; + static_cast(threadIdx.y) / m_policy.m_tile[3]; const index_type thr_id3 = - static_cast(hipThreadIdx_y) % m_policy.m_tile[3]; + static_cast(threadIdx.y) % m_policy.m_tile[3]; for (index_type i = tile_id0; i < m_policy.m_tile_end[0]; i += numbl0) { const index_type offset_0 = @@ -1005,15 +965,15 @@ struct DeviceIterateTile<5, PolicyType, Functor, Tag> { if (offset_3 < m_policy.m_upper[3] && thr_id3 < m_policy.m_tile[3]) { for (index_type tile_id4 = - static_cast(hipBlockIdx_z); + static_cast(blockIdx.z); tile_id4 < m_policy.m_tile_end[4]; - tile_id4 += hipGridDim_z) { + tile_id4 += gridDim.z) { const index_type offset_4 = tile_id4 * m_policy.m_tile[4] + - static_cast(hipThreadIdx_z) + + static_cast(threadIdx.z) + static_cast(m_policy.m_lower[4]); if (offset_4 < m_policy.m_upper[4] && - static_cast(hipThreadIdx_z) < + static_cast(threadIdx.z) < m_policy.m_tile[4]) { m_func(Tag(), offset_0, offset_1, offset_2, offset_3, offset_4); @@ -1058,14 +1018,12 @@ struct DeviceIterateTile<6, PolicyType, Functor, void> { ? static_cast(max_blocks / numbl0) : (temp1 <= max_blocks ? temp1 : max_blocks)); - const index_type tile_id0 = - static_cast(hipBlockIdx_x) % numbl0; - const index_type tile_id1 = - static_cast(hipBlockIdx_x) / numbl0; + const index_type tile_id0 = static_cast(blockIdx.x) % numbl0; + const index_type tile_id1 = static_cast(blockIdx.x) / numbl0; const index_type thr_id0 = - static_cast(hipThreadIdx_x) % m_policy.m_tile[0]; + static_cast(threadIdx.x) % m_policy.m_tile[0]; const index_type thr_id1 = - static_cast(hipThreadIdx_x) / m_policy.m_tile[0]; + static_cast(threadIdx.x) / m_policy.m_tile[0]; temp0 = m_policy.m_tile_end[2]; temp1 = m_policy.m_tile_end[3]; @@ -1075,14 +1033,12 @@ struct DeviceIterateTile<6, PolicyType, Functor, void> { ? index_type(max_blocks / numbl2) : (temp1 <= max_blocks ? temp1 : max_blocks)); - const index_type tile_id2 = - static_cast(hipBlockIdx_y) % numbl2; - const index_type tile_id3 = - static_cast(hipBlockIdx_y) / numbl2; + const index_type tile_id2 = static_cast(blockIdx.y) % numbl2; + const index_type tile_id3 = static_cast(blockIdx.y) / numbl2; const index_type thr_id2 = - static_cast(hipThreadIdx_y) % m_policy.m_tile[2]; + static_cast(threadIdx.y) % m_policy.m_tile[2]; const index_type thr_id3 = - static_cast(hipThreadIdx_y) / m_policy.m_tile[2]; + static_cast(threadIdx.y) / m_policy.m_tile[2]; temp0 = m_policy.m_tile_end[4]; temp1 = m_policy.m_tile_end[5]; @@ -1092,14 +1048,12 @@ struct DeviceIterateTile<6, PolicyType, Functor, void> { ? static_cast(max_blocks / numbl4) : (temp1 <= max_blocks ? temp1 : max_blocks)); - const index_type tile_id4 = - static_cast(hipBlockIdx_z) % numbl4; - const index_type tile_id5 = - static_cast(hipBlockIdx_z) / numbl4; + const index_type tile_id4 = static_cast(blockIdx.z) % numbl4; + const index_type tile_id5 = static_cast(blockIdx.z) / numbl4; const index_type thr_id4 = - static_cast(hipThreadIdx_z) % m_policy.m_tile[4]; + static_cast(threadIdx.z) % m_policy.m_tile[4]; const index_type thr_id5 = - static_cast(hipThreadIdx_z) / m_policy.m_tile[4]; + static_cast(threadIdx.z) / m_policy.m_tile[4]; for (index_type n = tile_id5; n < m_policy.m_tile_end[5]; n += numbl5) { const index_type offset_5 = @@ -1166,14 +1120,12 @@ struct DeviceIterateTile<6, PolicyType, Functor, void> { ? static_cast(max_blocks / numbl1) : (temp0 <= max_blocks ? temp0 : max_blocks)); - const index_type tile_id0 = - static_cast(hipBlockIdx_x) / numbl1; - const index_type tile_id1 = - static_cast(hipBlockIdx_x) % numbl1; + const index_type tile_id0 = static_cast(blockIdx.x) / numbl1; + const index_type tile_id1 = static_cast(blockIdx.x) % numbl1; const index_type thr_id0 = - static_cast(hipThreadIdx_x) / m_policy.m_tile[1]; + static_cast(threadIdx.x) / m_policy.m_tile[1]; const index_type thr_id1 = - static_cast(hipThreadIdx_x) % m_policy.m_tile[1]; + static_cast(threadIdx.x) % m_policy.m_tile[1]; temp0 = m_policy.m_tile_end[2]; temp1 = m_policy.m_tile_end[3]; @@ -1183,14 +1135,12 @@ struct DeviceIterateTile<6, PolicyType, Functor, void> { ? index_type(max_blocks / numbl3) : (temp0 <= max_blocks ? temp0 : max_blocks)); - const index_type tile_id2 = - static_cast(hipBlockIdx_y) / numbl3; - const index_type tile_id3 = - static_cast(hipBlockIdx_y) % numbl3; + const index_type tile_id2 = static_cast(blockIdx.y) / numbl3; + const index_type tile_id3 = static_cast(blockIdx.y) % numbl3; const index_type thr_id2 = - static_cast(hipThreadIdx_y) / m_policy.m_tile[3]; + static_cast(threadIdx.y) / m_policy.m_tile[3]; const index_type thr_id3 = - static_cast(hipThreadIdx_y) % m_policy.m_tile[3]; + static_cast(threadIdx.y) % m_policy.m_tile[3]; temp0 = m_policy.m_tile_end[4]; temp1 = m_policy.m_tile_end[5]; @@ -1200,14 +1150,12 @@ struct DeviceIterateTile<6, PolicyType, Functor, void> { ? index_type(max_blocks / numbl5) : (temp0 <= max_blocks ? temp0 : max_blocks)); - const index_type tile_id4 = - static_cast(hipBlockIdx_z) / numbl5; - const index_type tile_id5 = - static_cast(hipBlockIdx_z) % numbl5; + const index_type tile_id4 = static_cast(blockIdx.z) / numbl5; + const index_type tile_id5 = static_cast(blockIdx.z) % numbl5; const index_type thr_id4 = - static_cast(hipThreadIdx_z) / m_policy.m_tile[5]; + static_cast(threadIdx.z) / m_policy.m_tile[5]; const index_type thr_id5 = - static_cast(hipThreadIdx_z) % m_policy.m_tile[5]; + static_cast(threadIdx.z) % m_policy.m_tile[5]; for (index_type i = tile_id0; i < m_policy.m_tile_end[0]; i += numbl0) { const index_type offset_0 = @@ -1294,14 +1242,12 @@ struct DeviceIterateTile<6, PolicyType, Functor, Tag> { ? static_cast(max_blocks / numbl0) : (temp1 <= max_blocks ? temp1 : max_blocks)); - const index_type tile_id0 = - static_cast(hipBlockIdx_x) % numbl0; - const index_type tile_id1 = - static_cast(hipBlockIdx_x) / numbl0; + const index_type tile_id0 = static_cast(blockIdx.x) % numbl0; + const index_type tile_id1 = static_cast(blockIdx.x) / numbl0; const index_type thr_id0 = - static_cast(hipThreadIdx_x) % m_policy.m_tile[0]; + static_cast(threadIdx.x) % m_policy.m_tile[0]; const index_type thr_id1 = - static_cast(hipThreadIdx_x) / m_policy.m_tile[0]; + static_cast(threadIdx.x) / m_policy.m_tile[0]; temp0 = m_policy.m_tile_end[2]; temp1 = m_policy.m_tile_end[3]; @@ -1311,14 +1257,12 @@ struct DeviceIterateTile<6, PolicyType, Functor, Tag> { ? static_cast(max_blocks / numbl2) : (temp1 <= max_blocks ? temp1 : max_blocks)); - const index_type tile_id2 = - static_cast(hipBlockIdx_y) % numbl2; - const index_type tile_id3 = - static_cast(hipBlockIdx_y) / numbl2; + const index_type tile_id2 = static_cast(blockIdx.y) % numbl2; + const index_type tile_id3 = static_cast(blockIdx.y) / numbl2; const index_type thr_id2 = - static_cast(hipThreadIdx_y) % m_policy.m_tile[2]; + static_cast(threadIdx.y) % m_policy.m_tile[2]; const index_type thr_id3 = - static_cast(hipThreadIdx_y) / m_policy.m_tile[2]; + static_cast(threadIdx.y) / m_policy.m_tile[2]; temp0 = m_policy.m_tile_end[4]; temp1 = m_policy.m_tile_end[5]; @@ -1328,14 +1272,12 @@ struct DeviceIterateTile<6, PolicyType, Functor, Tag> { ? static_cast(max_blocks / numbl4) : (temp1 <= max_blocks ? temp1 : max_blocks)); - const index_type tile_id4 = - static_cast(hipBlockIdx_z) % numbl4; - const index_type tile_id5 = - static_cast(hipBlockIdx_z) / numbl4; + const index_type tile_id4 = static_cast(blockIdx.z) % numbl4; + const index_type tile_id5 = static_cast(blockIdx.z) / numbl4; const index_type thr_id4 = - static_cast(hipThreadIdx_z) % m_policy.m_tile[4]; + static_cast(threadIdx.z) % m_policy.m_tile[4]; const index_type thr_id5 = - static_cast(hipThreadIdx_z) / m_policy.m_tile[4]; + static_cast(threadIdx.z) / m_policy.m_tile[4]; for (index_type n = tile_id5; n < m_policy.m_tile_end[5]; n += numbl5) { const index_type offset_5 = @@ -1402,14 +1344,12 @@ struct DeviceIterateTile<6, PolicyType, Functor, Tag> { ? static_cast(max_blocks / numbl1) : (temp0 <= max_blocks ? temp0 : max_blocks)); - const index_type tile_id0 = - static_cast(hipBlockIdx_x) / numbl1; - const index_type tile_id1 = - static_cast(hipBlockIdx_x) % numbl1; + const index_type tile_id0 = static_cast(blockIdx.x) / numbl1; + const index_type tile_id1 = static_cast(blockIdx.x) % numbl1; const index_type thr_id0 = - static_cast(hipThreadIdx_x) / m_policy.m_tile[1]; + static_cast(threadIdx.x) / m_policy.m_tile[1]; const index_type thr_id1 = - static_cast(hipThreadIdx_x) % m_policy.m_tile[1]; + static_cast(threadIdx.x) % m_policy.m_tile[1]; temp0 = m_policy.m_tile_end[2]; temp1 = m_policy.m_tile_end[3]; @@ -1419,14 +1359,12 @@ struct DeviceIterateTile<6, PolicyType, Functor, Tag> { ? static_cast(max_blocks / numbl3) : (temp0 <= max_blocks ? temp0 : max_blocks)); - const index_type tile_id2 = - static_cast(hipBlockIdx_y) / numbl3; - const index_type tile_id3 = - static_cast(hipBlockIdx_y) % numbl3; + const index_type tile_id2 = static_cast(blockIdx.y) / numbl3; + const index_type tile_id3 = static_cast(blockIdx.y) % numbl3; const index_type thr_id2 = - static_cast(hipThreadIdx_y) / m_policy.m_tile[3]; + static_cast(threadIdx.y) / m_policy.m_tile[3]; const index_type thr_id3 = - static_cast(hipThreadIdx_y) % m_policy.m_tile[3]; + static_cast(threadIdx.y) % m_policy.m_tile[3]; temp0 = m_policy.m_tile_end[4]; temp1 = m_policy.m_tile_end[5]; @@ -1436,14 +1374,12 @@ struct DeviceIterateTile<6, PolicyType, Functor, Tag> { ? static_cast(max_blocks / numbl5) : (temp0 <= max_blocks ? temp0 : max_blocks)); - const index_type tile_id4 = - static_cast(hipBlockIdx_z) / numbl5; - const index_type tile_id5 = - static_cast(hipBlockIdx_z) % numbl5; + const index_type tile_id4 = static_cast(blockIdx.z) / numbl5; + const index_type tile_id5 = static_cast(blockIdx.z) % numbl5; const index_type thr_id4 = - static_cast(hipThreadIdx_z) / m_policy.m_tile[5]; + static_cast(threadIdx.z) / m_policy.m_tile[5]; const index_type thr_id5 = - static_cast(hipThreadIdx_z) % m_policy.m_tile[5]; + static_cast(threadIdx.z) % m_policy.m_tile[5]; for (index_type i = tile_id0; i < m_policy.m_tile_end[0]; i += numbl0) { const index_type offset_0 = @@ -1573,18 +1509,18 @@ struct DeviceIterateTile< KOKKOS_INLINE_FUNCTION void exec_range() const { - if (static_cast(hipBlockIdx_x) < m_policy.m_num_tiles && - static_cast(hipThreadIdx_y) < m_policy.m_prod_tile_dims) { + if (static_cast(blockIdx.x) < m_policy.m_num_tiles && + static_cast(threadIdx.y) < m_policy.m_prod_tile_dims) { index_type m_offset[PolicyType::rank]; // tile starting global id offset index_type m_local_offset[PolicyType::rank]; // tile starting global id offset - for (index_type tileidx = static_cast(hipBlockIdx_x); - tileidx < m_policy.m_num_tiles; tileidx += hipGridDim_x) { + for (index_type tileidx = static_cast(blockIdx.x); + tileidx < m_policy.m_num_tiles; tileidx += gridDim.x) { index_type tile_idx = tileidx; // temp because tile_idx will be modified while // determining tile starting point offsets - index_type thrd_idx = static_cast(hipThreadIdx_y); + index_type thrd_idx = static_cast(threadIdx.y); bool in_bounds = true; // LL @@ -1656,18 +1592,18 @@ struct DeviceIterateTile< KOKKOS_INLINE_FUNCTION void exec_range() const { - if (static_cast(hipBlockIdx_x) < m_policy.m_num_tiles && - static_cast(hipThreadIdx_y) < m_policy.m_prod_tile_dims) { + if (static_cast(blockIdx.x) < m_policy.m_num_tiles && + static_cast(threadIdx.y) < m_policy.m_prod_tile_dims) { index_type m_offset[PolicyType::rank]; // tile starting global id offset index_type m_local_offset[PolicyType::rank]; // tile starting global id offset - for (index_type tileidx = static_cast(hipBlockIdx_x); - tileidx < m_policy.m_num_tiles; tileidx += hipGridDim_x) { + for (index_type tileidx = static_cast(blockIdx.x); + tileidx < m_policy.m_num_tiles; tileidx += gridDim.x) { index_type tile_idx = tileidx; // temp because tile_idx will be modified while // determining tile starting point offsets - index_type thrd_idx = static_cast(hipThreadIdx_y); + index_type thrd_idx = static_cast(threadIdx.y); bool in_bounds = true; // LL @@ -1741,18 +1677,18 @@ struct DeviceIterateTile< KOKKOS_INLINE_FUNCTION void exec_range() const { - if (static_cast(hipBlockIdx_x) < m_policy.m_num_tiles && - static_cast(hipThreadIdx_y) < m_policy.m_prod_tile_dims) { + if (static_cast(blockIdx.x) < m_policy.m_num_tiles && + static_cast(threadIdx.y) < m_policy.m_prod_tile_dims) { index_type m_offset[PolicyType::rank]; // tile starting global id offset index_type m_local_offset[PolicyType::rank]; // tile starting global id offset - for (index_type tileidx = static_cast(hipBlockIdx_x); - tileidx < m_policy.m_num_tiles; tileidx += hipGridDim_x) { + for (index_type tileidx = static_cast(blockIdx.x); + tileidx < m_policy.m_num_tiles; tileidx += gridDim.x) { index_type tile_idx = tileidx; // temp because tile_idx will be modified while // determining tile starting point offsets - index_type thrd_idx = static_cast(hipThreadIdx_y); + index_type thrd_idx = static_cast(threadIdx.y); bool in_bounds = true; // LL @@ -1827,18 +1763,18 @@ struct DeviceIterateTile< KOKKOS_INLINE_FUNCTION void exec_range() const { - if (static_cast(hipBlockIdx_x) < m_policy.m_num_tiles && - static_cast(hipThreadIdx_y) < m_policy.m_prod_tile_dims) { + if (static_cast(blockIdx.x) < m_policy.m_num_tiles && + static_cast(threadIdx.y) < m_policy.m_prod_tile_dims) { index_type m_offset[PolicyType::rank]; // tile starting global id offset index_type m_local_offset[PolicyType::rank]; // tile starting global id offset - for (index_type tileidx = static_cast(hipBlockIdx_x); - tileidx < m_policy.m_num_tiles; tileidx += hipGridDim_x) { + for (index_type tileidx = static_cast(blockIdx.x); + tileidx < m_policy.m_num_tiles; tileidx += gridDim.x) { index_type tile_idx = tileidx; // temp because tile_idx will be modified while // determining tile starting point offsets - index_type thrd_idx = static_cast(hipThreadIdx_y); + index_type thrd_idx = static_cast(threadIdx.y); bool in_bounds = true; // LL @@ -1914,18 +1850,18 @@ struct DeviceIterateTile< KOKKOS_INLINE_FUNCTION void exec_range() const { - if (static_cast(hipBlockIdx_x) < m_policy.m_num_tiles && - static_cast(hipThreadIdx_y) < m_policy.m_prod_tile_dims) { + if (static_cast(blockIdx.x) < m_policy.m_num_tiles && + static_cast(threadIdx.y) < m_policy.m_prod_tile_dims) { index_type m_offset[PolicyType::rank]; // tile starting global id offset index_type m_local_offset[PolicyType::rank]; // tile starting global id offset - for (index_type tileidx = static_cast(hipBlockIdx_x); - tileidx < m_policy.m_num_tiles; tileidx += hipGridDim_x) { + for (index_type tileidx = static_cast(blockIdx.x); + tileidx < m_policy.m_num_tiles; tileidx += gridDim.x) { index_type tile_idx = tileidx; // temp because tile_idx will be modified while // determining tile starting point offsets - index_type thrd_idx = static_cast(hipThreadIdx_y); + index_type thrd_idx = static_cast(threadIdx.y); bool in_bounds = true; // LL @@ -1936,7 +1872,7 @@ struct DeviceIterateTile< m_policy.m_lower[i]; tile_idx /= m_policy.m_tile_end[i]; - // tile-local indices identified with (index_type)hipThreadIdx_y + // tile-local indices identified with (index_type)threadIdx.y m_local_offset[i] = (thrd_idx % m_policy.m_tile[i]); thrd_idx /= m_policy.m_tile[i]; @@ -1999,18 +1935,18 @@ struct DeviceIterateTile< KOKKOS_INLINE_FUNCTION void exec_range() const { - if (static_cast(hipBlockIdx_x) < m_policy.m_num_tiles && - static_cast(hipThreadIdx_y) < m_policy.m_prod_tile_dims) { + if (static_cast(blockIdx.x) < m_policy.m_num_tiles && + static_cast(threadIdx.y) < m_policy.m_prod_tile_dims) { index_type m_offset[PolicyType::rank]; // tile starting global id offset index_type m_local_offset[PolicyType::rank]; // tile starting global id offset - for (index_type tileidx = static_cast(hipBlockIdx_x); - tileidx < m_policy.m_num_tiles; tileidx += hipGridDim_x) { + for (index_type tileidx = static_cast(blockIdx.x); + tileidx < m_policy.m_num_tiles; tileidx += gridDim.x) { index_type tile_idx = tileidx; // temp because tile_idx will be modified while // determining tile starting point offsets - index_type thrd_idx = static_cast(hipThreadIdx_y); + index_type thrd_idx = static_cast(threadIdx.y); bool in_bounds = true; // LL @@ -2021,7 +1957,7 @@ struct DeviceIterateTile< m_policy.m_lower[i]; tile_idx /= m_policy.m_tile_end[i]; - // tile-local indices identified with hipThreadIdx_y + // tile-local indices identified with threadIdx.y m_local_offset[i] = (thrd_idx % m_policy.m_tile[i]); thrd_idx /= m_policy.m_tile[i]; @@ -2044,7 +1980,7 @@ struct DeviceIterateTile< m_policy.m_lower[i]; tile_idx /= m_policy.m_tile_end[i]; - // tile-local indices identified with hipThreadIdx_y + // tile-local indices identified with threadIdx.y m_local_offset[i] = (thrd_idx % m_policy.m_tile[i]); thrd_idx /= m_policy.m_tile[i]; @@ -2085,18 +2021,18 @@ struct DeviceIterateTile< KOKKOS_INLINE_FUNCTION void exec_range() const { - if (static_cast(hipBlockIdx_x) < m_policy.m_num_tiles && - static_cast(hipThreadIdx_y) < m_policy.m_prod_tile_dims) { + if (static_cast(blockIdx.x) < m_policy.m_num_tiles && + static_cast(threadIdx.y) < m_policy.m_prod_tile_dims) { index_type m_offset[PolicyType::rank]; // tile starting global id offset index_type m_local_offset[PolicyType::rank]; // tile starting global id offset - for (index_type tileidx = static_cast(hipBlockIdx_x); - tileidx < m_policy.m_num_tiles; tileidx += hipGridDim_x) { + for (index_type tileidx = static_cast(blockIdx.x); + tileidx < m_policy.m_num_tiles; tileidx += gridDim.x) { index_type tile_idx = tileidx; // temp because tile_idx will be modified while // determining tile starting point offsets - index_type thrd_idx = static_cast(hipThreadIdx_y); + index_type thrd_idx = static_cast(threadIdx.y); bool in_bounds = true; // LL @@ -2130,7 +2066,7 @@ struct DeviceIterateTile< m_policy.m_lower[i]; tile_idx /= m_policy.m_tile_end[i]; - // tile-local indices identified with hipThreadIdx_y + // tile-local indices identified with threadIdx.y m_local_offset[i] = (thrd_idx % m_policy.m_tile[i]); thrd_idx /= m_policy.m_tile[i]; @@ -2172,18 +2108,18 @@ struct DeviceIterateTile< KOKKOS_INLINE_FUNCTION void exec_range() const { - if (static_cast(hipBlockIdx_x) < m_policy.m_num_tiles && - static_cast(hipThreadIdx_y) < m_policy.m_prod_tile_dims) { + if (static_cast(blockIdx.x) < m_policy.m_num_tiles && + static_cast(threadIdx.y) < m_policy.m_prod_tile_dims) { index_type m_offset[PolicyType::rank]; // tile starting global id offset index_type m_local_offset[PolicyType::rank]; // tile starting global id offset - for (index_type tileidx = static_cast(hipBlockIdx_x); - tileidx < m_policy.m_num_tiles; tileidx += hipGridDim_x) { + for (index_type tileidx = static_cast(blockIdx.x); + tileidx < m_policy.m_num_tiles; tileidx += gridDim.x) { index_type tile_idx = tileidx; // temp because tile_idx will be modified while // determining tile starting point offsets - index_type thrd_idx = static_cast(hipThreadIdx_y); + index_type thrd_idx = static_cast(threadIdx.y); bool in_bounds = true; // LL @@ -2194,7 +2130,7 @@ struct DeviceIterateTile< m_policy.m_lower[i]; tile_idx /= m_policy.m_tile_end[i]; - // tile-local indices identified with hipThreadIdx_y + // tile-local indices identified with threadIdx.y m_local_offset[i] = (thrd_idx % m_policy.m_tile[i]); thrd_idx /= m_policy.m_tile[i]; @@ -2217,7 +2153,7 @@ struct DeviceIterateTile< m_policy.m_lower[i]; tile_idx /= m_policy.m_tile_end[i]; - // tile-local indices identified with hipThreadIdx_y + // tile-local indices identified with threadIdx.y m_local_offset[i] = (thrd_idx % m_policy.m_tile[i]); thrd_idx /= m_policy.m_tile[i]; @@ -2258,18 +2194,18 @@ struct DeviceIterateTile< KOKKOS_INLINE_FUNCTION void exec_range() const { - if (static_cast(hipBlockIdx_x) < m_policy.m_num_tiles && - static_cast(hipThreadIdx_y) < m_policy.m_prod_tile_dims) { + if (static_cast(blockIdx.x) < m_policy.m_num_tiles && + static_cast(threadIdx.y) < m_policy.m_prod_tile_dims) { index_type m_offset[PolicyType::rank]; // tile starting global id offset index_type m_local_offset[PolicyType::rank]; // tile starting global id offset - for (index_type tileidx = static_cast(hipBlockIdx_x); - tileidx < m_policy.m_num_tiles; tileidx += hipGridDim_x) { + for (index_type tileidx = static_cast(blockIdx.x); + tileidx < m_policy.m_num_tiles; tileidx += gridDim.x) { index_type tile_idx = tileidx; // temp because tile_idx will be modified while // determining tile starting point offsets - index_type thrd_idx = static_cast(hipThreadIdx_y); + index_type thrd_idx = static_cast(threadIdx.y); bool in_bounds = true; // LL @@ -2280,7 +2216,7 @@ struct DeviceIterateTile< m_policy.m_lower[i]; tile_idx /= m_policy.m_tile_end[i]; - // tile-local indices identified with hipThreadIdx_y + // tile-local indices identified with threadIdx.y m_local_offset[i] = (thrd_idx % m_policy.m_tile[i]); thrd_idx /= m_policy.m_tile[i]; @@ -2303,7 +2239,7 @@ struct DeviceIterateTile< m_policy.m_lower[i]; tile_idx /= m_policy.m_tile_end[i]; - // tile-local indices identified with hipThreadIdx_y + // tile-local indices identified with threadIdx.y m_local_offset[i] = (thrd_idx % m_policy.m_tile[i]); thrd_idx /= m_policy.m_tile[i]; @@ -2345,18 +2281,18 @@ struct DeviceIterateTile< KOKKOS_INLINE_FUNCTION void exec_range() const { - if (static_cast(hipBlockIdx_x) < m_policy.m_num_tiles && - static_cast(hipThreadIdx_y) < m_policy.m_prod_tile_dims) { + if (static_cast(blockIdx.x) < m_policy.m_num_tiles && + static_cast(threadIdx.y) < m_policy.m_prod_tile_dims) { index_type m_offset[PolicyType::rank]; // tile starting global id offset index_type m_local_offset[PolicyType::rank]; // tile starting global id offset - for (index_type tileidx = static_cast(hipBlockIdx_x); - tileidx < m_policy.m_num_tiles; tileidx += hipGridDim_x) { + for (index_type tileidx = static_cast(blockIdx.x); + tileidx < m_policy.m_num_tiles; tileidx += gridDim.x) { index_type tile_idx = tileidx; // temp because tile_idx will be modified while // determining tile starting point offsets - index_type thrd_idx = static_cast(hipThreadIdx_y); + index_type thrd_idx = static_cast(threadIdx.y); bool in_bounds = true; // LL @@ -2431,18 +2367,18 @@ struct DeviceIterateTile< KOKKOS_INLINE_FUNCTION void exec_range() const { - if (static_cast(hipBlockIdx_x) < m_policy.m_num_tiles && - static_cast(hipThreadIdx_y) < m_policy.m_prod_tile_dims) { + if (static_cast(blockIdx.x) < m_policy.m_num_tiles && + static_cast(threadIdx.y) < m_policy.m_prod_tile_dims) { index_type m_offset[PolicyType::rank]; // tile starting global id offset index_type m_local_offset[PolicyType::rank]; // tile starting global id offset - for (index_type tileidx = static_cast(hipBlockIdx_x); - tileidx < m_policy.m_num_tiles; tileidx += hipGridDim_x) { + for (index_type tileidx = static_cast(blockIdx.x); + tileidx < m_policy.m_num_tiles; tileidx += gridDim.x) { index_type tile_idx = tileidx; // temp because tile_idx will be modified while // determining tile starting point offsets - index_type thrd_idx = static_cast(hipThreadIdx_y); + index_type thrd_idx = static_cast(threadIdx.y); bool in_bounds = true; // LL @@ -2517,18 +2453,18 @@ struct DeviceIterateTile< KOKKOS_INLINE_FUNCTION void exec_range() const { - if (static_cast(hipBlockIdx_x) < m_policy.m_num_tiles && - static_cast(hipThreadIdx_y) < m_policy.m_prod_tile_dims) { + if (static_cast(blockIdx.x) < m_policy.m_num_tiles && + static_cast(threadIdx.y) < m_policy.m_prod_tile_dims) { index_type m_offset[PolicyType::rank]; // tile starting global id offset index_type m_local_offset[PolicyType::rank]; // tile starting global id offset - for (index_type tileidx = static_cast(hipBlockIdx_x); - tileidx < m_policy.m_num_tiles; tileidx += hipGridDim_x) { + for (index_type tileidx = static_cast(blockIdx.x); + tileidx < m_policy.m_num_tiles; tileidx += gridDim.x) { index_type tile_idx = tileidx; // temp because tile_idx will be modified while // determining tile starting point offsets - index_type thrd_idx = static_cast(hipThreadIdx_y); + index_type thrd_idx = static_cast(threadIdx.y); bool in_bounds = true; // LL @@ -2601,18 +2537,18 @@ struct DeviceIterateTile< KOKKOS_INLINE_FUNCTION void exec_range() const { - if (static_cast(hipBlockIdx_x) < m_policy.m_num_tiles && - static_cast(hipThreadIdx_y) < m_policy.m_prod_tile_dims) { + if (static_cast(blockIdx.x) < m_policy.m_num_tiles && + static_cast(threadIdx.y) < m_policy.m_prod_tile_dims) { index_type m_offset[PolicyType::rank]; // tile starting global id offset index_type m_local_offset[PolicyType::rank]; // tile starting global id offset - for (index_type tileidx = static_cast(hipBlockIdx_x); - tileidx < m_policy.m_num_tiles; tileidx += hipGridDim_x) { + for (index_type tileidx = static_cast(blockIdx.x); + tileidx < m_policy.m_num_tiles; tileidx += gridDim.x) { index_type tile_idx = tileidx; // temp because tile_idx will be modified while // determining tile starting point offsets - index_type thrd_idx = static_cast(hipThreadIdx_y); + index_type thrd_idx = static_cast(threadIdx.y); bool in_bounds = true; // LL @@ -2692,18 +2628,18 @@ struct DeviceIterateTile< KOKKOS_INLINE_FUNCTION void exec_range() const { - if (static_cast(hipBlockIdx_x) < m_policy.m_num_tiles && - static_cast(hipThreadIdx_y) < m_policy.m_prod_tile_dims) { + if (static_cast(blockIdx.x) < m_policy.m_num_tiles && + static_cast(threadIdx.y) < m_policy.m_prod_tile_dims) { index_type m_offset[PolicyType::rank]; // tile starting global id offset index_type m_local_offset[PolicyType::rank]; // tile starting global id offset - for (index_type tileidx = static_cast(hipBlockIdx_x); - tileidx < m_policy.m_num_tiles; tileidx += hipGridDim_x) { + for (index_type tileidx = static_cast(blockIdx.x); + tileidx < m_policy.m_num_tiles; tileidx += gridDim.x) { index_type tile_idx = tileidx; // temp because tile_idx will be modified while // determining tile starting point offsets - index_type thrd_idx = static_cast(hipThreadIdx_y); + index_type thrd_idx = static_cast(threadIdx.y); bool in_bounds = true; // LL @@ -2714,7 +2650,7 @@ struct DeviceIterateTile< m_policy.m_lower[i]; tile_idx /= m_policy.m_tile_end[i]; - // tile-local indices identified with hipThreadIdx_y + // tile-local indices identified with threadIdx.y m_local_offset[i] = (thrd_idx % m_policy.m_tile[i]); thrd_idx /= m_policy.m_tile[i]; @@ -2778,18 +2714,18 @@ struct DeviceIterateTile< KOKKOS_INLINE_FUNCTION void exec_range() const { - if (static_cast(hipBlockIdx_x) < m_policy.m_num_tiles && - static_cast(hipThreadIdx_y) < m_policy.m_prod_tile_dims) { + if (static_cast(blockIdx.x) < m_policy.m_num_tiles && + static_cast(threadIdx.y) < m_policy.m_prod_tile_dims) { index_type m_offset[PolicyType::rank]; // tile starting global id offset index_type m_local_offset[PolicyType::rank]; // tile starting global id offset - for (index_type tileidx = static_cast(hipBlockIdx_x); - tileidx < m_policy.m_num_tiles; tileidx += hipGridDim_x) { + for (index_type tileidx = static_cast(blockIdx.x); + tileidx < m_policy.m_num_tiles; tileidx += gridDim.x) { index_type tile_idx = tileidx; // temp because tile_idx will be modified while // determining tile starting point offsets - index_type thrd_idx = static_cast(hipThreadIdx_y); + index_type thrd_idx = static_cast(threadIdx.y); bool in_bounds = true; // LL @@ -2800,7 +2736,7 @@ struct DeviceIterateTile< m_policy.m_lower[i]; tile_idx /= m_policy.m_tile_end[i]; - // tile-local indices identified with hipThreadIdx_y + // tile-local indices identified with threadIdx.y m_local_offset[i] = (thrd_idx % m_policy.m_tile[i]); thrd_idx /= m_policy.m_tile[i]; @@ -2822,7 +2758,7 @@ struct DeviceIterateTile< m_policy.m_lower[i]; tile_idx /= m_policy.m_tile_end[i]; - // tile-local indices identified with hipThreadIdx_y + // tile-local indices identified with threadIdx.y m_local_offset[i] = (thrd_idx % m_policy.m_tile[i]); thrd_idx /= m_policy.m_tile[i]; @@ -2865,18 +2801,18 @@ struct DeviceIterateTile< KOKKOS_INLINE_FUNCTION void exec_range() const { - if (static_cast(hipBlockIdx_x) < m_policy.m_num_tiles && - static_cast(hipThreadIdx_y) < m_policy.m_prod_tile_dims) { + if (static_cast(blockIdx.x) < m_policy.m_num_tiles && + static_cast(threadIdx.y) < m_policy.m_prod_tile_dims) { index_type m_offset[PolicyType::rank]; // tile starting global id offset index_type m_local_offset[PolicyType::rank]; // tile starting global id offset - for (index_type tileidx = static_cast(hipBlockIdx_x); - tileidx < m_policy.m_num_tiles; tileidx += hipGridDim_x) { + for (index_type tileidx = static_cast(blockIdx.x); + tileidx < m_policy.m_num_tiles; tileidx += gridDim.x) { index_type tile_idx = tileidx; // temp because tile_idx will be modified while // determining tile starting point offsets - index_type thrd_idx = static_cast(hipThreadIdx_y); + index_type thrd_idx = static_cast(threadIdx.y); bool in_bounds = true; // LL @@ -2953,18 +2889,18 @@ struct DeviceIterateTile< KOKKOS_INLINE_FUNCTION void exec_range() const { - if (static_cast(hipBlockIdx_x) < m_policy.m_num_tiles && - static_cast(hipThreadIdx_y) < m_policy.m_prod_tile_dims) { + if (static_cast(blockIdx.x) < m_policy.m_num_tiles && + static_cast(threadIdx.y) < m_policy.m_prod_tile_dims) { index_type m_offset[PolicyType::rank]; // tile starting global id offset index_type m_local_offset[PolicyType::rank]; // tile starting global id offset - for (index_type tileidx = static_cast(hipBlockIdx_x); - tileidx < m_policy.m_num_tiles; tileidx += hipGridDim_x) { + for (index_type tileidx = static_cast(blockIdx.x); + tileidx < m_policy.m_num_tiles; tileidx += gridDim.x) { index_type tile_idx = tileidx; // temp because tile_idx will be modified while // determining tile starting point offsets - index_type thrd_idx = static_cast(hipThreadIdx_y); + index_type thrd_idx = static_cast(threadIdx.y); bool in_bounds = true; // LL @@ -2975,7 +2911,7 @@ struct DeviceIterateTile< m_policy.m_lower[i]; tile_idx /= m_policy.m_tile_end[i]; - // tile-local indices identified with hipThreadIdx_y + // tile-local indices identified with threadIdx.y m_local_offset[i] = (thrd_idx % m_policy.m_tile[i]); thrd_idx /= m_policy.m_tile[i]; @@ -2998,7 +2934,7 @@ struct DeviceIterateTile< m_policy.m_lower[i]; tile_idx /= m_policy.m_tile_end[i]; - // tile-local indices identified with hipThreadIdx_y + // tile-local indices identified with threadIdx.y m_local_offset[i] = (thrd_idx % m_policy.m_tile[i]); thrd_idx /= m_policy.m_tile[i]; @@ -3042,18 +2978,18 @@ struct DeviceIterateTile< KOKKOS_INLINE_FUNCTION void exec_range() const { - if (static_cast(hipBlockIdx_x) < m_policy.m_num_tiles && - static_cast(hipThreadIdx_y) < m_policy.m_prod_tile_dims) { + if (static_cast(blockIdx.x) < m_policy.m_num_tiles && + static_cast(threadIdx.y) < m_policy.m_prod_tile_dims) { index_type m_offset[PolicyType::rank]; // tile starting global id offset index_type m_local_offset[PolicyType::rank]; // tile starting global id offset - for (index_type tileidx = static_cast(hipBlockIdx_x); - tileidx < m_policy.m_num_tiles; tileidx += hipGridDim_x) { + for (index_type tileidx = static_cast(blockIdx.x); + tileidx < m_policy.m_num_tiles; tileidx += gridDim.x) { index_type tile_idx = tileidx; // temp because tile_idx will be modified while // determining tile starting point offsets - index_type thrd_idx = static_cast(hipThreadIdx_y); + index_type thrd_idx = static_cast(threadIdx.y); bool in_bounds = true; // LL @@ -3064,7 +3000,7 @@ struct DeviceIterateTile< m_policy.m_lower[i]; tile_idx /= m_policy.m_tile_end[i]; - // tile-local indices identified with hipThreadIdx_y + // tile-local indices identified with threadIdx.y m_local_offset[i] = (thrd_idx % m_policy.m_tile[i]); thrd_idx /= m_policy.m_tile[i]; @@ -3087,7 +3023,7 @@ struct DeviceIterateTile< m_policy.m_lower[i]; tile_idx /= m_policy.m_tile_end[i]; - // tile-local indices identified with hipThreadIdx_y + // tile-local indices identified with threadIdx.y m_local_offset[i] = (thrd_idx % m_policy.m_tile[i]); thrd_idx /= m_policy.m_tile[i]; @@ -3130,18 +3066,18 @@ struct DeviceIterateTile< KOKKOS_INLINE_FUNCTION void exec_range() const { - if (static_cast(hipBlockIdx_x) < m_policy.m_num_tiles && - static_cast(hipThreadIdx_y) < m_policy.m_prod_tile_dims) { + if (static_cast(blockIdx.x) < m_policy.m_num_tiles && + static_cast(threadIdx.y) < m_policy.m_prod_tile_dims) { index_type m_offset[PolicyType::rank]; // tile starting global id offset index_type m_local_offset[PolicyType::rank]; // tile starting global id offset - for (index_type tileidx = static_cast(hipBlockIdx_x); - tileidx < m_policy.m_num_tiles; tileidx += hipGridDim_x) { + for (index_type tileidx = static_cast(blockIdx.x); + tileidx < m_policy.m_num_tiles; tileidx += gridDim.x) { index_type tile_idx = tileidx; // temp because tile_idx will be modified while // determining tile starting point offsets - index_type thrd_idx = static_cast(hipThreadIdx_y); + index_type thrd_idx = static_cast(threadIdx.y); bool in_bounds = true; // LL @@ -3152,7 +3088,7 @@ struct DeviceIterateTile< m_policy.m_lower[i]; tile_idx /= m_policy.m_tile_end[i]; - // tile-local indices identified with hipThreadIdx_y + // tile-local indices identified with threadIdx.y m_local_offset[i] = (thrd_idx % m_policy.m_tile[i]); thrd_idx /= m_policy.m_tile[i]; @@ -3175,7 +3111,7 @@ struct DeviceIterateTile< m_policy.m_lower[i]; tile_idx /= m_policy.m_tile_end[i]; - // tile-local indices identified with hipThreadIdx_y + // tile-local indices identified with threadIdx.y m_local_offset[i] = (thrd_idx % m_policy.m_tile[i]); thrd_idx /= m_policy.m_tile[i]; @@ -3219,18 +3155,18 @@ struct DeviceIterateTile< KOKKOS_INLINE_FUNCTION void exec_range() const { - if (static_cast(hipBlockIdx_x) < m_policy.m_num_tiles && - static_cast(hipThreadIdx_y) < m_policy.m_prod_tile_dims) { + if (static_cast(blockIdx.x) < m_policy.m_num_tiles && + static_cast(threadIdx.y) < m_policy.m_prod_tile_dims) { index_type m_offset[PolicyType::rank]; // tile starting global id offset index_type m_local_offset[PolicyType::rank]; // tile starting global id offset - for (index_type tileidx = static_cast(hipBlockIdx_x); - tileidx < m_policy.m_num_tiles; tileidx += hipGridDim_x) { + for (index_type tileidx = static_cast(blockIdx.x); + tileidx < m_policy.m_num_tiles; tileidx += gridDim.x) { index_type tile_idx = tileidx; // temp because tile_idx will be modified while // determining tile starting point offsets - index_type thrd_idx = static_cast(hipThreadIdx_y); + index_type thrd_idx = static_cast(threadIdx.y); bool in_bounds = true; // LL @@ -3241,7 +3177,7 @@ struct DeviceIterateTile< m_policy.m_lower[i]; tile_idx /= m_policy.m_tile_end[i]; - // tile-local indices identified with hipThreadIdx_y + // tile-local indices identified with threadIdx.y m_local_offset[i] = (thrd_idx % m_policy.m_tile[i]); thrd_idx /= m_policy.m_tile[i]; @@ -3264,7 +3200,7 @@ struct DeviceIterateTile< m_policy.m_lower[i]; tile_idx /= m_policy.m_tile_end[i]; - // tile-local indices identified with hipThreadIdx_y + // tile-local indices identified with threadIdx.y m_local_offset[i] = (thrd_idx % m_policy.m_tile[i]); thrd_idx /= m_policy.m_tile[i]; diff --git a/lib/kokkos/core/src/HIP/Kokkos_HIP_Abort.hpp b/lib/kokkos/core/src/HIP/Kokkos_HIP_Abort.hpp index 1eaae38302477865f2072450aae93991618bb10e..98b457d8cf52ddcd69ededd5ba3cc75d09509b49 100644 --- a/lib/kokkos/core/src/HIP/Kokkos_HIP_Abort.hpp +++ b/lib/kokkos/core/src/HIP/Kokkos_HIP_Abort.hpp @@ -53,12 +53,21 @@ namespace Kokkos { namespace Impl { -__device__ inline void hip_abort(char const *msg) { - printf("%s", msg); - // FIXME_HIP both abort and the __assertfail system call are currently - // implemented with __builtin_trap which causes the program to exit abnormally - // without printing the error message. - // abort(); +[[noreturn]] __device__ __attribute__((noinline)) void hip_abort( + char const *msg) { +#ifdef NDEBUG + (void)msg; +#else + // disable printf on release builds, as it has a non-trivial performance + // impact + printf("Aborting with message `%s'.\n", msg); +#endif + abort(); + // This loop is never executed. It's intended to suppress warnings that the + // function returns, even though it does not. This is necessary because + // abort() is not marked as [[noreturn]], even though it does not return. + while (true) + ; } } // namespace Impl diff --git a/lib/kokkos/core/src/HIP/Kokkos_HIP_Atomic.hpp b/lib/kokkos/core/src/HIP/Kokkos_HIP_Atomic.hpp index c09e09f50041528a096f0a1edba7649d0fb5776a..fea5a55f64274d8772b6f40353b6aa63ba795b75 100644 --- a/lib/kokkos/core/src/HIP/Kokkos_HIP_Atomic.hpp +++ b/lib/kokkos/core/src/HIP/Kokkos_HIP_Atomic.hpp @@ -45,8 +45,7 @@ #ifndef KOKKOS_HIP_ATOMIC_HPP #define KOKKOS_HIP_ATOMIC_HPP -#ifdef KOKKOS_ENABLE_HIP_ATOMICS - +#if defined(KOKKOS_ENABLE_HIP_ATOMICS) namespace Kokkos { // HIP can do: // Types int/unsigned int @@ -91,7 +90,7 @@ __inline__ __device__ T atomic_exchange( typename std::enable_if::type val) { - typedef unsigned long long int type; + using type = unsigned long long int; type tmp = atomicExch(reinterpret_cast(const_cast(dest)), *reinterpret_cast(const_cast(&val))); @@ -141,7 +140,7 @@ __inline__ __device__ void atomic_assign( typename std::enable_if::type val) { - typedef unsigned long long int type; + using type = unsigned long long int; atomicExch(reinterpret_cast(const_cast(dest)), *reinterpret_cast(const_cast(&val))); } diff --git a/lib/kokkos/core/src/HIP/Kokkos_HIP_BlockSize_Deduction.hpp b/lib/kokkos/core/src/HIP/Kokkos_HIP_BlockSize_Deduction.hpp index 8799d359ff012462232a2a742c85d3195717379d..fc4716d2a8e3f9fefbf164e7b37145deadd51076 100644 --- a/lib/kokkos/core/src/HIP/Kokkos_HIP_BlockSize_Deduction.hpp +++ b/lib/kokkos/core/src/HIP/Kokkos_HIP_BlockSize_Deduction.hpp @@ -67,34 +67,116 @@ int hip_get_max_block_size(typename DriverType::functor_type const &f, f, vector_length, shmem_extra_block, shmem_extra_thread); } -template -int hip_get_max_block_size(const HIPInternal * /*hip_instance*/, - const hipFuncAttributes &attr, - const FunctorType & /*f*/, - const size_t /*vector_length*/, - const size_t /*shmem_block*/, - const size_t /*shmem_thread*/) { - // FIXME_HIP find a better algorithm. Be aware that - // maxThreadsPerMultiProcessor, regsPerBlock, and l2CacheSize are bugged and - // always return zero - // https://github.com/ROCm-Developer-Tools/HIP/blob/6c5fa32815650cc20a4f783d09b013610348a4d5/include/hip/hcc_detail/hip_runtime_api.h#L438-L440 - // and we don't have access to the same information than we do for CUDA - - int const max_threads_per_block_mi60 = 1024; - int const max_threads_per_block = LaunchBounds::maxTperB == 0 - ? max_threads_per_block_mi60 +template +int hip_internal_get_block_size(const F &condition_check, + const HIPInternal *hip_instance, + const hipFuncAttributes &attr, + const FunctorType &f, + const size_t vector_length, + const size_t shmem_block, + const size_t shmem_thread) { + const int min_blocks_per_sm = + LaunchBounds::minBperSM == 0 ? 1 : LaunchBounds::minBperSM; + const int max_threads_per_block = LaunchBounds::maxTperB == 0 + ? hip_instance->m_maxThreadsPerBlock : LaunchBounds::maxTperB; - return std::min(attr.maxThreadsPerBlock, max_threads_per_block); + + const int regs_per_wavefront = attr.numRegs; + const int regs_per_sm = hip_instance->m_regsPerSM; + const int shmem_per_sm = hip_instance->m_shmemPerSM; + const int max_shmem_per_block = hip_instance->m_maxShmemPerBlock; + const int max_blocks_per_sm = hip_instance->m_maxBlocksPerSM; + const int max_threads_per_sm = hip_instance->m_maxThreadsPerSM; + +// FIXME_HIP this is broken in 3.5, but should be in 3.6 +#if (HIP_VERSION_MAJOR > 3 || HIP_VERSION_MINOR > 5 || \ + HIP_VERSION_PATCH >= 20226) + int block_size = std::min(attr.maxThreadsPerBlock, max_threads_per_block); +#else + int block_size = max_threads_per_block; +#endif + KOKKOS_ASSERT(block_size > 0); + + int functor_shmem = ::Kokkos::Impl::FunctorTeamShmemSize::value( + f, block_size / vector_length); + int total_shmem = shmem_block + shmem_thread * (block_size / vector_length) + + functor_shmem + attr.sharedSizeBytes; + int max_blocks_regs = + regs_per_sm / (regs_per_wavefront * (block_size / HIPTraits::WarpSize)); + int max_blocks_shmem = + (total_shmem < max_shmem_per_block) + ? (total_shmem > 0 ? shmem_per_sm / total_shmem : max_blocks_regs) + : 0; + int blocks_per_sm = std::min(max_blocks_regs, max_blocks_shmem); + int threads_per_sm = blocks_per_sm * block_size; + if (threads_per_sm > max_threads_per_sm) { + blocks_per_sm = max_threads_per_sm / block_size; + threads_per_sm = blocks_per_sm * block_size; + } + int opt_block_size = (blocks_per_sm >= min_blocks_per_sm) ? block_size : 0; + int opt_threads_per_sm = threads_per_sm; + // printf("BlockSizeMax: %i Shmem: %i %i %i %i Regs: %i %i Blocks: %i %i + // Achieved: %i %i Opt: %i %i\n",block_size, + // shmem_per_sm,max_shmem_per_block,functor_shmem,total_shmem, + // regs_per_sm,regs_per_wavefront,max_blocks_shmem,max_blocks_regs,blocks_per_sm,threads_per_sm,opt_block_size,opt_threads_per_sm); + block_size -= HIPTraits::WarpSize; + while (condition_check(blocks_per_sm) && + (block_size >= HIPTraits::WarpSize)) { + functor_shmem = ::Kokkos::Impl::FunctorTeamShmemSize::value( + f, block_size / vector_length); + total_shmem = shmem_block + shmem_thread * (block_size / vector_length) + + functor_shmem + attr.sharedSizeBytes; + max_blocks_regs = + regs_per_sm / (regs_per_wavefront * (block_size / HIPTraits::WarpSize)); + max_blocks_shmem = + (total_shmem < max_shmem_per_block) + ? (total_shmem > 0 ? shmem_per_sm / total_shmem : max_blocks_regs) + : 0; + blocks_per_sm = std::min(max_blocks_regs, max_blocks_shmem); + threads_per_sm = blocks_per_sm * block_size; + if (threads_per_sm > max_threads_per_sm) { + blocks_per_sm = max_threads_per_sm / block_size; + threads_per_sm = blocks_per_sm * block_size; + } + if ((blocks_per_sm >= min_blocks_per_sm) && + (blocks_per_sm <= max_blocks_per_sm)) { + if (threads_per_sm >= opt_threads_per_sm) { + opt_block_size = block_size; + opt_threads_per_sm = threads_per_sm; + } + } + // printf("BlockSizeMax: %i Shmem: %i %i %i %i Regs: %i %i Blocks: %i %i + // Achieved: %i %i Opt: %i %i\n",block_size, + // shmem_per_sm,max_shmem_per_block,functor_shmem,total_shmem, + // regs_per_sm,regs_per_wavefront,max_blocks_shmem,max_blocks_regs,blocks_per_sm,threads_per_sm,opt_block_size,opt_threads_per_sm); + block_size -= HIPTraits::WarpSize; + } + return opt_block_size; } +template +int hip_get_max_block_size(const HIPInternal *hip_instance, + const hipFuncAttributes &attr, const FunctorType &f, + const size_t vector_length, const size_t shmem_block, + const size_t shmem_thread) { + return hip_internal_get_block_size( + [](int x) { return x == 0; }, hip_instance, attr, f, vector_length, + shmem_block, shmem_thread); +} template struct HIPGetMaxBlockSize, true> { static int get_block_size(typename DriverType::functor_type const &f, size_t const vector_length, size_t const shmem_extra_block, size_t const shmem_extra_thread) { - unsigned int numBlocks = 0; - int blockSize = 1024; +// FIXME_HIP -- remove this once the API change becomes mature +#if !defined(__HIP__) + using blocktype = unsigned int; +#else + using blocktype = int; +#endif + blocktype numBlocks = 0; + int blockSize = 1024; int sharedmem = shmem_extra_block + shmem_extra_thread * (blockSize / vector_length) + ::Kokkos::Impl::FunctorTeamShmemSize< @@ -150,23 +232,13 @@ int hip_get_opt_block_size(typename DriverType::functor_type const &f, } template -int hip_get_opt_block_size(HIPInternal const * /*hip_instance*/, - hipFuncAttributes const &attr, - FunctorType const & /*f*/, - size_t const /*vector_length*/, - size_t const /*shmem_block*/, - size_t const /*shmem_thread*/) { - // FIXME_HIP find a better algorithm. Be aware that - // maxThreadsPerMultiProcessor, regsPerBlock, and l2CacheSize are bugged and - // always return zero - // https://github.com/ROCm-Developer-Tools/HIP/blob/6c5fa32815650cc20a4f783d09b013610348a4d5/include/hip/hcc_detail/hip_runtime_api.h#L438-L440 - // and we don't have access to the same information than we do for CUDA - - int const max_threads_per_block_mi60 = 1024; - int const max_threads_per_block = LaunchBounds::maxTperB == 0 - ? max_threads_per_block_mi60 - : LaunchBounds::maxTperB; - return std::min(attr.maxThreadsPerBlock, max_threads_per_block); +int hip_get_opt_block_size(HIPInternal const *hip_instance, + hipFuncAttributes const &attr, FunctorType const &f, + size_t const vector_length, size_t const shmem_block, + size_t const shmem_thread) { + return hip_internal_get_block_size( + [](int) { return true; }, hip_instance, attr, f, vector_length, + shmem_block, shmem_thread); } // FIXME_HIP the code is identical to the false struct except for diff --git a/lib/kokkos/core/src/HIP/Kokkos_HIP_Instance.cpp b/lib/kokkos/core/src/HIP/Kokkos_HIP_Instance.cpp index 1dcba0ff3e7322a3713583ef2a683fee64552d40..20af48bf6f0ba8ce594ce759f6bb6504a22036b9 100644 --- a/lib/kokkos/core/src/HIP/Kokkos_HIP_Instance.cpp +++ b/lib/kokkos/core/src/HIP/Kokkos_HIP_Instance.cpp @@ -97,56 +97,53 @@ const HIPInternalDevices &HIPInternalDevices::singleton() { namespace Impl { -int HIPInternal::was_initialized = 0; -int HIPInternal::was_finalized = 0; //---------------------------------------------------------------------------- -void HIPInternal::print_configuration(std::ostream & /*s*/) const { - // FIXME_HIP - Kokkos::abort("print_configuration not implemented!\n"); - /*const HIPInternalDevices & dev_info = HIPInternalDevices::singleton(); +void HIPInternal::print_configuration(std::ostream &s) const { + const HIPInternalDevices &dev_info = HIPInternalDevices::singleton(); -#if defined( KOKKOS_ENABLE_HIP ) - s << "macro KOKKOS_ENABLE_HIP : defined" << std::endl ; -#endif -#if defined( __hcc_version__ ) - s << "macro __hcc_version__ = " << __hcc_version__ - << std::endl ; + s << "macro KOKKOS_ENABLE_HIP : defined" << '\n'; +#if defined(HIP_VERSION) + s << "macro HIP_VERSION = " << HIP_VERSION << " = version " + << HIP_VERSION / 100 << "." << HIP_VERSION % 100 << '\n'; #endif - for ( int i = 0 ; i < dev_info.m_hipDevCount ; ++i ) { + for (int i = 0; i < dev_info.m_hipDevCount; ++i) { s << "Kokkos::Experimental::HIP[ " << i << " ] " - << dev_info.m_hipProp[i].name - << " version " << (dev_info.m_hipProp[i].major) << "." << -dev_info.m_hipProp[i].minor - << ", Total Global Memory: " << -human_memory_size(dev_info.m_hipProp[i].totalGlobalMem) - << ", Shared Memory per Wavefront: " << -human_memory_size(dev_info.m_hipProp[i].sharedMemPerWavefront); if ( m_hipDev == -i ) s << " : Selected" ; s << std::endl ; - }*/ + << dev_info.m_hipProp[i].name << " version " + << (dev_info.m_hipProp[i].major) << "." << dev_info.m_hipProp[i].minor + << ", Total Global Memory: " + << ::Kokkos::Impl::human_memory_size(dev_info.m_hipProp[i].totalGlobalMem) + << ", Shared Memory per Wavefront: " + << ::Kokkos::Impl::human_memory_size( + dev_info.m_hipProp[i].sharedMemPerBlock); + if (m_hipDev == i) s << " : Selected"; + s << '\n'; + } } //---------------------------------------------------------------------------- HIPInternal::~HIPInternal() { - if (m_scratchSpace || m_scratchFlags) { + if (m_scratchSpace || m_scratchFlags || m_scratchConcurrentBitset) { std::cerr << "Kokkos::Experimental::HIP ERROR: Failed to call " "Kokkos::Experimental::HIP::finalize()" << std::endl; std::cerr.flush(); } - m_hipDev = -1; - m_hipArch = -1; - m_multiProcCount = 0; - m_maxWarpCount = 0; - m_maxSharedWords = 0; - m_maxShmemPerBlock = 0; - m_scratchSpaceCount = 0; - m_scratchFlagsCount = 0; - m_scratchSpace = 0; - m_scratchFlags = 0; + m_hipDev = -1; + m_hipArch = -1; + m_multiProcCount = 0; + m_maxWarpCount = 0; + m_maxSharedWords = 0; + m_maxShmemPerBlock = 0; + m_scratchSpaceCount = 0; + m_scratchFlagsCount = 0; + m_scratchSpace = 0; + m_scratchFlags = 0; + m_scratchConcurrentBitset = nullptr; + m_stream = 0; } int HIPInternal::verify_is_initialized(const char *const label) const { @@ -165,13 +162,17 @@ HIPInternal &HIPInternal::singleton() { return *self; } -void HIPInternal::initialize(int hip_device_id) { +void HIPInternal::fence() const { + HIP_SAFE_CALL(hipStreamSynchronize(m_stream)); +} + +void HIPInternal::initialize(int hip_device_id, hipStream_t stream) { if (was_finalized) Kokkos::abort("Calling HIP::initialize after HIP::finalize is illegal\n"); if (is_initialized()) return; - enum { WordSize = sizeof(size_type) }; + int constexpr WordSize = sizeof(size_type); if (!HostSpace::execution_space::impl_is_initialized()) { const std::string msg( @@ -191,12 +192,12 @@ void HIPInternal::initialize(int hip_device_id) { if (ok_init && ok_id) { const struct hipDeviceProp_t &hipProp = dev_info.m_hipProp[hip_device_id]; - m_hipDev = hip_device_id; + m_hipDev = hip_device_id; + m_deviceProp = hipProp; hipSetDevice(m_hipDev); - // FIXME_HIP for now always uses default stream - m_stream = 0; + m_stream = stream; // number of multiprocessors m_multiProcCount = hipProp.multiProcessorCount; @@ -214,9 +215,13 @@ void HIPInternal::initialize(int hip_device_id) { // Maximum number of blocks m_maxBlock = hipProp.maxGridSize[0]; + // theoretically, we can get 40 WF's / CU, but only can sustain 32 + m_maxBlocksPerSM = 32; + // FIXME_HIP - Nick to implement this upstream + m_regsPerSM = 262144 / 32; m_shmemPerSM = hipProp.maxSharedMemoryPerMultiProcessor; m_maxShmemPerBlock = hipProp.sharedMemPerBlock; - m_maxThreadsPerSM = hipProp.maxThreadsPerMultiProcessor; + m_maxThreadsPerSM = m_maxBlocksPerSM * HIPTraits::WarpSize; m_maxThreadsPerBlock = hipProp.maxThreadsPerBlock; //---------------------------------- @@ -231,6 +236,31 @@ void HIPInternal::initialize(int hip_device_id) { (void)scratch_space(reduce_block_count * 16 * sizeof(size_type)); } //---------------------------------- + // Concurrent bitset for obtaining unique tokens from within + // an executing kernel. + { + const int32_t buffer_bound = + Kokkos::Impl::concurrent_bitset::buffer_bound(HIP::concurrency()); + + // Allocate and initialize uint32_t[ buffer_bound ] + + using Record = + Kokkos::Impl::SharedAllocationRecord; + + Record *const r = Record::allocate(Kokkos::Experimental::HIPSpace(), + "InternalScratchBitset", + sizeof(uint32_t) * buffer_bound); + + Record::increment(r); + + m_scratchConcurrentBitset = reinterpret_cast(r->data()); + + HIP_SAFE_CALL(hipMemset(m_scratchConcurrentBitset, 0, + sizeof(uint32_t) * buffer_bound)); + } + //---------------------------------- + } else { std::ostringstream msg; msg << "Kokkos::Experimental::HIP::initialize(" << hip_device_id @@ -253,8 +283,8 @@ void HIPInternal::initialize(int hip_device_id) { //---------------------------------------------------------------------------- -typedef Kokkos::Experimental::HIP::size_type - ScratchGrain[Impl::HIPTraits::WarpSize]; +using ScratchGrain = + Kokkos::Experimental::HIP::size_type[Impl::HIPTraits::WarpSize]; enum { sizeScratchGrain = sizeof(ScratchGrain) }; Kokkos::Experimental::HIP::size_type *HIPInternal::scratch_space( @@ -263,9 +293,9 @@ Kokkos::Experimental::HIP::size_type *HIPInternal::scratch_space( m_scratchSpaceCount * sizeScratchGrain < size) { m_scratchSpaceCount = (size + sizeScratchGrain - 1) / sizeScratchGrain; - typedef Kokkos::Impl::SharedAllocationRecord - Record; + using Record = + Kokkos::Impl::SharedAllocationRecord; static Record *const r = Record::allocate( Kokkos::Experimental::HIPSpace(), "InternalScratchSpace", @@ -285,9 +315,9 @@ Kokkos::Experimental::HIP::size_type *HIPInternal::scratch_flags( m_scratchFlagsCount * sizeScratchGrain < size) { m_scratchFlagsCount = (size + sizeScratchGrain - 1) / sizeScratchGrain; - typedef Kokkos::Impl::SharedAllocationRecord - Record; + using Record = + Kokkos::Impl::SharedAllocationRecord; Record *const r = Record::allocate( Kokkos::Experimental::HIPSpace(), "InternalScratchFlags", @@ -307,30 +337,37 @@ Kokkos::Experimental::HIP::size_type *HIPInternal::scratch_flags( void HIPInternal::finalize() { HIP().fence(); - was_finalized = 1; + was_finalized = true; if (0 != m_scratchSpace || 0 != m_scratchFlags) { - typedef Kokkos::Impl::SharedAllocationRecord - RecordHIP; + using RecordHIP = + Kokkos::Impl::SharedAllocationRecord; RecordHIP::decrement(RecordHIP::get_record(m_scratchFlags)); RecordHIP::decrement(RecordHIP::get_record(m_scratchSpace)); - - m_hipDev = -1; - m_hipArch = -1; - m_multiProcCount = 0; - m_maxWarpCount = 0; - m_maxBlock = 0; - m_maxSharedWords = 0; - m_maxShmemPerBlock = 0; - m_scratchSpaceCount = 0; - m_scratchFlagsCount = 0; - m_scratchSpace = 0; - m_scratchFlags = 0; + RecordHIP::decrement(RecordHIP::get_record(m_scratchConcurrentBitset)); + + m_hipDev = -1; + m_hipArch = -1; + m_multiProcCount = 0; + m_maxWarpCount = 0; + m_maxBlock = 0; + m_maxSharedWords = 0; + m_maxShmemPerBlock = 0; + m_scratchSpaceCount = 0; + m_scratchFlagsCount = 0; + m_scratchSpace = 0; + m_scratchFlags = 0; + m_scratchConcurrentBitset = nullptr; + m_stream = 0; } } //---------------------------------------------------------------------------- +Kokkos::Experimental::HIP::size_type hip_internal_multiprocessor_count() { + return HIPInternal::singleton().m_multiProcCount; +} + Kokkos::Experimental::HIP::size_type hip_internal_maximum_warp_count() { return HIPInternal::singleton().m_maxWarpCount; } @@ -371,3 +408,13 @@ void hip_internal_error_throw(hipError_t e, const char *name, const char *file, } } // namespace Impl } // namespace Kokkos + +//---------------------------------------------------------------------------- + +namespace Kokkos { +namespace Experimental { +HIP::size_type HIP::detect_device_count() { + return HIPInternalDevices::singleton().m_hipDevCount; +} +} // namespace Experimental +} // namespace Kokkos diff --git a/lib/kokkos/core/src/HIP/Kokkos_HIP_Instance.hpp b/lib/kokkos/core/src/HIP/Kokkos_HIP_Instance.hpp index c66fb2776f56b471b293d2f6b7d5d30bb0e5f4db..9688aef3504dc41592ebb18c715dc4f887374d25 100644 --- a/lib/kokkos/core/src/HIP/Kokkos_HIP_Instance.hpp +++ b/lib/kokkos/core/src/HIP/Kokkos_HIP_Instance.hpp @@ -55,7 +55,8 @@ namespace Impl { struct HIPTraits { static int constexpr WarpSize = 64; - static int constexpr WarpIndexShift = 6; /* WarpSize == 1 << WarpShift*/ + static int constexpr WarpIndexMask = 0x003f; /* hexadecimal for 63 */ + static int constexpr WarpIndexShift = 6; /* WarpSize == 1 << WarpShift*/ static int constexpr ConstantMemoryUsage = 0x008000; /* 32k bytes */ static int constexpr ConstantMemoryUseThreshold = 0x000200; /* 512 bytes */ @@ -65,6 +66,7 @@ struct HIPTraits { HIP::size_type hip_internal_maximum_warp_count(); HIP::size_type hip_internal_maximum_grid_count(); +HIP::size_type hip_internal_multiprocessor_count(); HIP::size_type *hip_internal_scratch_space(const HIP::size_type size); HIP::size_type *hip_internal_scratch_flags(const HIP::size_type size); @@ -84,7 +86,9 @@ class HIPInternal { unsigned m_multiProcCount; unsigned m_maxWarpCount; unsigned m_maxBlock; + unsigned m_maxBlocksPerSM; unsigned m_maxSharedWords; + int m_regsPerSM; int m_shmemPerSM; int m_maxShmemPerBlock; int m_maxThreadsPerSM; @@ -93,11 +97,13 @@ class HIPInternal { size_type m_scratchFlagsCount; size_type *m_scratchSpace; size_type *m_scratchFlags; + uint32_t *m_scratchConcurrentBitset = nullptr; + + hipDeviceProp_t m_deviceProp; hipStream_t m_stream; - static int was_initialized; - static int was_finalized; + bool was_finalized = false; static HIPInternal &singleton(); @@ -107,11 +113,13 @@ class HIPInternal { return m_hipDev >= 0; } // 0 != m_scratchSpace && 0 != m_scratchFlags ; } - void initialize(int hip_device_id); + void initialize(int hip_device_id, hipStream_t stream = 0); void finalize(); void print_configuration(std::ostream &) const; + void fence() const; + ~HIPInternal(); HIPInternal() @@ -128,7 +136,8 @@ class HIPInternal { m_scratchSpaceCount(0), m_scratchFlagsCount(0), m_scratchSpace(0), - m_scratchFlags(0) {} + m_scratchFlags(0), + m_stream(0) {} size_type *scratch_space(const size_type size); size_type *scratch_flags(const size_type size); diff --git a/lib/kokkos/core/src/HIP/Kokkos_HIP_KernelLaunch.hpp b/lib/kokkos/core/src/HIP/Kokkos_HIP_KernelLaunch.hpp index 5c19a3e0da58a7b9871ae7501de8e78951a921fb..34ccd899c3e1eeec42c700a0ee27708382d64824 100644 --- a/lib/kokkos/core/src/HIP/Kokkos_HIP_KernelLaunch.hpp +++ b/lib/kokkos/core/src/HIP/Kokkos_HIP_KernelLaunch.hpp @@ -53,10 +53,12 @@ #include #include -// FIXME_HIP cannot use global variable on the device with ROCm 2.9 -//__device__ __constant__ unsigned long kokkos_impl_hip_constant_memory_buffer -// [Kokkos::Experimental::Impl::HIPTraits::ConstantMemoryUsage / -// sizeof(unsigned long)]; +// Must use global variable on the device with HIP-Clang +#ifdef __HIP__ +__device__ __constant__ unsigned long kokkos_impl_hip_constant_memory_buffer + [Kokkos::Experimental::Impl::HIPTraits::ConstantMemoryUsage / + sizeof(unsigned long)]; +#endif namespace Kokkos { namespace Experimental { @@ -76,28 +78,31 @@ void *hip_resize_scratch_space(std::int64_t bytes, bool force_shrink = false); template __global__ static void hip_parallel_launch_constant_memory() { +// cannot use global constants in HCC +#ifdef __HCC__ __device__ __constant__ unsigned long kokkos_impl_hip_constant_memory_buffer [Kokkos::Experimental::Impl::HIPTraits::ConstantMemoryUsage / sizeof(unsigned long)]; +#endif - const DriverType &driver = *(reinterpret_cast( + const DriverType *const driver = (reinterpret_cast( kokkos_impl_hip_constant_memory_buffer)); - driver(); + driver->operator()(); } template __global__ static void hip_parallel_launch_local_memory( - const DriverType driver) { - driver(); + const DriverType *driver) { + driver->operator()(); } template __global__ __launch_bounds__( maxTperB, minBperSM) static void hip_parallel_launch_local_memory(const DriverType - driver) { - driver(); + *driver) { + driver->operator()(); } enum class HIPLaunchMechanism : unsigned { @@ -142,30 +147,34 @@ struct HIPParallelLaunch< "HIPParallelLaunch FAILED: shared memory request is too large"); } - // Invoke the driver function on the device - printf("%i %i %i | %i %i %i | %i\n", grid.x, grid.y, grid.z, block.x, - block.y, block.z, shmem); - printf("Pre Launch Error: %s\n", hipGetErrorName(hipGetLastError())); - - hipLaunchKernelGGL( - (hip_parallel_launch_local_memory), - grid, block, shmem, hip_instance->m_stream, driver); + // FIXME_HIP -- there is currently an error copying (some) structs + // by value to the device in HIP-Clang / VDI + // As a workaround, we can malloc the DriverType and explictly copy over. + // To remove once solved in HIP + DriverType *d_driver; + HIP_SAFE_CALL(hipMalloc(&d_driver, sizeof(DriverType))); + HIP_SAFE_CALL(hipMemcpyAsync(d_driver, &driver, sizeof(DriverType), + hipMemcpyHostToDevice, + hip_instance->m_stream)); + hip_parallel_launch_local_memory + <<m_stream>>>(d_driver); - Kokkos::Experimental::HIP().fence(); - printf("Post Launch Error: %s\n", hipGetErrorName(hipGetLastError())); #if defined(KOKKOS_ENABLE_DEBUG_BOUNDS_CHECK) HIP_SAFE_CALL(hipGetLastError()); - Kokkos::Experimental::HIP().fence(); + hip_instance->fence(); #endif + HIP_SAFE_CALL(hipFree(d_driver)); } } static hipFuncAttributes get_hip_func_attributes() { hipFuncAttributes attr; hipFuncGetAttributes( - &attr, hip_parallel_launch_local_memory); + &attr, + reinterpret_cast( + hip_parallel_launch_local_memory)); return attr; } }; @@ -184,22 +193,29 @@ struct HIPParallelLaunch, } // Invoke the driver function on the device - hipLaunchKernelGGL(hip_parallel_launch_local_memory, grid, - block, shmem, hip_instance->m_stream, driver); - Kokkos::Experimental::HIP().fence(); + // FIXME_HIP -- see note about struct copy by value above + DriverType *d_driver; + HIP_SAFE_CALL(hipMalloc(&d_driver, sizeof(DriverType))); + HIP_SAFE_CALL(hipMemcpyAsync(d_driver, &driver, sizeof(DriverType), + hipMemcpyHostToDevice, + hip_instance->m_stream)); + hip_parallel_launch_local_memory + <<m_stream>>>(d_driver); + #if defined(KOKKOS_ENABLE_DEBUG_BOUNDS_CHECK) HIP_SAFE_CALL(hipGetLastError()); - Kokkos::Experimental::HIP().fence(); + hip_instance->fence(); #endif + HIP_SAFE_CALL(hipFree(d_driver)); } } static hipFuncAttributes get_hip_func_attributes() { hipFuncAttributes attr; - hipFuncGetAttributes(&attr, - reinterpret_cast( - &hip_parallel_launch_local_memory)); + hipFuncGetAttributes( + &attr, reinterpret_cast( + &hip_parallel_launch_local_memory)); return attr; } }; diff --git a/lib/kokkos/core/src/HIP/Kokkos_HIP_Locks.cpp b/lib/kokkos/core/src/HIP/Kokkos_HIP_Locks.cpp index 0a34ed505b700bee79cc3b758373230d505e8002..3426caafdad0207e09c3fcb34848f16c5e4cafe4 100644 --- a/lib/kokkos/core/src/HIP/Kokkos_HIP_Locks.cpp +++ b/lib/kokkos/core/src/HIP/Kokkos_HIP_Locks.cpp @@ -62,14 +62,14 @@ namespace Kokkos { namespace { __global__ void init_lock_array_kernel_atomic() { - unsigned i = hipBlockIdx_x * hipBlockDim_x + hipThreadIdx_x; + unsigned i = blockIdx.x * blockDim.x + threadIdx.x; if (i < KOKKOS_IMPL_HIP_SPACE_ATOMIC_MASK + 1) { g_device_hip_lock_arrays.atomic[i] = 0; } } __global__ void init_lock_array_kernel_threadid(int N) { - unsigned i = hipBlockIdx_x * hipBlockDim_x + hipThreadIdx_x; + unsigned i = blockIdx.x * blockDim.x + threadIdx.x; if (i < static_cast(N)) { g_device_hip_lock_arrays.scratch[i] = 0; } @@ -93,12 +93,11 @@ void initialize_host_hip_lock_arrays() { g_host_hip_lock_arrays.n = ::Kokkos::Experimental::HIP::concurrency(); KOKKOS_COPY_HIP_LOCK_ARRAYS_TO_DEVICE(); - hipLaunchKernelGGL(init_lock_array_kernel_atomic, - (KOKKOS_IMPL_HIP_SPACE_ATOMIC_MASK + 1 + 255) / 256, 256, - 0, 0); - hipLaunchKernelGGL(init_lock_array_kernel_threadid, - (::Kokkos::Experimental::HIP::concurrency() + 255) / 256, - 256, 0, 0, ::Kokkos::Experimental::HIP::concurrency()); + init_lock_array_kernel_atomic<<< + (KOKKOS_IMPL_HIP_SPACE_ATOMIC_MASK + 1 + 255) / 256, 256, 0, 0>>>(); + init_lock_array_kernel_threadid<<< + (::Kokkos::Experimental::HIP::concurrency() + 255) / 256, 256, 0, 0>>>( + ::Kokkos::Experimental::HIP::concurrency()); } void finalize_host_hip_lock_arrays() { diff --git a/lib/kokkos/core/src/HIP/Kokkos_HIP_Parallel_MDRange.hpp b/lib/kokkos/core/src/HIP/Kokkos_HIP_Parallel_MDRange.hpp index 7a6161346c7d3a53afe000056548938aa24a617b..c3acc0622d261d154c95224e629e2b5be9cf78ac 100644 --- a/lib/kokkos/core/src/HIP/Kokkos_HIP_Parallel_MDRange.hpp +++ b/lib/kokkos/core/src/HIP/Kokkos_HIP_Parallel_MDRange.hpp @@ -113,8 +113,8 @@ class ParallelFor, *this, grid, block, 0, m_policy.space().impl_internal_space_instance(), false); } else if (Policy::rank == 4) { - // id0,id1 encoded within hipThreadIdx_x; id2 to hipThreadIdx_y; id3 to - // hipThreadIdx_z + // id0,id1 encoded within threadIdx.x; id2 to threadIdx.y; id3 to + // threadIdx.z dim3 const block(m_policy.m_tile[0] * m_policy.m_tile[1], m_policy.m_tile[2], m_policy.m_tile[3]); dim3 const grid( @@ -131,8 +131,8 @@ class ParallelFor, *this, grid, block, 0, m_policy.space().impl_internal_space_instance(), false); } else if (Policy::rank == 5) { - // id0,id1 encoded within hipThreadIdx_x; id2,id3 to hipThreadIdx_y; id4 - // to hipThreadIdx_z + // id0,id1 encoded within threadIdx.x; id2,id3 to threadIdx.y; id4 + // to threadIdx.z dim3 const block(m_policy.m_tile[0] * m_policy.m_tile[1], m_policy.m_tile[2] * m_policy.m_tile[3], m_policy.m_tile[4]); @@ -150,8 +150,8 @@ class ParallelFor, *this, grid, block, 0, m_policy.space().impl_internal_space_instance(), false); } else if (Policy::rank == 6) { - // id0,id1 encoded within hipThreadIdx_x; id2,id3 to hipThreadIdx_y; - // id4,id5 to hipThreadIdx_z + // id0,id1 encoded within threadIdx.x; id2,id3 to threadIdx.y; + // id4,id5 to threadIdx.z dim3 const block(m_policy.m_tile[0] * m_policy.m_tile[1], m_policy.m_tile[2] * m_policy.m_tile[3], m_policy.m_tile[4] * m_policy.m_tile[5]); @@ -213,8 +213,8 @@ class ParallelReduce, ReducerType, using functor_type = FunctorType; using size_type = Experimental::HIP::size_type; - // Algorithmic constraints: blockSize is a power of two AND hipBlockDim_y == - // hipBlockDim_z == 1 + // Algorithmic constraints: blockSize is a power of two AND blockDim.y == + // blockDim.z == 1 const FunctorType m_functor; const Policy m_policy; // used for workrange and nwork @@ -254,7 +254,7 @@ class ParallelReduce, ReducerType, reference_type value = ValueInit::init( ReducerConditional::select(m_functor, m_reducer), Experimental::kokkos_impl_hip_shared_memory() + - hipThreadIdx_y * word_count.value); + threadIdx.y * word_count.value); // Number of blocks is bounded so that the reduction can be limited to two // passes. Each thread block is given an approximately equal amount of @@ -265,24 +265,23 @@ class ParallelReduce, ReducerType, this->exec_range(value); } - // Reduce with final value at hipBlockDim_y - 1 location. + // Reduce with final value at blockDim.y - 1 location. // Problem: non power-of-two blockDim if (::Kokkos::Impl::hip_single_inter_block_reduce_scan< false, ReducerTypeFwd, WorkTagFwd>( - ReducerConditional::select(m_functor, m_reducer), hipBlockIdx_x, - hipGridDim_x, - Experimental::kokkos_impl_hip_shared_memory(), + ReducerConditional::select(m_functor, m_reducer), blockIdx.x, + gridDim.x, Experimental::kokkos_impl_hip_shared_memory(), m_scratch_space, m_scratch_flags)) { // This is the final block with the final result at the final threads' // location size_type* const shared = Experimental::kokkos_impl_hip_shared_memory() + - (hipBlockDim_y - 1) * word_count.value; + (blockDim.y - 1) * word_count.value; size_type* const global = m_result_ptr_device_accessible ? reinterpret_cast(m_result_ptr) : m_scratch_space; - if (hipThreadIdx_y == 0) { + if (threadIdx.y == 0) { Kokkos::Impl::FunctorFinal::final( ReducerConditional::select(m_functor, m_reducer), shared); } @@ -291,8 +290,7 @@ class ParallelReduce, ReducerType, __syncthreads(); } - for (unsigned i = hipThreadIdx_y; i < word_count.value; - i += hipBlockDim_y) { + for (unsigned i = threadIdx.y; i < word_count.value; i += blockDim.y) { global[i] = shared[i]; } } diff --git a/lib/kokkos/core/src/HIP/Kokkos_HIP_Parallel_Range.hpp b/lib/kokkos/core/src/HIP/Kokkos_HIP_Parallel_Range.hpp index a9c44606e4a497ba66b6e3838604b70a90fb02dd..11434a5b25d84c41ec23c98343bf758c57a29f4e 100644 --- a/lib/kokkos/core/src/HIP/Kokkos_HIP_Parallel_Range.hpp +++ b/lib/kokkos/core/src/HIP/Kokkos_HIP_Parallel_Range.hpp @@ -52,6 +52,8 @@ #include #include #include +#include +#include namespace Kokkos { namespace Impl { @@ -91,11 +93,11 @@ class ParallelFor, using functor_type = FunctorType; inline __device__ void operator()(void) const { - const Member work_stride = hipBlockDim_y * hipGridDim_x; + const Member work_stride = blockDim.y * gridDim.x; const Member work_end = m_policy.end(); for (Member iwork = - m_policy.begin() + hipThreadIdx_y + hipBlockDim_y * hipBlockIdx_x; + m_policy.begin() + threadIdx.y + blockDim.y * blockIdx.x; iwork < work_end; iwork = iwork < work_end - work_stride ? iwork + work_stride : work_end) { @@ -156,8 +158,8 @@ class ParallelReduce, ReducerType, using size_type = Kokkos::Experimental::HIP::size_type; using index_type = typename Policy::index_type; - // Algorithmic constraints: blockSize is a power of two AND hipBlockDim_y == - // hipBlockDim_z == 1 + // Algorithmic constraints: blockSize is a power of two AND blockDim.y == + // blockDim.z == 1 const FunctorType m_functor; const Policy m_policy; @@ -167,18 +169,16 @@ class ParallelReduce, ReducerType, size_type* m_scratch_space = nullptr; size_type* m_scratch_flags = nullptr; - // Shall we use the shfl based reduction or not (only use it for static sized - // types of more than 128bit) - enum { - UseShflReduction = false - }; //((sizeof(value_type)>2*sizeof(double)) && ValueTraits::StaticValueSize) - //}; - // Some crutch to do function overloading + // FIXME_HIP_PERFORMANCE Need a rule to choose when to use shared memory and + // when to use shuffle + static bool constexpr UseShflReduction = + ((sizeof(value_type) > 2 * sizeof(double)) && + static_cast(ValueTraits::StaticValueSize)); + private: - using DummyShflReductionType = double; - using DummySHMEMReductionType = int; + struct ShflReductionTag {}; + struct SHMEMReductionTag {}; - public: // Make the exec_range calls call to Reduce::DeviceIterateTile template __device__ inline @@ -194,7 +194,15 @@ class ParallelReduce, ReducerType, m_functor(TagType(), i, update); } + public: __device__ inline void operator()() const { + using ReductionTag = + typename std::conditional::type; + run(ReductionTag{}); + } + + __device__ inline void run(SHMEMReductionTag) const { const integral_nonzero_constant word_count(ValueTraits::value_size( @@ -205,7 +213,7 @@ class ParallelReduce, ReducerType, reference_type value = ValueInit::init( ReducerConditional::select(m_functor, m_reducer), ::Kokkos::Experimental::kokkos_impl_hip_shared_memory() + - hipThreadIdx_y * word_count.value); + threadIdx.y * word_count.value); // Number of blocks is bounded so that the reduction can be limited to two // passes. Each thread block is given an approximately equal amount of @@ -213,19 +221,18 @@ class ParallelReduce, ReducerType, // ordering does not match the final pass, but is arithmetically // equivalent. - const WorkRange range(m_policy, hipBlockIdx_x, hipGridDim_x); + const WorkRange range(m_policy, blockIdx.x, gridDim.x); - for (Member iwork = range.begin() + hipThreadIdx_y, - iwork_end = range.end(); - iwork < iwork_end; iwork += hipBlockDim_y) { + for (Member iwork = range.begin() + threadIdx.y, iwork_end = range.end(); + iwork < iwork_end; iwork += blockDim.y) { this->template exec_range(iwork, value); } } - // Reduce with final value at hipBlockDim_y - 1 location. + // Reduce with final value at blockDim.y - 1 location. if (hip_single_inter_block_reduce_scan( - ReducerConditional::select(m_functor, m_reducer), hipBlockIdx_x, - hipGridDim_x, + ReducerConditional::select(m_functor, m_reducer), blockIdx.x, + gridDim.x, ::Kokkos::Experimental::kokkos_impl_hip_shared_memory(), m_scratch_space, m_scratch_flags)) { // This is the final block with the final result at the final threads' @@ -233,12 +240,12 @@ class ParallelReduce, ReducerType, size_type* const shared = ::Kokkos::Experimental::kokkos_impl_hip_shared_memory() + - (hipBlockDim_y - 1) * word_count.value; + (blockDim.y - 1) * word_count.value; size_type* const global = m_result_ptr_device_accessible ? reinterpret_cast(m_result_ptr) : m_scratch_space; - if (hipThreadIdx_y == 0) { + if (threadIdx.y == 0) { Kokkos::Impl::FunctorFinal::final( ReducerConditional::select(m_functor, m_reducer), shared); } @@ -248,13 +255,56 @@ class ParallelReduce, ReducerType, __syncthreads(); } - for (unsigned i = hipThreadIdx_y; i < word_count.value; - i += hipBlockDim_y) { + for (unsigned i = threadIdx.y; i < word_count.value; i += blockDim.y) { global[i] = shared[i]; } } } + __device__ inline void run(ShflReductionTag) const { + value_type value; + ValueInit::init(ReducerConditional::select(m_functor, m_reducer), &value); + // Number of blocks is bounded so that the reduction can be limited to two + // passes. Each thread block is given an approximately equal amount of work + // to perform. Accumulate the values for this block. The accumulation + // ordering does not match the final pass, but is arithmetically equivalent. + + WorkRange const range(m_policy, blockIdx.x, gridDim.x); + + for (Member iwork = range.begin() + threadIdx.y, iwork_end = range.end(); + iwork < iwork_end; iwork += blockDim.y) { + this->template exec_range(iwork, value); + } + + pointer_type const result = reinterpret_cast(m_scratch_space); + + int max_active_thread = static_cast(range.end() - range.begin()) < + static_cast(blockDim.y) + ? range.end() - range.begin() + : blockDim.y; + + max_active_thread = + (max_active_thread == 0) ? blockDim.y : max_active_thread; + + value_type init; + ValueInit::init(ReducerConditional::select(m_functor, m_reducer), &init); + if (Impl::hip_inter_block_shuffle_reduction( + value, init, + ValueJoin(ReducerConditional::select(m_functor, m_reducer)), + m_scratch_space, result, m_scratch_flags, max_active_thread)) { + unsigned int const id = threadIdx.y * blockDim.x + threadIdx.x; + if (id == 0) { + Kokkos::Impl::FunctorFinal::final( + ReducerConditional::select(m_functor, m_reducer), + reinterpret_cast(&value)); + pointer_type const final_result = + m_result_ptr_device_accessible ? m_result_ptr : result; + *final_result = value; + } + } + } + // Determine block size constrained by shared memory: inline unsigned local_block_size(const FunctorType& f) { // FIXME_HIP I don't know where 8 comes from @@ -281,6 +331,7 @@ class ParallelReduce, ReducerType, const index_type nwork = m_policy.end() - m_policy.begin(); if (nwork) { const int block_size = local_block_size(m_functor); + KOKKOS_ASSERT(block_size > 0); m_scratch_space = ::Kokkos::Experimental::Impl::hip_internal_scratch_space( @@ -294,8 +345,7 @@ class ParallelReduce, ReducerType, // REQUIRED ( 1 , N , 1 ) const dim3 block(1, block_size, 1); // Required grid.x <= block.y - const dim3 grid( - std::min(int(block.y), int((nwork + block.y - 1) / block.y)), 1, 1); + const dim3 grid(std::min(block.y, (nwork + block.y - 1) / block.y), 1, 1); const int shmem = UseShflReduction @@ -311,7 +361,7 @@ class ParallelReduce, ReducerType, false); // copy to device and execute if (!m_result_ptr_device_accessible) { - ::Kokkos::Experimental::HIP().fence(); + m_policy.space().impl_internal_space_instance()->fence(); if (m_result_ptr) { const int size = ValueTraits::value_size( @@ -377,10 +427,10 @@ class ParallelScanHIPBase { protected: // Algorithmic constraints: - // (a) hipBlockDim_y is a power of two - // (b) hipBlockDim_x == hipBlockDim_z == 1 - // (c) hipGridDim_x <= hipBlockDim_y * hipBlockDim_y - // (d) hipGridDim_y == hipGridDim_z == 1 + // (a) blockDim.y is a power of two + // (b) blockDim.x == blockDim.z == 1 + // (c) gridDim.x <= blockDim.y * blockDim.y + // (d) gridDim.y == gridDim.z == 1 const FunctorType m_functor; const Policy m_policy; @@ -415,7 +465,7 @@ class ParallelScanHIPBase { size_type* const shared_value = Kokkos::Experimental::kokkos_impl_hip_shared_memory() + - word_count.value * hipThreadIdx_y; + word_count.value * threadIdx.y; ValueInit::init(m_functor, shared_value); @@ -424,20 +474,20 @@ class ParallelScanHIPBase { // to perform. Accumulate the values for this block. The accumulation // ordering does not match the final pass, but is arithmetically equivalent. - const WorkRange range(m_policy, hipBlockIdx_x, hipGridDim_x); + const WorkRange range(m_policy, blockIdx.x, gridDim.x); - for (Member iwork = range.begin() + hipThreadIdx_y, iwork_end = range.end(); - iwork < iwork_end; iwork += hipBlockDim_y) { + for (Member iwork = range.begin() + threadIdx.y, iwork_end = range.end(); + iwork < iwork_end; iwork += blockDim.y) { this->template exec_range( iwork, ValueOps::reference(shared_value), false); } // Reduce and scan, writing out scan of blocks' totals and block-groups' - // totals. Blocks' scan values are written to 'hipBlockIdx_x' location. - // Block-groups' scan values are at: i = ( j * hipBlockDim_y - 1 ) for i < - // hipGridDim_x + // totals. Blocks' scan values are written to 'blockIdx.x' location. + // Block-groups' scan values are at: i = ( j * blockDim.y - 1 ) for i < + // gridDim.x hip_single_inter_block_reduce_scan( - m_functor, hipBlockIdx_x, hipGridDim_x, + m_functor, blockIdx.x, gridDim.x, Kokkos::Experimental::kokkos_impl_hip_shared_memory(), m_scratch_space, m_scratch_flags); } @@ -454,26 +504,26 @@ class ParallelScanHIPBase { size_type* const shared_data = Kokkos::Experimental::kokkos_impl_hip_shared_memory(); size_type* const shared_prefix = - shared_data + word_count.value * hipThreadIdx_y; + shared_data + word_count.value * threadIdx.y; size_type* const shared_accum = - shared_data + word_count.value * (hipBlockDim_y + 1); + shared_data + word_count.value * (blockDim.y + 1); // Starting value for this thread block is the previous block's total. - if (hipBlockIdx_x) { + if (blockIdx.x) { size_type* const block_total = - m_scratch_space + word_count.value * (hipBlockIdx_x - 1); - for (unsigned i = hipThreadIdx_y; i < word_count.value; ++i) { + m_scratch_space + word_count.value * (blockIdx.x - 1); + for (unsigned i = threadIdx.y; i < word_count.value; ++i) { shared_accum[i] = block_total[i]; } - } else if (0 == hipThreadIdx_y) { + } else if (0 == threadIdx.y) { ValueInit::init(m_functor, shared_accum); } - const WorkRange range(m_policy, hipBlockIdx_x, hipGridDim_x); + const WorkRange range(m_policy, blockIdx.x, gridDim.x); for (typename Policy::member_type iwork_base = range.begin(); - iwork_base < range.end(); iwork_base += hipBlockDim_y) { - const typename Policy::member_type iwork = iwork_base + hipThreadIdx_y; + iwork_base < range.end(); iwork_base += blockDim.y) { + const typename Policy::member_type iwork = iwork_base + threadIdx.y; __syncthreads(); // Don't overwrite previous iteration values until they // are used @@ -482,7 +532,7 @@ class ParallelScanHIPBase { // Copy previous block's accumulation total into thread[0] prefix and // inclusive scan value of this block - for (unsigned i = hipThreadIdx_y; i < word_count.value; ++i) { + for (unsigned i = threadIdx.y; i < word_count.value; ++i) { shared_data[i + word_count.value] = shared_data[i] = shared_accum[i]; } @@ -497,15 +547,15 @@ class ParallelScanHIPBase { false); } - // Scan block values into locations shared_data[1..hipBlockDim_y] + // Scan block values into locations shared_data[1..blockDim.y] hip_intra_block_reduce_scan( m_functor, typename ValueTraits::pointer_type(shared_data + word_count.value)); { size_type* const block_total = - shared_data + word_count.value * hipBlockDim_y; - for (unsigned i = hipThreadIdx_y; i < word_count.value; ++i) { + shared_data + word_count.value * blockDim.y; + for (unsigned i = threadIdx.y; i < word_count.value; ++i) { shared_accum[i] = block_total[i]; } } @@ -531,8 +581,8 @@ class ParallelScanHIPBase { // Determine block size constrained by shared memory: inline unsigned local_block_size(const FunctorType& f) { - // hipBlockDim_y must be power of two = 128 (2 warps) or 256 (4 warps) or - // 512 (8 warps) hipGridDim_x <= hipBlockDim_y * hipBlockDim_y + // blockDim.y must be power of two = 128 (2 warps) or 256 (4 warps) or + // 512 (8 warps) gridDim.x <= blockDim.y * blockDim.y // // TODO check best option @@ -554,10 +604,8 @@ class ParallelScanHIPBase { // correctly, the unit tests fail with wrong results const int gridMaxComputeCapability_2x = 0x01fff; - // FIXME_HIP block sizes greater than 256 don't work correctly, - // the unit tests fail with wrong results - const int block_size = - std::min(static_cast(local_block_size(m_functor)), 256); + const int block_size = static_cast(local_block_size(m_functor)); + KOKKOS_ASSERT(block_size > 0); const int grid_max = std::min(block_size * block_size, gridMaxComputeCapability_2x); diff --git a/lib/kokkos/core/src/HIP/Kokkos_HIP_Parallel_Team.hpp b/lib/kokkos/core/src/HIP/Kokkos_HIP_Parallel_Team.hpp index 53097f36431678e83f10231afca96bbb72bf2c42..ed138dd9517f8f77adf7916920a627d45e5580d4 100644 --- a/lib/kokkos/core/src/HIP/Kokkos_HIP_Parallel_Team.hpp +++ b/lib/kokkos/core/src/HIP/Kokkos_HIP_Parallel_Team.hpp @@ -94,19 +94,6 @@ class TeamPolicyInternal m_space = p.m_space; } - TeamPolicyInternal& operator=(TeamPolicyInternal const& p) { - m_league_size = p.m_league_size; - m_team_size = p.m_team_size; - m_vector_length = p.m_vector_length; - m_team_scratch_size[0] = p.m_team_scratch_size[0]; - m_team_scratch_size[1] = p.m_team_scratch_size[1]; - m_thread_scratch_size[0] = p.m_thread_scratch_size[0]; - m_thread_scratch_size[1] = p.m_thread_scratch_size[1]; - m_chunk_size = p.m_chunk_size; - m_space = p.m_space; - return *this; - } - template int team_size_max(FunctorType const& f, ParallelForTag const&) const { using closure_type = @@ -123,10 +110,34 @@ class TeamPolicyInternal return block_size / vector_length(); } + template + inline int team_size_max(const FunctorType& f, + const ParallelReduceTag&) const { + using functor_analysis_type = + Impl::FunctorAnalysis; + using reducer_type = typename Impl::ParallelReduceReturnValue< + void, typename functor_analysis_type::value_type, + FunctorType>::reducer_type; + using closure_type = + Impl::ParallelReduce, + reducer_type>; + return internal_team_size_max(f); + } + + template + inline int team_size_max(const FunctorType& f, const ReducerType& /*r*/, + const ParallelReduceTag&) const { + using closure_type = + Impl::ParallelReduce, + ReducerType>; + return internal_team_size_max(f); + } + template int team_size_recommended(FunctorType const& f, ParallelForTag const&) const { - typedef Impl::ParallelFor > - closure_type; + using closure_type = + Impl::ParallelFor >; hipFuncAttributes attr = ::Kokkos::Experimental::Impl::HIPParallelLaunch< closure_type, typename traits::launch_bounds>::get_hip_func_attributes(); @@ -139,6 +150,30 @@ class TeamPolicyInternal return block_size / vector_length(); } + template + inline int team_size_recommended(FunctorType const& f, + ParallelReduceTag const&) const { + using functor_analysis_type = + Impl::FunctorAnalysis; + using reducer_type = typename Impl::ParallelReduceReturnValue< + void, typename functor_analysis_type::value_type, + FunctorType>::reducer_type; + using closure_type = + Impl::ParallelReduce, + reducer_type>; + return internal_team_size_recommended(f); + } + + template + int team_size_recommended(FunctorType const& f, ReducerType const&, + ParallelReduceTag const&) const { + using closure_type = + Impl::ParallelReduce, + ReducerType>; + return internal_team_size_recommended(f); + } + static int vector_length_max() { return ::Kokkos::Experimental::Impl::HIPTraits::WarpSize; } @@ -149,9 +184,10 @@ class TeamPolicyInternal // Allow only power-of-two vector_length if (!(is_integral_power_of_two(test_vector_length))) { - int test_pow2 = 1; - for (int i = 0; i < 5; i++) { - test_pow2 = test_pow2 << 1; + int test_pow2 = 1; + int constexpr warp_size = Experimental::Impl::HIPTraits::WarpSize; + while (test_pow2 < warp_size) { + test_pow2 <<= 1; if (test_pow2 > test_vector_length) { break; } @@ -379,12 +415,12 @@ class ParallelFor, using size_type = ::Kokkos::Experimental::HIP::size_type; private: - using Member = typename Policy::member_type; - using WorkTag = typename Policy::work_tag; - using LaunchBounds = typename Policy::launch_bounds; + using member_type = typename Policy::member_type; + using work_tag = typename Policy::work_tag; + using launch_bounds = typename Policy::launch_bounds; - // Algorithmic constraints: hipBlockDim_y is a power of two AND hipBlockDim_y - // == hipBlockDim_z == 1 shared memory utilization: + // Algorithmic constraints: blockDim.y is a power of two AND + // blockDim.y == blockDim.z == 1 shared memory utilization: // // [ team reduce space ] // [ team shared space ] @@ -403,14 +439,14 @@ class ParallelFor, template __device__ inline typename std::enable_if::value>::type - exec_team(const Member& member) const { + exec_team(const member_type& member) const { m_functor(member); } template __device__ inline typename std::enable_if::value>::type - exec_team(const Member& member) const { + exec_team(const member_type& member) const { m_functor(TagType(), member); } @@ -420,16 +456,16 @@ class ParallelFor, int64_t threadid = 0; if (m_scratch_size[1] > 0) { __shared__ int64_t base_thread_id; - if (hipThreadIdx_x == 0 && hipThreadIdx_y == 0) { - threadid = (hipBlockIdx_x * hipBlockDim_z + hipThreadIdx_z) % - (hip_lock_arrays.n / (hipBlockDim_x * hipBlockDim_y)); - threadid *= hipBlockDim_x * hipBlockDim_y; + if (threadIdx.x == 0 && threadIdx.y == 0) { + threadid = (blockIdx.x * blockDim.z + threadIdx.z) % + (hip_lock_arrays.n / (blockDim.x * blockDim.y)); + threadid *= blockDim.x * blockDim.y; int done = 0; while (!done) { done = (0 == atomicCAS(&hip_lock_arrays.scratch[threadid], 0, 1)); if (!done) { - threadid += hipBlockDim_x * hipBlockDim_y; - if (int64_t(threadid + hipBlockDim_x * hipBlockDim_y) >= + threadid += blockDim.x * blockDim.y; + if (int64_t(threadid + blockDim.x * blockDim.y) >= int64_t(hip_lock_arrays.n)) threadid = 0; } @@ -441,20 +477,19 @@ class ParallelFor, } int const int_league_size = static_cast(m_league_size); - for (int league_rank = hipBlockIdx_x; league_rank < int_league_size; - league_rank += hipGridDim_x) { - this->template exec_team(typename Policy::member_type( + for (int league_rank = blockIdx.x; league_rank < int_league_size; + league_rank += gridDim.x) { + this->template exec_team(typename Policy::member_type( ::Kokkos::Experimental::kokkos_impl_hip_shared_memory(), m_shmem_begin, m_shmem_size, - static_cast( - static_cast(m_scratch_ptr[1]) + - ptrdiff_t(threadid / (hipBlockDim_x * hipBlockDim_y)) * - m_scratch_size[1]), + static_cast(static_cast(m_scratch_ptr[1]) + + ptrdiff_t(threadid / (blockDim.x * blockDim.y)) * + m_scratch_size[1]), m_scratch_size[1], league_rank, m_league_size)); } if (m_scratch_size[1] > 0) { __syncthreads(); - if (hipThreadIdx_x == 0 && hipThreadIdx_y == 0) + if (threadIdx.x == 0 && threadIdx.y == 0) hip_lock_arrays.scratch[threadid] = 0; } } @@ -476,7 +511,7 @@ class ParallelFor, dim3 const block(static_cast(m_vector_size), static_cast(m_team_size), 1); - ::Kokkos::Experimental::Impl::HIPParallelLaunch( + ::Kokkos::Experimental::Impl::HIPParallelLaunch( *this, grid, block, shmem_size_total, m_policy.space().impl_internal_space_instance(), true); // copy to device and execute @@ -499,12 +534,12 @@ class ParallelFor, m_team_size(arg_policy.team_size()), m_vector_size(arg_policy.vector_length()) { hipFuncAttributes attr = ::Kokkos::Experimental::Impl::HIPParallelLaunch< - ParallelFor, LaunchBounds>::get_hip_func_attributes(); + ParallelFor, launch_bounds>::get_hip_func_attributes(); m_team_size = m_team_size >= 0 ? m_team_size : ::Kokkos::Experimental::Impl::hip_get_opt_block_size< - FunctorType, LaunchBounds>( + FunctorType, launch_bounds>( m_policy.space().impl_internal_space_instance(), attr, m_functor, m_vector_size, m_policy.team_scratch_size(0), m_policy.thread_scratch_size(0)) / @@ -543,7 +578,7 @@ class ParallelFor, if (static_cast(m_team_size) > static_cast( ::Kokkos::Experimental::Impl::hip_get_max_block_size( + launch_bounds>( m_policy.space().impl_internal_space_instance(), attr, arg_functor, arg_policy.vector_length(), arg_policy.team_scratch_size(0), @@ -554,6 +589,474 @@ class ParallelFor, } } }; + +//---------------------------------------------------------------------------- +//---------------------------------------------------------------------------- + +template +class ParallelReduce, + ReducerType, Kokkos::Experimental::HIP> { + public: + using Policy = TeamPolicyInternal; + + private: + using member_type = typename Policy::member_type; + using work_tag = typename Policy::work_tag; + using launch_bounds = typename Policy::launch_bounds; + + using reducer_conditional = + Kokkos::Impl::if_c::value, + FunctorType, ReducerType>; + using reducer_type_fwd = typename reducer_conditional::type; + using work_tag_fwd = + typename Kokkos::Impl::if_c::value, + work_tag, void>::type; + + using value_traits = + Kokkos::Impl::FunctorValueTraits; + using value_init = + Kokkos::Impl::FunctorValueInit; + using value_join = + Kokkos::Impl::FunctorValueJoin; + + using pointer_type = typename value_traits::pointer_type; + using reference_type = typename value_traits::reference_type; + using value_type = typename value_traits::value_type; + + public: + using functor_type = FunctorType; + using size_type = Kokkos::Experimental::HIP::size_type; + + static int constexpr UseShflReduction = (value_traits::StaticValueSize != 0); + + private: + using DummyShflReductionType = double; + using DummySHMEMReductionType = int; + + // Algorithmic constraints: blockDim.y is a power of two AND + // blockDim.y == blockDim.z == 1 shared memory utilization: + // + // [ global reduce space ] + // [ team reduce space ] + // [ team shared space ] + // + + const FunctorType m_functor; + const Policy m_policy; + const ReducerType m_reducer; + const pointer_type m_result_ptr; + const bool m_result_ptr_device_accessible; + size_type* m_scratch_space; + size_type* m_scratch_flags; + size_type m_team_begin; + size_type m_shmem_begin; + size_type m_shmem_size; + void* m_scratch_ptr[2]; + int m_scratch_size[2]; + const size_type m_league_size; + int m_team_size; + const size_type m_vector_size; + + template + __device__ inline + typename std::enable_if::value>::type + exec_team(member_type const& member, reference_type update) const { + m_functor(member, update); + } + + template + __device__ inline + typename std::enable_if::value>::type + exec_team(member_type const& member, reference_type update) const { + m_functor(TagType(), member, update); + } + + public: + __device__ inline void operator()() const { + int64_t threadid = 0; + if (m_scratch_size[1] > 0) { + __shared__ int64_t base_thread_id; + // FIXME_HIP This uses g_device_hip_lock_arrays which is not working + if (threadIdx.x == 0 && threadIdx.y == 0) { + Impl::hip_abort("Error should not be here (not implemented yet)\n"); + threadid = (blockIdx.x * blockDim.z + threadIdx.z) % + (g_device_hip_lock_arrays.n / (blockDim.x * blockDim.y)); + threadid *= blockDim.x * blockDim.y; + int done = 0; + while (!done) { + done = (0 == + atomicCAS(&g_device_hip_lock_arrays.scratch[threadid], 0, 1)); + if (!done) { + threadid += blockDim.x * blockDim.y; + if (static_cast(threadid + blockDim.x * blockDim.y) >= + static_cast(g_device_hip_lock_arrays.n)) + threadid = 0; + } + } + base_thread_id = threadid; + } + __syncthreads(); + threadid = base_thread_id; + } + + run(Kokkos::Impl::if_c::select(1, 1.0), + threadid); + if (m_scratch_size[1] > 0) { + __syncthreads(); + if (threadIdx.x == 0 && threadIdx.y == 0) { + Impl::hip_abort("Error should not be here (not implemented yet)\n"); + g_device_hip_lock_arrays.scratch[threadid] = 0; + } + } + } + + __device__ inline void run(DummySHMEMReductionType const&, + int const& threadid) const { + integral_nonzero_constant const + word_count(value_traits::value_size( + reducer_conditional::select(m_functor, m_reducer)) / + sizeof(size_type)); + + reference_type value = value_init::init( + reducer_conditional::select(m_functor, m_reducer), + Kokkos::Experimental::kokkos_impl_hip_shared_memory() + + threadIdx.y * word_count.value); + + // Iterate this block through the league + int const int_league_size = static_cast(m_league_size); + for (int league_rank = blockIdx.x; league_rank < int_league_size; + league_rank += gridDim.x) { + this->template exec_team( + member_type( + Kokkos::Experimental::kokkos_impl_hip_shared_memory() + + m_team_begin, + m_shmem_begin, m_shmem_size, + reinterpret_cast( + reinterpret_cast(m_scratch_ptr[1]) + + static_cast(threadid / (blockDim.x * blockDim.y)) * + m_scratch_size[1]), + m_scratch_size[1], league_rank, m_league_size), + value); + } + + // Reduce with final value at blockDim.y - 1 location. + if (hip_single_inter_block_reduce_scan( + reducer_conditional::select(m_functor, m_reducer), blockIdx.x, + gridDim.x, + Kokkos::Experimental::kokkos_impl_hip_shared_memory(), + m_scratch_space, m_scratch_flags)) { + // This is the final block with the final result at the final threads' + // location + + size_type* const shared = + Kokkos::Experimental::kokkos_impl_hip_shared_memory() + + (blockDim.y - 1) * word_count.value; + size_type* const global = m_result_ptr_device_accessible + ? reinterpret_cast(m_result_ptr) + : m_scratch_space; + + if (threadIdx.y == 0) { + Kokkos::Impl::FunctorFinal::final( + reducer_conditional::select(m_functor, m_reducer), shared); + } + + if (Kokkos::Experimental::Impl::HIPTraits::WarpSize < word_count.value) { + __syncthreads(); + } + + for (unsigned i = threadIdx.y; i < word_count.value; i += blockDim.y) { + global[i] = shared[i]; + } + } + } + + __device__ inline void run(DummyShflReductionType const&, + int const& threadid) const { + // FIXME_HIP implementation close to the function above + value_type value; + value_init::init(reducer_conditional::select(m_functor, m_reducer), &value); + + // Iterate this block through the league + int const int_league_size = static_cast(m_league_size); + for (int league_rank = blockIdx.x; league_rank < int_league_size; + league_rank += gridDim.x) { + this->template exec_team( + member_type( + Kokkos::Experimental::kokkos_impl_hip_shared_memory() + + m_team_begin, + m_shmem_begin, m_shmem_size, + reinterpret_cast( + reinterpret_cast(m_scratch_ptr[1]) + + static_cast(threadid / (blockDim.x * blockDim.y)) * + m_scratch_size[1]), + m_scratch_size[1], league_rank, m_league_size), + value); + } + + pointer_type const result = + m_result_ptr_device_accessible + ? m_result_ptr + : reinterpret_cast(m_scratch_space); + + value_type init; + value_init::init(reducer_conditional::select(m_functor, m_reducer), &init); + if (Impl::hip_inter_block_shuffle_reduction( + value, init, + value_join(reducer_conditional::select(m_functor, m_reducer)), + m_scratch_space, result, m_scratch_flags, blockDim.y)) { + unsigned int const id = threadIdx.y * blockDim.x + threadIdx.x; + if (id == 0) { + Kokkos::Impl::FunctorFinal::final( + reducer_conditional::select(m_functor, m_reducer), + reinterpret_cast(&value)); + *result = value; + } + } + } + + inline void execute() { + const int nwork = m_league_size * m_team_size; + if (nwork) { + const int block_count = + UseShflReduction + ? std::min( + m_league_size, + size_type(1024 * + Kokkos::Experimental::Impl::HIPTraits::WarpSize)) + : std::min(static_cast(m_league_size), m_team_size); + + m_scratch_space = Kokkos::Experimental::Impl::hip_internal_scratch_space( + value_traits::value_size( + reducer_conditional::select(m_functor, m_reducer)) * + block_count); + m_scratch_flags = Kokkos::Experimental::Impl::hip_internal_scratch_flags( + sizeof(size_type)); + + dim3 block(m_vector_size, m_team_size, 1); + dim3 grid(block_count, 1, 1); + const int shmem_size_total = m_team_begin + m_shmem_begin + m_shmem_size; + + Kokkos::Experimental::Impl::HIPParallelLaunch( + *this, grid, block, shmem_size_total, + m_policy.space().impl_internal_space_instance(), + true); // copy to device and execute + + if (!m_result_ptr_device_accessible) { + m_policy.space().impl_internal_space_instance()->fence(); + + if (m_result_ptr) { + const int size = value_traits::value_size( + reducer_conditional::select(m_functor, m_reducer)); + DeepCopy( + m_result_ptr, m_scratch_space, size); + } + } + } else { + if (m_result_ptr) { + value_init::init(reducer_conditional::select(m_functor, m_reducer), + m_result_ptr); + } + } + } + + template + ParallelReduce(FunctorType const& arg_functor, Policy const& arg_policy, + ViewType const& arg_result, + typename std::enable_if::value, + void*>::type = nullptr) + : m_functor(arg_functor), + m_policy(arg_policy), + m_reducer(InvalidType()), + m_result_ptr(arg_result.data()), + m_result_ptr_device_accessible( + MemorySpaceAccess::accessible), + m_scratch_space(0), + m_scratch_flags(0), + m_team_begin(0), + m_shmem_begin(0), + m_shmem_size(0), + m_scratch_ptr{nullptr, nullptr}, + m_league_size(arg_policy.league_size()), + m_team_size(arg_policy.team_size()), + m_vector_size(arg_policy.vector_length()) { + hipFuncAttributes attr = Kokkos::Experimental::Impl::HIPParallelLaunch< + ParallelReduce, launch_bounds>::get_hip_func_attributes(); + m_team_size = + m_team_size >= 0 + ? m_team_size + : Kokkos::Experimental::Impl::hip_get_opt_block_size( + m_policy.space().impl_internal_space_instance(), attr, + m_functor, m_vector_size, m_policy.team_scratch_size(0), + m_policy.thread_scratch_size(0)) / + m_vector_size; + + // Return Init value if the number of worksets is zero + if (m_league_size * m_team_size == 0) { + value_init::init(reducer_conditional::select(m_functor, m_reducer), + arg_result.data()); + return; + } + + m_team_begin = + UseShflReduction + ? 0 + : hip_single_inter_block_reduce_scan_shmem(arg_functor, + m_team_size); + m_shmem_begin = sizeof(double) * (m_team_size + 2); + m_shmem_size = + m_policy.scratch_size(0, m_team_size) + + FunctorTeamShmemSize::value(arg_functor, m_team_size); + m_scratch_size[0] = m_shmem_size; + m_scratch_size[1] = m_policy.scratch_size(1, m_team_size); + m_scratch_ptr[1] = + m_team_size <= 0 ? nullptr + : Kokkos::Experimental::Impl::hip_resize_scratch_space( + static_cast(m_scratch_size[1]) * + (static_cast( + Kokkos::Experimental::HIP::concurrency() / + (m_team_size * m_vector_size)))); + + // The global parallel_reduce does not support vector_length other than 1 at + // the moment + if ((arg_policy.vector_length() > 1) && !UseShflReduction) + Impl::throw_runtime_exception( + "Kokkos::parallel_reduce with a TeamPolicy using a vector length of " + "greater than 1 is not currently supported for HIP for dynamic " + "sized reduction types."); + + if ((m_team_size < Kokkos::Experimental::Impl::HIPTraits::WarpSize) && + !UseShflReduction) + Impl::throw_runtime_exception( + "Kokkos::parallel_reduce with a TeamPolicy using a team_size smaller " + "than 64 is not currently supported with HIP for dynamic sized " + "reduction types."); + + // Functor's reduce memory, team scan memory, and team shared memory depend + // upon team size. + + const int shmem_size_total = m_team_begin + m_shmem_begin + m_shmem_size; + + if (!Kokkos::Impl::is_integral_power_of_two(m_team_size) && + !UseShflReduction) { + Kokkos::Impl::throw_runtime_exception( + std::string("Kokkos::Impl::ParallelReduce< HIP > bad team size")); + } + + if (m_policy.space().impl_internal_space_instance()->m_maxShmemPerBlock < + shmem_size_total) { + Kokkos::Impl::throw_runtime_exception( + std::string("Kokkos::Impl::ParallelReduce< HIP > requested too much " + "L0 scratch memory")); + } + + if (static_cast(m_team_size) > + arg_policy.team_size_max(m_functor, m_reducer, ParallelReduceTag())) { + Kokkos::Impl::throw_runtime_exception( + std::string("Kokkos::Impl::ParallelReduce< HIP > requested too " + "large team size.")); + } + } + + ParallelReduce(FunctorType const& arg_functor, Policy const& arg_policy, + ReducerType const& reducer) + : m_functor(arg_functor), + m_policy(arg_policy), + m_reducer(reducer), + m_result_ptr(reducer.view().data()), + m_result_ptr_device_accessible( + MemorySpaceAccess::accessible), + m_scratch_space(0), + m_scratch_flags(0), + m_team_begin(0), + m_shmem_begin(0), + m_shmem_size(0), + m_scratch_ptr{nullptr, nullptr}, + m_league_size(arg_policy.league_size()), + m_team_size(arg_policy.team_size()), + m_vector_size(arg_policy.vector_length()) { + hipFuncAttributes attr = Kokkos::Experimental::Impl::HIPParallelLaunch< + ParallelReduce, launch_bounds>::get_hip_func_attributes(); + m_team_size = + m_team_size >= 0 + ? m_team_size + : Kokkos::Experimental::Impl::hip_get_opt_block_size( + m_policy.space().impl_internal_space_instance(), attr, + m_functor, m_vector_size, m_policy.team_scratch_size(0), + m_policy.thread_scratch_size(0)) / + m_vector_size; + + // Return Init value if the number of worksets is zero + if (arg_policy.league_size() == 0) { + value_init::init(reducer_conditional::select(m_functor, m_reducer), + m_result_ptr); + return; + } + + m_team_begin = + UseShflReduction + ? 0 + : hip_single_inter_block_reduce_scan_shmem(arg_functor, + m_team_size); + m_shmem_begin = sizeof(double) * (m_team_size + 2); + m_shmem_size = + m_policy.scratch_size(0, m_team_size) + + FunctorTeamShmemSize::value(arg_functor, m_team_size); + m_scratch_size[0] = m_shmem_size; + m_scratch_size[1] = m_policy.scratch_size(1, m_team_size); + m_scratch_ptr[1] = + m_team_size <= 0 ? nullptr + : Kokkos::Experimental::Impl::hip_resize_scratch_space( + static_cast(m_scratch_size[1]) * + static_cast( + Kokkos::Experimental::HIP::concurrency() / + (m_team_size * m_vector_size))); + + // The global parallel_reduce does not support vector_length other than 1 at + // the moment + if ((arg_policy.vector_length() > 1) && !UseShflReduction) + Impl::throw_runtime_exception( + "Kokkos::parallel_reduce with a TeamPolicy using a vector length of " + "greater than 1 is not currently supported for HIP for dynamic " + "sized reduction types."); + + if ((m_team_size < Kokkos::Experimental::Impl::HIPTraits::WarpSize) && + !UseShflReduction) + Impl::throw_runtime_exception( + "Kokkos::parallel_reduce with a TeamPolicy using a team_size smaller " + "than 64 is not currently supported with HIP for dynamic sized " + "reduction types."); + + // Functor's reduce memory, team scan memory, and team shared memory depend + // upon team size. + + const int shmem_size_total = m_team_begin + m_shmem_begin + m_shmem_size; + + if ((!Kokkos::Impl::is_integral_power_of_two(m_team_size) && + !UseShflReduction) || + m_policy.space().impl_internal_space_instance()->m_maxShmemPerBlock < + shmem_size_total) { + Kokkos::Impl::throw_runtime_exception( + std::string("Kokkos::Impl::ParallelReduce< HIP > bad team size")); + } + if (static_cast(m_team_size) > + arg_policy.team_size_max(m_functor, m_reducer, ParallelReduceTag())) { + Kokkos::Impl::throw_runtime_exception( + std::string("Kokkos::Impl::ParallelReduce< HIP > requested too " + "large team size.")); + } + } +}; } // namespace Impl } // namespace Kokkos diff --git a/lib/kokkos/core/src/HIP/Kokkos_HIP_ReduceScan.hpp b/lib/kokkos/core/src/HIP/Kokkos_HIP_ReduceScan.hpp index 362128c41195d450070fb7a13610d2436c11aed7..98dab9a0fbca41de38234fab4173cd4d4f763699 100644 --- a/lib/kokkos/core/src/HIP/Kokkos_HIP_ReduceScan.hpp +++ b/lib/kokkos/core/src/HIP/Kokkos_HIP_ReduceScan.hpp @@ -49,13 +49,138 @@ #if defined(__HIPCC__) +#include + namespace Kokkos { namespace Impl { -template + +//---------------------------------------------------------------------------- +// Reduction-only implementation +//---------------------------------------------------------------------------- + +template struct HIPReductionsFunctor; template -struct HIPReductionsFunctor { +struct HIPReductionsFunctor { + using ValueTraits = FunctorValueTraits; + using ValueJoin = FunctorValueJoin; + using ValueInit = FunctorValueInit; + using ValueOps = FunctorValueOps; + using pointer_type = typename ValueTraits::pointer_type; + using Scalar = typename ValueTraits::value_type; + + __device__ static inline void scalar_intra_warp_reduction( + FunctorType const& functor, + Scalar value, // Contribution + bool const skip_vector, // Skip threads if Kokkos vector lanes are not + // part of the reduction + int const width, // How much of the warp participates + Scalar& result) { + for (int delta = skip_vector ? blockDim.x : 1; delta < width; delta *= 2) { + Scalar tmp = Kokkos::Experimental::shfl_down(value, delta, width); + ValueJoin::join(functor, &value, &tmp); + } + + Experimental::Impl::in_place_shfl(result, value, 0, width); + } + + __device__ static inline void scalar_intra_block_reduction( + FunctorType const& functor, Scalar value, bool const skip, + Scalar* my_global_team_buffer_element, int const shared_elements, + Scalar* shared_team_buffer_element) { + unsigned int constexpr warp_size = + Kokkos::Experimental::Impl::HIPTraits::WarpSize; + int const warp_id = (threadIdx.y * blockDim.x) / warp_size; + Scalar* const my_shared_team_buffer_element = + shared_team_buffer_element + warp_id % shared_elements; + + // Warp Level Reduction, ignoring Kokkos vector entries + scalar_intra_warp_reduction(functor, value, skip, warp_size, value); + + if (warp_id < shared_elements) { + *my_shared_team_buffer_element = value; + } + // Wait for every warp to be done before using one warp to do the final + // cross warp reduction + __syncthreads(); + + int const num_warps = blockDim.x * blockDim.y / warp_size; + for (int w = shared_elements; w < num_warps; w += shared_elements) { + if (warp_id >= w && warp_id < w + shared_elements) { + if ((threadIdx.y * blockDim.x + threadIdx.x) % warp_size == 0) + ValueJoin::join(functor, my_shared_team_buffer_element, &value); + } + __syncthreads(); + } + + if (warp_id == 0) { + ValueInit::init(functor, &value); + for (unsigned int i = threadIdx.y * blockDim.x + threadIdx.x; + i < blockDim.y * blockDim.x / warp_size; i += warp_size) { + ValueJoin::join(functor, &value, &shared_team_buffer_element[i]); + } + scalar_intra_warp_reduction(functor, value, false, warp_size, + *my_global_team_buffer_element); + } + } + + __device__ static inline bool scalar_inter_block_reduction( + FunctorType const& functor, + ::Kokkos::Experimental::HIP::size_type const block_count, + ::Kokkos::Experimental::HIP::size_type* const shared_data, + ::Kokkos::Experimental::HIP::size_type* const global_data, + ::Kokkos::Experimental::HIP::size_type* const global_flags) { + Scalar* const global_team_buffer_element = + reinterpret_cast(global_data); + Scalar* const my_global_team_buffer_element = + global_team_buffer_element + blockIdx.x; + Scalar* shared_team_buffer_elements = + reinterpret_cast(shared_data); + Scalar value = shared_team_buffer_elements[threadIdx.y]; + unsigned int constexpr warp_size = + Kokkos::Experimental::Impl::HIPTraits::WarpSize; + int shared_elements = blockDim.x * blockDim.y / warp_size; + int global_elements = block_count; + __syncthreads(); + + scalar_intra_block_reduction(functor, value, true, + my_global_team_buffer_element, shared_elements, + shared_team_buffer_elements); + __threadfence(); + __syncthreads(); + + // Use the last block that is done to do the do the reduction across the + // block + __shared__ unsigned int num_teams_done; + if (threadIdx.x + threadIdx.y == 0) { + __threadfence(); + num_teams_done = Kokkos::atomic_fetch_add(global_flags, 1) + 1; + } + bool is_last_block = false; + // FIXME_HIP HIP does not support syncthreads_or. That's why we need to make + // num_teams_done __shared__ + // if (__syncthreads_or(num_teams_done == gridDim.x)) {*/ + __syncthreads(); + if (num_teams_done == gridDim.x) { + is_last_block = true; + *global_flags = 0; + ValueInit::init(functor, &value); + for (int i = threadIdx.y * blockDim.x + threadIdx.x; i < global_elements; + i += blockDim.x * blockDim.y) { + ValueJoin::join(functor, &value, &global_team_buffer_element[i]); + } + scalar_intra_block_reduction( + functor, value, false, shared_team_buffer_elements + blockDim.y - 1, + shared_elements, shared_team_buffer_elements); + } + + return is_last_block; + } +}; + +template +struct HIPReductionsFunctor { using ValueTraits = FunctorValueTraits; using ValueJoin = FunctorValueJoin; using ValueInit = FunctorValueInit; @@ -70,10 +195,9 @@ struct HIPReductionsFunctor { // part of the reduction int const width) // How much of the warp participates { - int const lane_id = (hipThreadIdx_y * hipBlockDim_x + hipThreadIdx_x) % + int const lane_id = (threadIdx.y * blockDim.x + threadIdx.x) % ::Kokkos::Experimental::Impl::HIPTraits::WarpSize; - for (int delta = skip_vector ? hipBlockDim_x : 1; delta < width; - delta *= 2) { + for (int delta = skip_vector ? blockDim.x : 1; delta < width; delta *= 2) { if (lane_id + delta < ::Kokkos::Experimental::Impl::HIPTraits::WarpSize) { ValueJoin::join(functor, value, value + delta); } @@ -84,11 +208,10 @@ struct HIPReductionsFunctor { __device__ static inline void scalar_intra_block_reduction( FunctorType const& functor, Scalar value, bool const skip, Scalar* result, int const /*shared_elements*/, Scalar* shared_team_buffer_element) { - int const warp_id = (hipThreadIdx_y * hipBlockDim_x) / + int const warp_id = (threadIdx.y * blockDim.x) / ::Kokkos::Experimental::Impl::HIPTraits::WarpSize; Scalar* const my_shared_team_buffer_element = - shared_team_buffer_element + hipThreadIdx_y * hipBlockDim_x + - hipThreadIdx_x; + shared_team_buffer_element + threadIdx.y * blockDim.x + threadIdx.x; *my_shared_team_buffer_element = value; // Warp Level Reduction, ignoring Kokkos vector entries scalar_intra_warp_reduction( @@ -100,22 +223,20 @@ struct HIPReductionsFunctor { if (warp_id == 0) { const unsigned int delta = - (hipThreadIdx_y * hipBlockDim_x + hipThreadIdx_x) * + (threadIdx.y * blockDim.x + threadIdx.x) * ::Kokkos::Experimental::Impl::HIPTraits::WarpSize; - if (delta < hipBlockDim_x * hipBlockDim_y) + if (delta < blockDim.x * blockDim.y) *my_shared_team_buffer_element = shared_team_buffer_element[delta]; scalar_intra_warp_reduction( functor, my_shared_team_buffer_element, false, - hipBlockDim_x * hipBlockDim_y / + blockDim.x * blockDim.y / ::Kokkos::Experimental::Impl::HIPTraits::WarpSize); - if (hipThreadIdx_x + hipThreadIdx_y == 0) - *result = *shared_team_buffer_element; + if (threadIdx.x + threadIdx.y == 0) *result = *shared_team_buffer_element; } } __device__ static inline bool scalar_inter_block_reduction( FunctorType const& functor, - ::Kokkos::Experimental::HIP::size_type const /*block_id*/, ::Kokkos::Experimental::HIP::size_type const block_count, ::Kokkos::Experimental::HIP::size_type* const shared_data, ::Kokkos::Experimental::HIP::size_type* const global_data, @@ -123,11 +244,11 @@ struct HIPReductionsFunctor { Scalar* const global_team_buffer_element = reinterpret_cast(global_data); Scalar* const my_global_team_buffer_element = - global_team_buffer_element + hipBlockIdx_x; + global_team_buffer_element + blockIdx.x; Scalar* shared_team_buffer_elements = reinterpret_cast(shared_data); - Scalar value = shared_team_buffer_elements[hipThreadIdx_y]; - int shared_elements = (hipBlockDim_x * hipBlockDim_y) / + Scalar value = shared_team_buffer_elements[threadIdx.y]; + int shared_elements = (blockDim.x * blockDim.y) / ::Kokkos::Experimental::Impl::HIPTraits::WarpSize; int global_elements = block_count; __syncthreads(); @@ -141,39 +262,40 @@ struct HIPReductionsFunctor { // Use the last block that is done to do the do the reduction across the // block __shared__ unsigned int num_teams_done; - if (hipThreadIdx_x + hipThreadIdx_y == 0) { + if (threadIdx.x + threadIdx.y == 0) { __threadfence(); num_teams_done = Kokkos::atomic_fetch_add(global_flags, 1) + 1; } bool is_last_block = false; // FIXME_HIP HIP does not support syncthreads_or. That's why we need to make // num_teams_done __shared__ - // if (__syncthreads_or(num_teams_done == hipGridDim_x)) {*/ + // if (__syncthreads_or(num_teams_done == gridDim.x)) {*/ __syncthreads(); - if (num_teams_done == hipGridDim_x) { + if (num_teams_done == gridDim.x) { is_last_block = true; *global_flags = 0; ValueInit::init(functor, &value); - for (int i = hipThreadIdx_y * hipBlockDim_x + hipThreadIdx_x; - i < global_elements; i += hipBlockDim_x * hipBlockDim_y) { + for (int i = threadIdx.y * blockDim.x + threadIdx.x; i < global_elements; + i += blockDim.x * blockDim.y) { ValueJoin::join(functor, &value, &global_team_buffer_element[i]); } scalar_intra_block_reduction( - functor, value, false, - shared_team_buffer_elements + (hipBlockDim_y - 1), shared_elements, - shared_team_buffer_elements); + functor, value, false, shared_team_buffer_elements + (blockDim.y - 1), + shared_elements, shared_team_buffer_elements); } return is_last_block; } }; +//---------------------------------------------------------------------------- +// Fused reduction and scan implementation //---------------------------------------------------------------------------- /* * Algorithmic constraints: - * (a) hipBlockDim_y is a power of two - * (b) hipBlockDim_y <= 1024 - * (c) hipBlockDim_x == hipBlockDim_z == 1 + * (a) blockDim.y is a power of two + * (b) blockDim.y <= 1024 + * (c) blockDim.x == blockDim.z == 1 */ template @@ -187,14 +309,14 @@ __device__ void hip_intra_block_reduce_scan( using pointer_type = typename ValueTraits::pointer_type; unsigned int const value_count = ValueTraits::value_count(functor); - unsigned int const BlockSizeMask = hipBlockDim_y - 1; + unsigned int const BlockSizeMask = blockDim.y - 1; int const WarpMask = Experimental::Impl::HIPTraits::WarpSize - 1; // Must have power of two thread count - if ((hipBlockDim_y - 1) & hipBlockDim_y) { + if ((blockDim.y - 1) & blockDim.y) { Kokkos::abort( "HIP::hip_intra_block_reduce_scan requires power-of-two " - "hipBlockDim_y\n"); + "blockDim.y\n"); } auto block_reduce_step = @@ -205,8 +327,8 @@ __device__ void hip_intra_block_reduce_scan( }; { // Intra-warp reduction: - const unsigned rtid_intra = hipThreadIdx_y & WarpMask; - const pointer_type tdata_intra = base_data + value_count * hipThreadIdx_y; + const unsigned rtid_intra = threadIdx.y & WarpMask; + const pointer_type tdata_intra = base_data + value_count * threadIdx.y; block_reduce_step(rtid_intra, tdata_intra, 0); block_reduce_step(rtid_intra, tdata_intra, 1); @@ -220,11 +342,10 @@ __device__ void hip_intra_block_reduce_scan( { // Inter-warp reduce-scan by a single warp to avoid extra synchronizations unsigned int const rtid_inter = - ((hipThreadIdx_y + 1) - << Experimental::Impl::HIPTraits::WarpIndexShift) - + ((threadIdx.y + 1) << Experimental::Impl::HIPTraits::WarpIndexShift) - 1; - if (rtid_inter < hipBlockDim_y) { + if (rtid_inter < blockDim.y) { pointer_type const tdata_inter = base_data + value_count * rtid_inter; if ((1 << 6) < BlockSizeMask) { @@ -250,12 +371,11 @@ __device__ void hip_intra_block_reduce_scan( if (DoScan) { // Update all the values for the respective warps (except for the last one) // by adding from the last value of the previous warp. - if (hipThreadIdx_y >= Experimental::Impl::HIPTraits::WarpSize && - (hipThreadIdx_y & WarpMask) != + if (threadIdx.y >= Experimental::Impl::HIPTraits::WarpSize && + (threadIdx.y & WarpMask) != Experimental::Impl::HIPTraits::WarpSize - 1) { - const int offset_to_previous_warp_total = - (hipThreadIdx_y & (~WarpMask)) - 1; - ValueJoin::join(functor, base_data + value_count * hipThreadIdx_y, + const int offset_to_previous_warp_total = (threadIdx.y & (~WarpMask)) - 1; + ValueJoin::join(functor, base_data + value_count * threadIdx.y, base_data + value_count * offset_to_previous_warp_total); } } @@ -271,7 +391,7 @@ __device__ void hip_intra_block_reduce_scan( */ template -__device__ bool hip_single_inter_block_reduce_scan2( +__device__ bool hip_single_inter_block_reduce_scan_impl( FunctorType const& functor, ::Kokkos::Experimental::HIP::size_type const block_id, ::Kokkos::Experimental::HIP::size_type const block_count, @@ -287,13 +407,13 @@ __device__ bool hip_single_inter_block_reduce_scan2( using pointer_type = typename ValueTraits::pointer_type; // '__ffs' = position of the least significant bit set to 1. - // 'hipBlockDim_y' is guaranteed to be a power of two so this + // 'blockDim.y' is guaranteed to be a power of two so this // is the integral shift value that can replace an integral divide. - unsigned int const BlockSizeShift = __ffs(hipBlockDim_y) - 1; - unsigned int const BlockSizeMask = hipBlockDim_y - 1; + unsigned int const BlockSizeShift = __ffs(blockDim.y) - 1; + unsigned int const BlockSizeMask = blockDim.y - 1; // Must have power of two thread count - if (BlockSizeMask & hipBlockDim_y) { + if (BlockSizeMask & blockDim.y) { Kokkos::abort( "HIP::hip_single_inter_block_reduce_scan requires power-of-two " "blockDim"); @@ -313,7 +433,7 @@ __device__ bool hip_single_inter_block_reduce_scan2( size_type* const shared = shared_data + word_count.value * BlockSizeMask; size_type* const global = global_data + word_count.value * block_id; - for (size_t i = hipThreadIdx_y; i < word_count.value; i += hipBlockDim_y) { + for (size_t i = threadIdx.y; i < word_count.value; i += blockDim.y) { global[i] = shared[i]; } } @@ -329,7 +449,7 @@ __device__ bool hip_single_inter_block_reduce_scan2( __shared__ int n_done; n_done = 0; __syncthreads(); - if (hipThreadIdx_y == 0) { + if (threadIdx.y == 0) { __threadfence(); n_done = 1 + atomicInc(global_flags, block_count - 1); } @@ -338,14 +458,14 @@ __device__ bool hip_single_inter_block_reduce_scan2( if (is_last_block) { size_type const b = (static_cast(block_count) * - static_cast(hipThreadIdx_y)) >> + static_cast(threadIdx.y)) >> BlockSizeShift; size_type const e = (static_cast(block_count) * - static_cast(hipThreadIdx_y + 1)) >> + static_cast(threadIdx.y + 1)) >> BlockSizeShift; { - void* const shared_ptr = shared_data + word_count.value * hipThreadIdx_y; + void* const shared_ptr = shared_data + word_count.value * threadIdx.y; /* reference_type shared_value = */ ValueInit::init(functor, shared_ptr); for (size_type i = b; i < e; ++i) { @@ -359,10 +479,10 @@ __device__ bool hip_single_inter_block_reduce_scan2( if (DoScan) { size_type* const shared_value = - shared_data + word_count.value * (hipThreadIdx_y ? hipThreadIdx_y - 1 - : hipBlockDim_y); + shared_data + + word_count.value * (threadIdx.y ? threadIdx.y - 1 : blockDim.y); - if (!hipThreadIdx_y) { + if (!threadIdx.y) { ValueInit::init(functor, shared_value); } @@ -387,19 +507,18 @@ __device__ bool hip_single_inter_block_reduce_scan( ::Kokkos::Experimental::HIP::size_type* const global_data, ::Kokkos::Experimental::HIP::size_type* const global_flags) { using ValueTraits = FunctorValueTraits; - if (!DoScan && /*FIXME*/ (bool)ValueTraits::StaticValueSize) - // FIXME_HIP For now we don't use shuffle - // return Kokkos::Impl::HIPReductionsFunctor< - // FunctorType, ArgTag, false, (ValueTraits::StaticValueSize > 16)>:: - // scalar_inter_block_reduction(functor, block_id, block_count, - // shared_data, global_data, global_flags); + // If we are doing a reduction and StaticValueSize is true, we use the + // reduction-only path. Otherwise, we use the common path between reduction + // and scan. + if (!DoScan && static_cast(ValueTraits::StaticValueSize)) + // FIXME_HIP_PERFORMANCE I don't know where 16 comes from. This inequality + // determines if we use shared memory (false) or shuffle (true) return Kokkos::Impl::HIPReductionsFunctor< - FunctorType, ArgTag, false, - false>::scalar_inter_block_reduction(functor, block_id, block_count, - shared_data, global_data, - global_flags); + FunctorType, ArgTag, (ValueTraits::StaticValueSize > 16)>:: + scalar_inter_block_reduction(functor, block_count, shared_data, + global_data, global_flags); else { - return hip_single_inter_block_reduce_scan2( + return hip_single_inter_block_reduce_scan_impl( functor, block_id, block_count, shared_data, global_data, global_flags); } } diff --git a/lib/kokkos/core/src/HIP/Kokkos_HIP_Shuffle_Reduce.hpp b/lib/kokkos/core/src/HIP/Kokkos_HIP_Shuffle_Reduce.hpp new file mode 100644 index 0000000000000000000000000000000000000000..cdf9cac30d3b9a03e96322202a34bfd5f5a6a25a --- /dev/null +++ b/lib/kokkos/core/src/HIP/Kokkos_HIP_Shuffle_Reduce.hpp @@ -0,0 +1,345 @@ +/* +//@HEADER +// ************************************************************************ +// +// Kokkos v. 3.0 +// Copyright (2020) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). +// +// Under the terms of Contract DE-NA0003525 with NTESS, +// the U.S. Government retains certain rights in this software. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// +// 3. Neither the name of the Corporation nor the names of the +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY +// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE +// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// +// Questions? Contact Christian R. Trott (crtrott@sandia.gov) +// +// ************************************************************************ +//@HEADER +*/ + +#ifndef KOKKOS_HIP_SHUFFLE_REDUCE_HPP +#define KOKKOS_HIP_SHUFFLE_REDUCE_HPP + +#include + +#if defined(__HIPCC__) + +#include + +#include + +namespace Kokkos { +namespace Impl { + +/* Algorithmic constraints: + * (a) threads with the same threadIdx.x have same value + * (b) blockDim.x == power of two + * (x) blockDim.z == 1 + */ +template ::value, + int>::type = 0> +__device__ inline void hip_intra_warp_shuffle_reduction( + ValueType& result, JoinOp const& join, + uint32_t const max_active_thread = blockDim.y) { + unsigned int shift = 1; + + // Reduce over values from threads with different threadIdx.y + unsigned int constexpr warp_size = + Kokkos::Experimental::Impl::HIPTraits::WarpSize; + while (blockDim.x * shift < warp_size) { + ValueType const tmp = + Kokkos::Experimental::shfl_down(result, blockDim.x * shift, warp_size); + // Only join if upper thread is active (this allows non power of two for + // blockDim.y) + if (threadIdx.y + shift < max_active_thread) { + join(result, tmp); + } + shift *= 2; + // Not sure why there is a race condition here but we need to wait for the + // join operation to be finished to perform the next shuffle. Note that the + // problem was also found in the CUDA backend with CUDA clang + // (https://github.com/kokkos/kokkos/issues/941) + __syncthreads(); + } + + // Broadcast the result to all the threads in the warp + result = Kokkos::Experimental::shfl(result, 0, warp_size); +} + +template ::value, + int>::type = 0> +__device__ inline void hip_inter_warp_shuffle_reduction( + ValueType& value, const JoinOp& join, + const int max_active_thread = blockDim.y) { + unsigned int constexpr warp_size = + Kokkos::Experimental::Impl::HIPTraits::WarpSize; + int constexpr step_width = 8; + // Depending on the ValueType __shared__ memory must be aligned up to 8 byte + // boundaries. The reason not to use ValueType directly is that for types with + // constructors it could lead to race conditions. + __shared__ double sh_result[(sizeof(ValueType) + 7) / 8 * step_width]; + ValueType* result = reinterpret_cast(&sh_result); + int const step = warp_size / blockDim.x; + int shift = step_width; + // Skip the code below if threadIdx.y % step != 0 + int const id = threadIdx.y % step == 0 ? threadIdx.y / step : INT_MAX; + if (id < step_width) { + result[id] = value; + } + __syncthreads(); + while (shift <= max_active_thread / step) { + if (shift <= id && shift + step_width > id && threadIdx.x == 0) { + join(result[id % step_width], value); + } + __syncthreads(); + shift += step_width; + } + + value = result[0]; + for (int i = 1; (i * step < max_active_thread) && (i < step_width); ++i) + join(value, result[i]); +} + +template ::value, + int>::type = 0> +__device__ inline void hip_intra_block_shuffle_reduction( + ValueType& value, JoinOp const& join, + int const max_active_thread = blockDim.y) { + hip_intra_warp_shuffle_reduction(value, join, max_active_thread); + hip_inter_warp_shuffle_reduction(value, join, max_active_thread); +} + +template +__device__ inline bool hip_inter_block_shuffle_reduction( + typename FunctorValueTraits::reference_type value, + typename FunctorValueTraits::reference_type neutral, + JoinOp const& join, + Kokkos::Experimental::HIP::size_type* const m_scratch_space, + typename FunctorValueTraits::pointer_type const /*result*/, + Kokkos::Experimental::HIP::size_type* const m_scratch_flags, + int const max_active_thread = blockDim.y) { + using pointer_type = + typename FunctorValueTraits::pointer_type; + using value_type = + typename FunctorValueTraits::value_type; + + // Do the intra-block reduction with shfl operations for the intra warp + // reduction and static shared memory for the inter warp reduction + hip_intra_block_shuffle_reduction(value, join, max_active_thread); + + int const id = threadIdx.y * blockDim.x + threadIdx.x; + + // One thread in the block writes block result to global scratch_memory + if (id == 0) { + pointer_type global = + reinterpret_cast(m_scratch_space) + blockIdx.x; + *global = value; + } + + // One warp of last block performs inter block reduction through loading the + // block values from global scratch_memory + bool last_block = false; + __threadfence(); + __syncthreads(); + int constexpr warp_size = Kokkos::Experimental::Impl::HIPTraits::WarpSize; + if (id < warp_size) { + Kokkos::Experimental::HIP::size_type count; + + // Figure out whether this is the last block + if (id == 0) count = Kokkos::atomic_fetch_add(m_scratch_flags, 1); + count = Kokkos::Experimental::shfl(count, 0, warp_size); + + // Last block does the inter block reduction + if (count == gridDim.x - 1) { + // set flag back to zero + if (id == 0) *m_scratch_flags = 0; + last_block = true; + value = neutral; + + pointer_type const volatile global = + reinterpret_cast(m_scratch_space); + + // Reduce all global values with splitting work over threads in one warp + const int step_size = blockDim.x * blockDim.y < warp_size + ? blockDim.x * blockDim.y + : warp_size; + for (int i = id; i < static_cast(gridDim.x); i += step_size) { + value_type tmp = global[i]; + join(value, tmp); + } + + // Perform shfl reductions within the warp only join if contribution is + // valid (allows gridDim.x non power of two and i) { + value_type tmp = Kokkos::Experimental::shfl_down(value, i, warp_size); + if (id + i < gridDim.x) join(value, tmp); + } + __syncthreads(); + } + } + } + // The last block has in its thread=0 the global reduction value through + // "value" + return last_block; +} + +// We implemente the same functions as above but the user provide a Reducer +// instead of JoinOP +template ::value, + int>::type = 0> +__device__ inline void hip_intra_warp_shuffle_reduction( + const ReducerType& reducer, typename ReducerType::value_type& result, + const uint32_t max_active_thread = blockDim.y) { + using ValueType = typename ReducerType::value_type; + auto join_op = [&](ValueType& result, ValueType const& tmp) { + reducer.join(result, tmp); + }; + hip_intra_warp_shuffle_reduction(result, join_op, max_active_thread); + + reducer.reference() = result; +} + +template ::value, + int>::type = 0> +__device__ inline void hip_inter_warp_shuffle_reduction( + ReducerType const& reducer, typename ReducerType::value_type value, + int const max_active_thread = blockDim.y) { + using ValueType = typename ReducerType::value_type; + auto join_op = [&](ValueType& a, ValueType& b) { reducer.join(a, b); }; + hip_inter_warp_shuffle_reduction(value, join_op, max_active_thread); + + reducer.reference() = value; +} + +template ::value, + int>::type = 0> +__device__ inline void hip_intra_block_shuffle_reduction( + ReducerType const& reducer, typename ReducerType::value_type value, + int const max_active_thread = blockDim.y) { + hip_intra_warp_shuffle_reduction(reducer, value, max_active_thread); + hip_inter_warp_shuffle_reduction(reducer, value, max_active_thread); +} + +template ::value, + int>::type = 0> +__device__ inline void hip_intra_block_shuffle_reduction( + ReducerType const& reducer, int const max_active_thread = blockDim.y) { + hip_intra_block_shuffle_reduction(reducer, reducer.reference(), + max_active_thread); +} + +template ::value, + int>::type = 0> +__device__ inline bool hip_inter_block_shuffle_reduction( + ReducerType const& reducer, + Kokkos::Experimental::HIP::size_type* const m_scratch_space, + Kokkos::Experimental::HIP::size_type* const m_scratch_flags, + int const max_active_thread = blockDim.y) { + using pointer_type = typename ReducerType::value_type*; + using value_type = typename ReducerType::value_type; + + // Do the intra-block reduction with shfl operations for the intra warp + // reduction and static shared memory for the inter warp reduction + hip_intra_block_shuffle_reduction(reducer, max_active_thread); + + value_type value = reducer.reference(); + + int const id = threadIdx.y * blockDim.x + threadIdx.x; + + // One thread in the block writes block result to global scratch_memory + if (id == 0) { + pointer_type global = + reinterpret_cast(m_scratch_space) + blockIdx.x; + *global = value; + } + + // One warp of last block performs inter block reduction through loading the + // block values from global scratch_memory + bool last_block = false; + + __threadfence(); + __syncthreads(); + int constexpr warp_size = Kokkos::Experimental::Impl::HIPTraits::WarpSize; + if (id < warp_size) { + Kokkos::Experimental::HIP::size_type count; + + // Figure out whether this is the last block + if (id == 0) count = Kokkos::atomic_fetch_add(m_scratch_flags, 1); + count = Kokkos::Experimental::shfl(count, 0, warp_size); + + // Last block does the inter block reduction + if (count == gridDim.x - 1) { + // Set flag back to zero + if (id == 0) *m_scratch_flags = 0; + last_block = true; + reducer.init(value); + + pointer_type const volatile global = + reinterpret_cast(m_scratch_space); + + // Reduce all global values with splitting work over threads in one warp + int const step_size = blockDim.x * blockDim.y < warp_size + ? blockDim.x * blockDim.y + : warp_size; + for (int i = id; i < static_cast(gridDim.x); i += step_size) { + value_type tmp = global[i]; + reducer.join(value, tmp); + } + + // Perform shfl reductions within the warp only join if contribution is + // valid (allows gridDim.x non power of two and i) { + value_type tmp = Kokkos::Experimental::shfl_down(value, i, warp_size); + if (id + i < gridDim.x) reducer.join(value, tmp); + } + __syncthreads(); + } + } + } + + // The last block has in its thread = 0 the global reduction value through + // "value" + return last_block; +} +} // namespace Impl +} // namespace Kokkos + +#endif + +#endif diff --git a/lib/kokkos/core/src/HIP/Kokkos_HIP_Space.cpp b/lib/kokkos/core/src/HIP/Kokkos_HIP_Space.cpp index 2dca7f13c956c135b87e53b39bedad52caab6ca0..a97fb2f7cc406819c4d7f0478e5917eef85001f1 100644 --- a/lib/kokkos/core/src/HIP/Kokkos_HIP_Space.cpp +++ b/lib/kokkos/core/src/HIP/Kokkos_HIP_Space.cpp @@ -92,25 +92,25 @@ DeepCopy::DeepCopy(const Kokkos::Experimental::HIP& - /*instance*/, + instance, void* dst, const void* src, size_t n) { - // FIXME_HIP use instance - HIP_SAFE_CALL(hipMemcpy(dst, src, n, hipMemcpyDefault)); + HIP_SAFE_CALL( + hipMemcpyAsync(dst, src, n, hipMemcpyDefault, instance.hip_stream())); } DeepCopy:: - DeepCopy(const Kokkos::Experimental::HIP& /*instance*/, void* dst, + DeepCopy(const Kokkos::Experimental::HIP& instance, void* dst, const void* src, size_t n) { - // FIXME_HIP use instance - HIP_SAFE_CALL(hipMemcpy(dst, src, n, hipMemcpyDefault)); + HIP_SAFE_CALL( + hipMemcpyAsync(dst, src, n, hipMemcpyDefault, instance.hip_stream())); } DeepCopy:: - DeepCopy(const Kokkos::Experimental::HIP& /*instance*/, void* dst, + DeepCopy(const Kokkos::Experimental::HIP& instance, void* dst, const void* src, size_t n) { - // FIXME_HIP use instance - HIP_SAFE_CALL(hipMemcpy(dst, src, n, hipMemcpyDefault)); + HIP_SAFE_CALL( + hipMemcpyAsync(dst, src, n, hipMemcpyDefault, instance.hip_stream())); } DeepCopy:: - DeepCopy(const Kokkos::Experimental::HIP& /*instance*/, void* dst, + DeepCopy(const Kokkos::Experimental::HIP& instance, void* dst, const void* src, size_t n) { - // FIXME_HIP use instance - HIP_SAFE_CALL(hipMemcpy(dst, src, n, hipMemcpyDefault)); + HIP_SAFE_CALL( + hipMemcpyAsync(dst, src, n, hipMemcpyDefault, instance.hip_stream())); } DeepCopy::DeepCopy(const Kokkos::Experimental::HIP& - /*instance*/, + instance, void* dst, const void* src, size_t n) { - // FIXME_HIP use instance - HIP_SAFE_CALL(hipMemcpy(dst, src, n, hipMemcpyDefault)); + HIP_SAFE_CALL( + hipMemcpyAsync(dst, src, n, hipMemcpyDefault, instance.hip_stream())); } DeepCopy::DeepCopy(const Kokkos::Experimental::HIP& - /*instance*/, + instance, void* dst, const void* src, size_t n) { - // FIXME_HIP use instance - HIP_SAFE_CALL(hipMemcpy(dst, src, n, hipMemcpyDefault)); + HIP_SAFE_CALL( + hipMemcpyAsync(dst, src, n, hipMemcpyDefault, instance.hip_stream())); } void DeepCopyAsyncHIP(void* dst, void const* src, size_t n) { @@ -199,6 +199,12 @@ HIPSpace::HIPSpace() : m_device(HIP().hip_device()) {} HIPHostPinnedSpace::HIPHostPinnedSpace() {} void* HIPSpace::allocate(const size_t arg_alloc_size) const { + return allocate("[unlabeled]", arg_alloc_size); +} +void* HIPSpace::allocate( + + const char* arg_label, const size_t arg_alloc_size, + const size_t arg_logical_size) const { void* ptr = nullptr; auto const error_code = hipMalloc(&ptr, arg_alloc_size); @@ -210,11 +216,23 @@ void* HIPSpace::allocate(const size_t arg_alloc_size) const { arg_alloc_size, error_code, RawMemoryAllocationFailure::AllocationMechanism::HIPMalloc); } + if (Kokkos::Profiling::profileLibraryLoaded()) { + const size_t reported_size = + (arg_logical_size > 0) ? arg_logical_size : arg_alloc_size; + Kokkos::Profiling::allocateData( + Kokkos::Profiling::make_space_handle(name()), arg_label, ptr, + reported_size); + } return ptr; } void* HIPHostPinnedSpace::allocate(const size_t arg_alloc_size) const { + return allocate("[unlabeled]", arg_alloc_size); +} +void* HIPHostPinnedSpace::allocate(const char* arg_label, + const size_t arg_alloc_size, + const size_t arg_logical_size) const { void* ptr = nullptr; auto const error_code = hipHostMalloc(&ptr, arg_alloc_size); @@ -226,17 +244,49 @@ void* HIPHostPinnedSpace::allocate(const size_t arg_alloc_size) const { arg_alloc_size, error_code, RawMemoryAllocationFailure::AllocationMechanism::HIPHostMalloc); } + if (Kokkos::Profiling::profileLibraryLoaded()) { + const size_t reported_size = + (arg_logical_size > 0) ? arg_logical_size : arg_alloc_size; + Kokkos::Profiling::allocateData( + Kokkos::Profiling::make_space_handle(name()), arg_label, ptr, + reported_size); + } return ptr; } - void HIPSpace::deallocate(void* const arg_alloc_ptr, - const size_t /* arg_alloc_size */) const { + const size_t arg_alloc_size) const { + deallocate("[unlabeled]", arg_alloc_ptr, arg_alloc_size); +} +void HIPSpace::deallocate(const char* arg_label, void* const arg_alloc_ptr, + const size_t arg_alloc_size, + const size_t arg_logical_size) const { + if (Kokkos::Profiling::profileLibraryLoaded()) { + const size_t reported_size = + (arg_logical_size > 0) ? arg_logical_size : arg_alloc_size; + Kokkos::Profiling::deallocateData( + Kokkos::Profiling::make_space_handle(name()), arg_label, arg_alloc_ptr, + reported_size); + } HIP_SAFE_CALL(hipFree(arg_alloc_ptr)); } void HIPHostPinnedSpace::deallocate(void* const arg_alloc_ptr, - const size_t /* arg_alloc_size */) const { + const size_t arg_alloc_size) const { + deallocate("[unlabeled]", arg_alloc_ptr, arg_alloc_size); +} + +void HIPHostPinnedSpace::deallocate(const char* arg_label, + void* const arg_alloc_ptr, + const size_t arg_alloc_size, + const size_t arg_logical_size) const { + if (Kokkos::Profiling::profileLibraryLoaded()) { + const size_t reported_size = + (arg_logical_size > 0) ? arg_logical_size : arg_alloc_size; + Kokkos::Profiling::deallocateData( + Kokkos::Profiling::make_space_handle(name()), arg_label, arg_alloc_ptr, + reported_size); + } HIP_SAFE_CALL(hipHostFree(arg_alloc_ptr)); } @@ -298,34 +348,22 @@ void SharedAllocationRecord:: SharedAllocationRecord::~SharedAllocationRecord() { -#if defined(KOKKOS_ENABLE_PROFILING) + const char* label = nullptr; if (Kokkos::Profiling::profileLibraryLoaded()) { SharedAllocationHeader header; Kokkos::Impl::DeepCopy( &header, RecordBase::m_alloc_ptr, sizeof(SharedAllocationHeader)); - - Kokkos::Profiling::deallocateData( - Kokkos::Profiling::SpaceHandle(Kokkos::Experimental::HIPSpace::name()), - header.m_label, data(), size()); + label = header.label(); } -#endif - - m_space.deallocate(SharedAllocationRecord::m_alloc_ptr, - SharedAllocationRecord::m_alloc_size); + auto alloc_size = SharedAllocationRecord::m_alloc_size; + m_space.deallocate(label, SharedAllocationRecord::m_alloc_ptr, + alloc_size, (alloc_size - sizeof(SharedAllocationHeader))); } SharedAllocationRecord::~SharedAllocationRecord() { -#if defined(KOKKOS_ENABLE_PROFILING) - if (Kokkos::Profiling::profileLibraryLoaded()) { - Kokkos::Profiling::deallocateData( - Kokkos::Profiling::SpaceHandle( - Kokkos::Experimental::HIPHostPinnedSpace::name()), - RecordBase::m_alloc_ptr->m_label, data(), size()); - } -#endif - - m_space.deallocate(SharedAllocationRecord::m_alloc_ptr, + m_space.deallocate(RecordBase::m_alloc_ptr->m_label, + SharedAllocationRecord::m_alloc_ptr, SharedAllocationRecord::m_alloc_size); } @@ -345,13 +383,6 @@ SharedAllocationRecord:: arg_alloc_size), sizeof(SharedAllocationHeader) + arg_alloc_size, arg_dealloc), m_space(arg_space) { -#if defined(KOKKOS_ENABLE_PROFILING) - if (Kokkos::Profiling::profileLibraryLoaded()) { - Kokkos::Profiling::allocateData( - Kokkos::Profiling::SpaceHandle(arg_space.name()), arg_label, data(), - arg_alloc_size); - } -#endif SharedAllocationHeader header; @@ -384,13 +415,6 @@ SharedAllocationRecord:: arg_alloc_size), sizeof(SharedAllocationHeader) + arg_alloc_size, arg_dealloc), m_space(arg_space) { -#if defined(KOKKOS_ENABLE_PROFILING) - if (Kokkos::Profiling::profileLibraryLoaded()) { - Kokkos::Profiling::allocateData( - Kokkos::Profiling::SpaceHandle(arg_space.name()), arg_label, data(), - arg_alloc_size); - } -#endif // Fill in the Header information, directly accessible via host pinned memory RecordBase::m_alloc_ptr->m_record = this; @@ -408,7 +432,7 @@ void* SharedAllocationRecord:: allocate_tracked(const Kokkos::Experimental::HIPSpace& arg_space, const std::string& arg_alloc_label, const size_t arg_alloc_size) { - if (!arg_alloc_size) return (void*)0; + if (!arg_alloc_size) return nullptr; SharedAllocationRecord* const r = allocate(arg_space, arg_alloc_label, arg_alloc_size); @@ -444,6 +468,46 @@ void* SharedAllocationRecord:: return r_new->data(); } +void* SharedAllocationRecord:: + allocate_tracked(const Kokkos::Experimental::HIPHostPinnedSpace& arg_space, + const std::string& arg_alloc_label, + const size_t arg_alloc_size) { + if (!arg_alloc_size) return nullptr; + + SharedAllocationRecord* const r = + allocate(arg_space, arg_alloc_label, arg_alloc_size); + + RecordBase::increment(r); + + return r->data(); +} + +void SharedAllocationRecord::deallocate_tracked(void* const + arg_alloc_ptr) { + if (arg_alloc_ptr) { + SharedAllocationRecord* const r = get_record(arg_alloc_ptr); + + RecordBase::decrement(r); + } +} + +void* SharedAllocationRecord:: + reallocate_tracked(void* const arg_alloc_ptr, const size_t arg_alloc_size) { + SharedAllocationRecord* const r_old = get_record(arg_alloc_ptr); + SharedAllocationRecord* const r_new = + allocate(r_old->m_space, r_old->get_label(), arg_alloc_size); + + using HIPHostPinnedSpace = Kokkos::Experimental::HIPHostPinnedSpace; + Kokkos::Impl::DeepCopy( + r_new->data(), r_old->data(), std::min(r_old->size(), r_new->size())); + + RecordBase::increment(r_new); + RecordBase::decrement(r_old); + + return r_new->data(); +} + //---------------------------------------------------------------------------- SharedAllocationRecord* @@ -476,6 +540,25 @@ SharedAllocationRecord::get_record( return record; } +SharedAllocationRecord* +SharedAllocationRecord::get_record(void* alloc_ptr) { + using Header = SharedAllocationHeader; + using RecordHIP = + SharedAllocationRecord; + + Header* const h = + alloc_ptr ? reinterpret_cast(alloc_ptr) - 1 : nullptr; + + if (!alloc_ptr || h->m_record->m_alloc_ptr != h) { + Kokkos::Impl::throw_runtime_exception(std::string( + "Kokkos::Impl::SharedAllocationRecord< " + "Kokkos::Experimental::HIPHostPinnedSpace , void >::get_record ERROR")); + } + + return static_cast(h->m_record); +} + // Iterate records to print orphaned memory ... void SharedAllocationRecord:: print_records(std::ostream& s, const Kokkos::Experimental::HIPSpace& space, @@ -586,13 +669,9 @@ void* hip_resize_scratch_space(size_t bytes, bool force_shrink) { namespace Kokkos { namespace Experimental { -// HIP::size_type HIP::detect_device_count() -//{ return Impl::HIPInternalDevices::singleton().m_hipDevCount ; } - int HIP::concurrency() { - // FIXME_HIP - // MI60: ThreadsPerComputeUnit*ComputeUnits/ShaderEngine*ShaderEngines) - return 2536 * 16 * 4; + auto const& prop = hip_device_prop(); + return prop.maxThreadsPerMultiProcessor * prop.multiProcessorCount; } int HIP::impl_is_initialized() { return Impl::HIPInternal::singleton().is_initialized(); @@ -600,36 +679,84 @@ int HIP::impl_is_initialized() { void HIP::impl_initialize(const HIP::SelectDevice config) { Impl::HIPInternal::singleton().initialize(config.hip_device_id); - -#if defined(KOKKOS_ENABLE_PROFILING) - Kokkos::Profiling::initialize(); -#endif } -void HIP::impl_finalize() { - Impl::HIPInternal::singleton().finalize(); +void HIP::impl_finalize() { Impl::HIPInternal::singleton().finalize(); } -#if defined(KOKKOS_ENABLE_PROFILING) - Kokkos::Profiling::finalize(); -#endif +HIP::HIP() + : m_space_instance(&Impl::HIPInternal::singleton()), m_counter(nullptr) { + Impl::HIPInternal::singleton().verify_is_initialized( + "HIP instance constructor"); } -HIP::HIP() : m_space_instance(&Impl::HIPInternal::singleton()) { +HIP::HIP(hipStream_t const stream) + : m_space_instance(new Impl::HIPInternal), m_counter(new int(1)) { Impl::HIPInternal::singleton().verify_is_initialized( "HIP instance constructor"); + m_space_instance->initialize(Impl::HIPInternal::singleton().m_hipDev, stream); +} + +KOKKOS_FUNCTION HIP::HIP(HIP&& other) noexcept { + m_space_instance = other.m_space_instance; + other.m_space_instance = nullptr; + m_counter = other.m_counter; + other.m_counter = nullptr; +} + +KOKKOS_FUNCTION HIP::HIP(HIP const& other) + : m_space_instance(other.m_space_instance), m_counter(other.m_counter) { +#ifndef KOKKOS_ACTIVE_EXECUTION_MEMORY_SPACE_HIP_GPU + if (m_counter) Kokkos::atomic_add(m_counter, 1); +#endif +} + +KOKKOS_FUNCTION HIP& HIP::operator=(HIP&& other) noexcept { + m_space_instance = other.m_space_instance; + other.m_space_instance = nullptr; + m_counter = other.m_counter; + other.m_counter = nullptr; + + return *this; } -// HIP::HIP( const int instance_id ) -// : m_device( Impl::HIPInternal::singleton().m_hipDev ) -//{} +KOKKOS_FUNCTION HIP& HIP::operator=(HIP const& other) { + m_space_instance = other.m_space_instance; + m_counter = other.m_counter; +#ifndef KOKKOS_ACTIVE_EXECUTION_MEMORY_SPACE_HIP_GPU + if (m_counter) Kokkos::atomic_add(m_counter, 1); +#endif + + return *this; +} + +KOKKOS_FUNCTION HIP::~HIP() noexcept { +#ifndef KOKKOS_ACTIVE_EXECUTION_MEMORY_SPACE_HIP_GPU + if (m_counter == nullptr) return; + int const count = Kokkos::atomic_fetch_sub(m_counter, 1); + if (count == 1) { + delete m_counter; + m_space_instance->finalize(); + delete m_space_instance; + } +#endif +} void HIP::print_configuration(std::ostream& s, const bool) { Impl::HIPInternal::singleton().print_configuration(s); } -void HIP::fence() const { HIP_SAFE_CALL(hipDeviceSynchronize()); } +void HIP::impl_static_fence() { HIP_SAFE_CALL(hipDeviceSynchronize()); } + +void HIP::fence() const { m_space_instance->fence(); } + +hipStream_t HIP::hip_stream() const { return m_space_instance->m_stream; } int HIP::hip_device() const { return impl_internal_space_instance()->m_hipDev; } + +hipDeviceProp_t const& HIP::hip_device_prop() { + return Impl::HIPInternal::singleton().m_deviceProp; +} + const char* HIP::name() { return "HIP"; } } // namespace Experimental diff --git a/lib/kokkos/core/src/HIP/Kokkos_HIP_Team.hpp b/lib/kokkos/core/src/HIP/Kokkos_HIP_Team.hpp index b3c4f4609b4f96ab37c07bf9e0359fe11b5981d2..577c392a0a0f1e939275102bcb33ba26ea45c23b 100644 --- a/lib/kokkos/core/src/HIP/Kokkos_HIP_Team.hpp +++ b/lib/kokkos/core/src/HIP/Kokkos_HIP_Team.hpp @@ -54,6 +54,7 @@ #include #include +#include #include #include @@ -65,7 +66,7 @@ namespace Impl { template struct HIPJoinFunctor { - typedef Type value_type; + using value_type = Type; KOKKOS_INLINE_FUNCTION static void join(volatile value_type& update, @@ -77,16 +78,16 @@ struct HIPJoinFunctor { /**\brief Team member_type passed to TeamPolicy or TeamTask closures. * * HIP thread blocks for team closures are dimensioned as: - * hipBlockDim_x == number of "vector lanes" per "thread" - * hipBlockDim_y == number of "threads" per team - * hipBlockDim_z == number of teams in a block + * blockDim.x == number of "vector lanes" per "thread" + * blockDim.y == number of "threads" per team + * blockDim.z == number of teams in a block * where * A set of teams exactly fill a warp OR a team is the whole block - * ( 0 == WarpSize % ( hipBlockDim_x * hipBlockDim_y ) ) + * ( 0 == WarpSize % ( blockDim.x * blockDim.y ) ) * OR - * ( 1 == hipBlockDim_z ) + * ( 1 == blockDim.z ) - * Thus when 1 < hipBlockDim_z the team is warp-synchronous + * Thus when 1 < blockDim.z the team is warp-synchronous * and __syncthreads should not be called in team collectives. * * When multiple teams are mapped onto a single block then the @@ -126,7 +127,7 @@ class HIPTeamMember { KOKKOS_INLINE_FUNCTION int league_size() const { return m_league_size; } KOKKOS_INLINE_FUNCTION int team_rank() const { #ifdef __HIP_DEVICE_COMPILE__ - return hipThreadIdx_y; + return threadIdx.y; #else return 0; #endif @@ -134,15 +135,15 @@ class HIPTeamMember { KOKKOS_INLINE_FUNCTION int team_size() const { #ifdef __HIP_DEVICE_COMPILE__ - return hipBlockDim_y; + return blockDim.y; #else - return 1; + return 0; #endif } KOKKOS_INLINE_FUNCTION void team_barrier() const { #ifdef __HIP_DEVICE_COMPILE__ - if (1 == hipBlockDim_z) + if (1 == blockDim.z) __syncthreads(); // team == block else __threadfence_block(); // team <= warp @@ -155,11 +156,11 @@ class HIPTeamMember { KOKKOS_INLINE_FUNCTION void team_broadcast(ValueType& val, const int& thread_id) const { #ifdef __HIP_DEVICE_COMPILE__ - if (1 == hipBlockDim_z) { // team == block + if (blockDim.z == 1) { // team == block __syncthreads(); // Wait for shared data write until all threads arrive here - if (hipThreadIdx_x == 0u && - hipThreadIdx_y == static_cast(thread_id)) { + if (threadIdx.x == 0u && + threadIdx.y == static_cast(thread_id)) { *(reinterpret_cast(m_team_reduce)) = val; } __syncthreads(); // Wait for shared data read until root thread writes @@ -167,7 +168,7 @@ class HIPTeamMember { } else { // team <= warp ValueType tmp(val); // input might not be a register variable ::Kokkos::Experimental::Impl::in_place_shfl( - val, tmp, hipBlockDim_x * thread_id, hipBlockDim_x * hipBlockDim_y); + val, tmp, blockDim.x * thread_id, blockDim.x * blockDim.y); } #else (void)val; @@ -178,44 +179,24 @@ class HIPTeamMember { template KOKKOS_INLINE_FUNCTION void team_broadcast(Closure const& f, ValueType& val, const int& thread_id) const { -#ifdef __HIP_DEVICE_COMPILE__ f(val); - - if (1 == hipBlockDim_z) { // team == block - __syncthreads(); - // Wait for shared data write until all threads arrive here - if (hipThreadIdx_x == 0u && - hipThreadIdx_y == static_cast(thread_id)) { - *(reinterpret_cast(m_team_reduce)) = val; - } - __syncthreads(); // Wait for shared data read until root thread writes - val = *(reinterpret_cast(m_team_reduce)); - } else { // team <= warp - ValueType tmp(val); // input might not be a register variable - ::Kokkos::Experimental::Impl::in_place_shfl( - val, tmp, hipBlockDim_x * thread_id, hipBlockDim_x * hipBlockDim_y); - } -#else - (void)f; - (void)val; - (void)thread_id; -#endif + team_broadcast(val, thread_id); } //-------------------------------------------------------------------------- /**\brief Reduction across a team * * Mapping of teams onto blocks: - * hipBlockDim_x is "vector lanes" - * hipBlockDim_y is team "threads" - * hipBlockDim_z is number of teams per block + * blockDim.x is "vector lanes" + * blockDim.y is team "threads" + * blockDim.z is number of teams per block * * Requires: - * hipBlockDim_x is power two - * hipBlockDim_x <= HIPTraits::WarpSize - * ( 0 == HIPTraits::WarpSize % ( hipBlockDim_x * hipBlockDim_y ) + * blockDim.x is power two + * blockDim.x <= HIPTraits::WarpSize + * ( 0 == HIPTraits::WarpSize % ( blockDim.x * blockDim.y ) * OR - * ( 1 == hipBlockDim_z ) + * ( 1 == blockDim.z ) */ template KOKKOS_INLINE_FUNCTION @@ -230,7 +211,7 @@ class HIPTeamMember { team_reduce(ReducerType const& reducer, typename ReducerType::value_type& value) const noexcept { #ifdef __HIP_DEVICE_COMPILE__ - hip_intra_block_reduction(reducer, value, hipBlockDim_y); + hip_intra_block_shuffle_reduction(reducer, value, blockDim.y); #else (void)reducer; (void)value; @@ -256,25 +237,25 @@ class HIPTeamMember { __syncthreads(); // Don't write in to shared data until all threads have // entered this function - if (0 == hipThreadIdx_y) { + if (0 == threadIdx.y) { base_data[0] = 0; } - base_data[hipThreadIdx_y + 1] = value; + base_data[threadIdx.y + 1] = value; Impl::hip_intra_block_reduce_scan, void>( Impl::HIPJoinFunctor(), base_data + 1); if (global_accum) { - if (hipBlockDim_y == hipThreadIdx_y + 1) { - base_data[hipBlockDim_y] = - atomic_fetch_add(global_accum, base_data[hipBlockDim_y]); + if (blockDim.y == threadIdx.y + 1) { + base_data[blockDim.y] = + atomic_fetch_add(global_accum, base_data[blockDim.y]); } __syncthreads(); // Wait for atomic - base_data[hipThreadIdx_y] += base_data[hipBlockDim_y]; + base_data[threadIdx.y] += base_data[blockDim.y]; } - return base_data[hipThreadIdx_y]; + return base_data[threadIdx.y]; #else (void)value; (void)global_accum; @@ -307,24 +288,16 @@ class HIPTeamMember { vector_reduce(ReducerType const& reducer, typename ReducerType::value_type& value) { #ifdef __HIP_DEVICE_COMPILE__ - if (hipBlockDim_x == 1) return; + if (blockDim.x == 1) return; // Intra vector lane shuffle reduction: typename ReducerType::value_type tmp(value); typename ReducerType::value_type tmp2 = tmp; - int constexpr warp_size = ::Kokkos::Experimental::Impl::HIPTraits::WarpSize; - unsigned mask = - hipBlockDim_x == warp_size - ? 0xffffffff - : ((1 << hipBlockDim_x) - 1) - << ((hipThreadIdx_y % (warp_size / hipBlockDim_x)) * - hipBlockDim_x); - - for (int i = hipBlockDim_x; (i >>= 1);) { + for (int i = blockDim.x; (i >>= 1);) { ::Kokkos::Experimental::Impl::in_place_shfl_down(tmp2, tmp, i, - hipBlockDim_x, mask); - if (static_cast(hipThreadIdx_x) < i) { + blockDim.x); + if (static_cast(threadIdx.x) < i) { reducer.join(tmp, tmp2); } } @@ -334,8 +307,7 @@ class HIPTeamMember { // because floating point summation is not associative // and thus different threads could have different results. - ::Kokkos::Experimental::Impl::in_place_shfl(tmp2, tmp, 0, hipBlockDim_x, - mask); + ::Kokkos::Experimental::Impl::in_place_shfl(tmp2, tmp, 0, blockDim.x); value = tmp2; reducer.reference() = tmp2; #else @@ -355,19 +327,17 @@ class HIPTeamMember { global_reduce(ReducerType const& reducer, int* const global_scratch_flags, void* const global_scratch_space, void* const shmem, int const shmem_size) { -#ifdef __HIP_COMPILE_DEVICE__ - - typedef typename ReducerType::value_type value_type; - typedef value_type volatile* pointer_type; +#ifdef __HIP_DEVICE_COMPILE__ + using value_type = typename ReducerType::value_type; + using pointer_type = value_type volatile*; // Number of shared memory entries for the reduction: const int nsh = shmem_size / sizeof(value_type); // Number of HIP threads in the block, rank within the block - const int nid = hipBlockDim_x * hipBlockDim_y * hipBlockDim_z; + const int nid = blockDim.x * blockDim.y * blockDim.z; const int tid = - hipThreadIdx_x + - hipBlockDim_x * (hipThreadIdx_y + hipBlockDim_y * hipThreadIdx_z); + threadIdx.x + blockDim.x * (threadIdx.y + blockDim.y * threadIdx.z); // Reduces within block using all available shared memory // Contributes if it is the root "vector lane" @@ -376,23 +346,24 @@ class HIPTeamMember { // wx == which lane within the warp // wy == which warp within the block - const int wn = - (nid + HIPTraits::WarpIndexMask) >> HIPTraits::WarpIndexShift; - const int wx = tid & HIPTraits::WarpIndexMask; - const int wy = tid >> HIPTraits::WarpIndexShift; + const int wn = (nid + Experimental::Impl::HIPTraits::WarpIndexMask) >> + Experimental::Impl::HIPTraits::WarpIndexShift; + const int wx = tid & Experimental::Impl::HIPTraits::WarpIndexMask; + const int wy = tid >> Experimental::Impl::HIPTraits::WarpIndexShift; //------------------------ - { // Intra warp shuffle reduction from contributing CUDA threads + { // Intra warp shuffle reduction from contributing HIP threads value_type tmp(reducer.reference()); int constexpr warp_size = ::Kokkos::Experimental::Impl::HIPTraits::WarpSize; - for (int i = warp_size; static_cast(hipBlockDim_x) <= (i >>= 1);) { - Impl::in_place_shfl_down(reducer.reference(), tmp, i, warp_size); + for (int i = warp_size; static_cast(blockDim.x) <= (i >>= 1);) { + Experimental::Impl::in_place_shfl_down(reducer.reference(), tmp, i, + warp_size); // Root of each vector lane reduces "thread" contribution - if (0 == hipThreadIdx_x && wx < i) { + if (0 == threadIdx.x && wx < i) { reducer.join(&tmp, reducer.data()); } } @@ -432,7 +403,7 @@ class HIPTeamMember { if (0 == wy) { // Start fan-in at power of two covering nentry - for (int i = (1 << (32 - __clz(nentry - 1))); (i >>= 1);) { + for (int i = (1 << (warp_size - __clz(nentry - 1))); (i >>= 1);) { const int k = wx + i; if (wx < i && k < nentry) { reducer.join((reinterpret_cast(shmem)) + wx, @@ -449,12 +420,12 @@ class HIPTeamMember { if (0 == wx) { reducer.copy((reinterpret_cast(global_scratch_space)) + - hipBlockIdx_x * reducer.length(), + blockIdx.x * reducer.length(), reducer.data()); __threadfence(); // Wait until global write is visible. - last_block = static_cast(hipGridDim_x) == + last_block = static_cast(gridDim.x) == 1 + Kokkos::atomic_fetch_add(global_scratch_flags, 1); // If last block then reset count @@ -473,9 +444,8 @@ class HIPTeamMember { //------------------------ // Last block reads global_scratch_memory into shared memory. - const int nentry = nid < hipGridDim_x - ? (nid < nsh ? nid : nsh) - : (hipGridDim_x < nsh ? hipGridDim_x : nsh); + const int nentry = nid < gridDim.x ? (nid < nsh ? nid : nsh) + : (gridDim.x < nsh ? gridDim.x : nsh); // nentry = min( nid , nsh , gridDim.x ) @@ -488,8 +458,7 @@ class HIPTeamMember { (reinterpret_cast(shmem)) + offset, (reinterpret_cast(global_scratch_space)) + offset); - for (int i = nentry + tid; i < static_cast(hipGridDim_x); - i += nentry) { + for (int i = nentry + tid; i < static_cast(gridDim.x); i += nentry) { reducer.join((reinterpret_cast(shmem)) + offset, (reinterpret_cast(global_scratch_space)) + i * reducer.length()); @@ -529,12 +498,11 @@ class HIPTeamMember { } } return 0; - #else (void)reducer; (void)global_scratch_flags; - (void)shmem; (void)global_scratch_space; + (void)shmem; (void)shmem_size; return 0; #endif @@ -574,7 +542,7 @@ namespace Impl { template struct TeamThreadRangeBoundariesStruct { - typedef iType index_type; + using index_type = iType; const HIPTeamMember& member; const iType start; const iType end; @@ -591,7 +559,7 @@ struct TeamThreadRangeBoundariesStruct { template struct TeamVectorRangeBoundariesStruct { - typedef iType index_type; + using index_type = iType; const HIPTeamMember& member; const iType start; const iType end; @@ -609,7 +577,7 @@ struct TeamVectorRangeBoundariesStruct { template struct ThreadVectorRangeBoundariesStruct { - typedef iType index_type; + using index_type = iType; const index_type start; const index_type end; @@ -645,7 +613,7 @@ template KOKKOS_INLINE_FUNCTION Impl::TeamThreadRangeBoundariesStruct< typename std::common_type::type, Impl::HIPTeamMember> TeamThreadRange(const Impl::HIPTeamMember& thread, iType1 begin, iType2 end) { - typedef typename std::common_type::type iType; + using iType = typename std::common_type::type; return Impl::TeamThreadRangeBoundariesStruct( thread, iType(begin), iType(end)); } @@ -663,7 +631,7 @@ KOKKOS_INLINE_FUNCTION Impl::TeamVectorRangeBoundariesStruct< typename std::common_type::type, Impl::HIPTeamMember> TeamVectorRange(const Impl::HIPTeamMember& thread, const iType1& begin, const iType2& end) { - typedef typename std::common_type::type iType; + using iType = typename std::common_type::type; return Impl::TeamVectorRangeBoundariesStruct( thread, iType(begin), iType(end)); } @@ -711,8 +679,8 @@ KOKKOS_INLINE_FUNCTION void parallel_for( loop_boundaries, const Closure& closure) { #ifdef __HIP_DEVICE_COMPILE__ - for (iType i = loop_boundaries.start + hipThreadIdx_y; - i < loop_boundaries.end; i += hipBlockDim_y) + for (iType i = loop_boundaries.start + threadIdx.y; i < loop_boundaries.end; + i += blockDim.y) closure(i); #else (void)loop_boundaries; @@ -740,8 +708,8 @@ KOKKOS_INLINE_FUNCTION typename ReducerType::value_type value; reducer.init(value); - for (iType i = loop_boundaries.start + hipThreadIdx_y; - i < loop_boundaries.end; i += hipBlockDim_y) { + for (iType i = loop_boundaries.start + threadIdx.y; i < loop_boundaries.end; + i += blockDim.y) { closure(i, value); } @@ -773,8 +741,8 @@ KOKKOS_INLINE_FUNCTION reducer.init(reducer.reference()); - for (iType i = loop_boundaries.start + hipThreadIdx_y; - i < loop_boundaries.end; i += hipBlockDim_y) { + for (iType i = loop_boundaries.start + threadIdx.y; i < loop_boundaries.end; + i += blockDim.y) { closure(i, val); } @@ -793,9 +761,8 @@ KOKKOS_INLINE_FUNCTION void parallel_for( loop_boundaries, const Closure& closure) { #ifdef __HIP_DEVICE_COMPILE__ - for (iType i = loop_boundaries.start + hipThreadIdx_y * hipBlockDim_x + - hipThreadIdx_x; - i < loop_boundaries.end; i += hipBlockDim_y * hipBlockDim_x) + for (iType i = loop_boundaries.start + threadIdx.y * blockDim.x + threadIdx.x; + i < loop_boundaries.end; i += blockDim.y * blockDim.x) closure(i); #else (void)loop_boundaries; @@ -813,9 +780,8 @@ KOKKOS_INLINE_FUNCTION typename ReducerType::value_type value; reducer.init(value); - for (iType i = loop_boundaries.start + hipThreadIdx_y * hipBlockDim_x + - hipThreadIdx_x; - i < loop_boundaries.end; i += hipBlockDim_y * hipBlockDim_x) { + for (iType i = loop_boundaries.start + threadIdx.y * blockDim.x + threadIdx.x; + i < loop_boundaries.end; i += blockDim.y * blockDim.x) { closure(i, value); } @@ -840,9 +806,8 @@ KOKKOS_INLINE_FUNCTION reducer.init(reducer.reference()); - for (iType i = loop_boundaries.start + hipThreadIdx_y * hipBlockDim_x + - hipThreadIdx_x; - i < loop_boundaries.end; i += hipBlockDim_y * hipBlockDim_x) { + for (iType i = loop_boundaries.start + threadIdx.y * blockDim.x + threadIdx.x; + i < loop_boundaries.end; i += blockDim.y * blockDim.x) { closure(i, val); } @@ -870,8 +835,8 @@ KOKKOS_INLINE_FUNCTION void parallel_for( loop_boundaries, const Closure& closure) { #ifdef __HIP_DEVICE_COMPILE__ - for (iType i = loop_boundaries.start + hipThreadIdx_x; - i < loop_boundaries.end; i += hipBlockDim_x) { + for (iType i = loop_boundaries.start + threadIdx.x; i < loop_boundaries.end; + i += blockDim.x) { closure(i); } #else @@ -902,8 +867,8 @@ KOKKOS_INLINE_FUNCTION #ifdef __HIP_DEVICE_COMPILE__ reducer.init(reducer.reference()); - for (iType i = loop_boundaries.start + hipThreadIdx_x; - i < loop_boundaries.end; i += hipBlockDim_x) { + for (iType i = loop_boundaries.start + threadIdx.x; i < loop_boundaries.end; + i += blockDim.x) { closure(i, reducer.reference()); } @@ -935,8 +900,8 @@ KOKKOS_INLINE_FUNCTION #ifdef __HIP_DEVICE_COMPILE__ result = ValueType(); - for (iType i = loop_boundaries.start + hipThreadIdx_x; - i < loop_boundaries.end; i += hipBlockDim_x) { + for (iType i = loop_boundaries.start + threadIdx.x; i < loop_boundaries.end; + i += blockDim.x) { closure(i, result); } @@ -977,22 +942,15 @@ KOKKOS_INLINE_FUNCTION void parallel_scan( // All thread "lanes" must loop the same number of times. // Determine an loop end for all thread "lanes." // Requires: - // hipBlockDim_x is power of two and thus - // ( end % hipBlockDim_x ) == ( end & ( hipBlockDim_x - 1 ) ) - // 1 <= hipBlockDim_x <= HIPTraits::WarpSize - - int constexpr warp_size = ::Kokkos::Experimental::Impl::HIPTraits::WarpSize; - const int mask = hipBlockDim_x - 1; - const unsigned active_mask = - blockDim.x == warp_size - ? 0xffffffff - : ((1 << hipBlockDim_x) - 1) - << (hipThreadIdx_y % (warp_size / hipBlockDim_x)) * - hipBlockDim_x; - const int rem = loop_boundaries.end & mask; // == end % hipBlockDim_x - const int end = loop_boundaries.end + (rem ? hipBlockDim_x - rem : 0); - - for (int i = hipThreadIdx_x; i < end; i += hipBlockDim_x) { + // blockDim.x is power of two and thus + // ( end % blockDim.x ) == ( end & ( blockDim.x - 1 ) ) + // 1 <= blockDim.x <= HIPTraits::WarpSize + + const int mask = blockDim.x - 1; + const int rem = loop_boundaries.end & mask; // == end % blockDim.x + const int end = loop_boundaries.end + (rem ? blockDim.x - rem : 0); + + for (int i = threadIdx.x; i < end; i += blockDim.x) { value_type val = 0; // First acquire per-lane contributions: @@ -1008,11 +966,10 @@ KOKKOS_INLINE_FUNCTION void parallel_scan( // [t] += [t-4] if t >= 4 // ... - for (int j = 1; j < static_cast(hipBlockDim_x); j <<= 1) { + for (int j = 1; j < static_cast(blockDim.x); j <<= 1) { value_type tmp = 0; - ::Kokkos::Experimental::Impl::in_place_shfl_up( - tmp, sval, j, hipBlockDim_x, active_mask); - if (j <= static_cast(hipThreadIdx_x)) { + ::Kokkos::Experimental::Impl::in_place_shfl_up(tmp, sval, j, blockDim.x); + if (j <= static_cast(threadIdx.x)) { sval += tmp; } } @@ -1024,8 +981,8 @@ KOKKOS_INLINE_FUNCTION void parallel_scan( if (i < loop_boundaries.end) closure(i, val, true); // Accumulate the last value in the inclusive scan: - ::Kokkos::Experimental::Impl::in_place_shfl(sval, sval, mask, blockDim.x, - active_mask); + ::Kokkos::Experimental::Impl::in_place_shfl(sval, sval, blockDim.x - 1, + blockDim.x); accum += sval; } @@ -1044,7 +1001,7 @@ KOKKOS_INLINE_FUNCTION void single( const Impl::VectorSingleStruct&, const FunctorType& lambda) { #ifdef __HIP_DEVICE_COMPILE__ - if (hipThreadIdx_x == 0) lambda(); + if (threadIdx.x == 0) lambda(); #else (void)lambda; #endif @@ -1055,7 +1012,7 @@ KOKKOS_INLINE_FUNCTION void single( const Impl::ThreadSingleStruct&, const FunctorType& lambda) { #ifdef __HIP_DEVICE_COMPILE__ - if (hipThreadIdx_x == 0 && hipThreadIdx_y == 0) lambda(); + if (threadIdx.x == 0 && threadIdx.y == 0) lambda(); #else (void)lambda; #endif @@ -1066,14 +1023,8 @@ KOKKOS_INLINE_FUNCTION void single( const Impl::VectorSingleStruct&, const FunctorType& lambda, ValueType& val) { #ifdef __HIP_DEVICE_COMPILE__ - int constexpr warp_size = ::Kokkos::Experimental::Impl::HIPTraits::WarpSize; - if (hipThreadIdx_x == 0) lambda(val); - unsigned mask = hipBlockDim_x == warp_size - ? 0xffffffff - : ((1 << hipBlockDim_x) - 1) - << ((hipThreadIdx_y % (warp_size / hipBlockDim_x)) * - hipBlockDim_x); - ::Kokkos::Experimental::Impl::in_place_shfl(val, val, 0, hipBlockDim_x, mask); + if (threadIdx.x == 0) lambda(val); + ::Kokkos::Experimental::Impl::in_place_shfl(val, val, 0, blockDim.x); #else (void)lambda; (void)val; @@ -1084,11 +1035,8 @@ template KOKKOS_INLINE_FUNCTION void single( const Impl::ThreadSingleStruct& single_struct, const FunctorType& lambda, ValueType& val) { - (void)single_struct; - (void)lambda; - (void)val; #ifdef __HIP_DEVICE_COMPILE__ - if (hipThreadIdx_x == 0 && hipThreadIdx_y == 0) { + if (threadIdx.x == 0 && threadIdx.y == 0) { lambda(val); } single_struct.team_member.team_broadcast(val, 0); @@ -1103,4 +1051,4 @@ KOKKOS_INLINE_FUNCTION void single( #endif /* defined( __HIPCC__ ) */ -#endif /* #ifndef KOKKOS_CUDA_TEAM_HPP */ +#endif /* #ifndef KOKKOS_HIP_TEAM_HPP */ diff --git a/lib/kokkos/core/src/HIP/Kokkos_HIP_UniqueToken.hpp b/lib/kokkos/core/src/HIP/Kokkos_HIP_UniqueToken.hpp new file mode 100644 index 0000000000000000000000000000000000000000..f7e38a508b1696fe09701bc5b01de4cecd2d1344 --- /dev/null +++ b/lib/kokkos/core/src/HIP/Kokkos_HIP_UniqueToken.hpp @@ -0,0 +1,129 @@ +/* +//@HEADER +// ************************************************************************ +// +// Kokkos v. 3.0 +// Copyright (2020) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). +// +// Under the terms of Contract DE-NA0003525 with NTESS, +// the U.S. Government retains certain rights in this software. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// +// 3. Neither the name of the Corporation nor the names of the +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY +// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE +// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// +// Questions? Contact Christian R. Trott (crtrott@sandia.gov) +// +// ************************************************************************ +//@HEADER +*/ + +#ifndef KOKKOS_HIP_UNIQUE_TOKEN_HPP +#define KOKKOS_HIP_UNIQUE_TOKEN_HPP + +#include +#include +#include + +namespace Kokkos { +namespace Experimental { + +// both global and instance Unique Tokens are implemented in the same way +template <> +class UniqueToken { + protected: + uint32_t volatile* m_buffer; + uint32_t m_count; + + public: + using execution_space = HIP; + using size_type = int32_t; + + explicit UniqueToken(execution_space const& = execution_space()) + : m_buffer(Impl::HIPInternal::singleton().m_scratchConcurrentBitset), + m_count(HIP::concurrency()) {} + + KOKKOS_DEFAULTED_FUNCTION + UniqueToken(const UniqueToken&) = default; + + KOKKOS_DEFAULTED_FUNCTION + UniqueToken(UniqueToken&&) = default; + + KOKKOS_DEFAULTED_FUNCTION + UniqueToken& operator=(const UniqueToken&) = default; + + KOKKOS_DEFAULTED_FUNCTION + UniqueToken& operator=(UniqueToken&&) = default; + + /// \brief upper bound for acquired values, i.e. 0 <= value < size() + KOKKOS_INLINE_FUNCTION + size_type size() const noexcept { return m_count; } + + /// \brief acquire value such that 0 <= value < size() + KOKKOS_INLINE_FUNCTION + size_type acquire() const { + const Kokkos::pair result = + Kokkos::Impl::concurrent_bitset::acquire_bounded( + m_buffer, m_count, Kokkos::Impl::clock_tic() % m_count); + + if (result.first < 0) { + Kokkos::abort( + "UniqueToken failure to acquire tokens, no tokens available"); + } + + return result.first; + } + + /// \brief release an acquired value + KOKKOS_INLINE_FUNCTION + void release(size_type i) const noexcept { + Kokkos::Impl::concurrent_bitset::release(m_buffer, i); + } +}; + +template <> +class UniqueToken + : public UniqueToken { + View m_buffer_view; + + public: + explicit UniqueToken(execution_space const& arg = execution_space()) + : UniqueToken(arg) {} + + UniqueToken(size_type max_size, execution_space const& = execution_space()) + : m_buffer_view( + "UniqueToken::m_buffer_view", + ::Kokkos::Impl::concurrent_bitset::buffer_bound(max_size)) { + m_buffer = m_buffer_view.data(); + m_count = max_size; + } +}; + +} // namespace Experimental +} // namespace Kokkos + +#endif diff --git a/lib/kokkos/core/src/HIP/Kokkos_HIP_Vectorization.hpp b/lib/kokkos/core/src/HIP/Kokkos_HIP_Vectorization.hpp index 58b5abb2eefad23f8325c7ea90bb2147a86e62df..045892bb997f0b2467165facf4fffcd58c7206f9 100644 --- a/lib/kokkos/core/src/HIP/Kokkos_HIP_Vectorization.hpp +++ b/lib/kokkos/core/src/HIP/Kokkos_HIP_Vectorization.hpp @@ -46,20 +46,16 @@ #define KOKKOS_HIP_VECTORIZATION_HPP #include -#include namespace Kokkos { namespace Experimental { namespace Impl { -// Include all lanes -constexpr unsigned shfl_all_mask = 0xffffffff; - //---------------------------------------------------------------------------- // Shuffle operations require input to be a register (stack) variable -// Derived implements do_shfl_op(unsigned mask, T& in, int lane, int width), -// which turns in to one of KOKKOS_IMPL_HIP_SHFL(_UP_|_DOWN_|_)MASK +// Derived implements do_shfl_op( T& in, int lane, int width), +// which turns in to one of __shfl_XXX // Since the logic with respect to value sizes, etc., is the same everywhere, // put it all in one place. template @@ -69,52 +65,70 @@ struct in_place_shfl_op { return *static_cast(this); } + // FIXME_HIP depends on UB + // sizeof(Scalar) < sizeof(int) case + template + // requires _assignable_from_bits + __device__ inline typename std::enable_if::type + operator()(Scalar& out, Scalar const& in, int lane_or_delta, int width) const + noexcept { + using shfl_type = int; + union conv_type { + Scalar orig; + shfl_type conv; + }; + conv_type tmp_in; + tmp_in.orig = in; + conv_type tmp_out; + tmp_out.conv = tmp_in.conv; + conv_type res; + //------------------------------------------------ + res.conv = self().do_shfl_op( + reinterpret_cast(tmp_out.conv), lane_or_delta, width); + //------------------------------------------------ + out = res.orig; + } + // sizeof(Scalar) == sizeof(int) case template // requires _assignable_from_bits __device__ inline typename std::enable_if::type - operator()(Scalar& out, Scalar const& in, int lane_or_delta, int width, - unsigned mask = shfl_all_mask) const noexcept { - //------------------------------------------------ + operator()(Scalar& out, Scalar const& in, int lane_or_delta, int width) const + noexcept { reinterpret_cast(out) = self().do_shfl_op( - mask, reinterpret_cast(in), lane_or_delta, width); - //------------------------------------------------ + reinterpret_cast(in), lane_or_delta, width); } template __device__ inline typename std::enable_if::type - operator()(Scalar& out, Scalar const& in, int lane_or_delta, int width, - unsigned mask = shfl_all_mask) const noexcept { - //------------------------------------------------ + operator()(Scalar& out, Scalar const& in, int lane_or_delta, + int width) const noexcept { reinterpret_cast(out) = self().do_shfl_op( - mask, *reinterpret_cast(&in), lane_or_delta, width); - //------------------------------------------------ + *reinterpret_cast(&in), lane_or_delta, width); } // sizeof(Scalar) > sizeof(double) case template __device__ inline typename std::enable_if<(sizeof(Scalar) > sizeof(double))>::type - operator()(Scalar& out, const Scalar& val, int lane_or_delta, int width, - unsigned mask = shfl_all_mask) const noexcept { + operator()(Scalar& out, const Scalar& val, int lane_or_delta, + int width) const noexcept { using shuffle_as_t = int; - enum : int { N = sizeof(Scalar) / sizeof(shuffle_as_t) }; + int constexpr N = sizeof(Scalar) / sizeof(shuffle_as_t); for (int i = 0; i < N; ++i) { reinterpret_cast(&out)[i] = self().do_shfl_op( - mask, reinterpret_cast(&val)[i], lane_or_delta, - width); + reinterpret_cast(&val)[i], lane_or_delta, width); } } }; struct in_place_shfl_fn : in_place_shfl_op { template - __device__ KOKKOS_IMPL_FORCEINLINE T do_shfl_op(unsigned mask, T& val, - int lane, int width) const - noexcept { - return KOKKOS_IMPL_HIP_SHFL_MASK(mask, val, lane, width); + __device__ KOKKOS_IMPL_FORCEINLINE T do_shfl_op(T& val, int lane, + int width) const noexcept { + return __shfl(val, lane, width); } }; @@ -125,10 +139,9 @@ __device__ KOKKOS_IMPL_FORCEINLINE void in_place_shfl(Args&&... args) noexcept { struct in_place_shfl_up_fn : in_place_shfl_op { template - __device__ KOKKOS_IMPL_FORCEINLINE T do_shfl_op(unsigned mask, T& val, - int lane, int width) const - noexcept { - return KOKKOS_IMPL_HIP_SHFL_UP_MASK(mask, val, lane, width); + __device__ KOKKOS_IMPL_FORCEINLINE T do_shfl_op(T& val, int lane, + int width) const noexcept { + return __shfl_up(val, lane, width); } }; @@ -140,10 +153,9 @@ __device__ KOKKOS_IMPL_FORCEINLINE void in_place_shfl_up( struct in_place_shfl_down_fn : in_place_shfl_op { template - __device__ KOKKOS_IMPL_FORCEINLINE T do_shfl_op(unsigned mask, T& val, - int lane, int width) const - noexcept { - return KOKKOS_IMPL_HIP_SHFL_DOWN_MASK(mask, val, lane, width); + __device__ KOKKOS_IMPL_FORCEINLINE T do_shfl_op(T& val, int lane, + int width) const noexcept { + return __shfl_down(val, lane, width); } }; @@ -154,6 +166,31 @@ __device__ KOKKOS_IMPL_FORCEINLINE void in_place_shfl_down( } } // namespace Impl + +template +// requires default_constructible && _assignable_from_bits +__device__ inline T shfl(const T& val, const int& srcLane, const int& width) { + T rv = {}; + Impl::in_place_shfl(rv, val, srcLane, width); + return rv; +} + +template +// requires default_constructible && _assignable_from_bits +__device__ inline T shfl_down(const T& val, int delta, int width) { + T rv = {}; + Impl::in_place_shfl_down(rv, val, delta, width); + return rv; +} + +template +// requires default_constructible && _assignable_from_bits +__device__ inline T shfl_up(const T& val, int delta, int width) { + T rv = {}; + Impl::in_place_shfl_up(rv, val, delta, width); + return rv; +} + } // namespace Experimental } // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank4.cpp b/lib/kokkos/core/src/HIP/Kokkos_HIP_WorkGraphPolicy.hpp similarity index 52% rename from lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank4.cpp rename to lib/kokkos/core/src/HIP/Kokkos_HIP_WorkGraphPolicy.hpp index 0c6fbd75bcdf851bae610af437e8188bebf2f800..3e053d8f14a5ce5211ac6687851c6dd807c56d94 100644 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank4.cpp +++ b/lib/kokkos/core/src/HIP/Kokkos_HIP_WorkGraphPolicy.hpp @@ -1,3 +1,4 @@ +/* //@HEADER // ************************************************************************ // @@ -8,8 +9,6 @@ // Under the terms of Contract DE-NA0003525 with NTESS, // the U.S. Government retains certain rights in this software. // -// Kokkos is licensed under 3-clause BSD terms of use: -// // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are // met: @@ -41,18 +40,73 @@ // // ************************************************************************ //@HEADER +*/ + +#ifndef KOKKOS_HIP_WORKGRAPHPOLICY_HPP +#define KOKKOS_HIP_WORKGRAPHPOLICY_HPP + +#include -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include namespace Kokkos { namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutLeft, LayoutRight, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutLeft, LayoutLeft, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutLeft, LayoutStride, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float****, LayoutLeft, Experimental::HPX, int64_t) + +template +class ParallelFor, + Kokkos::Experimental::HIP> { + public: + using Policy = Kokkos::WorkGraphPolicy; + using Self = ParallelFor; + + private: + Policy m_policy; + FunctorType m_functor; + + template + __device__ inline + typename std::enable_if::value>::type + exec_one(const std::int32_t w) const noexcept { + m_functor(w); + } + + template + __device__ inline + typename std::enable_if::value>::type + exec_one(const std::int32_t w) const noexcept { + const TagType t{}; + m_functor(t, w); + } + + public: + __device__ inline void operator()() const noexcept { + // Spin until COMPLETED_TOKEN. + // END_TOKEN indicates no work is currently available. + for (std::int32_t w = Policy::END_TOKEN; + Policy::COMPLETED_TOKEN != (w = m_policy.pop_work());) { + if (Policy::END_TOKEN != w) { + exec_one(w); + m_policy.completed_work(w); + } + } + } + + inline void execute() { + const int warps_per_block = 4; + const dim3 grid( + Kokkos::Experimental::Impl::hip_internal_multiprocessor_count(), 1, 1); + const dim3 block(1, Kokkos::Experimental::Impl::HIPTraits::WarpSize, + warps_per_block); + const int shared = 0; + + Kokkos::Experimental::Impl::HIPParallelLaunch( + *this, grid, block, shared, + Experimental::HIP().impl_internal_space_instance(), false); + } + + inline ParallelFor(const FunctorType& arg_functor, const Policy& arg_policy) + : m_policy(arg_policy), m_functor(arg_functor) {} +}; } // namespace Impl } // namespace Kokkos + +#endif /* #define KOKKOS_HIP_WORKGRAPHPOLICY_HPP */ diff --git a/lib/kokkos/core/src/HPX/Kokkos_HPX.cpp b/lib/kokkos/core/src/HPX/Kokkos_HPX.cpp index acbd1074fde913f4e4a267cd2c991db9ac5a494d..c7512ff35b505b02700da5158c128cb73ca9dfde 100644 --- a/lib/kokkos/core/src/HPX/Kokkos_HPX.cpp +++ b/lib/kokkos/core/src/HPX/Kokkos_HPX.cpp @@ -53,9 +53,12 @@ namespace Kokkos { namespace Experimental { bool HPX::m_hpx_initialized = false; -Kokkos::Impl::thread_buffer HPX::m_buffer; +std::atomic HPX::m_next_instance_id{1}; #if defined(KOKKOS_ENABLE_HPX_ASYNC_DISPATCH) -hpx::future HPX::m_future = hpx::make_ready_future(); +std::atomic HPX::m_active_parallel_region_count{0}; +HPX::instance_data HPX::m_global_instance_data; +#else +Kokkos::Impl::thread_buffer HPX::m_global_buffer; #endif int HPX::concurrency() { diff --git a/lib/kokkos/core/src/HPX/Kokkos_HPX_Task.hpp b/lib/kokkos/core/src/HPX/Kokkos_HPX_Task.hpp index 803d955914257caf39d4c570249c12779ee9b8e6..df09e026fd9b45bc1c4f7d0c55e5ae10d336ad72 100644 --- a/lib/kokkos/core/src/HPX/Kokkos_HPX_Task.hpp +++ b/lib/kokkos/core/src/HPX/Kokkos_HPX_Task.hpp @@ -80,7 +80,8 @@ class TaskQueueSpecialization< // This is not necessarily the most efficient, but can be improved later. TaskQueueSpecialization task_queue; task_queue.scheduler = &scheduler; - Kokkos::Impl::dispatch_execute_task(&task_queue); + Kokkos::Impl::dispatch_execute_task(&task_queue, + Kokkos::Experimental::HPX()); Kokkos::Experimental::HPX().fence(); } @@ -92,7 +93,7 @@ class TaskQueueSpecialization< const int num_worker_threads = Kokkos::Experimental::HPX::concurrency(); - thread_buffer &buffer = Kokkos::Experimental::HPX::impl_get_buffer(); + thread_buffer &buffer = Kokkos::Experimental::HPX().impl_get_buffer(); buffer.resize(num_worker_threads, 512); auto &queue = scheduler->queue(); @@ -138,6 +139,10 @@ class TaskQueueSpecialization< } num_tasks_remaining.wait(); + +#if defined(KOKKOS_ENABLE_HPX_ASYNC_DISPATCH) + Kokkos::Experimental::HPX::impl_decrement_active_parallel_region_count(); +#endif } static uint32_t get_max_team_count(execution_space const &espace) { @@ -207,7 +212,8 @@ class TaskQueueSpecializationConstrained< // This is not necessarily the most efficient, but can be improved later. TaskQueueSpecializationConstrained task_queue; task_queue.scheduler = &scheduler; - Kokkos::Impl::dispatch_execute_task(&task_queue); + Kokkos::Impl::dispatch_execute_task(&task_queue, + Kokkos::Experimental::HPX()); Kokkos::Experimental::HPX().fence(); } @@ -222,7 +228,7 @@ class TaskQueueSpecializationConstrained< static task_base_type *const end = (task_base_type *)task_base_type::EndTag; constexpr task_base_type *no_more_tasks_sentinel = nullptr; - thread_buffer &buffer = Kokkos::Experimental::HPX::impl_get_buffer(); + thread_buffer &buffer = Kokkos::Experimental::HPX().impl_get_buffer(); buffer.resize(num_worker_threads, 512); auto &queue = scheduler->queue(); @@ -276,6 +282,10 @@ class TaskQueueSpecializationConstrained< } num_tasks_remaining.wait(); + +#if defined(KOKKOS_ENABLE_HPX_ASYNC_DISPATCH) + Kokkos::Experimental::HPX::impl_decrement_active_parallel_region_count(); +#endif } template diff --git a/lib/kokkos/core/src/HPX/Kokkos_HPX_ViewCopyETIAvail.hpp b/lib/kokkos/core/src/HPX/Kokkos_HPX_ViewCopyETIAvail.hpp deleted file mode 100644 index 99020a3e0de7d6847042749cd70b50c005496704..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/HPX/Kokkos_HPX_ViewCopyETIAvail.hpp +++ /dev/null @@ -1,57 +0,0 @@ -/* -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER -*/ - -#ifndef KOKKOS_HPX_VIEWETIAVAIL_HPP -#define KOKKOS_HPX_VIEWETIAVAIL_HPP - -namespace Kokkos { -namespace Impl { -#define KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE Kokkos::Experimental::HPX - -#include - -#undef KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE -} // namespace Impl -} // namespace Kokkos -#endif diff --git a/lib/kokkos/core/src/HPX/Kokkos_HPX_ViewCopyETIDecl.hpp b/lib/kokkos/core/src/HPX/Kokkos_HPX_ViewCopyETIDecl.hpp deleted file mode 100644 index fae486f4b028ac160a07cf0da62905633369539b..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/HPX/Kokkos_HPX_ViewCopyETIDecl.hpp +++ /dev/null @@ -1,57 +0,0 @@ -/* -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER -*/ - -#ifndef KOKKOS_HPX_VIEWETIDECL_HPP -#define KOKKOS_HPX_VIEWETIDECL_HPP - -namespace Kokkos { -namespace Impl { -#define KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE Kokkos::Experimental::HPX - -#include - -#undef KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE -} // namespace Impl -} // namespace Kokkos -#endif diff --git a/lib/kokkos/core/src/HPX/Kokkos_HPX_WorkGraphPolicy.hpp b/lib/kokkos/core/src/HPX/Kokkos_HPX_WorkGraphPolicy.hpp index 6705005c1b931e177273b82942648c67b7efa383..527fe12ad937f9b89029f12d5c64044f40671572 100644 --- a/lib/kokkos/core/src/HPX/Kokkos_HPX_WorkGraphPolicy.hpp +++ b/lib/kokkos/core/src/HPX/Kokkos_HPX_WorkGraphPolicy.hpp @@ -45,7 +45,7 @@ #ifndef KOKKOS_HPX_WORKGRAPHPOLICY_HPP #define KOKKOS_HPX_WORKGRAPHPOLICY_HPP -#include +#include #include #include @@ -78,8 +78,8 @@ class ParallelFor, public: void execute() const { - dispatch_execute_task(this); - Kokkos::Experimental::HPX().fence(); + dispatch_execute_task(this, m_policy.space()); + m_policy.space().fence(); } void execute_task() const { diff --git a/lib/kokkos/core/src/KokkosExp_MDRangePolicy.hpp b/lib/kokkos/core/src/KokkosExp_MDRangePolicy.hpp index 3195dbdedf0607f6d8413d81e5240e67fca4437a..d3ec64368fb7147bb1f0a0d67b1fe6179bf33d06 100644 --- a/lib/kokkos/core/src/KokkosExp_MDRangePolicy.hpp +++ b/lib/kokkos/core/src/KokkosExp_MDRangePolicy.hpp @@ -130,8 +130,9 @@ struct MDRangePolicy : public Kokkos::Impl::PolicyTraits { RangePolicy; - typedef MDRangePolicy - execution_policy; // needed for is_execution_space interrogation + using execution_policy = + MDRangePolicy; // needed for is_execution_space + // interrogation template friend struct MDRangePolicy; @@ -551,148 +552,6 @@ using Kokkos::Rank; } // namespace Kokkos // ------------------------------------------------------------------ // -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE -// ------------------------------------------------------------------ // -// md_parallel_for - deprecated use parallel_for -// ------------------------------------------------------------------ // - -namespace Kokkos { -namespace Experimental { - -template -void md_parallel_for( - MDRange const& range, Functor const& f, const std::string& str = "", - typename std::enable_if< - (true -#if defined(KOKKOS_ENABLE_CUDA) - && !std::is_same::value -#endif -#if defined(KOKKOS_ENABLE_ROCM) - && !std::is_same::value -#endif - )>::type* = 0) { - Kokkos::Impl::Experimental::MDFunctor g(range, f); - - using range_policy = typename MDRange::impl_range_policy; - - Kokkos::parallel_for(range_policy(0, range.m_num_tiles).set_chunk_size(1), g, - str); -} - -template -void md_parallel_for( - const std::string& str, MDRange const& range, Functor const& f, - typename std::enable_if< - (true -#if defined(KOKKOS_ENABLE_CUDA) - && !std::is_same::value -#endif -#if defined(KOKKOS_ENABLE_ROCM) - && !std::is_same::value -#endif - )>::type* = 0) { - Kokkos::Impl::Experimental::MDFunctor g(range, f); - - using range_policy = typename MDRange::impl_range_policy; - - Kokkos::parallel_for(range_policy(0, range.m_num_tiles).set_chunk_size(1), g, - str); -} - -// Cuda specialization -#if defined(__CUDACC__) && defined(KOKKOS_ENABLE_CUDA) -template -void md_parallel_for( - const std::string& str, MDRange const& range, Functor const& f, - typename std::enable_if< - (true -#if defined(KOKKOS_ENABLE_CUDA) - && std::is_same::value -#endif - )>::type* = 0) { - Kokkos::Impl::DeviceIterateTile - closure(range, f); - closure.execute(); -} - -template -void md_parallel_for( - MDRange const& range, Functor const& f, const std::string& str = "", - typename std::enable_if< - (true -#if defined(KOKKOS_ENABLE_CUDA) - && std::is_same::value -#endif - )>::type* = 0) { - Kokkos::Impl::DeviceIterateTile - closure(range, f); - closure.execute(); -} -#endif -// ------------------------------------------------------------------ // - -// ------------------------------------------------------------------ // -// md_parallel_reduce - deprecated use parallel_reduce -// ------------------------------------------------------------------ // -template -void md_parallel_reduce( - MDRange const& range, Functor const& f, ValueType& v, - const std::string& str = "", - typename std::enable_if< - (true -#if defined(KOKKOS_ENABLE_CUDA) - && !std::is_same::value -#endif -#if defined(KOKKOS_ENABLE_ROCM) - && !std::is_same::value -#endif - )>::type* = 0) { - Kokkos::Impl::Experimental::MDFunctor g(range, - f); - - using range_policy = typename MDRange::impl_range_policy; - Kokkos::parallel_reduce( - str, range_policy(0, range.m_num_tiles).set_chunk_size(1), g, v); -} - -template -void md_parallel_reduce( - const std::string& str, MDRange const& range, Functor const& f, - ValueType& v, - typename std::enable_if< - (true -#if defined(KOKKOS_ENABLE_CUDA) - && !std::is_same::value -#endif -#if defined(KOKKOS_ENABLE_ROCM) - && !std::is_same::value -#endif - )>::type* = 0) { - Kokkos::Impl::Experimental::MDFunctor g(range, - f); - - using range_policy = typename MDRange::impl_range_policy; - - Kokkos::parallel_reduce( - str, range_policy(0, range.m_num_tiles).set_chunk_size(1), g, v); -} - -// Cuda - md_parallel_reduce not implemented - use parallel_reduce - -} // namespace Experimental -} // namespace Kokkos -#endif - namespace Kokkos { namespace Experimental { namespace Impl { @@ -700,15 +559,15 @@ namespace Impl { template struct PolicyPropertyAdaptor, MDRangePolicy> { - typedef MDRangePolicy policy_in_t; - typedef MDRangePolicy> - policy_out_t; + using policy_in_t = MDRangePolicy; + using policy_out_t = + MDRangePolicy>; }; } // namespace Impl diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank1.cpp b/lib/kokkos/core/src/Kokkos_AcquireUniqueTokenImpl.hpp similarity index 68% rename from lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank1.cpp rename to lib/kokkos/core/src/Kokkos_AcquireUniqueTokenImpl.hpp index c4a52c2dea81980255314d61228b2b14ca414cb7..d6227b7bcf8c8b91516d169cc90ca5c3cf87539a 100644 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank1.cpp +++ b/lib/kokkos/core/src/Kokkos_AcquireUniqueTokenImpl.hpp @@ -1,3 +1,4 @@ +/* //@HEADER // ************************************************************************ // @@ -8,8 +9,6 @@ // Under the terms of Contract DE-NA0003525 with NTESS, // the U.S. Government retains certain rights in this software. // -// Kokkos is licensed under 3-clause BSD terms of use: -// // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are // met: @@ -41,15 +40,36 @@ // // ************************************************************************ //@HEADER +*/ + +#ifndef KOKKOS_ACQUIRE_UNIQUE_TOKEN_IMPL_HPP +#define KOKKOS_ACQUIRE_UNIQUE_TOKEN_IMPL_HPP -#define KOKKOS_IMPL_COMPILING_LIBRARY true #include +#include namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutLeft, LayoutRight, Cuda, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutLeft, LayoutLeft, Cuda, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutLeft, LayoutStride, Cuda, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float*, LayoutLeft, Cuda, int64_t) +namespace Experimental { + +template +KOKKOS_FUNCTION AcquireTeamUniqueToken::AcquireTeamUniqueToken( + AcquireTeamUniqueToken::token_type t, team_member_type team) + : my_token(t), my_team_acquired_val(team.team_scratch(0)), my_team(team) { + Kokkos::single(Kokkos::PerTeam(my_team), + [&]() { my_team_acquired_val() = my_token.acquire(); }); + my_team.team_barrier(); -} // namespace Impl + my_acquired_val = my_team_acquired_val(); +} + +template +KOKKOS_FUNCTION AcquireTeamUniqueToken::~AcquireTeamUniqueToken() { + my_team.team_barrier(); + Kokkos::single(Kokkos::PerTeam(my_team), + [&]() { my_token.release(my_acquired_val); }); + my_team.team_barrier(); +} + +} // namespace Experimental } // namespace Kokkos + +#endif // KOKKOS_UNIQUE_TOKEN_HPP diff --git a/lib/kokkos/core/src/Kokkos_AnonymousSpace.hpp b/lib/kokkos/core/src/Kokkos_AnonymousSpace.hpp index a4e887668f0f22c45a87ffdefc2d2c7b90c1fa87..d4632596c85bbe5fc6b5efddbb379dc44c9b3720 100644 --- a/lib/kokkos/core/src/Kokkos_AnonymousSpace.hpp +++ b/lib/kokkos/core/src/Kokkos_AnonymousSpace.hpp @@ -56,12 +56,12 @@ namespace Kokkos { class AnonymousSpace { public: //! Tag this class as a kokkos memory space - typedef AnonymousSpace memory_space; - typedef Kokkos::DefaultExecutionSpace execution_space; - typedef size_t size_type; + using memory_space = AnonymousSpace; + using execution_space = Kokkos::DefaultExecutionSpace; + using size_type = size_t; //! This memory space preferred device_type - typedef Kokkos::Device device_type; + using device_type = Kokkos::Device; /**\brief Default memory space instance */ AnonymousSpace() = default; diff --git a/lib/kokkos/core/src/Kokkos_Array.hpp b/lib/kokkos/core/src/Kokkos_Array.hpp index d830616bd67225eb4a1f0b6cb1c3f235307cf037..0d1408df1d2486f00a947255fae54497020d2fa6 100644 --- a/lib/kokkos/core/src/Kokkos_Array.hpp +++ b/lib/kokkos/core/src/Kokkos_Array.hpp @@ -122,13 +122,13 @@ struct Array { T m_internal_implementation_private_member_data[N]; public: - typedef T& reference; - typedef typename std::add_const::type& const_reference; - typedef size_t size_type; - typedef ptrdiff_t difference_type; - typedef T value_type; - typedef T* pointer; - typedef typename std::add_const::type* const_pointer; + using reference = T&; + using const_reference = typename std::add_const::type&; + using size_type = size_t; + using difference_type = ptrdiff_t; + using value_type = T; + using pointer = T*; + using const_pointer = typename std::add_const::type*; KOKKOS_INLINE_FUNCTION static constexpr size_type size() { return N; } KOKKOS_INLINE_FUNCTION static constexpr bool empty() { return false; } @@ -158,38 +158,18 @@ struct Array { KOKKOS_INLINE_FUNCTION const_pointer data() const { return &m_internal_implementation_private_member_data[0]; } - -#ifdef KOKKOS_IMPL_HIP_CLANG_WORKAROUND - // Do not default unless move and move-assignment are also defined - KOKKOS_DEFAULTED_FUNCTION ~Array() = default; - KOKKOS_DEFAULTED_FUNCTION Array() = default; - KOKKOS_DEFAULTED_FUNCTION Array(const Array&) = default; - KOKKOS_DEFAULTED_FUNCTION Array& operator=(const Array&) = default; - - // Some supported compilers are not sufficiently C++11 compliant - // for default move constructor and move assignment operator. - KOKKOS_DEFAULTED_FUNCTION Array(Array&&) = default; - KOKKOS_DEFAULTED_FUNCTION Array& operator=(Array&&) = default; - - KOKKOS_INLINE_FUNCTION - Array(const std::initializer_list& vals) { - for (size_t i = 0; i < N; i++) { - m_internal_implementation_private_member_data[i] = vals.begin()[i]; - } - } -#endif }; template struct Array { public: - typedef T& reference; - typedef typename std::add_const::type& const_reference; - typedef size_t size_type; - typedef ptrdiff_t difference_type; - typedef T value_type; - typedef T* pointer; - typedef typename std::add_const::type* const_pointer; + using reference = T&; + using const_reference = typename std::add_const::type&; + using size_type = size_t; + using difference_type = ptrdiff_t; + using value_type = T; + using pointer = T*; + using const_pointer = typename std::add_const::type*; KOKKOS_INLINE_FUNCTION static constexpr size_type size() { return 0; } KOKKOS_INLINE_FUNCTION static constexpr bool empty() { return true; } @@ -240,13 +220,13 @@ struct Array::contiguous> { size_t m_size; public: - typedef T& reference; - typedef typename std::add_const::type& const_reference; - typedef size_t size_type; - typedef ptrdiff_t difference_type; - typedef T value_type; - typedef T* pointer; - typedef typename std::add_const::type* const_pointer; + using reference = T&; + using const_reference = typename std::add_const::type&; + using size_type = size_t; + using difference_type = ptrdiff_t; + using value_type = T; + using pointer = T*; + using const_pointer = typename std::add_const::type*; KOKKOS_INLINE_FUNCTION constexpr size_type size() const { return m_size; } KOKKOS_INLINE_FUNCTION constexpr bool empty() const { return 0 != m_size; } @@ -309,13 +289,13 @@ struct Array::strided> { size_t m_stride; public: - typedef T& reference; - typedef typename std::add_const::type& const_reference; - typedef size_t size_type; - typedef ptrdiff_t difference_type; - typedef T value_type; - typedef T* pointer; - typedef typename std::add_const::type* const_pointer; + using reference = T&; + using const_reference = typename std::add_const::type&; + using size_type = size_t; + using difference_type = ptrdiff_t; + using value_type = T; + using pointer = T*; + using const_pointer = typename std::add_const::type*; KOKKOS_INLINE_FUNCTION constexpr size_type size() const { return m_size; } KOKKOS_INLINE_FUNCTION constexpr bool empty() const { return 0 != m_size; } diff --git a/lib/kokkos/core/src/Kokkos_Atomic.hpp b/lib/kokkos/core/src/Kokkos_Atomic.hpp index 55139d07b94aaa7c0b621a515335f31307d70101..89f84ae7ce297aa65f9c37701e69a4a8b7f6c4a0 100644 --- a/lib/kokkos/core/src/Kokkos_Atomic.hpp +++ b/lib/kokkos/core/src/Kokkos_Atomic.hpp @@ -75,6 +75,9 @@ //---------------------------------------------------------------------------- #if defined(_WIN32) #define KOKKOS_ENABLE_WINDOWS_ATOMICS +#if defined(KOKKOS_ENABLE_CUDA) +#define KOKKOS_ENABLE_CUDA_ATOMICS +#endif #else #if defined(KOKKOS_ENABLE_CUDA) @@ -86,7 +89,8 @@ #define KOKKOS_ENABLE_ROCM_ATOMICS -#elif defined(KOKKOS_ACTIVE_EXECUTION_MEMORY_SPACE_HIP_GPU) +#elif defined(KOKKOS_ACTIVE_EXECUTION_MEMORY_SPACE_HIP_GPU) || \ + defined(KOKKOS_IMPL_ENABLE_OVERLOAD_HOST_DEVICE) #define KOKKOS_ENABLE_HIP_ATOMICS @@ -188,7 +192,7 @@ extern KOKKOS_INLINE_FUNCTION void unlock_address_rocm_space(void* ptr); #ifdef _WIN32 #include "impl/Kokkos_Atomic_Windows.hpp" -#else +#endif //---------------------------------------------------------------------------- // Atomic Assembly // @@ -196,6 +200,15 @@ extern KOKKOS_INLINE_FUNCTION void unlock_address_rocm_space(void* ptr); #include "impl/Kokkos_Atomic_Assembly.hpp" +//---------------------------------------------------------------------------- +// Memory fence +// +// All loads and stores from this thread will be globally consistent before +// continuing +// +// void memory_fence() {...}; +#include "impl/Kokkos_Memory_Fence.hpp" + //---------------------------------------------------------------------------- // Atomic exchange // @@ -215,11 +228,8 @@ extern KOKKOS_INLINE_FUNCTION void unlock_address_rocm_space(void* ptr); #include "impl/Kokkos_Atomic_Compare_Exchange_Strong.hpp" -#endif //_WIN32 - #include "impl/Kokkos_Atomic_Generic.hpp" -#ifndef _WIN32 //---------------------------------------------------------------------------- // Atomic fetch and add // @@ -285,16 +295,6 @@ extern KOKKOS_INLINE_FUNCTION void unlock_address_rocm_space(void* ptr); // { T tmp = *dest ; *dest = max(*dest, val); return tmp ; } #include "impl/Kokkos_Atomic_MinMax.hpp" -#endif /*Not _WIN32*/ - -//---------------------------------------------------------------------------- -// Memory fence -// -// All loads and stores from this thread will be globally consistent before -// continuing -// -// void memory_fence() {...}; -#include "impl/Kokkos_Memory_Fence.hpp" //---------------------------------------------------------------------------- // Provide volatile_load and safe_load diff --git a/lib/kokkos/core/src/Kokkos_Complex.hpp b/lib/kokkos/core/src/Kokkos_Complex.hpp index fec5d62c3dd6c988fc542dcf3aeb43e58030dce7..5303b85beb3e0cb92df5566e7968cb1335534357 100644 --- a/lib/kokkos/core/src/Kokkos_Complex.hpp +++ b/lib/kokkos/core/src/Kokkos_Complex.hpp @@ -47,7 +47,7 @@ #include #include #include -#include +#include namespace Kokkos { @@ -219,10 +219,7 @@ class // Scale (by the "1-norm" of y) to avoid unwarranted overflow. // If the real part is +/-Inf and the imaginary part is -/+Inf, // this won't change the result. -#if !defined(__HIP_DEVICE_COMPILE__) // FIXME_HIP - using std::fabs; -#endif - const RealType s = fabs(y.real()) + fabs(y.imag()); + const RealType s = std::fabs(y.real()) + std::fabs(y.imag()); // If s is 0, then y is zero, so x/y == real(x)/0 + i*imag(x)/0. // In that case, the relation x/y == (x/s) / (y/s) doesn't hold, @@ -250,10 +247,7 @@ class // Scale (by the "1-norm" of y) to avoid unwarranted overflow. // If the real part is +/-Inf and the imaginary part is -/+Inf, // this won't change the result. -#if !defined(__HIP_DEVICE_COMPILE__) // FIXME_HIP - using std::fabs; -#endif - const RealType s = fabs(y.real()) + fabs(y.imag()); + const RealType s = std::fabs(y.real()) + std::fabs(y.imag()); // If s is 0, then y is zero, so x/y == real(x)/0 + i*imag(x)/0. // In that case, the relation x/y == (x/s) / (y/s) doesn't hold, @@ -698,43 +692,27 @@ KOKKOS_INLINE_FUNCTION RealType real(const complex& x) noexcept { //! Absolute value (magnitude) of a complex number. template KOKKOS_INLINE_FUNCTION RealType abs(const complex& x) { -#if !defined(__CUDA_ARCH__) && \ - !defined(__HIP_DEVICE_COMPILE__) // FIXME_CUDA FIXME_HIP - using std::hypot; -#endif - return hypot(x.real(), x.imag()); + return std::hypot(x.real(), x.imag()); } //! Power of a complex number template KOKKOS_INLINE_FUNCTION Kokkos::complex pow(const complex& x, const RealType& e) { - RealType r = abs(x); -#if !defined(__HIP_DEVICE_COMPILE__) // FIXME_HIP - using std::atan; - using std::cos; - using std::pow; - using std::sin; -#endif - using ::pow; - RealType phi = atan(x.imag() / x.real()); - return pow(r, e) * Kokkos::complex(cos(phi * e), sin(phi * e)); + RealType r = abs(x); + RealType phi = std::atan(x.imag() / x.real()); + return std::pow(r, e) * + Kokkos::complex(std::cos(phi * e), std::sin(phi * e)); } //! Square root of a complex number. template KOKKOS_INLINE_FUNCTION Kokkos::complex sqrt( const complex& x) { - RealType r = abs(x); -#if !defined(__HIP_DEVICE_COMPILE__) // FIXME_HIP - using std::atan; - using std::cos; - using std::sin; - using std::sqrt; -#endif - using ::sqrt; - RealType phi = atan(x.imag() / x.real()); - return sqrt(r) * Kokkos::complex(cos(phi * 0.5), sin(phi * 0.5)); + RealType r = abs(x); + RealType phi = std::atan(x.imag() / x.real()); + return std::sqrt(r) * + Kokkos::complex(std::cos(phi * 0.5), std::sin(phi * 0.5)); } //! Conjugate of a complex number. @@ -747,14 +725,8 @@ KOKKOS_INLINE_FUNCTION complex conj( //! Exponential of a complex number. template KOKKOS_INLINE_FUNCTION complex exp(const complex& x) { -#if !defined(__HIP_DEVICE_COMPILE__) // FIXME_HIP - using std::cos; - using std::exp; - using std::sin; -#else - using ::exp; -#endif - return exp(x.real()) * complex(cos(x.imag()), sin(x.imag())); + return std::exp(x.real()) * + complex(std::cos(x.imag()), std::sin(x.imag())); } /// This function cannot be called in a CUDA device function, @@ -787,12 +759,9 @@ KOKKOS_INLINE_FUNCTION // Scale (by the "1-norm" of y) to avoid unwarranted overflow. // If the real part is +/-Inf and the imaginary part is -/+Inf, // this won't change the result. -#if !defined(__HIP_DEVICE_COMPILE__) // FIXME_HIP - using std::fabs; -#endif - typedef - typename std::common_type::type common_real_type; - const common_real_type s = fabs(real(y)) + fabs(imag(y)); + using common_real_type = + typename std::common_type::type; + const common_real_type s = std::fabs(real(y)) + std::fabs(imag(y)); // If s is 0, then y is zero, so x/y == real(x)/0 + i*imag(x)/0. // In that case, the relation x/y == (x/s) / (y/s) doesn't hold, @@ -838,7 +807,7 @@ std::istream& operator>>(std::istream& is, complex& x) { template struct reduction_identity > { - typedef reduction_identity t_red_ident; + using t_red_ident = reduction_identity; KOKKOS_FORCEINLINE_FUNCTION constexpr static Kokkos::complex sum() noexcept { return Kokkos::complex(t_red_ident::sum(), t_red_ident::sum()); diff --git a/lib/kokkos/core/src/Kokkos_Concepts.hpp b/lib/kokkos/core/src/Kokkos_Concepts.hpp index 13d7925c127c2353af68d11d8746263047dfd1dc..4989f2701c4c31b35a67ee2bd128db3d2c752f5e 100644 --- a/lib/kokkos/core/src/Kokkos_Concepts.hpp +++ b/lib/kokkos/core/src/Kokkos_Concepts.hpp @@ -95,11 +95,11 @@ struct WorkItemProperty { ImplWorkItemProperty<4>(); constexpr static const ImplWorkItemProperty<8> HintIrregular = ImplWorkItemProperty<8>(); - typedef ImplWorkItemProperty<0> None_t; - typedef ImplWorkItemProperty<1> HintLightWeight_t; - typedef ImplWorkItemProperty<2> HintHeavyWeight_t; - typedef ImplWorkItemProperty<4> HintRegular_t; - typedef ImplWorkItemProperty<8> HintIrregular_t; + using None_t = ImplWorkItemProperty<0>; + using HintLightWeight_t = ImplWorkItemProperty<1>; + using HintHeavyWeight_t = ImplWorkItemProperty<2>; + using HintRegular_t = ImplWorkItemProperty<4>; + using HintIrregular_t = ImplWorkItemProperty<8>; }; template @@ -219,7 +219,7 @@ class has_member_team_shmem_size { public: constexpr static bool value = - sizeof(test_for_member(0)) == sizeof(int32_t); + sizeof(test_for_member(nullptr)) == sizeof(int32_t); }; template @@ -250,9 +250,9 @@ struct Device { "Execution space is not valid"); static_assert(Kokkos::is_memory_space::value, "Memory space is not valid"); - typedef ExecutionSpace execution_space; - typedef MemorySpace memory_space; - typedef Device device_type; + using execution_space = ExecutionSpace; + using memory_space = MemorySpace; + using device_type = Device; }; namespace Impl { @@ -277,88 +277,85 @@ struct is_space { private: template struct exe : std::false_type { - typedef void space; + using space = void; }; template struct mem : std::false_type { - typedef void space; + using space = void; }; template struct dev : std::false_type { - typedef void space; + using space = void; }; template struct exe::type> : std::is_same::type { - typedef typename U::execution_space space; + using space = typename U::execution_space; }; template struct mem< U, typename std::conditional::type> : std::is_same::type { - typedef typename U::memory_space space; + using space = typename U::memory_space; }; template struct dev< U, typename std::conditional::type> : std::is_same::type { - typedef typename U::device_type space; + using space = typename U::device_type; }; - typedef typename is_space::template exe::type> - is_exe; - typedef typename is_space::template mem::type> - is_mem; - typedef typename is_space::template dev::type> - is_dev; + using is_exe = + typename is_space::template exe::type>; + using is_mem = + typename is_space::template mem::type>; + using is_dev = + typename is_space::template dev::type>; public: static constexpr bool value = is_exe::value || is_mem::value || is_dev::value; constexpr operator bool() const noexcept { return value; } - typedef typename is_exe::space execution_space; - typedef typename is_mem::space memory_space; + using execution_space = typename is_exe::space; + using memory_space = typename is_mem::space; // For backward compatibility, deprecated in favor of // Kokkos::Impl::HostMirror::host_mirror_space - typedef typename std::conditional< + using host_memory_space = typename std::conditional< std::is_same::value #if defined(KOKKOS_ENABLE_CUDA) || std::is_same::value || std::is_same::value #endif /* #if defined( KOKKOS_ENABLE_CUDA ) */ , - memory_space, Kokkos::HostSpace>::type host_memory_space; + memory_space, Kokkos::HostSpace>::type; #if defined(KOKKOS_ENABLE_CUDA) - typedef typename std::conditional< + using host_execution_space = typename std::conditional< std::is_same::value, - Kokkos::DefaultHostExecutionSpace, execution_space>::type - host_execution_space; + Kokkos::DefaultHostExecutionSpace, execution_space>::type; #else #if defined(KOKKOS_ENABLE_OPENMPTARGET) - typedef typename std::conditional< + using host_execution_space = typename std::conditional< std::is_same::value, - Kokkos::DefaultHostExecutionSpace, execution_space>::type - host_execution_space; + Kokkos::DefaultHostExecutionSpace, execution_space>::type; #else - typedef execution_space host_execution_space; + using host_execution_space = execution_space; #endif #endif - typedef typename std::conditional< + using host_mirror_space = typename std::conditional< std::is_same::value && std::is_same::value, - T, Kokkos::Device>::type - host_mirror_space; + T, Kokkos::Device>::type; }; // For backward compatibility @@ -447,13 +444,12 @@ struct SpaceAccessibility { typename AccessSpace::memory_space>::accessible, "template argument #1 is an invalid space"); - typedef Kokkos::Impl::MemorySpaceAccess< - typename AccessSpace::execution_space::memory_space, MemorySpace> - exe_access; + using exe_access = Kokkos::Impl::MemorySpaceAccess< + typename AccessSpace::execution_space::memory_space, MemorySpace>; - typedef Kokkos::Impl::MemorySpaceAccess - mem_access; + using mem_access = + Kokkos::Impl::MemorySpaceAccess; public: /**\brief Can AccessSpace::execution_space access MemorySpace ? @@ -479,12 +475,11 @@ struct SpaceAccessibility { // to be able to access MemorySpace? // If same memory space or not accessible use the AccessSpace // else construct a device with execution space and memory space. - typedef typename std::conditional< + using space = typename std::conditional< std::is_same::value || !exe_access::accessible, AccessSpace, - Kokkos::Device>::type - space; + Kokkos::Device>::type; }; } // namespace Kokkos diff --git a/lib/kokkos/core/src/Kokkos_CopyViews.hpp b/lib/kokkos/core/src/Kokkos_CopyViews.hpp index 810b71273330ffa183d2d305a2ce23af30bdedaa..78538dc7df0985310943aeb67e8a9f766c253946 100644 --- a/lib/kokkos/core/src/Kokkos_CopyViews.hpp +++ b/lib/kokkos/core/src/Kokkos_CopyViews.hpp @@ -45,14 +45,12 @@ #ifndef KOKKOS_COPYVIEWS_HPP_ #define KOKKOS_COPYVIEWS_HPP_ #include +#include +#include //---------------------------------------------------------------------------- //---------------------------------------------------------------------------- -#ifndef KOKKOS_IMPL_COMPILING_LIBRARY -#define KOKKOS_IMPL_COMPILING_LIBRARY false -#endif - namespace Kokkos { namespace Impl { @@ -73,116 +71,12 @@ struct ViewFillLayoutSelector { } // namespace Impl } // namespace Kokkos -#include - namespace Kokkos { namespace Impl { -template -struct ViewFill { - ViewType a; - typename ViewType::const_value_type val; - typedef typename ViewType::non_const_value_type ST; - ViewFill(const ViewType&, const ST&, const ExecSpace&); -}; - -template -struct ViewFill { - ViewType a; - typename ViewType::const_value_type val; - typedef typename ViewType::non_const_value_type ST; - ViewFill(const ViewType&, const ST&, const ExecSpace&); - KOKKOS_INLINE_FUNCTION - void operator()(const iType&) const; -}; - -template -struct ViewFill { - ViewType a; - typename ViewType::const_value_type val; - typedef typename ViewType::non_const_value_type ST; - ViewFill(const ViewType&, const ST&, const ExecSpace&); - KOKKOS_INLINE_FUNCTION - void operator()(const iType&, const iType&) const; -}; - -template -struct ViewFill { - ViewType a; - typename ViewType::const_value_type val; - typedef typename ViewType::non_const_value_type ST; - ViewFill(const ViewType&, const ST&, const ExecSpace&); - KOKKOS_INLINE_FUNCTION - void operator()(const iType&, const iType&, const iType&) const; -}; - -template -struct ViewFill { - ViewType a; - typename ViewType::const_value_type val; - typedef typename ViewType::non_const_value_type ST; - ViewFill(const ViewType&, const ST&, const ExecSpace&); - KOKKOS_INLINE_FUNCTION - void operator()(const iType&, const iType&, const iType&, const iType&) const; -}; - -template -struct ViewFill { - ViewType a; - typename ViewType::const_value_type val; - typedef typename ViewType::non_const_value_type ST; - ViewFill(const ViewType&, const ST&, const ExecSpace&); - KOKKOS_INLINE_FUNCTION - void operator()(const iType&, const iType&, const iType&, const iType&, - const iType&) const; -}; - -template -struct ViewFill { - ViewType a; - typename ViewType::const_value_type val; - typedef typename ViewType::non_const_value_type ST; - ViewFill(const ViewType&, const ST&, const ExecSpace&); - KOKKOS_INLINE_FUNCTION - void operator()(const iType&, const iType&, const iType&, const iType&, - const iType&, const iType&) const; -}; - -template -struct ViewFill { - ViewType a; - typename ViewType::const_value_type val; - typedef typename ViewType::non_const_value_type ST; - ViewFill(const ViewType&, const ST&, const ExecSpace&); - KOKKOS_INLINE_FUNCTION - void operator()(const iType&, const iType&, const iType&, const iType&, - const iType&, const iType&, const iType&) const; -}; - -template -struct ViewFill { - ViewType a; - typename ViewType::const_value_type val; - typedef typename ViewType::non_const_value_type ST; - ViewFill(const ViewType&, const ST&, const ExecSpace&); - KOKKOS_INLINE_FUNCTION - void operator()(const iType&, const iType&, const iType&, const iType&, - const iType&, const iType&, const iType&, const iType&) const; -}; - template -struct ViewFill { - typedef typename ViewType::non_const_value_type ST; +struct ViewFill { + using ST = typename ViewType::non_const_value_type; ViewFill(const ViewType& a, const ST& val, const ExecSpace& space) { Kokkos::Impl::DeepCopy(space, a.data(), &val, sizeof(ST)); @@ -190,11 +84,10 @@ struct ViewFill -struct ViewFill { +struct ViewFill { ViewType a; typename ViewType::const_value_type val; - typedef Kokkos::RangePolicy> policy_type; + using policy_type = Kokkos::RangePolicy>; ViewFill(const ViewType& a_, typename ViewType::const_value_type& val_, const ExecSpace& space) @@ -208,17 +101,14 @@ struct ViewFill -struct ViewFill { +struct ViewFill { ViewType a; typename ViewType::const_value_type val; - typedef Kokkos::Rank<2, ViewFillLayoutSelector::iterate, - ViewFillLayoutSelector::iterate> - iterate_type; - typedef Kokkos::MDRangePolicy> - policy_type; + using iterate_type = Kokkos::Rank<2, ViewFillLayoutSelector::iterate, + ViewFillLayoutSelector::iterate>; + using policy_type = + Kokkos::MDRangePolicy>; ViewFill(const ViewType& a_, typename ViewType::const_value_type& val_, const ExecSpace& space) @@ -233,17 +123,14 @@ struct ViewFill -struct ViewFill { +struct ViewFill { ViewType a; typename ViewType::const_value_type val; - typedef Kokkos::Rank<3, ViewFillLayoutSelector::iterate, - ViewFillLayoutSelector::iterate> - iterate_type; - typedef Kokkos::MDRangePolicy> - policy_type; + using iterate_type = Kokkos::Rank<3, ViewFillLayoutSelector::iterate, + ViewFillLayoutSelector::iterate>; + using policy_type = + Kokkos::MDRangePolicy>; ViewFill(const ViewType& a_, typename ViewType::const_value_type& val_, const ExecSpace& space) @@ -261,17 +148,14 @@ struct ViewFill -struct ViewFill { +struct ViewFill { ViewType a; typename ViewType::const_value_type val; - typedef Kokkos::Rank<4, ViewFillLayoutSelector::iterate, - ViewFillLayoutSelector::iterate> - iterate_type; - typedef Kokkos::MDRangePolicy> - policy_type; + using iterate_type = Kokkos::Rank<4, ViewFillLayoutSelector::iterate, + ViewFillLayoutSelector::iterate>; + using policy_type = + Kokkos::MDRangePolicy>; ViewFill(const ViewType& a_, typename ViewType::const_value_type& val_, const ExecSpace& space) @@ -291,17 +175,14 @@ struct ViewFill -struct ViewFill { +struct ViewFill { ViewType a; typename ViewType::const_value_type val; - typedef Kokkos::Rank<5, ViewFillLayoutSelector::iterate, - ViewFillLayoutSelector::iterate> - iterate_type; - typedef Kokkos::MDRangePolicy> - policy_type; + using iterate_type = Kokkos::Rank<5, ViewFillLayoutSelector::iterate, + ViewFillLayoutSelector::iterate>; + using policy_type = + Kokkos::MDRangePolicy>; ViewFill(const ViewType& a_, typename ViewType::const_value_type& val_, const ExecSpace& space) @@ -321,17 +202,14 @@ struct ViewFill -struct ViewFill { +struct ViewFill { ViewType a; typename ViewType::const_value_type val; - typedef Kokkos::Rank<6, ViewFillLayoutSelector::iterate, - ViewFillLayoutSelector::iterate> - iterate_type; - typedef Kokkos::MDRangePolicy> - policy_type; + using iterate_type = Kokkos::Rank<6, ViewFillLayoutSelector::iterate, + ViewFillLayoutSelector::iterate>; + using policy_type = + Kokkos::MDRangePolicy>; ViewFill(const ViewType& a_, typename ViewType::const_value_type& val_, const ExecSpace& space) @@ -351,17 +229,14 @@ struct ViewFill -struct ViewFill { +struct ViewFill { ViewType a; typename ViewType::const_value_type val; - typedef Kokkos::Rank<6, ViewFillLayoutSelector::iterate, - ViewFillLayoutSelector::iterate> - iterate_type; - typedef Kokkos::MDRangePolicy> - policy_type; + using iterate_type = Kokkos::Rank<6, ViewFillLayoutSelector::iterate, + ViewFillLayoutSelector::iterate>; + using policy_type = + Kokkos::MDRangePolicy>; ViewFill(const ViewType& a_, typename ViewType::const_value_type& val_, const ExecSpace& space) @@ -382,17 +257,14 @@ struct ViewFill -struct ViewFill { +struct ViewFill { ViewType a; typename ViewType::const_value_type val; - typedef Kokkos::Rank<6, ViewFillLayoutSelector::iterate, - ViewFillLayoutSelector::iterate> - iterate_type; - typedef Kokkos::MDRangePolicy> - policy_type; + using iterate_type = Kokkos::Rank<6, ViewFillLayoutSelector::iterate, + ViewFillLayoutSelector::iterate>; + using policy_type = + Kokkos::MDRangePolicy>; ViewFill(const ViewType& a_, typename ViewType::const_value_type& val_, const ExecSpace& space) @@ -413,101 +285,13 @@ struct ViewFill -struct ViewCopy { - ViewTypeA a; - ViewTypeB b; - ViewCopy(const ViewTypeA&, const ViewTypeB&, const ExecSpace&); - KOKKOS_INLINE_FUNCTION - void operator()(const iType& i0) const; -}; - -template -struct ViewCopy { - ViewTypeA a; - ViewTypeB b; - ViewCopy(const ViewTypeA&, const ViewTypeB&, const ExecSpace&); - KOKKOS_INLINE_FUNCTION - void operator()(const iType& i0, const iType& i1) const; -}; - -template -struct ViewCopy { - ViewTypeA a; - ViewTypeB b; - ViewCopy(const ViewTypeA&, const ViewTypeB&, const ExecSpace&); - KOKKOS_INLINE_FUNCTION - void operator()(const iType& i0, const iType& i1, const iType& i2) const; -}; - -template -struct ViewCopy { - ViewTypeA a; - ViewTypeB b; - ViewCopy(const ViewTypeA&, const ViewTypeB&, const ExecSpace&); - KOKKOS_INLINE_FUNCTION - void operator()(const iType& i0, const iType& i1, const iType& i2, - const iType& i3) const; -}; - -template -struct ViewCopy { - ViewTypeA a; - ViewTypeB b; - ViewCopy(const ViewTypeA&, const ViewTypeB&, const ExecSpace&); - KOKKOS_INLINE_FUNCTION - void operator()(const iType& i0, const iType& i1, const iType& i2, - const iType& i3, const iType& i4) const; -}; - -template -struct ViewCopy { - ViewTypeA a; - ViewTypeB b; - ViewCopy(const ViewTypeA&, const ViewTypeB&, const ExecSpace&); - KOKKOS_INLINE_FUNCTION - void operator()(const iType& i0, const iType& i1, const iType& i2, - const iType& i3, const iType& i4, const iType& i5) const; -}; - -template -struct ViewCopy { - ViewTypeA a; - ViewTypeB b; - ViewCopy(const ViewTypeA&, const ViewTypeB&, const ExecSpace&); - KOKKOS_INLINE_FUNCTION - void operator()(const iType& i0, const iType& i1, const iType& i2, - const iType& i3, const iType& i4, const iType& i5, - const iType& i6) const; -}; - -template -struct ViewCopy { - ViewTypeA a; - ViewTypeB b; - ViewCopy(const ViewTypeA&, const ViewTypeB&, const ExecSpace&); - KOKKOS_INLINE_FUNCTION - void operator()(const iType& i0, const iType& i1, const iType& i2, - const iType& i3, const iType& i4, const iType& i5, - const iType& i6, const iType& i7) const; -}; - template -struct ViewCopy { +struct ViewCopy { ViewTypeA a; ViewTypeB b; - typedef Kokkos::RangePolicy> policy_type; + using policy_type = Kokkos::RangePolicy>; ViewCopy(const ViewTypeA& a_, const ViewTypeB& b_, const ExecSpace space = ExecSpace()) @@ -522,19 +306,17 @@ struct ViewCopy -struct ViewCopy { +struct ViewCopy { ViewTypeA a; ViewTypeB b; static const Kokkos::Iterate outer_iteration_pattern = Kokkos::layout_iterate_type_selector::outer_iteration_pattern; static const Kokkos::Iterate inner_iteration_pattern = Kokkos::layout_iterate_type_selector::inner_iteration_pattern; - typedef Kokkos::Rank<2, outer_iteration_pattern, inner_iteration_pattern> - iterate_type; - typedef Kokkos::MDRangePolicy> - policy_type; + using iterate_type = + Kokkos::Rank<2, outer_iteration_pattern, inner_iteration_pattern>; + using policy_type = + Kokkos::MDRangePolicy>; ViewCopy(const ViewTypeA& a_, const ViewTypeB& b_, const ExecSpace space = ExecSpace()) @@ -552,8 +334,7 @@ struct ViewCopy -struct ViewCopy { +struct ViewCopy { ViewTypeA a; ViewTypeB b; @@ -561,11 +342,10 @@ struct ViewCopy::outer_iteration_pattern; static const Kokkos::Iterate inner_iteration_pattern = Kokkos::layout_iterate_type_selector::inner_iteration_pattern; - typedef Kokkos::Rank<3, outer_iteration_pattern, inner_iteration_pattern> - iterate_type; - typedef Kokkos::MDRangePolicy> - policy_type; + using iterate_type = + Kokkos::Rank<3, outer_iteration_pattern, inner_iteration_pattern>; + using policy_type = + Kokkos::MDRangePolicy>; ViewCopy(const ViewTypeA& a_, const ViewTypeB& b_, const ExecSpace space = ExecSpace()) @@ -584,8 +364,7 @@ struct ViewCopy -struct ViewCopy { +struct ViewCopy { ViewTypeA a; ViewTypeB b; @@ -593,11 +372,10 @@ struct ViewCopy::outer_iteration_pattern; static const Kokkos::Iterate inner_iteration_pattern = Kokkos::layout_iterate_type_selector::inner_iteration_pattern; - typedef Kokkos::Rank<4, outer_iteration_pattern, inner_iteration_pattern> - iterate_type; - typedef Kokkos::MDRangePolicy> - policy_type; + using iterate_type = + Kokkos::Rank<4, outer_iteration_pattern, inner_iteration_pattern>; + using policy_type = + Kokkos::MDRangePolicy>; ViewCopy(const ViewTypeA& a_, const ViewTypeB& b_, const ExecSpace space = ExecSpace()) @@ -618,8 +396,7 @@ struct ViewCopy -struct ViewCopy { +struct ViewCopy { ViewTypeA a; ViewTypeB b; @@ -627,11 +404,10 @@ struct ViewCopy::outer_iteration_pattern; static const Kokkos::Iterate inner_iteration_pattern = Kokkos::layout_iterate_type_selector::inner_iteration_pattern; - typedef Kokkos::Rank<5, outer_iteration_pattern, inner_iteration_pattern> - iterate_type; - typedef Kokkos::MDRangePolicy> - policy_type; + using iterate_type = + Kokkos::Rank<5, outer_iteration_pattern, inner_iteration_pattern>; + using policy_type = + Kokkos::MDRangePolicy>; ViewCopy(const ViewTypeA& a_, const ViewTypeB& b_, const ExecSpace space = ExecSpace()) @@ -652,8 +428,7 @@ struct ViewCopy -struct ViewCopy { +struct ViewCopy { ViewTypeA a; ViewTypeB b; @@ -661,11 +436,10 @@ struct ViewCopy::outer_iteration_pattern; static const Kokkos::Iterate inner_iteration_pattern = Kokkos::layout_iterate_type_selector::inner_iteration_pattern; - typedef Kokkos::Rank<6, outer_iteration_pattern, inner_iteration_pattern> - iterate_type; - typedef Kokkos::MDRangePolicy> - policy_type; + using iterate_type = + Kokkos::Rank<6, outer_iteration_pattern, inner_iteration_pattern>; + using policy_type = + Kokkos::MDRangePolicy>; ViewCopy(const ViewTypeA& a_, const ViewTypeB& b_, const ExecSpace space = ExecSpace()) @@ -686,8 +460,7 @@ struct ViewCopy -struct ViewCopy { +struct ViewCopy { ViewTypeA a; ViewTypeB b; @@ -695,11 +468,10 @@ struct ViewCopy::outer_iteration_pattern; static const Kokkos::Iterate inner_iteration_pattern = Kokkos::layout_iterate_type_selector::inner_iteration_pattern; - typedef Kokkos::Rank<6, outer_iteration_pattern, inner_iteration_pattern> - iterate_type; - typedef Kokkos::MDRangePolicy> - policy_type; + using iterate_type = + Kokkos::Rank<6, outer_iteration_pattern, inner_iteration_pattern>; + using policy_type = + Kokkos::MDRangePolicy>; ViewCopy(const ViewTypeA& a_, const ViewTypeB& b_, const ExecSpace space = ExecSpace()) @@ -721,8 +493,7 @@ struct ViewCopy -struct ViewCopy { +struct ViewCopy { ViewTypeA a; ViewTypeB b; @@ -730,11 +501,10 @@ struct ViewCopy::outer_iteration_pattern; static const Kokkos::Iterate inner_iteration_pattern = Kokkos::layout_iterate_type_selector::inner_iteration_pattern; - typedef Kokkos::Rank<6, outer_iteration_pattern, inner_iteration_pattern> - iterate_type; - typedef Kokkos::MDRangePolicy> - policy_type; + using iterate_type = + Kokkos::Rank<6, outer_iteration_pattern, inner_iteration_pattern>; + using policy_type = + Kokkos::MDRangePolicy>; ViewCopy(const ViewTypeA& a_, const ViewTypeB& b_, const ExecSpace space = ExecSpace()) @@ -758,16 +528,14 @@ struct ViewCopy - namespace Kokkos { namespace Impl { template void view_copy(const ExecutionSpace& space, const DstType& dst, const SrcType& src) { - typedef typename DstType::memory_space dst_memory_space; - typedef typename SrcType::memory_space src_memory_space; + using dst_memory_space = typename DstType::memory_space; + using src_memory_space = typename SrcType::memory_space; enum { ExecCanAccessSrc = @@ -844,10 +612,10 @@ void view_copy(const ExecutionSpace& space, const DstType& dst, template void view_copy(const DstType& dst, const SrcType& src) { - typedef typename DstType::execution_space dst_execution_space; - typedef typename SrcType::execution_space src_execution_space; - typedef typename DstType::memory_space dst_memory_space; - typedef typename SrcType::memory_space src_memory_space; + using dst_execution_space = typename DstType::execution_space; + using src_execution_space = typename SrcType::execution_space; + using dst_memory_space = typename DstType::memory_space; + using src_memory_space = typename SrcType::memory_space; enum { DstExecCanAccessSrc = @@ -962,8 +730,8 @@ struct CommonSubview; template struct CommonSubview { - typedef typename Kokkos::Subview dst_subview_type; - typedef typename Kokkos::Subview src_subview_type; + using dst_subview_type = typename Kokkos::Subview; + using src_subview_type = typename Kokkos::Subview; dst_subview_type dst_sub; src_subview_type src_sub; CommonSubview(const DstType& dst, const SrcType& src, const Arg0& arg0, @@ -973,8 +741,8 @@ struct CommonSubview { template struct CommonSubview { - typedef typename Kokkos::Subview dst_subview_type; - typedef typename Kokkos::Subview src_subview_type; + using dst_subview_type = typename Kokkos::Subview; + using src_subview_type = typename Kokkos::Subview; dst_subview_type dst_sub; src_subview_type src_sub; CommonSubview(const DstType& dst, const SrcType& src, const Arg0& arg0, @@ -985,8 +753,8 @@ struct CommonSubview { template struct CommonSubview { - typedef typename Kokkos::Subview dst_subview_type; - typedef typename Kokkos::Subview src_subview_type; + using dst_subview_type = typename Kokkos::Subview; + using src_subview_type = typename Kokkos::Subview; dst_subview_type dst_sub; src_subview_type src_sub; CommonSubview(const DstType& dst, const SrcType& src, const Arg0& arg0, @@ -997,10 +765,10 @@ struct CommonSubview { template struct CommonSubview { - typedef typename Kokkos::Subview - dst_subview_type; - typedef typename Kokkos::Subview - src_subview_type; + using dst_subview_type = + typename Kokkos::Subview; + using src_subview_type = + typename Kokkos::Subview; dst_subview_type dst_sub; src_subview_type src_sub; CommonSubview(const DstType& dst, const SrcType& src, const Arg0& arg0, @@ -1014,10 +782,10 @@ template struct CommonSubview { - typedef typename Kokkos::Subview - dst_subview_type; - typedef typename Kokkos::Subview - src_subview_type; + using dst_subview_type = + typename Kokkos::Subview; + using src_subview_type = + typename Kokkos::Subview; dst_subview_type dst_sub; src_subview_type src_sub; CommonSubview(const DstType& dst, const SrcType& src, const Arg0& arg0, @@ -1031,10 +799,10 @@ template struct CommonSubview { - typedef typename Kokkos::Subview - dst_subview_type; - typedef typename Kokkos::Subview - src_subview_type; + using dst_subview_type = + typename Kokkos::Subview; + using src_subview_type = + typename Kokkos::Subview; dst_subview_type dst_sub; src_subview_type src_sub; CommonSubview(const DstType& dst, const SrcType& src, const Arg0& arg0, @@ -1048,12 +816,10 @@ template struct CommonSubview { - typedef typename Kokkos::Subview - dst_subview_type; - typedef typename Kokkos::Subview - src_subview_type; + using dst_subview_type = typename Kokkos::Subview; + using src_subview_type = typename Kokkos::Subview; dst_subview_type dst_sub; src_subview_type src_sub; CommonSubview(const DstType& dst, const SrcType& src, const Arg0& arg0, @@ -1067,12 +833,12 @@ template struct CommonSubview { - typedef typename Kokkos::Subview - dst_subview_type; - typedef typename Kokkos::Subview - src_subview_type; + using dst_subview_type = + typename Kokkos::Subview; + using src_subview_type = + typename Kokkos::Subview; dst_subview_type dst_sub; src_subview_type src_sub; CommonSubview(const DstType& dst, const SrcType& src, const Arg0& arg0, @@ -1090,14 +856,14 @@ struct ViewRemap; template struct ViewRemap { - typedef Kokkos::pair p_type; + using p_type = Kokkos::pair; ViewRemap(const DstType& dst, const SrcType& src) { if (dst.extent(0) == src.extent(0)) { view_copy(dst, src); } else { p_type ext0(0, std::min(dst.extent(0), src.extent(0))); - typedef CommonSubview sv_adapter_type; + using sv_adapter_type = CommonSubview; sv_adapter_type common_subview(dst, src, ext0); view_copy(common_subview.dst_sub, common_subview.src_sub); } @@ -1106,7 +872,7 @@ struct ViewRemap { template struct ViewRemap { - typedef Kokkos::pair p_type; + using p_type = Kokkos::pair; ViewRemap(const DstType& dst, const SrcType& src) { if (dst.extent(0) == src.extent(0)) { @@ -1114,23 +880,23 @@ struct ViewRemap { view_copy(dst, src); } else { p_type ext1(0, std::min(dst.extent(1), src.extent(1))); - typedef CommonSubview - sv_adapter_type; + using sv_adapter_type = + CommonSubview; sv_adapter_type common_subview(dst, src, Kokkos::ALL, ext1); view_copy(common_subview.dst_sub, common_subview.src_sub); } } else { if (dst.extent(1) == src.extent(1)) { p_type ext0(0, std::min(dst.extent(0), src.extent(0))); - typedef CommonSubview - sv_adapter_type; + using sv_adapter_type = + CommonSubview; sv_adapter_type common_subview(dst, src, ext0, Kokkos::ALL); view_copy(common_subview.dst_sub, common_subview.src_sub); } else { p_type ext0(0, std::min(dst.extent(0), src.extent(0))); p_type ext1(0, std::min(dst.extent(1), src.extent(1))); - typedef CommonSubview - sv_adapter_type; + using sv_adapter_type = + CommonSubview; sv_adapter_type common_subview(dst, src, ext0, ext1); view_copy(common_subview.dst_sub, common_subview.src_sub); } @@ -1140,24 +906,24 @@ struct ViewRemap { template struct ViewRemap { - typedef Kokkos::pair p_type; + using p_type = Kokkos::pair; ViewRemap(const DstType& dst, const SrcType& src) { if (dst.extent(0) == src.extent(0)) { if (dst.extent(2) == src.extent(2)) { p_type ext1(0, std::min(dst.extent(1), src.extent(1))); - typedef CommonSubview - sv_adapter_type; + using sv_adapter_type = + CommonSubview; sv_adapter_type common_subview(dst, src, Kokkos::ALL, ext1, Kokkos::ALL); view_copy(common_subview.dst_sub, common_subview.src_sub); } else { p_type ext1(0, std::min(dst.extent(1), src.extent(1))); p_type ext2(0, std::min(dst.extent(2), src.extent(2))); - typedef CommonSubview - sv_adapter_type; + using sv_adapter_type = + CommonSubview; sv_adapter_type common_subview(dst, src, Kokkos::ALL, ext1, ext2); view_copy(common_subview.dst_sub, common_subview.src_sub); } @@ -1165,17 +931,16 @@ struct ViewRemap { if (dst.extent(2) == src.extent(2)) { p_type ext0(0, std::min(dst.extent(0), src.extent(0))); p_type ext1(0, std::min(dst.extent(1), src.extent(1))); - typedef CommonSubview - sv_adapter_type; + using sv_adapter_type = CommonSubview; sv_adapter_type common_subview(dst, src, ext0, ext1, Kokkos::ALL); view_copy(common_subview.dst_sub, common_subview.src_sub); } else { p_type ext0(0, std::min(dst.extent(0), src.extent(0))); p_type ext1(0, std::min(dst.extent(1), src.extent(1))); p_type ext2(0, std::min(dst.extent(2), src.extent(2))); - typedef CommonSubview - sv_adapter_type; + using sv_adapter_type = + CommonSubview; sv_adapter_type common_subview(dst, src, ext0, ext1, ext2); view_copy(common_subview.dst_sub, common_subview.src_sub); } @@ -1185,16 +950,16 @@ struct ViewRemap { template struct ViewRemap { - typedef Kokkos::pair p_type; + using p_type = Kokkos::pair; ViewRemap(const DstType& dst, const SrcType& src) { if (dst.extent(0) == src.extent(0)) { if (dst.extent(3) == src.extent(3)) { p_type ext1(0, std::min(dst.extent(1), src.extent(1))); p_type ext2(0, std::min(dst.extent(2), src.extent(2))); - typedef CommonSubview - sv_adapter_type; + using sv_adapter_type = + CommonSubview; sv_adapter_type common_subview(dst, src, Kokkos::ALL, ext1, ext2, Kokkos::ALL); view_copy(common_subview.dst_sub, common_subview.src_sub); @@ -1202,9 +967,9 @@ struct ViewRemap { p_type ext1(0, std::min(dst.extent(1), src.extent(1))); p_type ext2(0, std::min(dst.extent(2), src.extent(2))); p_type ext3(0, std::min(dst.extent(3), src.extent(3))); - typedef CommonSubview - sv_adapter_type; + using sv_adapter_type = + CommonSubview; sv_adapter_type common_subview(dst, src, Kokkos::ALL, ext1, ext2, ext3); view_copy(common_subview.dst_sub, common_subview.src_sub); } @@ -1213,9 +978,9 @@ struct ViewRemap { p_type ext0(0, std::min(dst.extent(0), src.extent(0))); p_type ext1(0, std::min(dst.extent(1), src.extent(1))); p_type ext2(0, std::min(dst.extent(2), src.extent(2))); - typedef CommonSubview - sv_adapter_type; + using sv_adapter_type = + CommonSubview; sv_adapter_type common_subview(dst, src, ext0, ext1, ext2, Kokkos::ALL); view_copy(common_subview.dst_sub, common_subview.src_sub); } else { @@ -1223,9 +988,8 @@ struct ViewRemap { p_type ext1(0, std::min(dst.extent(1), src.extent(1))); p_type ext2(0, std::min(dst.extent(2), src.extent(2))); p_type ext3(0, std::min(dst.extent(3), src.extent(3))); - typedef CommonSubview - sv_adapter_type; + using sv_adapter_type = + CommonSubview; sv_adapter_type common_subview(dst, src, ext0, ext1, ext2, ext3); view_copy(common_subview.dst_sub, common_subview.src_sub); } @@ -1235,7 +999,7 @@ struct ViewRemap { template struct ViewRemap { - typedef Kokkos::pair p_type; + using p_type = Kokkos::pair; ViewRemap(const DstType& dst, const SrcType& src) { if (dst.extent(0) == src.extent(0)) { @@ -1243,9 +1007,9 @@ struct ViewRemap { p_type ext1(0, std::min(dst.extent(1), src.extent(1))); p_type ext2(0, std::min(dst.extent(2), src.extent(2))); p_type ext3(0, std::min(dst.extent(3), src.extent(3))); - typedef CommonSubview - sv_adapter_type; + using sv_adapter_type = + CommonSubview; sv_adapter_type common_subview(dst, src, Kokkos::ALL, ext1, ext2, ext3, Kokkos::ALL); view_copy(common_subview.dst_sub, common_subview.src_sub); @@ -1254,9 +1018,9 @@ struct ViewRemap { p_type ext2(0, std::min(dst.extent(2), src.extent(2))); p_type ext3(0, std::min(dst.extent(3), src.extent(3))); p_type ext4(0, std::min(dst.extent(4), src.extent(4))); - typedef CommonSubview - sv_adapter_type; + using sv_adapter_type = + CommonSubview; sv_adapter_type common_subview(dst, src, Kokkos::ALL, ext1, ext2, ext3, ext4); view_copy(common_subview.dst_sub, common_subview.src_sub); @@ -1267,9 +1031,9 @@ struct ViewRemap { p_type ext1(0, std::min(dst.extent(1), src.extent(1))); p_type ext2(0, std::min(dst.extent(2), src.extent(2))); p_type ext3(0, std::min(dst.extent(3), src.extent(3))); - typedef CommonSubview - sv_adapter_type; + using sv_adapter_type = + CommonSubview; sv_adapter_type common_subview(dst, src, ext0, ext1, ext2, ext3, Kokkos::ALL); view_copy(common_subview.dst_sub, common_subview.src_sub); @@ -1279,9 +1043,8 @@ struct ViewRemap { p_type ext2(0, std::min(dst.extent(2), src.extent(2))); p_type ext3(0, std::min(dst.extent(3), src.extent(3))); p_type ext4(0, std::min(dst.extent(4), src.extent(4))); - typedef CommonSubview - sv_adapter_type; + using sv_adapter_type = CommonSubview; sv_adapter_type common_subview(dst, src, ext0, ext1, ext2, ext3, ext4); view_copy(common_subview.dst_sub, common_subview.src_sub); } @@ -1290,7 +1053,7 @@ struct ViewRemap { }; template struct ViewRemap { - typedef Kokkos::pair p_type; + using p_type = Kokkos::pair; ViewRemap(const DstType& dst, const SrcType& src) { if (dst.extent(0) == src.extent(0)) { @@ -1299,9 +1062,9 @@ struct ViewRemap { p_type ext2(0, std::min(dst.extent(2), src.extent(2))); p_type ext3(0, std::min(dst.extent(3), src.extent(3))); p_type ext4(0, std::min(dst.extent(4), src.extent(4))); - typedef CommonSubview - sv_adapter_type; + using sv_adapter_type = + CommonSubview; sv_adapter_type common_subview(dst, src, Kokkos::ALL, ext1, ext2, ext3, ext4, Kokkos::ALL); view_copy(common_subview.dst_sub, common_subview.src_sub); @@ -1311,9 +1074,9 @@ struct ViewRemap { p_type ext3(0, std::min(dst.extent(3), src.extent(3))); p_type ext4(0, std::min(dst.extent(4), src.extent(4))); p_type ext5(0, std::min(dst.extent(5), src.extent(5))); - typedef CommonSubview - sv_adapter_type; + using sv_adapter_type = + CommonSubview; sv_adapter_type common_subview(dst, src, Kokkos::ALL, ext1, ext2, ext3, ext4, ext5); view_copy(common_subview.dst_sub, common_subview.src_sub); @@ -1326,9 +1089,9 @@ struct ViewRemap { p_type ext3(0, std::min(dst.extent(3), src.extent(3))); p_type ext4(0, std::min(dst.extent(4), src.extent(4))); - typedef CommonSubview - sv_adapter_type; + using sv_adapter_type = + CommonSubview; sv_adapter_type common_subview(dst, src, ext0, ext1, ext2, ext3, ext4, Kokkos::ALL); view_copy(common_subview.dst_sub, common_subview.src_sub); @@ -1340,9 +1103,9 @@ struct ViewRemap { p_type ext4(0, std::min(dst.extent(4), src.extent(4))); p_type ext5(0, std::min(dst.extent(5), src.extent(5))); - typedef CommonSubview - sv_adapter_type; + using sv_adapter_type = + CommonSubview; sv_adapter_type common_subview(dst, src, ext0, ext1, ext2, ext3, ext4, ext5); view_copy(common_subview.dst_sub, common_subview.src_sub); @@ -1353,7 +1116,7 @@ struct ViewRemap { template struct ViewRemap { - typedef Kokkos::pair p_type; + using p_type = Kokkos::pair; ViewRemap(const DstType& dst, const SrcType& src) { if (dst.extent(0) == src.extent(0)) { @@ -1363,10 +1126,9 @@ struct ViewRemap { p_type ext3(0, std::min(dst.extent(3), src.extent(3))); p_type ext4(0, std::min(dst.extent(4), src.extent(4))); p_type ext5(0, std::min(dst.extent(5), src.extent(5))); - typedef CommonSubview - sv_adapter_type; + using sv_adapter_type = + CommonSubview; sv_adapter_type common_subview(dst, src, Kokkos::ALL, ext1, ext2, ext3, ext4, ext5, Kokkos::ALL); view_copy(common_subview.dst_sub, common_subview.src_sub); @@ -1377,9 +1139,9 @@ struct ViewRemap { p_type ext4(0, std::min(dst.extent(4), src.extent(4))); p_type ext5(0, std::min(dst.extent(5), src.extent(5))); p_type ext6(0, std::min(dst.extent(6), src.extent(6))); - typedef CommonSubview - sv_adapter_type; + using sv_adapter_type = + CommonSubview; sv_adapter_type common_subview(dst, src, Kokkos::ALL, ext1, ext2, ext3, ext4, ext5, ext6); view_copy(common_subview.dst_sub, common_subview.src_sub); @@ -1392,9 +1154,9 @@ struct ViewRemap { p_type ext3(0, std::min(dst.extent(3), src.extent(3))); p_type ext4(0, std::min(dst.extent(4), src.extent(4))); p_type ext5(0, std::min(dst.extent(5), src.extent(5))); - typedef CommonSubview - sv_adapter_type; + using sv_adapter_type = + CommonSubview; sv_adapter_type common_subview(dst, src, ext0, ext1, ext2, ext3, ext4, ext5, Kokkos::ALL); view_copy(common_subview.dst_sub, common_subview.src_sub); @@ -1406,9 +1168,9 @@ struct ViewRemap { p_type ext4(0, std::min(dst.extent(4), src.extent(4))); p_type ext5(0, std::min(dst.extent(5), src.extent(5))); p_type ext6(0, std::min(dst.extent(6), src.extent(6))); - typedef CommonSubview - sv_adapter_type; + using sv_adapter_type = + CommonSubview; sv_adapter_type common_subview(dst, src, ext0, ext1, ext2, ext3, ext4, ext5, ext6); view_copy(common_subview.dst_sub, common_subview.src_sub); @@ -1419,7 +1181,7 @@ struct ViewRemap { template struct ViewRemap { - typedef Kokkos::pair p_type; + using p_type = Kokkos::pair; ViewRemap(const DstType& dst, const SrcType& src) { if (dst.extent(0) == src.extent(0)) { @@ -1430,10 +1192,10 @@ struct ViewRemap { p_type ext4(0, std::min(dst.extent(4), src.extent(4))); p_type ext5(0, std::min(dst.extent(5), src.extent(5))); p_type ext6(0, std::min(dst.extent(6), src.extent(6))); - typedef CommonSubview - sv_adapter_type; + using sv_adapter_type = + CommonSubview; sv_adapter_type common_subview(dst, src, Kokkos::ALL, ext1, ext2, ext3, ext4, ext5, ext6, Kokkos::ALL); view_copy(common_subview.dst_sub, common_subview.src_sub); @@ -1445,9 +1207,9 @@ struct ViewRemap { p_type ext5(0, std::min(dst.extent(5), src.extent(5))); p_type ext6(0, std::min(dst.extent(6), src.extent(6))); p_type ext7(0, std::min(dst.extent(7), src.extent(7))); - typedef CommonSubview - sv_adapter_type; + using sv_adapter_type = + CommonSubview; sv_adapter_type common_subview(dst, src, Kokkos::ALL, ext1, ext2, ext3, ext4, ext5, ext6, ext7); view_copy(common_subview.dst_sub, common_subview.src_sub); @@ -1461,10 +1223,9 @@ struct ViewRemap { p_type ext4(0, std::min(dst.extent(4), src.extent(4))); p_type ext5(0, std::min(dst.extent(5), src.extent(5))); p_type ext6(0, std::min(dst.extent(6), src.extent(6))); - typedef CommonSubview - sv_adapter_type; + using sv_adapter_type = + CommonSubview; sv_adapter_type common_subview(dst, src, ext0, ext1, ext2, ext3, ext4, ext5, ext6, Kokkos::ALL); view_copy(common_subview.dst_sub, common_subview.src_sub); @@ -1477,9 +1238,9 @@ struct ViewRemap { p_type ext5(0, std::min(dst.extent(5), src.extent(5))); p_type ext6(0, std::min(dst.extent(6), src.extent(6))); p_type ext7(0, std::min(dst.extent(7), src.extent(7))); - typedef CommonSubview - sv_adapter_type; + using sv_adapter_type = + CommonSubview; sv_adapter_type common_subview(dst, src, ext0, ext1, ext2, ext3, ext4, ext5, ext6, ext7); view_copy(common_subview.dst_sub, common_subview.src_sub); @@ -1498,26 +1259,22 @@ inline void deep_copy( typename std::enable_if::specialize, void>::value>::type* = nullptr) { - typedef View ViewType; + using ViewType = View; using exec_space_type = typename ViewType::execution_space; -#if defined(KOKKOS_ENABLE_PROFILING) if (Kokkos::Profiling::profileLibraryLoaded()) { Kokkos::Profiling::beginDeepCopy( - Kokkos::Profiling::SpaceHandle(ViewType::memory_space::name()), + Kokkos::Profiling::make_space_handle(ViewType::memory_space::name()), dst.label(), dst.data(), - Kokkos::Profiling::SpaceHandle(Kokkos::HostSpace::name()), "Scalar", - &value, dst.span() * sizeof(typename ViewType::value_type)); + Kokkos::Profiling::make_space_handle(Kokkos::HostSpace::name()), + "Scalar", &value, dst.span() * sizeof(typename ViewType::value_type)); } -#endif if (dst.data() == nullptr) { Kokkos::fence(); -#if defined(KOKKOS_ENABLE_PROFILING) if (Kokkos::Profiling::profileLibraryLoaded()) { Kokkos::Profiling::endDeepCopy(); } -#endif return; } @@ -1528,14 +1285,13 @@ inline void deep_copy( // If contiguous we can simply do a 1D flat loop if (dst.span_is_contiguous()) { - typedef Kokkos::View< + using ViewTypeFlat = Kokkos::View< typename ViewType::value_type*, Kokkos::LayoutRight, Kokkos::Device::type>, - Kokkos::MemoryTraits<0>> - ViewTypeFlat; + Kokkos::MemoryTraits<0>>; ViewTypeFlat dst_flat(dst.data(), dst.size()); if (dst.span() < static_cast(std::numeric_limits::max())) { @@ -1547,11 +1303,9 @@ inline void deep_copy( ViewTypeFlat::Rank, int64_t>(dst_flat, value, exec_space_type()); Kokkos::fence(); -#if defined(KOKKOS_ENABLE_PROFILING) if (Kokkos::Profiling::profileLibraryLoaded()) { Kokkos::Profiling::endDeepCopy(); } -#endif return; } @@ -1581,9 +1335,9 @@ inline void deep_copy( // Lets call the right ViewFill functor based on integer space needed and // iteration type - typedef typename std::conditional< + using ViewTypeUniform = typename std::conditional< ViewType::Rank == 0, typename ViewType::uniform_runtime_type, - typename ViewType::uniform_runtime_nomemspace_type>::type ViewTypeUniform; + typename ViewType::uniform_runtime_nomemspace_type>::type; if (dst.span() > static_cast(std::numeric_limits::max())) { if (iterate == Kokkos::Iterate::Right) Kokkos::Impl::ViewFill::specialize, void>::value>::type* = nullptr) { - typedef ViewTraits src_traits; - typedef typename src_traits::memory_space src_memory_space; + using src_traits = ViewTraits; + using src_memory_space = typename src_traits::memory_space; static_assert(src_traits::rank == 0, "ERROR: Non-rank-zero view in deep_copy( value , View )"); -#if defined(KOKKOS_ENABLE_PROFILING) if (Kokkos::Profiling::profileLibraryLoaded()) { Kokkos::Profiling::beginDeepCopy( - Kokkos::Profiling::SpaceHandle(Kokkos::HostSpace::name()), "Scalar", - &dst, Kokkos::Profiling::SpaceHandle(src_memory_space::name()), + Kokkos::Profiling::make_space_handle(Kokkos::HostSpace::name()), + "Scalar", &dst, + Kokkos::Profiling::make_space_handle(src_memory_space::name()), src.label(), src.data(), src.span() * sizeof(typename src_traits::value_type)); } -#endif if (src.data() == nullptr) { Kokkos::fence(); -#if defined(KOKKOS_ENABLE_PROFILING) if (Kokkos::Profiling::profileLibraryLoaded()) { Kokkos::Profiling::endDeepCopy(); } -#endif return; } Kokkos::Impl::DeepCopy(&dst, src.data(), sizeof(ST)); -#if defined(KOKKOS_ENABLE_PROFILING) if (Kokkos::Profiling::profileLibraryLoaded()) { Kokkos::Profiling::endDeepCopy(); } -#endif } //---------------------------------------------------------------------------- @@ -1666,34 +1413,31 @@ inline void deep_copy( (unsigned(ViewTraits::rank) == unsigned(0) && unsigned(ViewTraits::rank) == unsigned(0)))>::type* = nullptr) { - typedef View dst_type; - typedef View src_type; + using dst_type = View; + using src_type = View; - typedef typename dst_type::value_type value_type; - typedef typename dst_type::memory_space dst_memory_space; - typedef typename src_type::memory_space src_memory_space; + using value_type = typename dst_type::value_type; + using dst_memory_space = typename dst_type::memory_space; + using src_memory_space = typename src_type::memory_space; static_assert(std::is_same::value, "deep_copy requires matching non-const destination type"); -#if defined(KOKKOS_ENABLE_PROFILING) if (Kokkos::Profiling::profileLibraryLoaded()) { Kokkos::Profiling::beginDeepCopy( - Kokkos::Profiling::SpaceHandle(dst_memory_space::name()), dst.label(), - dst.data(), Kokkos::Profiling::SpaceHandle(src_memory_space::name()), + Kokkos::Profiling::make_space_handle(dst_memory_space::name()), + dst.label(), dst.data(), + Kokkos::Profiling::make_space_handle(src_memory_space::name()), src.label(), src.data(), src.span() * sizeof(typename dst_type::value_type)); } -#endif if (dst.data() == nullptr && src.data() == nullptr) { Kokkos::fence(); -#if defined(KOKKOS_ENABLE_PROFILING) if (Kokkos::Profiling::profileLibraryLoaded()) { Kokkos::Profiling::endDeepCopy(); } -#endif return; } @@ -1703,11 +1447,9 @@ inline void deep_copy( dst.data(), src.data(), sizeof(value_type)); Kokkos::fence(); } -#if defined(KOKKOS_ENABLE_PROFILING) if (Kokkos::Profiling::profileLibraryLoaded()) { Kokkos::Profiling::endDeepCopy(); } -#endif } //---------------------------------------------------------------------------- @@ -1722,14 +1464,14 @@ inline void deep_copy( std::is_same::specialize, void>::value && (unsigned(ViewTraits::rank) != 0 || unsigned(ViewTraits::rank) != 0))>::type* = nullptr) { - typedef View dst_type; - typedef View src_type; - typedef typename dst_type::execution_space dst_execution_space; - typedef typename src_type::execution_space src_execution_space; - typedef typename dst_type::memory_space dst_memory_space; - typedef typename src_type::memory_space src_memory_space; - typedef typename dst_type::value_type dst_value_type; - typedef typename src_type::value_type src_value_type; + using dst_type = View; + using src_type = View; + using dst_execution_space = typename dst_type::execution_space; + using src_execution_space = typename src_type::execution_space; + using dst_memory_space = typename dst_type::memory_space; + using src_memory_space = typename src_type::memory_space; + using dst_value_type = typename dst_type::value_type; + using src_value_type = typename src_type::value_type; static_assert(std::is_same::value, @@ -1738,20 +1480,16 @@ inline void deep_copy( static_assert((unsigned(dst_type::rank) == unsigned(src_type::rank)), "deep_copy requires Views of equal rank"); -#if defined(KOKKOS_ENABLE_PROFILING) if (Kokkos::Profiling::profileLibraryLoaded()) { Kokkos::Profiling::beginDeepCopy( - Kokkos::Profiling::SpaceHandle(dst_memory_space::name()), dst.label(), - dst.data(), Kokkos::Profiling::SpaceHandle(src_memory_space::name()), + Kokkos::Profiling::make_space_handle(dst_memory_space::name()), + dst.label(), dst.data(), + Kokkos::Profiling::make_space_handle(src_memory_space::name()), src.label(), src.data(), src.span() * sizeof(typename dst_type::value_type)); } -#endif if (dst.data() == nullptr || src.data() == nullptr) { -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - // do nothing -#else // throw if dimension mismatch if ((src.extent(0) != dst.extent(0)) || (src.extent(1) != dst.extent(1)) || (src.extent(2) != dst.extent(2)) || (src.extent(3) != dst.extent(3)) || @@ -1779,13 +1517,10 @@ inline void deep_copy( Kokkos::Impl::throw_runtime_exception(message); } -#endif Kokkos::fence(); -#if defined(KOKKOS_ENABLE_PROFILING) if (Kokkos::Profiling::profileLibraryLoaded()) { Kokkos::Profiling::endDeepCopy(); } -#endif return; } @@ -1810,11 +1545,9 @@ inline void deep_copy( ((std::ptrdiff_t)dst_end == (std::ptrdiff_t)src_end) && (dst.span_is_contiguous() && src.span_is_contiguous())) { Kokkos::fence(); -#if defined(KOKKOS_ENABLE_PROFILING) if (Kokkos::Profiling::profileLibraryLoaded()) { Kokkos::Profiling::endDeepCopy(); } -#endif return; } @@ -1842,29 +1575,6 @@ inline void deep_copy( (src.extent(2) != dst.extent(2)) || (src.extent(3) != dst.extent(3)) || (src.extent(4) != dst.extent(4)) || (src.extent(5) != dst.extent(5)) || (src.extent(6) != dst.extent(6)) || (src.extent(7) != dst.extent(7))) { -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - Kokkos::fence(); - if (DstExecCanAccessSrc) { - // Copying data between views in accessible memory spaces and either - // non-contiguous or incompatible shape. - Kokkos::Impl::ViewRemap(dst, src); - } else if (SrcExecCanAccessDst) { - // Copying data between views in accessible memory spaces and either - // non-contiguous or incompatible shape. - Kokkos::Impl::ViewRemap(dst, - src); - } else { - Kokkos::Impl::throw_runtime_exception( - "deep_copy given views that would require a temporary allocation"); - } - Kokkos::fence(); -#if defined(KOKKOS_ENABLE_PROFILING) - if (Kokkos::Profiling::profileLibraryLoaded()) { - Kokkos::Profiling::endDeepCopy(); - } -#endif - return; -#else std::string message( "Deprecation Error: Kokkos::deep_copy extents of views don't match: "); message += dst.label(); @@ -1885,7 +1595,6 @@ inline void deep_copy( message += ") "; Kokkos::Impl::throw_runtime_exception(message); -#endif } // If same type, equal layout, equal dimensions, equal span, and contiguous @@ -1910,18 +1619,16 @@ inline void deep_copy( if ((void*)dst.data() != (void*)src.data()) { Kokkos::Impl::DeepCopy( dst.data(), src.data(), nbytes); + Kokkos::fence(); } - Kokkos::fence(); } else { Kokkos::fence(); Impl::view_copy(dst, src); Kokkos::fence(); } -#if defined(KOKKOS_ENABLE_PROFILING) if (Kokkos::Profiling::profileLibraryLoaded()) { Kokkos::Profiling::endDeepCopy(); } -#endif } //---------------------------------------------------------------------------- @@ -2712,19 +2419,18 @@ inline void deep_copy( ExecSpace, typename ViewTraits::memory_space>::accessible>::type* = nullptr) { - typedef ViewTraits dst_traits; + using dst_traits = ViewTraits; static_assert(std::is_same::value, "deep_copy requires non-const type"); -#if defined(KOKKOS_ENABLE_PROFILING) - typedef typename dst_traits::memory_space dst_memory_space; + using dst_memory_space = typename dst_traits::memory_space; if (Kokkos::Profiling::profileLibraryLoaded()) { Kokkos::Profiling::beginDeepCopy( - Kokkos::Profiling::SpaceHandle(dst_memory_space::name()), dst.label(), - dst.data(), Kokkos::Profiling::SpaceHandle(Kokkos::HostSpace::name()), + Kokkos::Profiling::make_space_handle(dst_memory_space::name()), + dst.label(), dst.data(), + Kokkos::Profiling::make_space_handle(Kokkos::HostSpace::name()), "(none)", &value, dst.span() * sizeof(typename dst_traits::value_type)); } -#endif if (dst.data() == nullptr) { space.fence(); } else { @@ -2735,11 +2441,9 @@ inline void deep_copy( Kokkos::Impl::ViewFill(dst, value, space); } -#if defined(KOKKOS_ENABLE_PROFILING) if (Kokkos::Profiling::profileLibraryLoaded()) { Kokkos::Profiling::endDeepCopy(); } -#endif } /** \brief Deep copy a value from Host memory into a view. ExecSpace can not @@ -2755,19 +2459,18 @@ inline void deep_copy( ExecSpace, typename ViewTraits::memory_space>::accessible>::type* = nullptr) { - typedef ViewTraits dst_traits; + using dst_traits = ViewTraits; static_assert(std::is_same::value, "deep_copy requires non-const type"); -#if defined(KOKKOS_ENABLE_PROFILING) - typedef typename dst_traits::memory_space dst_memory_space; + using dst_memory_space = typename dst_traits::memory_space; if (Kokkos::Profiling::profileLibraryLoaded()) { Kokkos::Profiling::beginDeepCopy( - Kokkos::Profiling::SpaceHandle(dst_memory_space::name()), dst.label(), - dst.data(), Kokkos::Profiling::SpaceHandle(Kokkos::HostSpace::name()), + Kokkos::Profiling::make_space_handle(dst_memory_space::name()), + dst.label(), dst.data(), + Kokkos::Profiling::make_space_handle(Kokkos::HostSpace::name()), "(none)", &value, dst.span() * sizeof(typename dst_traits::value_type)); } -#endif if (dst.data() == nullptr) { space.fence(); } else { @@ -2781,11 +2484,9 @@ inline void deep_copy( fill_exec_space>(dst, value, fill_exec_space()); fill_exec_space().fence(); } -#if defined(KOKKOS_ENABLE_PROFILING) if (Kokkos::Profiling::profileLibraryLoaded()) { Kokkos::Profiling::endDeepCopy(); } -#endif } /** \brief Deep copy into a value in Host memory from a view. */ @@ -2798,36 +2499,31 @@ inline void deep_copy( Kokkos::Impl::is_execution_space::value && std::is_same::specialize, void>::value>::type* = 0) { - typedef ViewTraits src_traits; - typedef typename src_traits::memory_space src_memory_space; + using src_traits = ViewTraits; + using src_memory_space = typename src_traits::memory_space; static_assert(src_traits::rank == 0, "ERROR: Non-rank-zero view in deep_copy( value , View )"); -#if defined(KOKKOS_ENABLE_PROFILING) if (Kokkos::Profiling::profileLibraryLoaded()) { Kokkos::Profiling::beginDeepCopy( - Kokkos::Profiling::SpaceHandle(Kokkos::HostSpace::name()), "(none)", - &dst, Kokkos::Profiling::SpaceHandle(src_memory_space::name()), + Kokkos::Profiling::make_space_handle(Kokkos::HostSpace::name()), + "(none)", &dst, + Kokkos::Profiling::make_space_handle(src_memory_space::name()), src.label(), src.data(), sizeof(ST)); } -#endif if (src.data() == nullptr) { exec_space.fence(); -#if defined(KOKKOS_ENABLE_PROFILING) if (Kokkos::Profiling::profileLibraryLoaded()) { Kokkos::Profiling::endDeepCopy(); } -#endif return; } Kokkos::Impl::DeepCopy( exec_space, &dst, src.data(), sizeof(ST)); -#if defined(KOKKOS_ENABLE_PROFILING) if (Kokkos::Profiling::profileLibraryLoaded()) { Kokkos::Profiling::endDeepCopy(); } -#endif } //---------------------------------------------------------------------------- @@ -2841,32 +2537,30 @@ inline void deep_copy( std::is_same::specialize, void>::value && std::is_same::specialize, void>::value && (unsigned(ViewTraits::rank) == unsigned(0) && - unsigned(ViewTraits::rank) == unsigned(0)))>::type* = 0) { - typedef ViewTraits src_traits; - typedef ViewTraits dst_traits; + unsigned(ViewTraits::rank) == unsigned(0)))>::type* = + nullptr) { + using src_traits = ViewTraits; + using dst_traits = ViewTraits; - typedef typename src_traits::memory_space src_memory_space; - typedef typename dst_traits::memory_space dst_memory_space; + using src_memory_space = typename src_traits::memory_space; + using dst_memory_space = typename dst_traits::memory_space; static_assert(std::is_same::value, "deep_copy requires matching non-const destination type"); -#if defined(KOKKOS_ENABLE_PROFILING) if (Kokkos::Profiling::profileLibraryLoaded()) { Kokkos::Profiling::beginDeepCopy( - Kokkos::Profiling::SpaceHandle(dst_memory_space::name()), dst.label(), - dst.data(), Kokkos::Profiling::SpaceHandle(src_memory_space::name()), + Kokkos::Profiling::make_space_handle(dst_memory_space::name()), + dst.label(), dst.data(), + Kokkos::Profiling::make_space_handle(src_memory_space::name()), src.label(), src.data(), sizeof(DT)); } -#endif if (dst.data() == nullptr && src.data() == nullptr) { exec_space.fence(); -#if defined(KOKKOS_ENABLE_PROFILING) if (Kokkos::Profiling::profileLibraryLoaded()) { Kokkos::Profiling::endDeepCopy(); } -#endif return; } @@ -2875,11 +2569,9 @@ inline void deep_copy( exec_space, dst.data(), src.data(), sizeof(typename dst_traits::value_type)); } -#if defined(KOKKOS_ENABLE_PROFILING) if (Kokkos::Profiling::profileLibraryLoaded()) { Kokkos::Profiling::endDeepCopy(); } -#endif } //---------------------------------------------------------------------------- @@ -2896,8 +2588,8 @@ inline void deep_copy( std::is_same::specialize, void>::value && (unsigned(ViewTraits::rank) != 0 || unsigned(ViewTraits::rank) != 0))>::type* = nullptr) { - typedef View dst_type; - typedef View src_type; + using dst_type = View; + using src_type = View; static_assert(std::is_same::value, @@ -2906,21 +2598,20 @@ inline void deep_copy( static_assert((unsigned(dst_type::rank) == unsigned(src_type::rank)), "deep_copy requires Views of equal rank"); - typedef typename dst_type::execution_space dst_execution_space; - typedef typename src_type::execution_space src_execution_space; - typedef typename dst_type::memory_space dst_memory_space; - typedef typename src_type::memory_space src_memory_space; - typedef typename dst_type::value_type dst_value_type; - typedef typename src_type::value_type src_value_type; + using dst_execution_space = typename dst_type::execution_space; + using src_execution_space = typename src_type::execution_space; + using dst_memory_space = typename dst_type::memory_space; + using src_memory_space = typename src_type::memory_space; + using dst_value_type = typename dst_type::value_type; + using src_value_type = typename src_type::value_type; -#if defined(KOKKOS_ENABLE_PROFILING) if (Kokkos::Profiling::profileLibraryLoaded()) { Kokkos::Profiling::beginDeepCopy( - Kokkos::Profiling::SpaceHandle(dst_memory_space::name()), dst.label(), - dst.data(), Kokkos::Profiling::SpaceHandle(src_memory_space::name()), + Kokkos::Profiling::make_space_handle(dst_memory_space::name()), + dst.label(), dst.data(), + Kokkos::Profiling::make_space_handle(src_memory_space::name()), src.label(), src.data(), dst.span() * sizeof(dst_value_type)); } -#endif dst_value_type* dst_start = dst.data(); dst_value_type* dst_end = dst.data() + dst.span(); @@ -2931,9 +2622,6 @@ inline void deep_copy( if ((dst_start == nullptr || src_start == nullptr) || ((std::ptrdiff_t(dst_start) == std::ptrdiff_t(src_start)) && (std::ptrdiff_t(dst_end) == std::ptrdiff_t(src_end)))) { -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - // do nothing -#else // throw if dimension mismatch if ((src.extent(0) != dst.extent(0)) || (src.extent(1) != dst.extent(1)) || (src.extent(2) != dst.extent(2)) || (src.extent(3) != dst.extent(3)) || @@ -2961,12 +2649,9 @@ inline void deep_copy( Kokkos::Impl::throw_runtime_exception(message); } -#endif -#if defined(KOKKOS_ENABLE_PROFILING) if (Kokkos::Profiling::profileLibraryLoaded()) { Kokkos::Profiling::endDeepCopy(); } -#endif return; } @@ -3014,35 +2699,6 @@ inline void deep_copy( (src.extent(2) != dst.extent(2)) || (src.extent(3) != dst.extent(3)) || (src.extent(4) != dst.extent(4)) || (src.extent(5) != dst.extent(5)) || (src.extent(6) != dst.extent(6)) || (src.extent(7) != dst.extent(7))) { -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - if (ExecCanAccessSrcDst) { - Kokkos::Impl::ViewRemap(dst, src); - exec_space.fence(); - } else if (DstExecCanAccessSrc) { - // Copying data between views in accessible memory spaces and either - // non-contiguous or incompatible shape. - exec_space.fence(); - Kokkos::Impl::ViewRemap(dst, - src); - dst_execution_space().fence(); - } else if (SrcExecCanAccessDst) { - // Copying data between views in accessible memory spaces and either - // non-contiguous or incompatible shape. - exec_space.fence(); - Kokkos::Impl::ViewRemap(dst, - src); - src_execution_space().fence(); - } else { - Kokkos::Impl::throw_runtime_exception( - "deep_copy given views that would require a temporary allocation"); - } -#if defined(KOKKOS_ENABLE_PROFILING) - if (Kokkos::Profiling::profileLibraryLoaded()) { - Kokkos::Profiling::endDeepCopy(); - } -#endif - return; -#else std::string message( "Deprecation Error: Kokkos::deep_copy extents of views don't match: "); message += dst.label(); @@ -3063,7 +2719,6 @@ inline void deep_copy( message += ") "; Kokkos::Impl::throw_runtime_exception(message); -#endif } // If same type, equal layout, equal dimensions, equal span, and contiguous @@ -3105,11 +2760,9 @@ inline void deep_copy( "deep_copy given views that would require a temporary allocation"); } } -#if defined(KOKKOS_ENABLE_PROFILING) if (Kokkos::Profiling::profileLibraryLoaded()) { Kokkos::Profiling::endDeepCopy(); } -#endif } } /* namespace Kokkos */ @@ -3135,7 +2788,7 @@ resize(Kokkos::View& v, const size_t n0 = KOKKOS_IMPL_CTOR_DEFAULT_ARG, const size_t n5 = KOKKOS_IMPL_CTOR_DEFAULT_ARG, const size_t n6 = KOKKOS_IMPL_CTOR_DEFAULT_ARG, const size_t n7 = KOKKOS_IMPL_CTOR_DEFAULT_ARG) { - typedef Kokkos::View view_type; + using view_type = Kokkos::View; static_assert(Kokkos::ViewTraits::is_managed, "Can only resize managed views"); @@ -3232,7 +2885,7 @@ resize(const I& arg_prop, Kokkos::View& v, const size_t n5 = KOKKOS_IMPL_CTOR_DEFAULT_ARG, const size_t n6 = KOKKOS_IMPL_CTOR_DEFAULT_ARG, const size_t n7 = KOKKOS_IMPL_CTOR_DEFAULT_ARG) { - typedef Kokkos::View view_type; + using view_type = Kokkos::View; static_assert(Kokkos::ViewTraits::is_managed, "Can only resize managed views"); @@ -3318,7 +2971,7 @@ resize(const I& arg_prop, Kokkos::View& v, template inline void resize(Kokkos::View& v, const typename Kokkos::View::array_layout& layout) { - typedef Kokkos::View view_type; + using view_type = Kokkos::View; static_assert(Kokkos::ViewTraits::is_managed, "Can only resize managed views"); @@ -3346,7 +2999,7 @@ realloc(Kokkos::View& v, const size_t n5 = KOKKOS_IMPL_CTOR_DEFAULT_ARG, const size_t n6 = KOKKOS_IMPL_CTOR_DEFAULT_ARG, const size_t n7 = KOKKOS_IMPL_CTOR_DEFAULT_ARG) { - typedef Kokkos::View view_type; + using view_type = Kokkos::View; static_assert(Kokkos::ViewTraits::is_managed, "Can only realloc managed views"); @@ -3362,7 +3015,7 @@ template inline void realloc( Kokkos::View& v, const typename Kokkos::View::array_layout& layout) { - typedef Kokkos::View view_type; + using view_type = Kokkos::View; static_assert(Kokkos::ViewTraits::is_managed, "Can only realloc managed views"); @@ -3384,45 +3037,45 @@ namespace Impl { template struct MirrorViewType { // The incoming view_type - typedef typename Kokkos::View src_view_type; + using src_view_type = typename Kokkos::View; // The memory space for the mirror view - typedef typename Space::memory_space memory_space; + using memory_space = typename Space::memory_space; // Check whether it is the same memory space enum { is_same_memspace = std::is_same::value }; // The array_layout - typedef typename src_view_type::array_layout array_layout; + using array_layout = typename src_view_type::array_layout; // The data type (we probably want it non-const since otherwise we can't even // deep_copy to it. - typedef typename src_view_type::non_const_data_type data_type; + using data_type = typename src_view_type::non_const_data_type; // The destination view type if it is not the same memory space - typedef Kokkos::View dest_view_type; + using dest_view_type = Kokkos::View; // If it is the same memory_space return the existsing view_type // This will also keep the unmanaged trait if necessary - typedef typename std::conditional::type view_type; + using view_type = typename std::conditional::type; }; template struct MirrorType { // The incoming view_type - typedef typename Kokkos::View src_view_type; + using src_view_type = typename Kokkos::View; // The memory space for the mirror view - typedef typename Space::memory_space memory_space; + using memory_space = typename Space::memory_space; // Check whether it is the same memory space enum { is_same_memspace = std::is_same::value }; // The array_layout - typedef typename src_view_type::array_layout array_layout; + using array_layout = typename src_view_type::array_layout; // The data type (we probably want it non-const since otherwise we can't even // deep_copy to it. - typedef typename src_view_type::non_const_data_type data_type; + using data_type = typename src_view_type::non_const_data_type; // The destination view type if it is not the same memory space - typedef Kokkos::View view_type; + using view_type = Kokkos::View; }; } // namespace Impl @@ -3434,33 +3087,19 @@ inline typename Kokkos::View::HostMirror create_mirror( std::is_same::specialize, void>::value && !std::is_same::array_layout, Kokkos::LayoutStride>::value>::type* = nullptr) { - typedef View src_type; - typedef typename src_type::HostMirror dst_type; - - return dst_type(std::string(src.label()).append("_mirror") -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - , - src.extent(0), src.extent(1), src.extent(2), src.extent(3), - src.extent(4), src.extent(5), src.extent(6), src.extent(7)); -#else - , - src.rank_dynamic > 0 ? src.extent(0) - : KOKKOS_IMPL_CTOR_DEFAULT_ARG, - src.rank_dynamic > 1 ? src.extent(1) - : KOKKOS_IMPL_CTOR_DEFAULT_ARG, - src.rank_dynamic > 2 ? src.extent(2) - : KOKKOS_IMPL_CTOR_DEFAULT_ARG, - src.rank_dynamic > 3 ? src.extent(3) - : KOKKOS_IMPL_CTOR_DEFAULT_ARG, - src.rank_dynamic > 4 ? src.extent(4) - : KOKKOS_IMPL_CTOR_DEFAULT_ARG, - src.rank_dynamic > 5 ? src.extent(5) - : KOKKOS_IMPL_CTOR_DEFAULT_ARG, - src.rank_dynamic > 6 ? src.extent(6) - : KOKKOS_IMPL_CTOR_DEFAULT_ARG, - src.rank_dynamic > 7 ? src.extent(7) - : KOKKOS_IMPL_CTOR_DEFAULT_ARG); -#endif + using src_type = View; + using dst_type = typename src_type::HostMirror; + + return dst_type( + std::string(src.label()).append("_mirror"), + src.rank_dynamic > 0 ? src.extent(0) : KOKKOS_IMPL_CTOR_DEFAULT_ARG, + src.rank_dynamic > 1 ? src.extent(1) : KOKKOS_IMPL_CTOR_DEFAULT_ARG, + src.rank_dynamic > 2 ? src.extent(2) : KOKKOS_IMPL_CTOR_DEFAULT_ARG, + src.rank_dynamic > 3 ? src.extent(3) : KOKKOS_IMPL_CTOR_DEFAULT_ARG, + src.rank_dynamic > 4 ? src.extent(4) : KOKKOS_IMPL_CTOR_DEFAULT_ARG, + src.rank_dynamic > 5 ? src.extent(5) : KOKKOS_IMPL_CTOR_DEFAULT_ARG, + src.rank_dynamic > 6 ? src.extent(6) : KOKKOS_IMPL_CTOR_DEFAULT_ARG, + src.rank_dynamic > 7 ? src.extent(7) : KOKKOS_IMPL_CTOR_DEFAULT_ARG); } template @@ -3470,8 +3109,8 @@ inline typename Kokkos::View::HostMirror create_mirror( std::is_same::specialize, void>::value && std::is_same::array_layout, Kokkos::LayoutStride>::value>::type* = nullptr) { - typedef View src_type; - typedef typename src_type::HostMirror dst_type; + using src_type = View; + using dst_type = typename src_type::HostMirror; Kokkos::LayoutStride layout; @@ -3529,7 +3168,7 @@ inline typename Kokkos::View::HostMirror create_mirror_view( typename Kokkos::View::HostMirror::memory_space>::value && std::is_same::data_type, typename Kokkos::View::HostMirror::data_type>:: - value)>::type* = 0) { + value)>::type* = nullptr) { return Kokkos::create_mirror(src); } @@ -3548,7 +3187,8 @@ template typename Impl::MirrorViewType::view_type create_mirror_view( const Space&, const Kokkos::View& src, typename std::enable_if< - !Impl::MirrorViewType::is_same_memspace>::type* = 0) { + !Impl::MirrorViewType::is_same_memspace>::type* = + nullptr) { return typename Impl::MirrorViewType::view_type(src.label(), src.layout()); } @@ -3576,7 +3216,8 @@ create_mirror_view_and_copy( const Space&, const Kokkos::View& src, std::string const& name = "", typename std::enable_if< - !Impl::MirrorViewType::is_same_memspace>::type* = 0) { + !Impl::MirrorViewType::is_same_memspace>::type* = + nullptr) { using Mirror = typename Impl::MirrorViewType::view_type; std::string label = name.empty() ? src.label() : name; auto mirror = typename Mirror::non_const_type{ @@ -3604,7 +3245,8 @@ typename Impl::MirrorViewType::view_type create_mirror_view( const Space&, const Kokkos::View& src, Kokkos::Impl::WithoutInitializing_t, typename std::enable_if< - !Impl::MirrorViewType::is_same_memspace>::type* = 0) { + !Impl::MirrorViewType::is_same_memspace>::type* = + nullptr) { using Mirror = typename Impl::MirrorViewType::view_type; return Mirror(Kokkos::ViewAllocateWithoutInitializing(src.label()), src.layout()); diff --git a/lib/kokkos/core/src/Kokkos_Core.hpp b/lib/kokkos/core/src/Kokkos_Core.hpp index 8392f0f3e56677fc3e7d7cc2d30c60973c2fb131..a1669addd62bbef5a926029f322c08d42288f9c4 100644 --- a/lib/kokkos/core/src/Kokkos_Core.hpp +++ b/lib/kokkos/core/src/Kokkos_Core.hpp @@ -181,28 +181,28 @@ namespace Kokkos { template inline void* kokkos_malloc(const std::string& arg_alloc_label, const size_t arg_alloc_size) { - typedef typename Space::memory_space MemorySpace; + using MemorySpace = typename Space::memory_space; return Impl::SharedAllocationRecord::allocate_tracked( MemorySpace(), arg_alloc_label, arg_alloc_size); } template inline void* kokkos_malloc(const size_t arg_alloc_size) { - typedef typename Space::memory_space MemorySpace; + using MemorySpace = typename Space::memory_space; return Impl::SharedAllocationRecord::allocate_tracked( MemorySpace(), "no-label", arg_alloc_size); } template inline void kokkos_free(void* arg_alloc) { - typedef typename Space::memory_space MemorySpace; + using MemorySpace = typename Space::memory_space; return Impl::SharedAllocationRecord::deallocate_tracked( arg_alloc); } template inline void* kokkos_realloc(void* arg_alloc, const size_t arg_alloc_size) { - typedef typename Space::memory_space MemorySpace; + using MemorySpace = typename Space::memory_space; return Impl::SharedAllocationRecord::reallocate_tracked( arg_alloc, arg_alloc_size); } @@ -255,6 +255,14 @@ class ScopeGuard { #include #include +// Including this in Kokkos_Parallel_Reduce.hpp led to a circular dependency +// because Kokkos::Sum is used in Kokkos_Combined_Reducer.hpp and the default. +// The real answer is to finally break up Kokkos_Parallel_Reduce.hpp into +// smaller parts... +#include +// Yet another workaround to deal with circular dependency issues because the +// implementation of the RAII wrapper is using Kokkos::single. +#include //---------------------------------------------------------------------------- //---------------------------------------------------------------------------- diff --git a/lib/kokkos/core/src/Kokkos_Core_fwd.hpp b/lib/kokkos/core/src/Kokkos_Core_fwd.hpp index 4828a95775188938710cb4fd5f2ee0511b65f90f..7667dde4e6af05a5d372d6a1a2ae589b548c0e5b 100644 --- a/lib/kokkos/core/src/Kokkos_Core_fwd.hpp +++ b/lib/kokkos/core/src/Kokkos_Core_fwd.hpp @@ -52,7 +52,6 @@ #include #include -#include #include //---------------------------------------------------------------------------- @@ -149,45 +148,67 @@ struct Device; /// Kokkos::Cuda, Kokkos::Experimental::OpenMPTarget, Kokkos::OpenMP, /// Kokkos::Threads, Kokkos::Serial +#if defined(__clang_analyzer__) +#define KOKKOS_IMPL_DEFAULT_EXEC_SPACE_ANNOTATION \ + [[clang::annotate("DefaultExecutionSpace")]] +#define KOKKOS_IMPL_DEFAULT_HOST_EXEC_SPACE_ANNOTATION \ + [[clang::annotate("DefaultHostExecutionSpace")]] +#else +#define KOKKOS_IMPL_DEFAULT_EXEC_SPACE_ANNOTATION +#define KOKKOS_IMPL_DEFAULT_HOST_EXEC_SPACE_ANNOTATION +#endif + namespace Kokkos { #if defined(KOKKOS_ENABLE_DEFAULT_DEVICE_TYPE_CUDA) -typedef Cuda DefaultExecutionSpace; +using DefaultExecutionSpace KOKKOS_IMPL_DEFAULT_EXEC_SPACE_ANNOTATION = Cuda; #elif defined(KOKKOS_ENABLE_DEFAULT_DEVICE_TYPE_OPENMPTARGET) -typedef Experimental::OpenMPTarget DefaultExecutionSpace; +using DefaultExecutionSpace KOKKOS_IMPL_DEFAULT_EXEC_SPACE_ANNOTATION = + Experimental::OpenMPTarget; #elif defined(KOKKOS_ENABLE_DEFAULT_DEVICE_TYPE_HIP) -typedef Experimental::HIP DefaultExecutionSpace; +using DefaultExecutionSpace KOKKOS_IMPL_DEFAULT_EXEC_SPACE_ANNOTATION = + Experimental::HIP; #elif defined(KOKKOS_ENABLE_DEFAULT_DEVICE_TYPE_ROCM) -typedef Experimental::ROCm DefaultExecutionSpace; +using DefaultExecutionSpace KOKKOS_IMPL_DEFAULT_EXEC_SPACE_ANNOTATION = + Experimental::ROCm; #elif defined(KOKKOS_ENABLE_DEFAULT_DEVICE_TYPE_OPENMP) -typedef OpenMP DefaultExecutionSpace; +using DefaultExecutionSpace KOKKOS_IMPL_DEFAULT_EXEC_SPACE_ANNOTATION = OpenMP; #elif defined(KOKKOS_ENABLE_DEFAULT_DEVICE_TYPE_THREADS) -typedef Threads DefaultExecutionSpace; +using DefaultExecutionSpace KOKKOS_IMPL_DEFAULT_EXEC_SPACE_ANNOTATION = Threads; #elif defined(KOKKOS_ENABLE_DEFAULT_DEVICE_TYPE_HPX) -typedef Kokkos::Experimental::HPX DefaultExecutionSpace; +using DefaultExecutionSpace KOKKOS_IMPL_DEFAULT_EXEC_SPACE_ANNOTATION = + Kokkos::Experimental::HPX; #elif defined(KOKKOS_ENABLE_DEFAULT_DEVICE_TYPE_SERIAL) -typedef Serial DefaultExecutionSpace; +using DefaultExecutionSpace KOKKOS_IMPL_DEFAULT_EXEC_SPACE_ANNOTATION = Serial; #else #error \ "At least one of the following execution spaces must be defined in order to use Kokkos: Kokkos::Cuda, Kokkos::Experimental::HIP, Kokkos::Experimental::OpenMPTarget, Kokkos::OpenMP, Kokkos::Threads, Kokkos::Experimental::HPX, or Kokkos::Serial." #endif #if defined(KOKKOS_ENABLE_DEFAULT_DEVICE_TYPE_OPENMP) -typedef OpenMP DefaultHostExecutionSpace; +using DefaultHostExecutionSpace KOKKOS_IMPL_DEFAULT_HOST_EXEC_SPACE_ANNOTATION = + OpenMP; #elif defined(KOKKOS_ENABLE_DEFAULT_DEVICE_TYPE_THREADS) -typedef Threads DefaultHostExecutionSpace; +using DefaultHostExecutionSpace KOKKOS_IMPL_DEFAULT_HOST_EXEC_SPACE_ANNOTATION = + Threads; #elif defined(KOKKOS_ENABLE_DEFAULT_DEVICE_TYPE_HPX) -typedef Kokkos::Experimental::HPX DefaultHostExecutionSpace; +using DefaultHostExecutionSpace KOKKOS_IMPL_DEFAULT_HOST_EXEC_SPACE_ANNOTATION = + Kokkos::Experimental::HPX; #elif defined(KOKKOS_ENABLE_DEFAULT_DEVICE_TYPE_SERIAL) -typedef Serial DefaultHostExecutionSpace; +using DefaultHostExecutionSpace KOKKOS_IMPL_DEFAULT_HOST_EXEC_SPACE_ANNOTATION = + Serial; #elif defined(KOKKOS_ENABLE_OPENMP) -typedef OpenMP DefaultHostExecutionSpace; +using DefaultHostExecutionSpace KOKKOS_IMPL_DEFAULT_HOST_EXEC_SPACE_ANNOTATION = + OpenMP; #elif defined(KOKKOS_ENABLE_THREADS) -typedef Threads DefaultHostExecutionSpace; +using DefaultHostExecutionSpace KOKKOS_IMPL_DEFAULT_HOST_EXEC_SPACE_ANNOTATION = + Threads; #elif defined(KOKKOS_ENABLE_HPX) -typedef Kokkos::Experimental::HPX DefaultHostExecutionSpace; +using DefaultHostExecutionSpace KOKKOS_IMPL_DEFAULT_HOST_EXEC_SPACE_ANNOTATION = + Kokkos::Experimental::HPX; #elif defined(KOKKOS_ENABLE_SERIAL) -typedef Serial DefaultHostExecutionSpace; +using DefaultHostExecutionSpace KOKKOS_IMPL_DEFAULT_HOST_EXEC_SPACE_ANNOTATION = + Serial; #else #error \ "At least one of the following execution spaces must be defined in order to use Kokkos: Kokkos::OpenMP, Kokkos::Threads, Kokkos::Experimental::HPX, or Kokkos::Serial." @@ -206,15 +227,15 @@ namespace Impl { #if defined(KOKKOS_ACTIVE_EXECUTION_MEMORY_SPACE_CUDA) && \ defined(KOKKOS_ENABLE_CUDA) -typedef Kokkos::CudaSpace ActiveExecutionMemorySpace; +using ActiveExecutionMemorySpace = Kokkos::CudaSpace; #elif defined(KOKKOS_ACTIVE_EXECUTION_MEMORY_SPACE_ROCM_GPU) -typedef Kokkos::HostSpace ActiveExecutionMemorySpace; +using ActiveExecutionMemorySpace = Kokkos::HostSpace; #elif defined(KOKKOS_ACTIVE_EXECUTION_MEMORY_SPACE_HIP_GPU) -typedef Kokkos::Experimental::HIPSpace ActiveExecutionMemorySpace; +using ActiveExecutionMemorySpace = Kokkos::Experimental::HIPSpace; #elif defined(KOKKOS_ACTIVE_EXECUTION_MEMORY_SPACE_HOST) -typedef Kokkos::HostSpace ActiveExecutionMemorySpace; +using ActiveExecutionMemorySpace = Kokkos::HostSpace; #else -typedef void ActiveExecutionMemorySpace; +using ActiveExecutionMemorySpace = void; #endif template @@ -250,31 +271,22 @@ void fence(); namespace Kokkos { +template +class View; + namespace Impl { template struct DeepCopy; -template -struct ViewFillETIAvail; - template ::value> + int Rank = ViewType::Rank, typename iType = int64_t> struct ViewFill; template -struct ViewCopyETIAvail; - -template ::value> struct ViewCopy; template struct LOr; } // namespace Kokkos -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE -namespace Kokkos { -template -struct MinMaxScalar; -template -struct MinMaxLocScalar; -template -struct ValLocScalar; - -namespace Experimental { -using Kokkos::BAnd; -using Kokkos::BOr; -using Kokkos::LAnd; -using Kokkos::LOr; -using Kokkos::Max; -using Kokkos::MaxLoc; -using Kokkos::Min; -using Kokkos::MinLoc; -using Kokkos::MinMax; -using Kokkos::MinMaxLoc; -using Kokkos::MinMaxLocScalar; -using Kokkos::MinMaxScalar; -using Kokkos::Prod; -using Kokkos::Sum; -using Kokkos::ValLocScalar; -} // namespace Experimental -} // namespace Kokkos -#endif #endif /* #ifndef KOKKOS_CORE_FWD_HPP */ diff --git a/lib/kokkos/core/src/Kokkos_Crs.hpp b/lib/kokkos/core/src/Kokkos_Crs.hpp index 3725ba2604ad40e7912b6afea92ccb629206554e..dfb884e514555fe0b26b8be272d1dc128e82e958 100644 --- a/lib/kokkos/core/src/Kokkos_Crs.hpp +++ b/lib/kokkos/core/src/Kokkos_Crs.hpp @@ -45,6 +45,9 @@ #ifndef KOKKOS_CRS_HPP #define KOKKOS_CRS_HPP +#include +#include + namespace Kokkos { /// \class Crs @@ -82,22 +85,21 @@ template ::size_type> class Crs { protected: - typedef ViewTraits traits; + using traits = ViewTraits; public: - typedef DataType data_type; - typedef typename traits::array_layout array_layout; - typedef typename traits::execution_space execution_space; - typedef typename traits::memory_space memory_space; - typedef typename traits::device_type device_type; - typedef SizeType size_type; - - typedef Crs staticcrsgraph_type; - typedef Crs - HostMirror; - typedef View row_map_type; - typedef View entries_type; + using data_type = DataType; + using array_layout = typename traits::array_layout; + using execution_space = typename traits::execution_space; + using memory_space = typename traits::memory_space; + using device_type = typename traits::device_type; + using size_type = SizeType; + + using staticcrsgraph_type = Crs; + using HostMirror = + Crs; + using row_map_type = View; + using entries_type = View; row_map_type row_map; entries_type entries; @@ -293,9 +295,9 @@ typename OutRowMap::value_type get_crs_row_map_from_counts( template void transpose_crs(Crs& out, Crs const& in) { - typedef Crs crs_type; - typedef typename crs_type::memory_space memory_space; - typedef View counts_type; + using crs_type = Crs; + using memory_space = typename crs_type::memory_space; + using counts_type = View; { counts_type counts; Kokkos::get_crs_transpose_counts(counts, in); @@ -340,9 +342,14 @@ struct CountAndFillBase { CountAndFillBase(CrsType& crs, Functor const& f) : m_crs(crs), m_functor(f) {} }; +#if defined(KOKKOS_ENABLE_CUDA) || defined(KOKKOS_ENABLE_HIP) #if defined(KOKKOS_ENABLE_CUDA) +#define EXEC_SPACE Kokkos::Cuda +#elif defined(KOKKOS_ENABLE_HIP) +#define EXEC_SPACE Kokkos::Experimental::HIP +#endif template -struct CountAndFillBase { +struct CountAndFillBase { using data_type = typename CrsType::data_type; using size_type = typename CrsType::size_type; using row_map_type = typename CrsType::row_map_type; diff --git a/lib/kokkos/core/src/Kokkos_Cuda.hpp b/lib/kokkos/core/src/Kokkos_Cuda.hpp index ed51e95778f93ab4ce0e835a9ca5afba0939ea7a..a5b218246998d8d1e6ac7185520bb880c038846b 100644 --- a/lib/kokkos/core/src/Kokkos_Cuda.hpp +++ b/lib/kokkos/core/src/Kokkos_Cuda.hpp @@ -118,27 +118,27 @@ class Cuda { //@{ //! Tag this class as a kokkos execution space - typedef Cuda execution_space; + using execution_space = Cuda; #if defined(KOKKOS_ENABLE_CUDA_UVM) //! This execution space's preferred memory space. - typedef CudaUVMSpace memory_space; + using memory_space = CudaUVMSpace; #else //! This execution space's preferred memory space. - typedef CudaSpace memory_space; + using memory_space = CudaSpace; #endif //! This execution space preferred device_type - typedef Kokkos::Device device_type; + using device_type = Kokkos::Device; //! The size_type best suited for this execution space. - typedef memory_space::size_type size_type; + using size_type = memory_space::size_type; //! This execution space's preferred array layout. - typedef LayoutLeft array_layout; + using array_layout = LayoutLeft; //! - typedef ScratchMemorySpace scratch_memory_space; + using scratch_memory_space = ScratchMemorySpace; //@} //-------------------------------------------------- @@ -183,11 +183,7 @@ class Cuda { /// device have completed. static void impl_static_fence(); -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - static void fence(); -#else void fence() const; -#endif /** \brief Return the maximum amount of concurrency. */ static int concurrency(); @@ -199,14 +195,17 @@ class Cuda { //-------------------------------------------------- //! \name Cuda space instances - ~Cuda() = default; - Cuda(); - Cuda(Cuda&&) = default; - Cuda(const Cuda&) = default; - Cuda& operator=(Cuda&&) = default; - Cuda& operator=(const Cuda&) = default; + KOKKOS_FUNCTION Cuda(Cuda&& other) noexcept; + + KOKKOS_FUNCTION Cuda(const Cuda& other); + + KOKKOS_FUNCTION Cuda& operator=(Cuda&& other) noexcept; + + KOKKOS_FUNCTION Cuda& operator=(const Cuda& other); + + KOKKOS_FUNCTION ~Cuda() noexcept; Cuda(cudaStream_t stream); @@ -220,17 +219,6 @@ class Cuda { explicit SelectDevice(int id) : cuda_device_id(id) {} }; -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - //! Free any resources being consumed by the device. - static void finalize(); - - //! Has been initialized - static int is_initialized(); - - //! Initialize, telling the CUDA run-time library which device to use. - static void initialize(const SelectDevice = SelectDevice(), - const size_t num_instances = 1); -#else //! Free any resources being consumed by the device. static void impl_finalize(); @@ -240,7 +228,6 @@ class Cuda { //! Initialize, telling the CUDA run-time library which device to use. static void impl_initialize(const SelectDevice = SelectDevice(), const size_t num_instances = 1); -#endif /// \brief Cuda device architecture of the selected device. /// @@ -271,9 +258,10 @@ class Cuda { private: Impl::CudaInternal* m_space_instance; + int* m_counter; }; -namespace Profiling { +namespace Tools { namespace Experimental { template <> struct DeviceTypeTraits { @@ -281,7 +269,7 @@ struct DeviceTypeTraits { static constexpr DeviceType id = DeviceType::Cuda; }; } // namespace Experimental -} // namespace Profiling +} // namespace Tools } // namespace Kokkos /*--------------------------------------------------------------------------*/ diff --git a/lib/kokkos/core/src/Kokkos_CudaSpace.hpp b/lib/kokkos/core/src/Kokkos_CudaSpace.hpp index 7db5dd9561ece7679b7cf5b24bd381b143e7a6f9..0fb7841889c6e408a75a5f3172542c6ba4ff6e7f 100644 --- a/lib/kokkos/core/src/Kokkos_CudaSpace.hpp +++ b/lib/kokkos/core/src/Kokkos_CudaSpace.hpp @@ -74,11 +74,11 @@ namespace Kokkos { class CudaSpace { public: //! Tag this class as a kokkos memory space - typedef CudaSpace memory_space; - typedef Kokkos::Cuda execution_space; - typedef Kokkos::Device device_type; + using memory_space = CudaSpace; + using execution_space = Kokkos::Cuda; + using device_type = Kokkos::Device; - typedef unsigned int size_type; + using size_type = unsigned int; /*--------------------------------*/ @@ -91,9 +91,14 @@ class CudaSpace { /**\brief Allocate untracked memory in the cuda space */ void* allocate(const size_t arg_alloc_size) const; + void* allocate(const char* arg_label, const size_t arg_alloc_size, + const size_t arg_logical_size = 0) const; /**\brief Deallocate untracked memory in the cuda space */ void deallocate(void* const arg_alloc_ptr, const size_t arg_alloc_size) const; + void deallocate(const char* arg_label, void* const arg_alloc_ptr, + const size_t arg_alloc_size, + const size_t arg_logical_size = 0) const; /**\brief Return Name of the MemorySpace */ static constexpr const char* name() { return m_name; } @@ -158,10 +163,10 @@ namespace Kokkos { class CudaUVMSpace { public: //! Tag this class as a kokkos memory space - typedef CudaUVMSpace memory_space; - typedef Cuda execution_space; - typedef Kokkos::Device device_type; - typedef unsigned int size_type; + using memory_space = CudaUVMSpace; + using execution_space = Cuda; + using device_type = Kokkos::Device; + using size_type = unsigned int; /** \brief If UVM capability is available */ static bool available(); @@ -183,9 +188,14 @@ class CudaUVMSpace { /**\brief Allocate untracked memory in the cuda space */ void* allocate(const size_t arg_alloc_size) const; + void* allocate(const char* arg_label, const size_t arg_alloc_size, + const size_t arg_logical_size = 0) const; /**\brief Deallocate untracked memory in the cuda space */ void deallocate(void* const arg_alloc_ptr, const size_t arg_alloc_size) const; + void deallocate(const char* arg_label, void* const arg_alloc_ptr, + const size_t arg_alloc_size, + const size_t arg_logical_size = 0) const; /**\brief Return Name of the MemorySpace */ static constexpr const char* name() { return m_name; } @@ -219,10 +229,10 @@ class CudaHostPinnedSpace { public: //! Tag this class as a kokkos memory space /** \brief Memory is in HostSpace so use the HostSpace::execution_space */ - typedef HostSpace::execution_space execution_space; - typedef CudaHostPinnedSpace memory_space; - typedef Kokkos::Device device_type; - typedef unsigned int size_type; + using execution_space = HostSpace::execution_space; + using memory_space = CudaHostPinnedSpace; + using device_type = Kokkos::Device; + using size_type = unsigned int; /*--------------------------------*/ @@ -235,9 +245,14 @@ class CudaHostPinnedSpace { /**\brief Allocate untracked memory in the space */ void* allocate(const size_t arg_alloc_size) const; + void* allocate(const char* arg_label, const size_t arg_alloc_size, + const size_t arg_logical_size = 0) const; /**\brief Deallocate untracked memory in the space */ void deallocate(void* const arg_alloc_ptr, const size_t arg_alloc_size) const; + void deallocate(const char* arg_label, void* const arg_alloc_ptr, + const size_t arg_alloc_size, + const size_t arg_logical_size = 0) const; /**\brief Return Name of the MemorySpace */ static constexpr const char* name() { return m_name; } @@ -818,7 +833,7 @@ class SharedAllocationRecord private: friend class SharedAllocationRecord; - typedef SharedAllocationRecord RecordBase; + using RecordBase = SharedAllocationRecord; SharedAllocationRecord(const SharedAllocationRecord&) = delete; SharedAllocationRecord& operator=(const SharedAllocationRecord&) = delete; @@ -897,7 +912,7 @@ template <> class SharedAllocationRecord : public SharedAllocationRecord { private: - typedef SharedAllocationRecord RecordBase; + using RecordBase = SharedAllocationRecord; SharedAllocationRecord(const SharedAllocationRecord&) = delete; SharedAllocationRecord& operator=(const SharedAllocationRecord&) = delete; @@ -971,7 +986,7 @@ template <> class SharedAllocationRecord : public SharedAllocationRecord { private: - typedef SharedAllocationRecord RecordBase; + using RecordBase = SharedAllocationRecord; SharedAllocationRecord(const SharedAllocationRecord&) = delete; SharedAllocationRecord& operator=(const SharedAllocationRecord&) = delete; diff --git a/lib/kokkos/core/src/Kokkos_ExecPolicy.hpp b/lib/kokkos/core/src/Kokkos_ExecPolicy.hpp index 11910138d3322a8cfad4266e2323bcfbd0d8dcc7..17eef7603847d1ad68470536b205b994c3d1e0c2 100644 --- a/lib/kokkos/core/src/Kokkos_ExecPolicy.hpp +++ b/lib/kokkos/core/src/Kokkos_ExecPolicy.hpp @@ -51,10 +51,7 @@ #include #include #include -#include -#if defined(KOKKOS_ENABLE_PROFILING) #include -#endif // KOKKOS_ENABLE_PROFILING //---------------------------------------------------------------------------- @@ -93,7 +90,7 @@ struct ChunkSize { template class RangePolicy : public Impl::PolicyTraits { public: - typedef Impl::PolicyTraits traits; + using traits = Impl::PolicyTraits; private: typename traits::execution_space m_space; @@ -107,9 +104,9 @@ class RangePolicy : public Impl::PolicyTraits { public: //! Tag this class as an execution policy - typedef RangePolicy execution_policy; - typedef typename traits::index_type member_type; - typedef typename traits::index_type index_type; + using execution_policy = RangePolicy; + using member_type = typename traits::index_type; + using index_type = typename traits::index_type; KOKKOS_INLINE_FUNCTION const typename traits::execution_space& space() const { return m_space; @@ -124,17 +121,13 @@ class RangePolicy : public Impl::PolicyTraits { // doesn't match. void operator()(const int&) const {} - RangePolicy(const RangePolicy&) = default; - RangePolicy(RangePolicy&&) = default; - template - RangePolicy(const RangePolicy p) { - m_space = p.m_space; - m_begin = p.m_begin; - m_end = p.m_end; - m_granularity = p.m_granularity; - m_granularity_mask = p.m_granularity_mask; - } + RangePolicy(const RangePolicy& p) + : m_space(p.m_space), + m_begin(p.m_begin), + m_end(p.m_end), + m_granularity(p.m_granularity), + m_granularity_mask(p.m_granularity_mask) {} inline RangePolicy() : m_space(), m_begin(0), m_end(0) {} @@ -241,8 +234,8 @@ class RangePolicy : public Impl::PolicyTraits { * Typically used to partition a range over a group of threads. */ struct WorkRange { - typedef typename RangePolicy::work_tag work_tag; - typedef typename RangePolicy::member_type member_type; + using work_tag = typename RangePolicy::work_tag; + using member_type = typename RangePolicy::member_type; KOKKOS_INLINE_FUNCTION member_type begin() const { return m_begin; } KOKKOS_INLINE_FUNCTION member_type end() const { return m_end; } @@ -290,10 +283,10 @@ namespace Impl { template class TeamPolicyInternal : public Impl::PolicyTraits { private: - typedef Impl::PolicyTraits traits; + using traits = Impl::PolicyTraits; public: - typedef typename traits::index_type index_type; + using index_type = typename traits::index_type; //---------------------------------------- /** \brief Query maximum team size for a given functor. @@ -367,11 +360,7 @@ class TeamPolicyInternal : public Impl::PolicyTraits { inline typename traits::index_type chunk_size() const; -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - inline TeamPolicyInternal set_chunk_size(int chunk_size) const; -#else inline TeamPolicyInternal& set_chunk_size(int chunk_size); -#endif /** \brief Parallel execution of a functor calls the functor once with * each member of the execution policy. @@ -504,6 +493,9 @@ struct ScratchRequest { } }; +// Throws a runtime exception if level is not `0` or `1` +void team_policy_check_valid_storage_level_argument(int level); + /** \brief Execution policy for parallel work over a league of teams of * threads. * @@ -535,214 +527,52 @@ class TeamPolicy : public Impl::TeamPolicyInternal< typename Impl::PolicyTraits::execution_space, Properties...> { - typedef Impl::TeamPolicyInternal< + using internal_policy = Impl::TeamPolicyInternal< typename Impl::PolicyTraits::execution_space, - Properties...> - internal_policy; + Properties...>; template friend class TeamPolicy; public: - typedef Impl::PolicyTraits traits; + using traits = Impl::PolicyTraits; - typedef TeamPolicy execution_policy; + using execution_policy = TeamPolicy; - TeamPolicy& operator=(const TeamPolicy&) = default; + TeamPolicy() : internal_policy(0, AUTO) {} /** \brief Construct policy with the given instance of the execution space */ TeamPolicy(const typename traits::execution_space& space_, int league_size_request, int team_size_request, int vector_length_request = 1) : internal_policy(space_, league_size_request, team_size_request, - vector_length_request) { - first_arg = false; - } + vector_length_request) {} TeamPolicy(const typename traits::execution_space& space_, int league_size_request, const Kokkos::AUTO_t&, int vector_length_request = 1) : internal_policy(space_, league_size_request, Kokkos::AUTO(), - vector_length_request) { - first_arg = false; - } + vector_length_request) {} /** \brief Construct policy with the default instance of the execution space */ TeamPolicy(int league_size_request, int team_size_request, int vector_length_request = 1) : internal_policy(league_size_request, team_size_request, - vector_length_request) { - first_arg = false; - } + vector_length_request) {} TeamPolicy(int league_size_request, const Kokkos::AUTO_t&, int vector_length_request = 1) : internal_policy(league_size_request, Kokkos::AUTO(), - vector_length_request) { - first_arg = false; - } - -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - /** \brief Construct policy with the given instance of the execution space */ - template - TeamPolicy(const typename traits::execution_space&, int league_size_request, - int team_size_request, int vector_length_request, Args... args) - : internal_policy(typename traits::execution_space(), league_size_request, - team_size_request, vector_length_request) { - first_arg = false; - set(args...); - } - - template - TeamPolicy(const typename traits::execution_space&, int league_size_request, - const Kokkos::AUTO_t&, int vector_length_request, Args... args) - : internal_policy(typename traits::execution_space(), league_size_request, - Kokkos::AUTO(), vector_length_request) { - first_arg = false; - set(args...); - } - - /** \brief Construct policy with the default instance of the execution space - */ - template - TeamPolicy(int league_size_request, int team_size_request, - int vector_length_request, Args... args) - : internal_policy(league_size_request, team_size_request, - vector_length_request) { - first_arg = false; - set(args...); - } - - template - TeamPolicy(int league_size_request, const Kokkos::AUTO_t&, - int vector_length_request, Args... args) - : internal_policy(league_size_request, Kokkos::AUTO(), - vector_length_request) { - first_arg = false; - set(args...); - } - - /** \brief Construct policy with the given instance of the execution space */ - template - TeamPolicy(const typename traits::execution_space&, int league_size_request, - int team_size_request, Args... args) - : internal_policy(typename traits::execution_space(), league_size_request, - team_size_request, - Kokkos::Impl::extract_vector_length(args...)) { - first_arg = true; - set(args...); - } - - template - TeamPolicy(const typename traits::execution_space&, int league_size_request, - const Kokkos::AUTO_t&, Args... args) - : internal_policy(typename traits::execution_space(), league_size_request, - Kokkos::AUTO(), - Kokkos::Impl::extract_vector_length(args...)) { - first_arg = true; - set(args...); - } - - /** \brief Construct policy with the default instance of the execution space - */ - template - TeamPolicy(int league_size_request, int team_size_request, Args... args) - : internal_policy(league_size_request, team_size_request, - Kokkos::Impl::extract_vector_length(args...)) { - first_arg = true; - set(args...); - } - - template - TeamPolicy(int league_size_request, const Kokkos::AUTO_t&, Args... args) - : internal_policy(league_size_request, Kokkos::AUTO(), - Kokkos::Impl::extract_vector_length(args...)) { - first_arg = true; - set(args...); - } -#endif + vector_length_request) {} template - TeamPolicy(const TeamPolicy p) : internal_policy(p) { - first_arg = p.first_arg; - } + TeamPolicy(const TeamPolicy p) : internal_policy(p) {} private: - bool first_arg; - TeamPolicy(const internal_policy& p) : internal_policy(p) { - first_arg = false; - } - -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - inline void set() {} -#endif + TeamPolicy(const internal_policy& p) : internal_policy(p) {} public: -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - template - inline void set(Args...) { - static_assert( - 0 == sizeof...(Args), - "Kokkos::TeamPolicy: unhandled constructor arguments encountered."); - } - - template - inline typename std::enable_if::value>::type set( - iType, Args... args) { - if (first_arg) { - first_arg = false; - set(args...); - } else { - first_arg = false; - Kokkos::Impl::throw_runtime_exception( - "Kokkos::TeamPolicy: integer argument to constructor in illegal " - "place."); - } - } - - template - inline void set(const ChunkSize& chunksize, Args... args) { - first_arg = false; - internal_policy::internal_set_chunk_size(chunksize.value); - set(args...); - } - - template - inline void set(const ScratchRequest& scr_request, Args... args) { - first_arg = false; - internal_policy::internal_set_scratch_size( - scr_request.level, Impl::PerTeamValue(scr_request.per_team), - Impl::PerThreadValue(scr_request.per_thread)); - set(args...); - } - - inline TeamPolicy set_chunk_size(int chunk) const { - return TeamPolicy(internal_policy::set_chunk_size(chunk)); - } - - inline TeamPolicy set_scratch_size(const int& level, - const Impl::PerTeamValue& per_team) const { - return TeamPolicy(internal_policy::set_scratch_size(level, per_team)); - } - inline TeamPolicy set_scratch_size( - const int& level, const Impl::PerThreadValue& per_thread) const { - return TeamPolicy(internal_policy::set_scratch_size(level, per_thread)); - } - inline TeamPolicy set_scratch_size( - const int& level, const Impl::PerTeamValue& per_team, - const Impl::PerThreadValue& per_thread) const { - return TeamPolicy( - internal_policy::set_scratch_size(level, per_team, per_thread)); - } - inline TeamPolicy set_scratch_size(const int& level, - const Impl::PerThreadValue& per_thread, - const Impl::PerTeamValue& per_team) const { - return TeamPolicy( - internal_policy::set_scratch_size(level, per_team, per_thread)); - } - -#else inline TeamPolicy& set_chunk_size(int chunk) { static_assert(std::is_same::value, @@ -756,27 +586,31 @@ class TeamPolicy level, per_team)), internal_policy&>::value, "internal set_chunk_size should return a reference"); + + team_policy_check_valid_storage_level_argument(level); return static_cast( internal_policy::set_scratch_size(level, per_team)); } inline TeamPolicy& set_scratch_size(const int& level, const Impl::PerThreadValue& per_thread) { + team_policy_check_valid_storage_level_argument(level); return static_cast( internal_policy::set_scratch_size(level, per_thread)); } inline TeamPolicy& set_scratch_size(const int& level, const Impl::PerTeamValue& per_team, const Impl::PerThreadValue& per_thread) { + team_policy_check_valid_storage_level_argument(level); return static_cast( internal_policy::set_scratch_size(level, per_team, per_thread)); } inline TeamPolicy& set_scratch_size(const int& level, const Impl::PerThreadValue& per_thread, const Impl::PerTeamValue& per_team) { + team_policy_check_valid_storage_level_argument(level); return static_cast( internal_policy::set_scratch_size(level, per_team, per_thread)); } -#endif }; namespace Impl { @@ -803,7 +637,7 @@ struct TeamThreadRangeBoundariesStruct { } public: - typedef iType index_type; + using index_type = iType; const iType start; const iType end; enum { increment = 1 }; @@ -849,7 +683,7 @@ struct TeamVectorRangeBoundariesStruct { } public: - typedef iType index_type; + using index_type = iType; const iType start; const iType end; enum { increment = 1 }; @@ -875,7 +709,7 @@ struct TeamVectorRangeBoundariesStruct { template struct ThreadVectorRangeBoundariesStruct { - typedef iType index_type; + using index_type = iType; const index_type start; const index_type end; enum { increment = 1 }; @@ -989,7 +823,6 @@ KOKKOS_INLINE_FUNCTION_DELETED ThreadVectorRange(const TeamMemberType&, const iType& arg_begin, const iType& arg_end) = delete; -#if defined(KOKKOS_ENABLE_PROFILING) namespace Impl { template { }; } // namespace Impl -#endif /* defined KOKKOS_ENABLE_PROFILING */ } // namespace Kokkos @@ -1040,29 +872,29 @@ struct PolicyPropertyAdaptor; template struct PolicyPropertyAdaptor, RangePolicy> { - typedef RangePolicy policy_in_t; - typedef RangePolicy> - policy_out_t; + using policy_in_t = RangePolicy; + using policy_out_t = + RangePolicy>; }; template struct PolicyPropertyAdaptor, TeamPolicy> { - typedef TeamPolicy policy_in_t; - typedef TeamPolicy> - policy_out_t; + using policy_in_t = TeamPolicy; + using policy_out_t = + TeamPolicy>; }; } // namespace Impl diff --git a/lib/kokkos/core/src/Kokkos_Extents.hpp b/lib/kokkos/core/src/Kokkos_Extents.hpp index 856adf9cf9744d8c6ce03cfb0f13ac5bb3277efd..683b76e1f960836134862d10fb62ab53f55a8463 100644 --- a/lib/kokkos/core/src/Kokkos_Extents.hpp +++ b/lib/kokkos/core/src/Kokkos_Extents.hpp @@ -45,6 +45,8 @@ #define KOKKOS_KOKKOS_EXTENTS_HPP #include +#include +#include namespace Kokkos { namespace Experimental { diff --git a/lib/kokkos/core/src/Kokkos_HBWSpace.hpp b/lib/kokkos/core/src/Kokkos_HBWSpace.hpp index ce36b018cf4c16580aa2aad7b468e5419e573fd0..0bf63ec20dab48927ca94306205e9d27a220a274 100644 --- a/lib/kokkos/core/src/Kokkos_HBWSpace.hpp +++ b/lib/kokkos/core/src/Kokkos_HBWSpace.hpp @@ -97,8 +97,8 @@ namespace Experimental { class HBWSpace { public: //! Tag this class as a kokkos memory space - typedef HBWSpace memory_space; - typedef size_t size_type; + using memory_space = HBWSpace; + using size_type = size_t; /// \typedef execution_space /// \brief Default execution space for this memory space. @@ -107,22 +107,22 @@ class HBWSpace { /// useful for things like initializing a View (which happens in /// parallel using the View's default execution space). #if defined(KOKKOS_ENABLE_DEFAULT_DEVICE_TYPE_OPENMP) - typedef Kokkos::OpenMP execution_space; + using execution_space = Kokkos::OpenMP; #elif defined(KOKKOS_ENABLE_DEFAULT_DEVICE_TYPE_THREADS) - typedef Kokkos::Threads execution_space; + using execution_space = Kokkos::Threads; #elif defined(KOKKOS_ENABLE_OPENMP) - typedef Kokkos::OpenMP execution_space; + using execution_space = Kokkos::OpenMP; #elif defined(KOKKOS_ENABLE_THREADS) - typedef Kokkos::Threads execution_space; + using execution_space = Kokkos::Threads; #elif defined(KOKKOS_ENABLE_SERIAL) - typedef Kokkos::Serial execution_space; + using execution_space = Kokkos::Serial; #else #error \ "At least one of the following host execution spaces must be defined: Kokkos::OpenMP, Kokkos::Threads, or Kokkos::Serial. You might be seeing this message if you disabled the Kokkos::Serial device explicitly using the Kokkos_ENABLE_Serial:BOOL=OFF CMake option, but did not enable any of the other host execution space devices." #endif //! This memory space preferred device_type - typedef Kokkos::Device device_type; + using device_type = Kokkos::Device; /**\brief Default memory space instance */ HBWSpace(); @@ -144,9 +144,14 @@ class HBWSpace { /**\brief Allocate untracked memory in the space */ void* allocate(const size_t arg_alloc_size) const; + void* allocate(const char* arg_label, const size_t arg_alloc_size, + const size_t arg_logical_size = 0) const; /**\brief Deallocate untracked memory in the space */ void deallocate(void* const arg_alloc_ptr, const size_t arg_alloc_size) const; + void deallocate(const char* arg_label, void* const arg_alloc_ptr, + const size_t arg_alloc_size, + const size_t arg_logical_size = 0) const; /**\brief Return Name of the MemorySpace */ static constexpr const char* name() { return "HBW"; } @@ -173,7 +178,7 @@ class SharedAllocationRecord private: friend Kokkos::Experimental::HBWSpace; - typedef SharedAllocationRecord RecordBase; + using RecordBase = SharedAllocationRecord; SharedAllocationRecord(const SharedAllocationRecord&) = delete; SharedAllocationRecord& operator=(const SharedAllocationRecord&) = delete; diff --git a/lib/kokkos/core/src/Kokkos_HIP.hpp b/lib/kokkos/core/src/Kokkos_HIP.hpp index 4e9325c2d28352fcf575079f5dfac0a3807aa002..7afda3b43e0ddba6e8ef8776a244a0e03deba492 100644 --- a/lib/kokkos/core/src/Kokkos_HIP.hpp +++ b/lib/kokkos/core/src/Kokkos_HIP.hpp @@ -60,6 +60,7 @@ #include #include #include +#include #endif #endif diff --git a/lib/kokkos/core/src/Kokkos_HIP_Space.hpp b/lib/kokkos/core/src/Kokkos_HIP_Space.hpp index 90bdb7b9130c9288fb5b63def3cc17890ce95b22..3a6b0186a30f42e83770b74c621a4da96845feaf 100644 --- a/lib/kokkos/core/src/Kokkos_HIP_Space.hpp +++ b/lib/kokkos/core/src/Kokkos_HIP_Space.hpp @@ -88,9 +88,14 @@ class HIPSpace { /**\brief Allocate untracked memory in the hip space */ void* allocate(const size_t arg_alloc_size) const; + void* allocate(const char* arg_label, const size_t arg_alloc_size, + const size_t arg_logical_size = 0) const; /**\brief Deallocate untracked memory in the hip space */ void deallocate(void* const arg_alloc_ptr, const size_t arg_alloc_size) const; + void deallocate(const char* arg_label, void* const arg_alloc_ptr, + const size_t arg_alloc_size, + const size_t arg_logical_size = 0) const; /**\brief Return Name of the MemorySpace */ static constexpr const char* name() { return "HIP"; } @@ -175,9 +180,14 @@ class HIPHostPinnedSpace { /**\brief Allocate untracked memory in the space */ void* allocate(const size_t arg_alloc_size) const; + void* allocate(const char* arg_label, const size_t arg_alloc_size, + const size_t arg_logical_size = 0) const; /**\brief Deallocate untracked memory in the space */ void deallocate(void* const arg_alloc_ptr, const size_t arg_alloc_size) const; + void deallocate(const char* arg_label, void* const arg_alloc_ptr, + const size_t arg_alloc_size, + const size_t arg_logical_size = 0) const; /**\brief Return Name of the MemorySpace */ static constexpr const char* name() { return "HIPHostPinned"; } @@ -519,7 +529,7 @@ template <> class SharedAllocationRecord : public SharedAllocationRecord { private: - typedef SharedAllocationRecord RecordBase; + using RecordBase = SharedAllocationRecord; SharedAllocationRecord(const SharedAllocationRecord&) = delete; SharedAllocationRecord& operator=(const SharedAllocationRecord&) = delete; @@ -570,7 +580,7 @@ template <> class SharedAllocationRecord : public SharedAllocationRecord { private: - typedef SharedAllocationRecord RecordBase; + using RecordBase = SharedAllocationRecord; SharedAllocationRecord(const SharedAllocationRecord&) = delete; SharedAllocationRecord& operator=(const SharedAllocationRecord&) = delete; @@ -645,14 +655,15 @@ class HIP { using scratch_memory_space = ScratchMemorySpace; - ~HIP() = default; HIP(); - // explicit HIP( const int instance_id ); + HIP(hipStream_t stream); - HIP(HIP&&) = default; - HIP(const HIP&) = default; - HIP& operator=(HIP&&) = default; - HIP& operator=(const HIP&) = default; + KOKKOS_FUNCTION HIP(HIP&& other) noexcept; + KOKKOS_FUNCTION HIP(HIP const& other); + KOKKOS_FUNCTION HIP& operator=(HIP&&) noexcept; + KOKKOS_FUNCTION HIP& operator=(HIP const&); + + KOKKOS_FUNCTION ~HIP() noexcept; //@} //------------------------------------ @@ -667,10 +678,18 @@ class HIP { #endif } - /** \brief Wait until all dispatched functors complete. A noop for OpenMP. */ + /** \brief Wait until all dispatched functors complete. + * + * The parallel_for or parallel_reduce dispatch of a functor may return + * asynchronously, before the functor completes. This method does not return + * until all dispatched functors on this device have completed. + */ static void impl_static_fence(); + void fence() const; + hipStream_t hip_stream() const; + /// \brief Print configuration information to the given output stream. static void print_configuration(std::ostream&, const bool detail = false); @@ -687,6 +706,7 @@ class HIP { }; int hip_device() const; + static hipDeviceProp_t const& hip_device_prop(); static void impl_initialize(const SelectDevice = SelectDevice()); @@ -694,7 +714,7 @@ class HIP { // static size_type device_arch(); - // static size_type detect_device_count(); + static size_type detect_device_count(); static int concurrency(); static const char* name(); @@ -707,16 +727,17 @@ class HIP { private: Impl::HIPInternal* m_space_instance; + int* m_counter; }; } // namespace Experimental -namespace Profiling { +namespace Tools { namespace Experimental { template <> struct DeviceTypeTraits { static constexpr DeviceType id = DeviceType::HIP; }; } // namespace Experimental -} // namespace Profiling +} // namespace Tools } // namespace Kokkos namespace Kokkos { diff --git a/lib/kokkos/core/src/Kokkos_HPX.hpp b/lib/kokkos/core/src/Kokkos_HPX.hpp index 10354635c5857952b751267881eca0a7f5b2043a..1e01764f97867fb4e985ab28e9fde732f37af4ff 100644 --- a/lib/kokkos/core/src/Kokkos_HPX.hpp +++ b/lib/kokkos/core/src/Kokkos_HPX.hpp @@ -67,7 +67,7 @@ #include #include #include -#include +#include #include #include @@ -75,6 +75,7 @@ #include #include +#include #include #include #include @@ -85,6 +86,9 @@ #include #include +#include + +#include #include #include #include @@ -112,6 +116,28 @@ #error "You have chosen an invalid value for KOKKOS_HPX_IMPLEMENTATION" #endif +// [note 1] +// +// When using the asynchronous backend and independent instances, we explicitly +// reset the shared data at the end of a parallel task (execute_task). We do +// this to avoid circular references with shared pointers that would otherwise +// never be released. +// +// The HPX instance holds shared data for the instance in a shared_ptr. One of +// the pieces of shared data is the future that we use to sequence parallel +// dispatches. When a parallel task is launched, a copy of the closure +// (ParallelFor, ParallelReduce, etc.) is captured in the task. The closure +// also holds the policy, the policy holds the HPX instance, the instance holds +// the shared data (for use of buffers in the parallel task). When attaching a +// continuation to a future, the continuation is stored in the future (shared +// state). This means that there is a cycle future -> continuation -> closure +// -> policy -> HPX -> shared data -> future. We break this by releasing the +// shared data early, as (the pointer to) the shared data will not be used +// anymore by the closure at the end of execute_task. +// +// We also mark the shared instance data as mutable so that we can reset it +// from the const execute_task member function. + namespace Kokkos { namespace Impl { class thread_buffer { @@ -177,9 +203,31 @@ namespace Experimental { class HPX { private: static bool m_hpx_initialized; - static Kokkos::Impl::thread_buffer m_buffer; + static std::atomic m_next_instance_id; + uint32_t m_instance_id = 0; + #if defined(KOKKOS_ENABLE_HPX_ASYNC_DISPATCH) - static hpx::future m_future; + public: + enum class instance_mode { global, independent }; + instance_mode m_mode; + + private: + static std::atomic m_active_parallel_region_count; + + struct instance_data { + instance_data() = default; + instance_data(hpx::shared_future future) : m_future(future) {} + Kokkos::Impl::thread_buffer m_buffer; + hpx::shared_future m_future = hpx::make_ready_future(); + }; + + mutable std::shared_ptr m_independent_instance_data; + static instance_data m_global_instance_data; + + std::reference_wrapper m_buffer; + std::reference_wrapper> m_future; +#else + static Kokkos::Impl::thread_buffer m_global_buffer; #endif public: @@ -190,29 +238,106 @@ class HPX { using size_type = memory_space::size_type; using scratch_memory_space = ScratchMemorySpace; +#if defined(KOKKOS_ENABLE_HPX_ASYNC_DISPATCH) + HPX() + noexcept + : m_instance_id(0), + m_mode(instance_mode::global), + m_buffer(m_global_instance_data.m_buffer), + m_future(m_global_instance_data.m_future) {} + + HPX(instance_mode mode) + : m_instance_id(mode == instance_mode::independent ? m_next_instance_id++ + : 0), + m_mode(mode), + m_independent_instance_data(mode == instance_mode::independent + ? (new instance_data()) + : nullptr), + m_buffer(mode == instance_mode::independent + ? m_independent_instance_data->m_buffer + : m_global_instance_data.m_buffer), + m_future(mode == instance_mode::independent + ? m_independent_instance_data->m_future + : m_global_instance_data.m_future) {} + + HPX(hpx::shared_future future) + : m_instance_id(m_next_instance_id++), + m_mode(instance_mode::independent), + + m_independent_instance_data(new instance_data(future)), + m_buffer(m_independent_instance_data->m_buffer), + m_future(m_independent_instance_data->m_future) {} + + HPX(const HPX &other) + : m_instance_id(other.m_instance_id), + m_mode(other.m_mode), + m_independent_instance_data(other.m_independent_instance_data), + m_buffer(other.m_buffer), + m_future(other.m_future) {} + + HPX &operator=(const HPX &other) { + m_instance_id = + other.m_mode == instance_mode::independent ? m_next_instance_id++ : 0; + m_mode = other.m_mode; + m_independent_instance_data = other.m_independent_instance_data; + m_buffer = m_mode == instance_mode::independent + ? m_independent_instance_data->m_buffer + : m_global_instance_data.m_buffer; + m_future = m_mode == instance_mode::independent + ? m_independent_instance_data->m_future + : m_global_instance_data.m_future; + return *this; + } +#else HPX() noexcept {} +#endif + static void print_configuration(std::ostream &, const bool /* verbose */ = false) { std::cout << "HPX backend" << std::endl; } - uint32_t impl_instance_id() const noexcept { return 0; } + uint32_t impl_instance_id() const noexcept { return m_instance_id; } +#if defined(KOKKOS_ENABLE_HPX_ASYNC_DISPATCH) + static bool in_parallel(HPX const &instance = HPX()) noexcept { + return !instance.impl_get_future().is_ready(); + } +#else static bool in_parallel(HPX const & = HPX()) noexcept { return false; } - static void impl_static_fence(HPX const & = HPX()) +#endif + #if defined(KOKKOS_ENABLE_HPX_ASYNC_DISPATCH) - { + static void impl_decrement_active_parallel_region_count() { + --m_active_parallel_region_count; + } + + static void impl_increment_active_parallel_region_count() { + ++m_active_parallel_region_count; + } + + void impl_fence_instance() const { if (hpx::threads::get_self_ptr() == nullptr) { - hpx::threads::run_as_hpx_thread([]() { impl_get_future().wait(); }); + hpx::threads::run_as_hpx_thread([this]() { impl_get_future().wait(); }); } else { impl_get_future().wait(); } } -#else - noexcept { + + void impl_fence_all_instances() const { + hpx::util::yield_while( + []() { return m_active_parallel_region_count.load() != 0; }); } #endif - void fence() const { impl_static_fence(); } + void fence() const { +#if defined(KOKKOS_ENABLE_HPX_ASYNC_DISPATCH) + if (m_mode == instance_mode::global) { + impl_fence_all_instances(); + } else { + impl_fence_instance(); + } +#endif + } static bool is_asynchronous(HPX const & = HPX()) noexcept { #if defined(KOKKOS_ENABLE_HPX_ASYNC_DISPATCH) @@ -287,53 +412,91 @@ class HPX { return hpx::get_worker_thread_num(); } - static Kokkos::Impl::thread_buffer &impl_get_buffer() noexcept { - return m_buffer; + Kokkos::Impl::thread_buffer &impl_get_buffer() const noexcept { +#if defined(KOKKOS_ENABLE_HPX_ASYNC_DISPATCH) + return m_buffer.get(); +#else + return m_global_buffer; +#endif } #if defined(KOKKOS_ENABLE_HPX_ASYNC_DISPATCH) - static hpx::future &impl_get_future() noexcept { return m_future; } + hpx::shared_future &impl_get_future() const noexcept { + return m_future; + } +#endif + +#if defined(KOKKOS_ENABLE_HPX_ASYNC_DISPATCH) + struct KOKKOS_ATTRIBUTE_NODISCARD reset_on_exit_parallel { + HPX const &m_space; + reset_on_exit_parallel(HPX const &space) : m_space(space) {} + ~reset_on_exit_parallel() { + // See [note 1] for an explanation. m_independent_instance_data is + // marked mutable. + m_space.m_independent_instance_data.reset(); + + HPX::impl_decrement_active_parallel_region_count(); + } + }; #endif static constexpr const char *name() noexcept { return "HPX"; } }; } // namespace Experimental -namespace Profiling { +namespace Tools { namespace Experimental { template <> struct DeviceTypeTraits { - constexpr static DeviceType id = DeviceType::HPX; + static constexpr DeviceType id = DeviceType::HPX; }; } // namespace Experimental -} // namespace Profiling +} // namespace Tools namespace Impl { -template -inline void dispatch_execute_task(Closure *closure) { #if defined(KOKKOS_ENABLE_HPX_ASYNC_DISPATCH) +template +inline void dispatch_execute_task(Closure *closure, + Kokkos::Experimental::HPX const &instance, + bool force_synchronous = false) { + Kokkos::Experimental::HPX::impl_increment_active_parallel_region_count(); + if (hpx::threads::get_self_ptr() == nullptr) { - hpx::threads::run_as_hpx_thread([closure]() { - hpx::future &fut = Kokkos::Experimental::HPX::impl_get_future(); - Closure closure_copy = *closure; - fut = fut.then([closure_copy](hpx::future &&) { + hpx::threads::run_as_hpx_thread([closure, &instance]() { + hpx::shared_future &fut = instance.impl_get_future(); + Closure closure_copy = *closure; + fut = fut.then([closure_copy](hpx::shared_future &&) { closure_copy.execute_task(); }); }); } else { - hpx::future &fut = Kokkos::Experimental::HPX::impl_get_future(); - Closure closure_copy = *closure; - fut = fut.then( - [closure_copy](hpx::future &&) { closure_copy.execute_task(); }); + hpx::shared_future &fut = instance.impl_get_future(); + Closure closure_copy = *closure; + fut = fut.then([closure_copy](hpx::shared_future &&) { + closure_copy.execute_task(); + }); } + + if (force_synchronous) { + instance.fence(); + } +} #else +template +inline void dispatch_execute_task(Closure *closure, + Kokkos::Experimental::HPX const &, + bool = false) { +#if defined(KOKKOS_ENABLE_HPX_ASYNC_DISPATCH) + Kokkos::Experimental::HPX::impl_increment_active_parallel_region_count(); +#endif + if (hpx::threads::get_self_ptr() == nullptr) { hpx::threads::run_as_hpx_thread([closure]() { closure->execute_task(); }); } else { closure->execute_task(); } -#endif } +#endif } // namespace Impl } // namespace Kokkos @@ -362,17 +525,74 @@ namespace Kokkos { namespace Experimental { template <> class UniqueToken { + private: + using buffer_type = Kokkos::View; + int m_count; + buffer_type m_buffer_view; + uint32_t volatile *m_buffer; + public: using execution_space = HPX; using size_type = int; - UniqueToken(execution_space const & = execution_space()) noexcept {} - // NOTE: Currently this assumes that there is no oversubscription. - // hpx::get_num_worker_threads can't be used directly because it may yield - // it's task (problematic if called after hpx::get_worker_thread_num). - int size() const noexcept { return HPX::impl_max_hardware_threads(); } - int acquire() const noexcept { return HPX::impl_hardware_thread_id(); } - void release(int) const noexcept {} + /// \brief create object size for concurrency on the given instance + /// + /// This object should not be shared between instances + UniqueToken(execution_space const & = execution_space()) noexcept + : m_count(execution_space::impl_max_hardware_threads()), + m_buffer_view(buffer_type()), + m_buffer(nullptr) {} + + UniqueToken(size_type max_size, execution_space const & = execution_space()) + : m_count(max_size > execution_space::impl_max_hardware_threads() + ? execution_space::impl_max_hardware_threads() + : max_size), + m_buffer_view( + max_size > execution_space::impl_max_hardware_threads() + ? buffer_type() + : buffer_type("UniqueToken::m_buffer_view", + ::Kokkos::Impl::concurrent_bitset::buffer_bound( + m_count))), + m_buffer(m_buffer_view.data()) {} + + /// \brief upper bound for acquired values, i.e. 0 <= value < size() + KOKKOS_INLINE_FUNCTION + int size() const noexcept { return m_count; } + + /// \brief acquire value such that 0 <= value < size() + KOKKOS_INLINE_FUNCTION + int acquire() const noexcept { +#if defined(KOKKOS_ACTIVE_EXECUTION_MEMORY_SPACE_HOST) + if (m_buffer == nullptr) { + return execution_space::impl_hardware_thread_id(); + } else { + const ::Kokkos::pair result = + ::Kokkos::Impl::concurrent_bitset::acquire_bounded( + m_buffer, m_count, ::Kokkos::Impl::clock_tic() % m_count); + + if (result.first < 0) { + ::Kokkos::abort( + "UniqueToken failure to acquire tokens, no tokens " + "available"); + } + return result.first; + } +#else + return 0; +#endif + } + + /// \brief release a value acquired by generate + KOKKOS_INLINE_FUNCTION + void release(int i) const noexcept { +#if defined(KOKKOS_ACTIVE_EXECUTION_MEMORY_SPACE_HOST) + if (m_buffer != nullptr) { + ::Kokkos::Impl::concurrent_bitset::release(m_buffer, i); + } +#else + (void)i; +#endif + } }; template <> @@ -731,9 +951,17 @@ class ParallelFor, } public: - void execute() const { Kokkos::Impl::dispatch_execute_task(this); } + void execute() const { + Kokkos::Impl::dispatch_execute_task(this, m_policy.space()); + } void execute_task() const { + // See [note 1] for an explanation. +#if defined(KOKKOS_ENABLE_HPX_ASYNC_DISPATCH) + Kokkos::Experimental::HPX::reset_on_exit_parallel reset_on_exit( + m_policy.space()); +#endif + #if KOKKOS_HPX_IMPLEMENTATION == 0 using hpx::parallel::for_loop; using hpx::parallel::execution::par; @@ -809,9 +1037,15 @@ class ParallelFor, const Policy m_policy; public: - void execute() const { dispatch_execute_task(this); } + void execute() const { dispatch_execute_task(this, m_mdr_policy.space()); } inline void execute_task() const { + // See [note 1] for an explanation. +#if defined(KOKKOS_ENABLE_HPX_ASYNC_DISPATCH) + Kokkos::Experimental::HPX::reset_on_exit_parallel reset_on_exit( + m_mdr_policy.space()); +#endif + #if KOKKOS_HPX_IMPLEMENTATION == 0 using hpx::parallel::for_loop; using hpx::parallel::execution::par; @@ -1019,9 +1253,17 @@ class ParallelReduce, ReducerType, }; public: - void execute() const { dispatch_execute_task(this); } + void execute() const { + dispatch_execute_task(this, m_policy.space(), m_force_synchronous); + } inline void execute_task() const { + // See [note 1] for an explanation. +#if defined(KOKKOS_ENABLE_HPX_ASYNC_DISPATCH) + Kokkos::Experimental::HPX::reset_on_exit_parallel reset_on_exit( + m_policy.space()); +#endif + const std::size_t value_size = Analysis::value_size(ReducerConditional::select(m_functor, m_reducer)); @@ -1062,7 +1304,7 @@ class ParallelReduce, ReducerType, #elif KOKKOS_HPX_IMPLEMENTATION == 1 const int num_worker_threads = Kokkos::Experimental::HPX::concurrency(); - thread_buffer &buffer = Kokkos::Experimental::HPX::impl_get_buffer(); + thread_buffer &buffer = m_policy.space().impl_get_buffer(); buffer.resize(num_worker_threads, value_size); using hpx::apply; @@ -1118,7 +1360,7 @@ class ParallelReduce, ReducerType, #elif KOKKOS_HPX_IMPLEMENTATION == 2 const int num_worker_threads = Kokkos::Experimental::HPX::concurrency(); - thread_buffer &buffer = Kokkos::Experimental::HPX::impl_get_buffer(); + thread_buffer &buffer = m_policy.space().impl_get_buffer(); buffer.resize(num_worker_threads, value_size); using hpx::parallel::for_loop; @@ -1236,14 +1478,22 @@ class ParallelReduce, ReducerType, bool m_force_synchronous; public: - void execute() const { dispatch_execute_task(this); } + void execute() const { + dispatch_execute_task(this, m_mdr_policy.space(), m_force_synchronous); + } inline void execute_task() const { + // See [note 1] for an explanation. +#if defined(KOKKOS_ENABLE_HPX_ASYNC_DISPATCH) + Kokkos::Experimental::HPX::reset_on_exit_parallel reset_on_exit( + m_mdr_policy.space()); +#endif + const int num_worker_threads = Kokkos::Experimental::HPX::concurrency(); const std::size_t value_size = Analysis::value_size(ReducerConditional::select(m_functor, m_reducer)); - thread_buffer &buffer = Kokkos::Experimental::HPX::impl_get_buffer(); + thread_buffer &buffer = m_mdr_policy.space().impl_get_buffer(); buffer.resize(num_worker_threads, value_size); #if KOKKOS_HPX_IMPLEMENTATION == 0 @@ -1440,14 +1690,20 @@ class ParallelScan, } public: - void execute() const { dispatch_execute_task(this); } + void execute() const { dispatch_execute_task(this, m_policy.space()); } inline void execute_task() const { + // See [note 1] for an explanation. +#if defined(KOKKOS_ENABLE_HPX_ASYNC_DISPATCH) + Kokkos::Experimental::HPX::reset_on_exit_parallel reset_on_exit( + m_policy.space()); +#endif + const int num_worker_threads = Kokkos::Experimental::HPX::concurrency(); const int value_count = Analysis::value_count(m_functor); const std::size_t value_size = Analysis::value_size(m_functor); - thread_buffer &buffer = Kokkos::Experimental::HPX::impl_get_buffer(); + thread_buffer &buffer = m_policy.space().impl_get_buffer(); buffer.resize(num_worker_threads, 2 * value_size); using hpx::apply; @@ -1554,14 +1810,20 @@ class ParallelScanWithTotal, } public: - void execute() const { dispatch_execute_task(this); } + void execute() const { dispatch_execute_task(this, m_policy.space()); } inline void execute_task() const { + // See [note 1] for an explanation. +#if defined(KOKKOS_ENABLE_HPX_ASYNC_DISPATCH) + Kokkos::Experimental::HPX::reset_on_exit_parallel reset_on_exit( + m_policy.space()); +#endif + const int num_worker_threads = Kokkos::Experimental::HPX::concurrency(); const int value_count = Analysis::value_count(m_functor); const std::size_t value_size = Analysis::value_size(m_functor); - thread_buffer &buffer = Kokkos::Experimental::HPX::impl_get_buffer(); + thread_buffer &buffer = m_policy.space().impl_get_buffer(); buffer.resize(num_worker_threads, 2 * value_size); using hpx::apply; @@ -1697,12 +1959,18 @@ class ParallelFor, } public: - void execute() const { dispatch_execute_task(this); } + void execute() const { dispatch_execute_task(this, m_policy.space()); } inline void execute_task() const { + // See [note 1] for an explanation. +#if defined(KOKKOS_ENABLE_HPX_ASYNC_DISPATCH) + Kokkos::Experimental::HPX::reset_on_exit_parallel reset_on_exit( + m_policy.space()); +#endif + const int num_worker_threads = Kokkos::Experimental::HPX::concurrency(); - thread_buffer &buffer = Kokkos::Experimental::HPX::impl_get_buffer(); + thread_buffer &buffer = m_policy.space().impl_get_buffer(); buffer.resize(num_worker_threads, m_shared); #if KOKKOS_HPX_IMPLEMENTATION == 0 @@ -1864,14 +2132,20 @@ class ParallelReduce, } public: - void execute() const { dispatch_execute_task(this); } + void execute() const { dispatch_execute_task(this, m_policy.space()); } inline void execute_task() const { + // See [note 1] for an explanation. +#if defined(KOKKOS_ENABLE_HPX_ASYNC_DISPATCH) + Kokkos::Experimental::HPX::reset_on_exit_parallel reset_on_exit( + m_policy.space()); +#endif + const int num_worker_threads = Kokkos::Experimental::HPX::concurrency(); const std::size_t value_size = Analysis::value_size(ReducerConditional::select(m_functor, m_reducer)); - thread_buffer &buffer = Kokkos::Experimental::HPX::impl_get_buffer(); + thread_buffer &buffer = m_policy.space().impl_get_buffer(); buffer.resize(num_worker_threads, value_size + m_shared); #if KOKKOS_HPX_IMPLEMENTATION == 0 diff --git a/lib/kokkos/core/src/Kokkos_HostSpace.hpp b/lib/kokkos/core/src/Kokkos_HostSpace.hpp index 5bc50c7ff086a3d0ab972a9dbdbea9432788ceda..ebbc6950d2616379a624fa98b71d466c0c9c9ff9 100644 --- a/lib/kokkos/core/src/Kokkos_HostSpace.hpp +++ b/lib/kokkos/core/src/Kokkos_HostSpace.hpp @@ -103,8 +103,8 @@ namespace Kokkos { class HostSpace { public: //! Tag this class as a kokkos memory space - typedef HostSpace memory_space; - typedef size_t size_type; + using memory_space = HostSpace; + using size_type = size_t; /// \typedef execution_space /// \brief Default execution space for this memory space. @@ -113,26 +113,26 @@ class HostSpace { /// useful for things like initializing a View (which happens in /// parallel using the View's default execution space). #if defined(KOKKOS_ENABLE_DEFAULT_DEVICE_TYPE_OPENMP) - typedef Kokkos::OpenMP execution_space; + using execution_space = Kokkos::OpenMP; #elif defined(KOKKOS_ENABLE_DEFAULT_DEVICE_TYPE_THREADS) - typedef Kokkos::Threads execution_space; + using execution_space = Kokkos::Threads; #elif defined(KOKKOS_ENABLE_DEFAULT_DEVICE_TYPE_HPX) - typedef Kokkos::Experimental::HPX execution_space; + using execution_space = Kokkos::Experimental::HPX; #elif defined(KOKKOS_ENABLE_OPENMP) - typedef Kokkos::OpenMP execution_space; + using execution_space = Kokkos::OpenMP; #elif defined(KOKKOS_ENABLE_THREADS) - typedef Kokkos::Threads execution_space; + using execution_space = Kokkos::Threads; #elif defined(KOKKOS_ENABLE_HPX) - typedef Kokkos::Experimental::HPX execution_space; + using execution_space = Kokkos::Experimental::HPX; #elif defined(KOKKOS_ENABLE_SERIAL) - typedef Kokkos::Serial execution_space; + using execution_space = Kokkos::Serial; #else #error \ "At least one of the following host execution spaces must be defined: Kokkos::OpenMP, Kokkos::Threads, or Kokkos::Serial. You might be seeing this message if you disabled the Kokkos::Serial device explicitly using the Kokkos_ENABLE_Serial:BOOL=OFF CMake option, but did not enable any of the other host execution space devices." #endif //! This memory space preferred device_type - typedef Kokkos::Device device_type; + using device_type = Kokkos::Device; /**\brief Default memory space instance */ HostSpace(); @@ -156,9 +156,14 @@ class HostSpace { /**\brief Allocate untracked memory in the space */ void* allocate(const size_t arg_alloc_size) const; + void* allocate(const char* arg_label, const size_t arg_alloc_size, + const size_t arg_logical_size = 0) const; /**\brief Deallocate untracked memory in the space */ void deallocate(void* const arg_alloc_ptr, const size_t arg_alloc_size) const; + void deallocate(const char* arg_label, void* const arg_alloc_ptr, + const size_t arg_alloc_size, + const size_t arg_logical_size = 0) const; /**\brief Return Name of the MemorySpace */ static constexpr const char* name() { return m_name; } @@ -201,16 +206,13 @@ struct HostMirror { }; public: - typedef typename std::conditional< - keep_exe && keep_mem /* Can keep whole space */ - , - S, + using Space = typename std::conditional< + keep_exe && keep_mem, S, typename std::conditional< - keep_mem /* Can keep memory space, use default Host execution space */ - , + keep_mem, Kokkos::Device, - Kokkos::HostSpace>::type>::type Space; + Kokkos::HostSpace>::type>::type; }; } // namespace Impl @@ -229,7 +231,7 @@ class SharedAllocationRecord private: friend Kokkos::HostSpace; - typedef SharedAllocationRecord RecordBase; + using RecordBase = SharedAllocationRecord; SharedAllocationRecord(const SharedAllocationRecord&) = delete; SharedAllocationRecord& operator=(const SharedAllocationRecord&) = delete; diff --git a/lib/kokkos/core/src/Kokkos_Layout.hpp b/lib/kokkos/core/src/Kokkos_Layout.hpp index d34bdb9150c52218b7e5efbf7644cb9bcbe30394..aa9d99929426f281ffb9abee379c9cb726ece2f9 100644 --- a/lib/kokkos/core/src/Kokkos_Layout.hpp +++ b/lib/kokkos/core/src/Kokkos_Layout.hpp @@ -73,7 +73,7 @@ enum { ARRAY_LAYOUT_MAX_RANK = 8 }; /// major." struct LayoutLeft { //! Tag this class as a kokkos array layout - typedef LayoutLeft array_layout; + using array_layout = LayoutLeft; size_t dimension[ARRAY_LAYOUT_MAX_RANK]; @@ -107,7 +107,7 @@ struct LayoutLeft { /// two-dimensional array, "layout right" is also called "row major." struct LayoutRight { //! Tag this class as a kokkos array layout - typedef LayoutRight array_layout; + using array_layout = LayoutRight; size_t dimension[ARRAY_LAYOUT_MAX_RANK]; @@ -131,7 +131,7 @@ struct LayoutRight { /// multi-index mapping into contiguous memory. struct LayoutStride { //! Tag this class as a kokkos array layout - typedef LayoutStride array_layout; + using array_layout = LayoutStride; size_t dimension[ARRAY_LAYOUT_MAX_RANK]; size_t stride[ARRAY_LAYOUT_MAX_RANK]; @@ -186,58 +186,6 @@ struct LayoutStride { S4, S5, S6, S7} {} }; -// ========================================================================== -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - -//---------------------------------------------------------------------------- -/// \struct LayoutTileLeft -/// \brief Memory layout tag indicating left-to-right (Fortran scheme) -/// striding of multi-indices by tiles. -/// -/// This is an example of a \c MemoryLayout template parameter of -/// View. The memory layout describes how View maps from a -/// multi-index (i0, i1, ..., ik) to a memory location. -/// -/// "Tiled layout" indicates a mapping to contiguously stored -/// ArgN0 by ArgN1 tiles for the rightmost two -/// dimensions. Indices are LayoutLeft within each tile, and the -/// tiles themselves are arranged using LayoutLeft. Note that the -/// dimensions ArgN0 and ArgN1 of the tiles must be -/// compile-time constants. This speeds up index calculations. If -/// both tile dimensions are powers of two, Kokkos can optimize -/// further. -template -struct LayoutTileLeft { - static_assert(Impl::is_integral_power_of_two(ArgN0) && - Impl::is_integral_power_of_two(ArgN1), - "LayoutTileLeft must be given power-of-two tile dimensions"); - - //! Tag this class as a kokkos array layout - typedef LayoutTileLeft array_layout; - - enum { N0 = ArgN0 }; - enum { N1 = ArgN1 }; - - size_t dimension[ARRAY_LAYOUT_MAX_RANK]; - - enum { is_extent_constructible = true }; - - LayoutTileLeft(LayoutTileLeft const&) = default; - LayoutTileLeft(LayoutTileLeft&&) = default; - LayoutTileLeft& operator=(LayoutTileLeft const&) = default; - LayoutTileLeft& operator=(LayoutTileLeft&&) = default; - - KOKKOS_INLINE_FUNCTION - explicit constexpr LayoutTileLeft(size_t argN0 = 0, size_t argN1 = 0, - size_t argN2 = 0, size_t argN3 = 0, - size_t argN4 = 0, size_t argN5 = 0, - size_t argN6 = 0, size_t argN7 = 0) - : dimension{argN0, argN1, argN2, argN3, argN4, argN5, argN6, argN7} {} -}; - -#endif // KOKKOS_ENABLE_DEPRECATED_CODE // =================================================================================== ////////////////////////////////////////////////////////////////////////////////////// @@ -254,7 +202,6 @@ enum class Iterate { template struct is_layouttiled : std::false_type {}; -#ifndef KOKKOS_ENABLE_DEPRECATED_CODE template struct is_layouttiled< LayoutTiledCheck, @@ -294,9 +241,8 @@ struct LayoutTiled { , "LayoutTiled must be given power-of-two tile dimensions" ); #endif - typedef LayoutTiled - array_layout; + using array_layout = LayoutTiled; static constexpr Iterate outer_pattern = OuterP; static constexpr Iterate inner_pattern = InnerP; @@ -327,7 +273,6 @@ struct LayoutTiled { }; } // namespace Experimental -#endif // For use with view_copy template @@ -358,7 +303,6 @@ struct layout_iterate_type_selector { Kokkos::Iterate::Default; }; -#ifndef KOKKOS_ENABLE_DEPRECATED_CODE template struct layout_iterate_type_selector #endif -#include - //---------------------------------------------------------------------------- /** Pick up compiler specific #define macros: * @@ -99,13 +97,6 @@ //---------------------------------------------------------------------------- -#if defined(KOKKOS_ENABLE_SERIAL) || defined(KOKKOS_ENABLE_THREADS) || \ - defined(KOKKOS_ENABLE_OPENMP) || defined(KOKKOS_ENABLE_HPX) || \ - defined(KOKKOS_ENABLE_ROCM) || defined(KOKKOS_ENABLE_OPENMPTARGET) || \ - defined(KOKKOS_ENABLE_HIP) -#define KOKKOS_INTERNAL_ENABLE_NON_CUDA_BACKEND -#endif - #if !defined(KOKKOS_ENABLE_THREADS) && !defined(KOKKOS_ENABLE_CUDA) && \ !defined(KOKKOS_ENABLE_OPENMP) && !defined(KOKKOS_ENABLE_HPX) && \ !defined(KOKKOS_ENABLE_ROCM) && !defined(KOKKOS_ENABLE_OPENMPTARGET) && \ @@ -127,6 +118,10 @@ #include #include +#if defined(_WIN32) +#define KOKKOS_IMPL_WINDOWS_CUDA +#endif + #if !defined(CUDA_VERSION) #error "#include did not define CUDA_VERSION." #endif @@ -154,7 +149,8 @@ #define KOKKOS_ENABLE_PRE_CUDA_10_DEPRECATION_API #endif -#if defined(__CUDA_ARCH__) && (__CUDA_ARCH__ >= 700) +#if defined(__CUDA_ARCH__) && (__CUDA_ARCH__ >= 700) && \ + !defined(KOKKOS_IMPL_WINDOWS_CUDA) // PTX atomics with memory order semantics are only available on volta and later #if !defined(KOKKOS_DISABLE_CUDA_ASM) #if !defined(KOKKOS_ENABLE_CUDA_ASM) @@ -170,8 +166,6 @@ #if defined(KOKKOS_ENABLE_HIP) -#define KOKKOS_IMPL_HIP_CLANG_WORKAROUND - #define HIP_ENABLE_PRINTF #include #include @@ -205,6 +199,8 @@ #if defined(__INTEL_COMPILER) #define KOKKOS_COMPILER_INTEL __INTEL_COMPILER +#elif defined(__INTEL_LLVM_COMPILER) +#define KOKKOS_COMPILER_INTEL __INTEL_LLVM_COMPILER #elif defined(__ICC) // Old define #define KOKKOS_COMPILER_INTEL __ICC @@ -263,10 +259,12 @@ #if defined(KOKKOS_ENABLE_CUDA) // Compiling Cuda code to 'ptx' -#define KOKKOS_FORCEINLINE_FUNCTION __device__ __host__ __forceinline__ +#define KOKKOS_IMPL_FORCEINLINE_FUNCTION __device__ __host__ __forceinline__ #define KOKKOS_IMPL_FORCEINLINE __forceinline__ -#define KOKKOS_INLINE_FUNCTION __device__ __host__ inline -#define KOKKOS_FUNCTION __device__ __host__ +#define KOKKOS_IMPL_INLINE_FUNCTION __device__ __host__ inline +#define KOKKOS_IMPL_FUNCTION __device__ __host__ +#define KOKKOS_IMPL_HOST_FUNCTION __host__ +#define KOKKOS_IMPL_DEVICE_FUNCTION __device__ #if defined(KOKKOS_COMPILER_NVCC) #define KOKKOS_INLINE_FUNCTION_DELETED inline #else @@ -277,15 +275,19 @@ #else #define KOKKOS_DEFAULTED_FUNCTION inline #endif +#define KOKKOS_IMPL_HOST_FUNCTION __host__ +#define KOKKOS_IMPL_DEVICE_FUNCTION __device__ #endif #if defined(KOKKOS_ENABLE_HIP) -#define KOKKOS_FORCEINLINE_FUNCTION __device__ __host__ __forceinline__ -#define KOKKOS_INLINE_FUNCTION __device__ __host__ inline +#define KOKKOS_IMPL_FORCEINLINE_FUNCTION __device__ __host__ __forceinline__ +#define KOKKOS_IMPL_INLINE_FUNCTION __device__ __host__ inline #define KOKKOS_DEFAULTED_FUNCTION __device__ __host__ inline #define KOKKOS_INLINE_FUNCTION_DELETED __device__ __host__ inline -#define KOKKOS_FUNCTION __device__ __host__ +#define KOKKOS_IMPL_FUNCTION __device__ __host__ +#define KOKKOS_IMPL_HOST_FUNCTION __host__ +#define KOKKOS_IMPL_DEVICE_FUNCTION __device__ #if defined(KOKKOS_ENABLE_CXX17) || defined(KOKKOS_ENABLE_CXX20) #define KOKKOS_CLASS_LAMBDA [ =, *this ] __host__ __device__ #endif @@ -293,9 +295,9 @@ #if defined(KOKKOS_ENABLE_ROCM) && defined(__HCC__) -#define KOKKOS_FORCEINLINE_FUNCTION __attribute__((amp, cpu)) inline -#define KOKKOS_INLINE_FUNCTION __attribute__((amp, cpu)) inline -#define KOKKOS_FUNCTION __attribute__((amp, cpu)) +#define KOKKOS_IMPL_FORCEINLINE_FUNCTION __attribute__((amp, cpu)) inline +#define KOKKOS_IMPL_INLINE_FUNCTION __attribute__((amp, cpu)) inline +#define KOKKOS_IMPL_FUNCTION __attribute__((amp, cpu)) #define KOKKOS_LAMBDA [=] __attribute__((amp, cpu)) #define KOKKOS_DEFAULTED_FUNCTION __attribute__((amp, cpu)) inline #endif @@ -346,12 +348,12 @@ #define KOKKOS_ENABLE_ASM 1 #endif -#if !defined(KOKKOS_FORCEINLINE_FUNCTION) +#if !defined(KOKKOS_IMPL_FORCEINLINE_FUNCTION) #if !defined(_WIN32) -#define KOKKOS_FORCEINLINE_FUNCTION inline __attribute__((always_inline)) +#define KOKKOS_IMPL_FORCEINLINE_FUNCTION inline __attribute__((always_inline)) #define KOKKOS_IMPL_FORCEINLINE __attribute__((always_inline)) #else -#define KOKKOS_FORCEINLINE_FUNCTION inline +#define KOKKOS_IMPL_FORCEINLINE_FUNCTION inline #endif #endif @@ -402,8 +404,8 @@ //#define KOKKOS_ENABLE_PRAGMA_VECTOR 1 //#define KOKKOS_ENABLE_PRAGMA_SIMD 1 -#if !defined(KOKKOS_FORCEINLINE_FUNCTION) -#define KOKKOS_FORCEINLINE_FUNCTION inline __attribute__((always_inline)) +#if !defined(KOKKOS_IMPL_FORCEINLINE_FUNCTION) +#define KOKKOS_IMPL_FORCEINLINE_FUNCTION inline __attribute__((always_inline)) #define KOKKOS_IMPL_FORCEINLINE __attribute__((always_inline)) #endif @@ -427,8 +429,8 @@ #define KOKKOS_ENABLE_RFO_PREFETCH 1 #endif -#if !defined(KOKKOS_FORCEINLINE_FUNCTION) -#define KOKKOS_FORCEINLINE_FUNCTION inline __attribute__((always_inline)) +#if !defined(KOKKOS_IMPL_FORCEINLINE_FUNCTION) +#define KOKKOS_IMPL_FORCEINLINE_FUNCTION inline __attribute__((always_inline)) #define KOKKOS_IMPL_FORCEINLINE __attribute__((always_inline)) #endif @@ -462,20 +464,20 @@ //---------------------------------------------------------------------------- // Define function marking macros if compiler specific macros are undefined: -#if !defined(KOKKOS_FORCEINLINE_FUNCTION) -#define KOKKOS_FORCEINLINE_FUNCTION inline +#if !defined(KOKKOS_IMPL_FORCEINLINE_FUNCTION) +#define KOKKOS_IMPL_FORCEINLINE_FUNCTION inline #endif #if !defined(KOKKOS_IMPL_FORCEINLINE) #define KOKKOS_IMPL_FORCEINLINE inline #endif -#if !defined(KOKKOS_INLINE_FUNCTION) -#define KOKKOS_INLINE_FUNCTION inline +#if !defined(KOKKOS_IMPL_INLINE_FUNCTION) +#define KOKKOS_IMPL_INLINE_FUNCTION inline #endif -#if !defined(KOKKOS_FUNCTION) -#define KOKKOS_FUNCTION /**/ +#if !defined(KOKKOS_IMPL_FUNCTION) +#define KOKKOS_IMPL_FUNCTION /**/ #endif #if !defined(KOKKOS_INLINE_FUNCTION_DELETED) @@ -485,6 +487,33 @@ #if !defined(KOKKOS_DEFAULTED_FUNCTION) #define KOKKOS_DEFAULTED_FUNCTION inline #endif + +#if !defined(KOKKOS_IMPL_HOST_FUNCTION) +#define KOKKOS_IMPL_HOST_FUNCTION +#endif + +#if !defined(KOKKOS_IMPL_DEVICE_FUNCTION) +#define KOKKOS_IMPL_DEVICE_FUNCTION +#endif + +//---------------------------------------------------------------------------- +// Define final version of functions. This is so that clang tidy can find these +// macros more easily +#if defined(__clang_analyzer__) +#define KOKKOS_FUNCTION \ + KOKKOS_IMPL_FUNCTION __attribute__((annotate("KOKKOS_FUNCTION"))) +#define KOKKOS_INLINE_FUNCTION \ + KOKKOS_IMPL_INLINE_FUNCTION \ + __attribute__((annotate("KOKKOS_INLINE_FUNCTION"))) +#define KOKKOS_FORCEINLINE_FUNCTION \ + KOKKOS_IMPL_FORCEINLINE_FUNCTION \ + __attribute__((annotate("KOKKOS_FORCEINLINE_FUNCTION"))) +#else +#define KOKKOS_FUNCTION KOKKOS_IMPL_FUNCTION +#define KOKKOS_INLINE_FUNCTION KOKKOS_IMPL_INLINE_FUNCTION +#define KOKKOS_FORCEINLINE_FUNCTION KOKKOS_IMPL_FORCEINLINE_FUNCTION +#endif + //---------------------------------------------------------------------------- // Define empty macro for restrict if necessary: @@ -536,6 +565,11 @@ #define KOKKOS_ENABLE_DEFAULT_DEVICE_TYPE_CUDA #elif defined(KOKKOS_ENABLE_HIP) #define KOKKOS_ENABLE_DEFAULT_DEVICE_TYPE_HIP +#if defined(__HIP__) +// mark that HIP-clang can use __host__ and __device__ +// as valid overload criteria +#define KOKKOS_IMPL_ENABLE_OVERLOAD_HOST_DEVICE +#endif #elif defined(KOKKOS_ENABLE_ROCM) #define KOKKOS_ENABLE_DEFAULT_DEVICE_TYPE_ROCM #elif defined(KOKKOS_ENABLE_OPENMPTARGET) @@ -558,8 +592,7 @@ #elif defined(__HCC__) && defined(__HCC_ACCELERATOR__) && \ defined(KOKKOS_ENABLE_ROCM) #define KOKKOS_ACTIVE_EXECUTION_MEMORY_SPACE_ROCM_GPU -#elif defined(__HIPCC__) && \ - (defined(__HCC_ACCELERATOR__) || defined(__CUDA_ARCH__)) && \ +#elif defined(__HIPCC__) && defined(__HIP_DEVICE_COMPILE__) && \ defined(KOKKOS_ENABLE_HIP) #define KOKKOS_ACTIVE_EXECUTION_MEMORY_SPACE_HIP_GPU #else @@ -598,11 +631,7 @@ #define KOKKOS_INVALID_INDEX (~std::size_t(0)) -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE -#define KOKKOS_IMPL_CTOR_DEFAULT_ARG 0 -#else #define KOKKOS_IMPL_CTOR_DEFAULT_ARG KOKKOS_INVALID_INDEX -#endif #if (defined(KOKKOS_ENABLE_CXX14) || defined(KOKKOS_ENABLE_CXX17) || \ defined(KOKKOS_ENABLE_CXX20)) @@ -633,8 +662,9 @@ #define KOKKOS_ATTRIBUTE_NODISCARD #endif -#if defined(KOKKOS_COMPILER_GNU) || defined(KOKKOS_COMPILER_CLANG) || \ - defined(KOKKOS_COMPILER_INTEL) || defined(KOKKOS_COMPILER_PGI) +#if (defined(KOKKOS_COMPILER_GNU) || defined(KOKKOS_COMPILER_CLANG) || \ + defined(KOKKOS_COMPILER_INTEL) || defined(KOKKOS_COMPILER_PGI)) && \ + !defined(KOKKOS_COMPILER_MSVC) #define KOKKOS_IMPL_ENABLE_STACKTRACE #define KOKKOS_IMPL_ENABLE_CXXABI #endif @@ -652,4 +682,13 @@ #define KOKKOS_THREAD_LOCAL __thread #endif +#if defined(KOKKOS_IMPL_WINDOWS_CUDA) || defined(KOKKOS_COMPILER_MSVC) +// MSVC (as of 16.5.5 at least) does not do empty base class optimization by +// default when there are multiple bases, even though the standard requires it +// for standard layout types. +#define KOKKOS_IMPL_ENFORCE_EMPTY_BASE_OPTIMIZATION __declspec(empty_bases) +#else +#define KOKKOS_IMPL_ENFORCE_EMPTY_BASE_OPTIMIZATION +#endif + #endif // #ifndef KOKKOS_MACROS_HPP diff --git a/lib/kokkos/core/src/Kokkos_MemoryPool.hpp b/lib/kokkos/core/src/Kokkos_MemoryPool.hpp index da0754470188df0801eafb26f591a34f82fbae81..042ad6d9023494f7650f8c17ab24c0c0f424d929 100644 --- a/lib/kokkos/core/src/Kokkos_MemoryPool.hpp +++ b/lib/kokkos/core/src/Kokkos_MemoryPool.hpp @@ -52,6 +52,8 @@ #include #include +#include + namespace Kokkos { namespace Impl { /* Report violation of size constraints: @@ -73,10 +75,19 @@ void memory_pool_bounds_verification(size_t min_block_alloc_size, namespace Kokkos { +namespace Impl { + +void _print_memory_pool_state(std::ostream &s, uint32_t const *sb_state_ptr, + int32_t sb_count, uint32_t sb_size_lg2, + uint32_t sb_state_size, uint32_t state_shift, + uint32_t state_used_mask); + +} // end namespace Impl + template class MemoryPool { private: - typedef typename Kokkos::Impl::concurrent_bitset CB; + using CB = Kokkos::Impl::concurrent_bitset; enum : uint32_t { bits_per_int_lg2 = CB::bits_per_int_lg2 }; enum : uint32_t { state_shift = CB::state_shift }; @@ -107,15 +118,15 @@ class MemoryPool { * Thus A_block_size < B_block_size <=> A_block_state > B_block_state */ - typedef typename DeviceType::memory_space base_memory_space; + using base_memory_space = typename DeviceType::memory_space; enum { accessible = Kokkos::Impl::MemorySpaceAccess::accessible }; - typedef Kokkos::Impl::SharedAllocationTracker Tracker; - typedef Kokkos::Impl::SharedAllocationRecord Record; + using Tracker = Kokkos::Impl::SharedAllocationTracker; + using Record = Kokkos::Impl::SharedAllocationRecord; Tracker m_tracker; uint32_t *m_sb_state_array; @@ -231,24 +242,9 @@ class MemoryPool { sb_state_array, m_sb_state_array, alloc_size); } - const uint32_t *sb_state_ptr = sb_state_array; - - s << "pool_size(" << (size_t(m_sb_count) << m_sb_size_lg2) << ")" - << " superblock_size(" << (1LU << m_sb_size_lg2) << ")" << std::endl; - - for (int32_t i = 0; i < m_sb_count; ++i, sb_state_ptr += m_sb_state_size) { - if (*sb_state_ptr) { - const uint32_t block_count_lg2 = (*sb_state_ptr) >> state_shift; - const uint32_t block_size_lg2 = m_sb_size_lg2 - block_count_lg2; - const uint32_t block_count = 1u << block_count_lg2; - const uint32_t block_used = (*sb_state_ptr) & state_used_mask; - - s << "Superblock[ " << i << " / " << m_sb_count << " ] {" - << " block_size(" << (1 << block_size_lg2) << ")" - << " block_count( " << block_used << " / " << block_count << " )" - << std::endl; - } - } + Impl::_print_memory_pool_state(s, sb_state_array, m_sb_count, m_sb_size_lg2, + m_sb_state_size, state_shift, + state_used_mask); if (!accessible) { host.deallocate(sb_state_array, alloc_size); diff --git a/lib/kokkos/core/src/Kokkos_MemoryTraits.hpp b/lib/kokkos/core/src/Kokkos_MemoryTraits.hpp index 75d3d4014467351cd48f5dee2e122aed9aa0863c..f23442b793f5eeca8e0c1b22df6468271df96b73 100644 --- a/lib/kokkos/core/src/Kokkos_MemoryTraits.hpp +++ b/lib/kokkos/core/src/Kokkos_MemoryTraits.hpp @@ -71,18 +71,7 @@ enum MemoryTraitsFlags { template struct MemoryTraits { //! Tag this class as a kokkos memory traits: - typedef MemoryTraits memory_traits; -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - enum : bool { - Unmanaged = (unsigned(0) != (T & unsigned(Kokkos::Unmanaged))) - }; - enum : bool { - RandomAccess = (unsigned(0) != (T & unsigned(Kokkos::RandomAccess))) - }; - enum : bool { Atomic = (unsigned(0) != (T & unsigned(Kokkos::Atomic))) }; - enum : bool { Restrict = (unsigned(0) != (T & unsigned(Kokkos::Restrict))) }; - enum : bool { Aligned = (unsigned(0) != (T & unsigned(Kokkos::Aligned))) }; -#endif + using memory_traits = MemoryTraits; enum : bool { is_unmanaged = (unsigned(0) != (T & unsigned(Kokkos::Unmanaged))) }; @@ -102,10 +91,10 @@ struct MemoryTraits { namespace Kokkos { -typedef Kokkos::MemoryTraits<0> MemoryManaged; -typedef Kokkos::MemoryTraits MemoryUnmanaged; -typedef Kokkos::MemoryTraits - MemoryRandomAccess; +using MemoryManaged = Kokkos::MemoryTraits<0>; +using MemoryUnmanaged = Kokkos::MemoryTraits; +using MemoryRandomAccess = + Kokkos::MemoryTraits; } // namespace Kokkos diff --git a/lib/kokkos/core/src/Kokkos_NumericTraits.hpp b/lib/kokkos/core/src/Kokkos_NumericTraits.hpp index 88040bcbaa6946fd727c2df6907131204b57ce93..7d55a96523c218c74e6f159905aa627783b1da06 100644 --- a/lib/kokkos/core/src/Kokkos_NumericTraits.hpp +++ b/lib/kokkos/core/src/Kokkos_NumericTraits.hpp @@ -45,6 +45,7 @@ #ifndef KOKKOS_NUMERICTRAITS_HPP #define KOKKOS_NUMERICTRAITS_HPP +#include #include #include diff --git a/lib/kokkos/core/src/Kokkos_OpenMP.hpp b/lib/kokkos/core/src/Kokkos_OpenMP.hpp index d9b9077c6df877f069eb3b2e6c3cd78439fbbf8f..f5200e1e21434e6bd5499a20a0d2428ed53c8b7a 100644 --- a/lib/kokkos/core/src/Kokkos_OpenMP.hpp +++ b/lib/kokkos/core/src/Kokkos_OpenMP.hpp @@ -63,6 +63,7 @@ #include #include #include +#include #include @@ -105,11 +106,7 @@ class OpenMP { /// This is a no-op on OpenMP static void impl_static_fence(OpenMP const& = OpenMP()) noexcept; -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - static void fence(OpenMP const& = OpenMP()) noexcept; -#else void fence() const; -#endif /// \brief Does the given instance return immediately after launching /// a parallel algorithm @@ -142,58 +139,6 @@ class OpenMP { // use UniqueToken static int concurrency(); -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - /// \brief Initialize the default execution space - static void initialize(int thread_count, int use_numa_count, - int use_cores_per_numa = 0); - - /// \brief Initialize the default execution space - /// - /// if ( thread_count == -1 ) - /// then use the number of threads that openmp defaults to - /// if ( thread_count == 0 && Kokkos::hwlow_available() ) - /// then use hwloc to choose the number of threads and change - /// the default number of threads - /// if ( thread_count > 0 ) - /// then force openmp to use the given number of threads and change - /// the default number of threads - static void initialize(int thread_count = -1); - - /// \brief is the default execution space initialized for current 'master' - /// thread - static bool is_initialized() noexcept; - - /// \brief Free any resources being consumed by the default execution space - static void finalize(); - - inline static int thread_pool_size() noexcept; - - /** \brief The rank of the executing thread in this thread pool */ - KOKKOS_INLINE_FUNCTION - static int thread_pool_rank() noexcept; - - inline static int thread_pool_size(int depth); - - static void sleep(){}; - static void wake(){}; - - // Using omp_get_max_threads(); is problematic - // On Intel (essentially an initial call to the OpenMP runtime - // without a parallel region before will set a process mask for a single core - // The runtime will than bind threads for a parallel region to other cores on - // the entering the first parallel region and make the process mask the - // aggregate of the thread masks. The intend seems to be to make serial code - // run fast, if you compile with OpenMP enabled but don't actually use - // parallel regions or so static int omp_max_threads = omp_get_max_threads(); - static int get_current_max_threads() noexcept; - - // use UniqueToken - inline static int max_hardware_threads() noexcept; - - // use UniqueToken - KOKKOS_INLINE_FUNCTION - static int hardware_thread_id() noexcept; -#else static void impl_initialize(int thread_count = -1); /// \brief is the default execution space initialized for current 'master' @@ -219,20 +164,19 @@ class OpenMP { static int impl_hardware_thread_id() noexcept; static int impl_get_current_max_threads() noexcept; -#endif static constexpr const char* name() noexcept { return "OpenMP"; } uint32_t impl_instance_id() const noexcept { return 0; } }; -namespace Profiling { +namespace Tools { namespace Experimental { template <> struct DeviceTypeTraits { static constexpr DeviceType id = DeviceType::OpenMP; }; } // namespace Experimental -} // namespace Profiling +} // namespace Tools } // namespace Kokkos /*--------------------------------------------------------------------------*/ diff --git a/lib/kokkos/core/src/Kokkos_OpenMPTarget.hpp b/lib/kokkos/core/src/Kokkos_OpenMPTarget.hpp index e853b8228d07364c45b28aa669feaef2c502dbdb..78f7831cea6f7d1819867ecd9ef1ce9bd59dd41e 100644 --- a/lib/kokkos/core/src/Kokkos_OpenMPTarget.hpp +++ b/lib/kokkos/core/src/Kokkos_OpenMPTarget.hpp @@ -78,15 +78,15 @@ class OpenMPTarget { //@{ //! Tag this class as a kokkos execution space - typedef OpenMPTarget execution_space; - typedef OpenMPTargetSpace memory_space; + using execution_space = OpenMPTarget; + using memory_space = OpenMPTargetSpace; //! This execution space preferred device_type - typedef Kokkos::Device device_type; + using device_type = Kokkos::Device; - typedef LayoutLeft array_layout; - typedef memory_space::size_type size_type; + using array_layout = LayoutLeft; + using size_type = memory_space::size_type; - typedef ScratchMemorySpace scratch_memory_space; + using scratch_memory_space = ScratchMemorySpace; inline static bool in_parallel() { return omp_in_parallel(); } @@ -121,7 +121,7 @@ class OpenMPTarget { }; } // namespace Experimental -namespace Profiling { +namespace Tools { namespace Experimental { template <> struct DeviceTypeTraits<::Kokkos::Experimental::OpenMPTarget> { @@ -129,7 +129,7 @@ struct DeviceTypeTraits<::Kokkos::Experimental::OpenMPTarget> { ::Kokkos::Profiling::Experimental::DeviceType::OpenMPTarget; }; } // namespace Experimental -} // namespace Profiling +} // namespace Tools } // namespace Kokkos /*--------------------------------------------------------------------------*/ diff --git a/lib/kokkos/core/src/Kokkos_OpenMPTargetSpace.hpp b/lib/kokkos/core/src/Kokkos_OpenMPTargetSpace.hpp index 9d24a342e7b27f2fa7fa2b0f67f8f2688cc57c77..15ac8c19033953f30683dc053db80794f9d866da 100644 --- a/lib/kokkos/core/src/Kokkos_OpenMPTargetSpace.hpp +++ b/lib/kokkos/core/src/Kokkos_OpenMPTargetSpace.hpp @@ -98,8 +98,8 @@ namespace Experimental { class OpenMPTargetSpace { public: //! Tag this class as a kokkos memory space - typedef OpenMPTargetSpace memory_space; - typedef size_t size_type; + using memory_space = OpenMPTargetSpace; + using size_type = size_t; /// \typedef execution_space /// \brief Default execution space for this memory space. @@ -107,10 +107,10 @@ class OpenMPTargetSpace { /// Every memory space has a default execution space. This is /// useful for things like initializing a View (which happens in /// parallel using the View's default execution space). - typedef Kokkos::Experimental::OpenMPTarget execution_space; + using execution_space = Kokkos::Experimental::OpenMPTarget; //! This memory space preferred device_type - typedef Kokkos::Device device_type; + using device_type = Kokkos::Device; /*--------------------------------*/ @@ -149,7 +149,7 @@ class SharedAllocationRecord private: friend Kokkos::Experimental::OpenMPTargetSpace; - typedef SharedAllocationRecord RecordBase; + using RecordBase = SharedAllocationRecord; SharedAllocationRecord(const SharedAllocationRecord&) = delete; SharedAllocationRecord& operator=(const SharedAllocationRecord&) = delete; diff --git a/lib/kokkos/core/src/Kokkos_Pair.hpp b/lib/kokkos/core/src/Kokkos_Pair.hpp index 23bb755e33432bcd6d352c4e77da53f9d5598806..d7512eb08616c243128e24cc7f38e5418bb54049 100644 --- a/lib/kokkos/core/src/Kokkos_Pair.hpp +++ b/lib/kokkos/core/src/Kokkos_Pair.hpp @@ -64,9 +64,9 @@ namespace Kokkos { template struct pair { //! The first template parameter of this class. - typedef T1 first_type; + using first_type = T1; //! The second template parameter of this class. - typedef T2 second_type; + using second_type = T2; //! The first element of the pair. first_type first; @@ -156,9 +156,9 @@ struct pair { template struct pair { //! The first template parameter of this class. - typedef T1& first_type; + using first_type = T1&; //! The second template parameter of this class. - typedef T2& second_type; + using second_type = T2&; //! The first element of the pair. first_type first; @@ -213,9 +213,9 @@ struct pair { template struct pair { //! The first template parameter of this class. - typedef T1 first_type; + using first_type = T1; //! The second template parameter of this class. - typedef T2& second_type; + using second_type = T2&; //! The first element of the pair. first_type first; @@ -270,9 +270,9 @@ struct pair { template struct pair { //! The first template parameter of this class. - typedef T1& first_type; + using first_type = T1&; //! The second template parameter of this class. - typedef T2 second_type; + using second_type = T2; //! The first element of the pair. first_type first; @@ -426,8 +426,8 @@ KOKKOS_FORCEINLINE_FUNCTION pair tie(T1& x, T2& y) { // template struct pair { - typedef T1 first_type; - typedef void second_type; + using first_type = T1; + using second_type = void; first_type first; enum { second = 0 }; diff --git a/lib/kokkos/core/src/Kokkos_Parallel.hpp b/lib/kokkos/core/src/Kokkos_Parallel.hpp index 775ab9203c5a20b5b3a11f32e0da14e8514533b1..9086b19efef5343a765f6057d995b6f73b36fe2a 100644 --- a/lib/kokkos/core/src/Kokkos_Parallel.hpp +++ b/lib/kokkos/core/src/Kokkos_Parallel.hpp @@ -53,17 +53,15 @@ #include #include -#if defined(KOKKOS_ENABLE_PROFILING) -#include +#include #include -#endif #include #include #include #include -#ifdef KOKKOS_DEBUG +#ifdef KOKKOS_ENABLE_DEBUG_PRINT_KERNEL_NAMES #include #endif @@ -83,7 +81,7 @@ namespace Impl { */ template struct FunctorPolicyExecutionSpace { - typedef Kokkos::DefaultExecutionSpace execution_space; + using execution_space = Kokkos::DefaultExecutionSpace; }; template @@ -91,7 +89,7 @@ struct FunctorPolicyExecutionSpace< Functor, Policy, typename enable_if_type::type, typename enable_if_type::type> { - typedef typename Policy ::execution_space execution_space; + using execution_space = typename Policy::execution_space; }; template @@ -99,14 +97,14 @@ struct FunctorPolicyExecutionSpace< Functor, Policy, typename enable_if_type::type, typename enable_if_type::type> { - typedef typename Policy ::execution_space execution_space; + using execution_space = typename Policy::execution_space; }; template struct FunctorPolicyExecutionSpace< Functor, Policy, EnableFunctor, typename enable_if_type::type> { - typedef typename Policy ::execution_space execution_space; + using execution_space = typename Policy::execution_space; }; template @@ -114,7 +112,7 @@ struct FunctorPolicyExecutionSpace< Functor, Policy, typename enable_if_type::type, EnablePolicy> { - typedef typename Functor::device_type::execution_space execution_space; + using execution_space = typename Functor::device_type::execution_space; }; template @@ -122,7 +120,7 @@ struct FunctorPolicyExecutionSpace< Functor, Policy, typename enable_if_type::type, EnablePolicy> { - typedef typename Functor::execution_space execution_space; + using execution_space = typename Functor::execution_space; }; } // namespace Impl @@ -137,12 +135,12 @@ namespace Kokkos { * * A "functor" is a class containing the function to execute in parallel, * data needed for that execution, and an optional \c execution_space - * typedef. Here is an example functor for parallel_for: + * alias. Here is an example functor for parallel_for: * * \code * class FunctorType { * public: - * typedef ... execution_space ; + * using execution_space = ...; * void operator() ( WorkType iwork ) const ; * }; * \endcode @@ -161,7 +159,6 @@ inline void parallel_for( typename std::enable_if< Kokkos::Impl::is_execution_policy::value>::type* = nullptr) { -#if defined(KOKKOS_ENABLE_PROFILING) uint64_t kpID = 0; if (Kokkos::Profiling::profileLibraryLoaded()) { Kokkos::Impl::ParallelConstructName closure(functor, policy); @@ -181,21 +175,19 @@ inline void parallel_for( closure.execute(); -#if defined(KOKKOS_ENABLE_PROFILING) if (Kokkos::Profiling::profileLibraryLoaded()) { Kokkos::Profiling::endParallelFor(kpID); } -#endif } template inline void parallel_for(const size_t work_count, const FunctorType& functor, const std::string& str = "") { - typedef typename Impl::FunctorPolicyExecutionSpace< - FunctorType, void>::execution_space execution_space; - typedef RangePolicy policy; + using execution_space = + typename Impl::FunctorPolicyExecutionSpace::execution_space; + using policy = RangePolicy; -#if defined(KOKKOS_ENABLE_PROFILING) uint64_t kpID = 0; if (Kokkos::Profiling::profileLibraryLoaded()) { Kokkos::Impl::ParallelConstructName name(str); @@ -203,9 +195,6 @@ inline void parallel_for(const size_t work_count, const FunctorType& functor, name.get(), Kokkos::Profiling::Experimental::device_id(policy().space()), &kpID); } -#else - (void)str; -#endif Kokkos::Impl::shared_allocation_tracking_disable(); Impl::ParallelFor closure(functor, @@ -214,11 +203,9 @@ inline void parallel_for(const size_t work_count, const FunctorType& functor, closure.execute(); -#if defined(KOKKOS_ENABLE_PROFILING) if (Kokkos::Profiling::profileLibraryLoaded()) { Kokkos::Profiling::endParallelFor(kpID); } -#endif } template @@ -273,11 +260,11 @@ namespace Kokkos { /// class ScanFunctor { /// public: /// // The Kokkos device type -/// typedef ... execution_space; +/// using execution_space = ...; /// // Type of an entry of the array containing the result; /// // also the type of each of the entries combined using /// // operator() or join(). -/// typedef PodType value_type; +/// using value_type = PodType; /// /// void operator () (const ExecPolicy::member_type & i, value_type& update, /// const bool final_pass) const; void init (value_type& update) const; void @@ -293,9 +280,9 @@ namespace Kokkos { /// template /// class InclScanFunctor { /// public: -/// typedef SpaceType execution_space; -/// typedef int value_type; -/// typedef typename SpaceType::size_type size_type; +/// using execution_space = SpaceType; +/// using value_type = int; +/// using size_type = typename SpaceType::size_type; /// /// InclScanFunctor( Kokkos::View x /// , Kokkos::View y ) : m_x(x), @@ -332,9 +319,9 @@ namespace Kokkos { /// template /// class ExclScanFunctor { /// public: -/// typedef SpaceType execution_space; -/// typedef int value_type; -/// typedef typename SpaceType::size_type size_type; +/// using execution_space = SpaceType; +/// using value_type = int; +/// using size_type = typename SpaceType::size_type; /// /// ExclScanFunctor (Kokkos::View x) : x_ (x) {} /// @@ -370,9 +357,9 @@ namespace Kokkos { /// template /// class OffsetScanFunctor { /// public: -/// typedef SpaceType execution_space; -/// typedef int value_type; -/// typedef typename SpaceType::size_type size_type; +/// using execution_space = SpaceType; +/// using value_type = int; +/// using size_type = typename SpaceType::size_type; /// /// // lastIndex_ is the last valid index (zero-based) of x. /// // If x has length zero, then lastIndex_ won't be used anyway. @@ -415,7 +402,6 @@ inline void parallel_scan( typename std::enable_if< Kokkos::Impl::is_execution_policy::value>::type* = nullptr) { -#if defined(KOKKOS_ENABLE_PROFILING) uint64_t kpID = 0; if (Kokkos::Profiling::profileLibraryLoaded()) { Kokkos::Impl::ParallelConstructName closure(functor, policy); @@ -435,22 +418,20 @@ inline void parallel_scan( closure.execute(); -#if defined(KOKKOS_ENABLE_PROFILING) if (Kokkos::Profiling::profileLibraryLoaded()) { Kokkos::Profiling::endParallelScan(kpID); } -#endif } template inline void parallel_scan(const size_t work_count, const FunctorType& functor, const std::string& str = "") { - typedef typename Kokkos::Impl::FunctorPolicyExecutionSpace< - FunctorType, void>::execution_space execution_space; + using execution_space = + typename Kokkos::Impl::FunctorPolicyExecutionSpace::execution_space; - typedef Kokkos::RangePolicy policy; + using policy = Kokkos::RangePolicy; -#if defined(KOKKOS_ENABLE_PROFILING) uint64_t kpID = 0; if (Kokkos::Profiling::profileLibraryLoaded()) { Kokkos::Impl::ParallelConstructName name(str); @@ -458,9 +439,6 @@ inline void parallel_scan(const size_t work_count, const FunctorType& functor, name.get(), Kokkos::Profiling::Experimental::device_id(policy().space()), &kpID); } -#else - (void)str; -#endif Kokkos::Impl::shared_allocation_tracking_disable(); Impl::ParallelScan closure(functor, @@ -469,11 +447,9 @@ inline void parallel_scan(const size_t work_count, const FunctorType& functor, closure.execute(); -#if defined(KOKKOS_ENABLE_PROFILING) if (Kokkos::Profiling::profileLibraryLoaded()) { Kokkos::Profiling::endParallelScan(kpID); } -#endif } template @@ -500,7 +476,6 @@ inline void parallel_scan( typename std::enable_if< Kokkos::Impl::is_execution_policy::value>::type* = nullptr) { -#if defined(KOKKOS_ENABLE_PROFILING) uint64_t kpID = 0; if (Kokkos::Profiling::profileLibraryLoaded()) { Kokkos::Impl::ParallelConstructName closure( @@ -521,11 +493,9 @@ inline void parallel_scan( closure.execute(); -#if defined(KOKKOS_ENABLE_PROFILING) if (Kokkos::Profiling::profileLibraryLoaded()) { Kokkos::Profiling::endParallelScan(kpID); } -#endif policy.space().fence(); } @@ -533,12 +503,12 @@ template inline void parallel_scan(const size_t work_count, const FunctorType& functor, ReturnType& return_value, const std::string& str = "") { - typedef typename Kokkos::Impl::FunctorPolicyExecutionSpace< - FunctorType, void>::execution_space execution_space; + using execution_space = + typename Kokkos::Impl::FunctorPolicyExecutionSpace::execution_space; - typedef Kokkos::RangePolicy policy; + using policy = Kokkos::RangePolicy; -#if defined(KOKKOS_ENABLE_PROFILING) uint64_t kpID = 0; if (Kokkos::Profiling::profileLibraryLoaded()) { Kokkos::Impl::ParallelConstructName name(str); @@ -546,9 +516,6 @@ inline void parallel_scan(const size_t work_count, const FunctorType& functor, name.get(), Kokkos::Profiling::Experimental::device_id(policy().space()), &kpID); } -#else - (void)str; -#endif Kokkos::Impl::shared_allocation_tracking_disable(); Impl::ParallelScanWithTotal closure( @@ -557,11 +524,9 @@ inline void parallel_scan(const size_t work_count, const FunctorType& functor, closure.execute(); -#if defined(KOKKOS_ENABLE_PROFILING) if (Kokkos::Profiling::profileLibraryLoaded()) { Kokkos::Profiling::endParallelScan(kpID); } -#endif execution_space().fence(); } diff --git a/lib/kokkos/core/src/Kokkos_Parallel_Reduce.hpp b/lib/kokkos/core/src/Kokkos_Parallel_Reduce.hpp index 4ef2dbdf0d7cf33564689bcbfdc5762108dc8a50..dbebb6ecbd159e1fc0c93e88e65d21bda942f583 100644 --- a/lib/kokkos/core/src/Kokkos_Parallel_Reduce.hpp +++ b/lib/kokkos/core/src/Kokkos_Parallel_Reduce.hpp @@ -46,6 +46,10 @@ #define KOKKOS_PARALLEL_REDUCE_HPP #include +#include +#include +#include +#include namespace Kokkos { @@ -66,10 +70,10 @@ template struct Sum { public: // Required - typedef Sum reducer; - typedef typename std::remove_cv::type value_type; + using reducer = Sum; + using value_type = typename std::remove_cv::type; - typedef Kokkos::View result_view_type; + using result_view_type = Kokkos::View; private: result_view_type value; @@ -111,10 +115,10 @@ template struct Prod { public: // Required - typedef Prod reducer; - typedef typename std::remove_cv::type value_type; + using reducer = Prod; + using value_type = typename std::remove_cv::type; - typedef Kokkos::View result_view_type; + using result_view_type = Kokkos::View; private: result_view_type value; @@ -156,10 +160,10 @@ template struct Min { public: // Required - typedef Min reducer; - typedef typename std::remove_cv::type value_type; + using reducer = Min; + using value_type = typename std::remove_cv::type; - typedef Kokkos::View result_view_type; + using result_view_type = Kokkos::View; private: result_view_type value; @@ -203,10 +207,10 @@ template struct Max { public: // Required - typedef Max reducer; - typedef typename std::remove_cv::type value_type; + using reducer = Max; + using value_type = typename std::remove_cv::type; - typedef Kokkos::View result_view_type; + using result_view_type = Kokkos::View; private: result_view_type value; @@ -251,10 +255,10 @@ template struct LAnd { public: // Required - typedef LAnd reducer; - typedef typename std::remove_cv::type value_type; + using reducer = LAnd; + using value_type = typename std::remove_cv::type; - typedef Kokkos::View result_view_type; + using result_view_type = Kokkos::View; private: result_view_type value; @@ -297,10 +301,10 @@ template struct LOr { public: // Required - typedef LOr reducer; - typedef typename std::remove_cv::type value_type; + using reducer = LOr; + using value_type = typename std::remove_cv::type; - typedef Kokkos::View result_view_type; + using result_view_type = Kokkos::View; private: result_view_type value; @@ -344,10 +348,10 @@ template struct BAnd { public: // Required - typedef BAnd reducer; - typedef typename std::remove_cv::type value_type; + using reducer = BAnd; + using value_type = typename std::remove_cv::type; - typedef Kokkos::View result_view_type; + using result_view_type = Kokkos::View; private: result_view_type value; @@ -391,10 +395,10 @@ template struct BOr { public: // Required - typedef BOr reducer; - typedef typename std::remove_cv::type value_type; + using reducer = BOr; + using value_type = typename std::remove_cv::type; - typedef Kokkos::View result_view_type; + using result_view_type = Kokkos::View; private: result_view_type value; @@ -455,15 +459,15 @@ struct ValLocScalar { template struct MinLoc { private: - typedef typename std::remove_cv::type scalar_type; - typedef typename std::remove_cv::type index_type; + using scalar_type = typename std::remove_cv::type; + using index_type = typename std::remove_cv::type; public: // Required - typedef MinLoc reducer; - typedef ValLocScalar value_type; + using reducer = MinLoc; + using value_type = ValLocScalar; - typedef Kokkos::View result_view_type; + using result_view_type = Kokkos::View; private: result_view_type value; @@ -507,15 +511,15 @@ struct MinLoc { template struct MaxLoc { private: - typedef typename std::remove_cv::type scalar_type; - typedef typename std::remove_cv::type index_type; + using scalar_type = typename std::remove_cv::type; + using index_type = typename std::remove_cv::type; public: // Required - typedef MaxLoc reducer; - typedef ValLocScalar value_type; + using reducer = MaxLoc; + using value_type = ValLocScalar; - typedef Kokkos::View result_view_type; + using result_view_type = Kokkos::View; private: result_view_type value; @@ -576,14 +580,14 @@ struct MinMaxScalar { template struct MinMax { private: - typedef typename std::remove_cv::type scalar_type; + using scalar_type = typename std::remove_cv::type; public: // Required - typedef MinMax reducer; - typedef MinMaxScalar value_type; + using reducer = MinMax; + using value_type = MinMaxScalar; - typedef Kokkos::View result_view_type; + using result_view_type = Kokkos::View; private: result_view_type value; @@ -659,15 +663,15 @@ struct MinMaxLocScalar { template struct MinMaxLoc { private: - typedef typename std::remove_cv::type scalar_type; - typedef typename std::remove_cv::type index_type; + using scalar_type = typename std::remove_cv::type; + using index_type = typename std::remove_cv::type; public: // Required - typedef MinMaxLoc reducer; - typedef MinMaxLocScalar value_type; + using reducer = MinMaxLoc; + using value_type = MinMaxLocScalar; - typedef Kokkos::View result_view_type; + using result_view_type = Kokkos::View; private: result_view_type value; @@ -734,14 +738,14 @@ template struct ParallelReduceReturnValue< typename std::enable_if::value>::type, ReturnType, FunctorType> { - typedef ReturnType return_type; - typedef InvalidType reducer_type; + using return_type = ReturnType; + using reducer_type = InvalidType; - typedef typename return_type::value_type value_type_scalar; - typedef typename return_type::value_type* const value_type_array; + using value_type_scalar = typename return_type::value_type; + using value_type_array = typename return_type::value_type* const; - typedef typename if_c::type value_type; + using value_type = typename if_c::type; static return_type& return_value(ReturnType& return_val, const FunctorType&) { return return_val; @@ -755,12 +759,12 @@ struct ParallelReduceReturnValue< !std::is_pointer::value) && !Kokkos::is_reducer_type::value>::type, ReturnType, FunctorType> { - typedef Kokkos::View - return_type; + using return_type = + Kokkos::View; - typedef InvalidType reducer_type; + using reducer_type = InvalidType; - typedef typename return_type::value_type value_type; + using value_type = typename return_type::value_type; static return_type return_value(ReturnType& return_val, const FunctorType&) { return return_type(&return_val); @@ -772,24 +776,19 @@ struct ParallelReduceReturnValue< typename std::enable_if<(std::is_array::value || std::is_pointer::value)>::type, ReturnType, FunctorType> { - typedef Kokkos::View::type, - Kokkos::HostSpace, Kokkos::MemoryUnmanaged> - return_type; + using return_type = Kokkos::View::type, + Kokkos::HostSpace, Kokkos::MemoryUnmanaged>; - typedef InvalidType reducer_type; + using reducer_type = InvalidType; - typedef typename return_type::value_type value_type[]; + using value_type = typename return_type::value_type[]; static return_type return_value(ReturnType& return_val, const FunctorType& functor) { -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - return return_type(return_val, functor.value_count); -#else if (std::is_array::value) return return_type(return_val); else return return_type(return_val, functor.value_count); -#endif } }; @@ -797,9 +796,9 @@ template struct ParallelReduceReturnValue< typename std::enable_if::value>::type, ReturnType, FunctorType> { - typedef ReturnType return_type; - typedef ReturnType reducer_type; - typedef typename return_type::value_type value_type; + using return_type = ReturnType; + using reducer_type = ReturnType; + using value_type = typename return_type::value_type; static return_type return_value(ReturnType& return_val, const FunctorType&) { return return_val; @@ -814,7 +813,7 @@ struct ParallelReducePolicyType< typename std::enable_if< Kokkos::Impl::is_execution_policy::value>::type, PolicyType, FunctorType> { - typedef PolicyType policy_type; + using policy_type = PolicyType; static PolicyType policy(const PolicyType& policy_) { return policy_; } }; @@ -822,10 +821,11 @@ template struct ParallelReducePolicyType< typename std::enable_if::value>::type, PolicyType, FunctorType> { - typedef typename Impl::FunctorPolicyExecutionSpace< - FunctorType, void>::execution_space execution_space; + using execution_space = + typename Impl::FunctorPolicyExecutionSpace::execution_space; - typedef Kokkos::RangePolicy policy_type; + using policy_type = Kokkos::RangePolicy; static policy_type policy(const PolicyType& policy_) { return policy_type(0, policy_); @@ -835,7 +835,7 @@ struct ParallelReducePolicyType< template struct ParallelReduceFunctorType { - typedef FunctorType functor_type; + using functor_type = FunctorType; static const functor_type& functor(const functor_type& functor) { return functor; } @@ -843,18 +843,17 @@ struct ParallelReduceFunctorType { template struct ParallelReduceAdaptor { - typedef Impl::ParallelReduceReturnValue - return_value_adapter; + using return_value_adapter = + Impl::ParallelReduceReturnValue; #ifdef KOKKOS_IMPL_NEED_FUNCTOR_WRAPPER - typedef Impl::ParallelReduceFunctorType< - FunctorType, PolicyType, typename return_value_adapter::value_type, - typename PolicyType::execution_space> - functor_adaptor; + using functor_adaptor = + Impl::ParallelReduceFunctorType; #endif static inline void execute(const std::string& label, const PolicyType& policy, const FunctorType& functor, ReturnType& return_value) { -#if defined(KOKKOS_ENABLE_PROFILING) uint64_t kpID = 0; if (Kokkos::Profiling::profileLibraryLoaded()) { Kokkos::Impl::ParallelConstructName { * \code * class FunctorType { // For POD value type * public: - * typedef ... execution_space ; - * typedef value_type ; + * using execution_space = ...; + * using value_type = ; * void operator()( iwork , & update ) const ; * void init( & update ) const ; * void join( volatile & update , * volatile const & input ) const ; * - * typedef true_type has_final ; + * using has_final = true_type; * void final( & update ) const ; * }; * \endcode * * Example of a parallel_reduce functor for an array of POD (plain old data) - * values: \code class FunctorType { // For array of POD value public: typedef - * ... execution_space ; typedef value_type[] ; void operator()( - * , update[] ) const ; void init( update[] ) - * const ; void join( volatile update[] , volatile const - * input[] ) const ; + * values: + * \code + * class FunctorType { // For array of POD value + * public: + * using execution_space = ...; + * using value_type = []; + * void operator()( , update[] ) const ; + * void init( update[] ) const ; + * void join( volatile update[] , + * volatile const input[] ) const ; * - * typedef true_type has_final ; + * using has_final = true_type; * void final( update[] ) const ; * }; * \endcode @@ -975,12 +974,10 @@ struct ParallelReduceFence { // ReturnValue is scalar or array: take by reference template -inline void parallel_reduce( - const std::string& label, const PolicyType& policy, - const FunctorType& functor, ReturnType& return_value, - typename std::enable_if< - Kokkos::Impl::is_execution_policy::value>::type* = - nullptr) { +inline typename std::enable_if< + Kokkos::Impl::is_execution_policy::value>::type +parallel_reduce(const std::string& label, const PolicyType& policy, + const FunctorType& functor, ReturnType& return_value) { Impl::ParallelReduceAdaptor::execute( label, policy, functor, return_value); Impl::ParallelReduceFence -inline void parallel_reduce( - const PolicyType& policy, const FunctorType& functor, - ReturnType& return_value, - typename std::enable_if< - Kokkos::Impl::is_execution_policy::value>::type* = - nullptr) { +inline typename std::enable_if< + Kokkos::Impl::is_execution_policy::value>::type +parallel_reduce(const PolicyType& policy, const FunctorType& functor, + ReturnType& return_value) { Impl::ParallelReduceAdaptor::execute( "", policy, functor, return_value); Impl::ParallelReduceFence inline void parallel_reduce(const size_t& policy, const FunctorType& functor, ReturnType& return_value) { - typedef typename Impl::ParallelReducePolicyType< - void, size_t, FunctorType>::policy_type policy_type; + using policy_type = + typename Impl::ParallelReducePolicyType::policy_type; Impl::ParallelReduceAdaptor::execute( "", policy_type(0, policy), functor, return_value); Impl::ParallelReduceFence:: @@ -1015,8 +1011,9 @@ template inline void parallel_reduce(const std::string& label, const size_t& policy, const FunctorType& functor, ReturnType& return_value) { - typedef typename Impl::ParallelReducePolicyType< - void, size_t, FunctorType>::policy_type policy_type; + using policy_type = + typename Impl::ParallelReducePolicyType::policy_type; Impl::ParallelReduceAdaptor::execute( label, policy_type(0, policy), functor, return_value); Impl::ParallelReduceFence:: @@ -1026,12 +1023,10 @@ inline void parallel_reduce(const std::string& label, const size_t& policy, // ReturnValue as View or Reducer: take by copy to allow for inline construction template -inline void parallel_reduce( - const std::string& label, const PolicyType& policy, - const FunctorType& functor, const ReturnType& return_value, - typename std::enable_if< - Kokkos::Impl::is_execution_policy::value>::type* = - nullptr) { +inline typename std::enable_if< + Kokkos::Impl::is_execution_policy::value>::type +parallel_reduce(const std::string& label, const PolicyType& policy, + const FunctorType& functor, const ReturnType& return_value) { ReturnType return_value_impl = return_value; Impl::ParallelReduceAdaptor::execute( label, policy, functor, return_value_impl); @@ -1040,12 +1035,10 @@ inline void parallel_reduce( } template -inline void parallel_reduce( - const PolicyType& policy, const FunctorType& functor, - const ReturnType& return_value, - typename std::enable_if< - Kokkos::Impl::is_execution_policy::value>::type* = - nullptr) { +inline typename std::enable_if< + Kokkos::Impl::is_execution_policy::value>::type +parallel_reduce(const PolicyType& policy, const FunctorType& functor, + const ReturnType& return_value) { ReturnType return_value_impl = return_value; Impl::ParallelReduceAdaptor::execute( "", policy, functor, return_value_impl); @@ -1056,8 +1049,9 @@ inline void parallel_reduce( template inline void parallel_reduce(const size_t& policy, const FunctorType& functor, const ReturnType& return_value) { - typedef typename Impl::ParallelReducePolicyType< - void, size_t, FunctorType>::policy_type policy_type; + using policy_type = + typename Impl::ParallelReducePolicyType::policy_type; ReturnType return_value_impl = return_value; Impl::ParallelReduceAdaptor::execute( "", policy_type(0, policy), functor, return_value_impl); @@ -1069,8 +1063,9 @@ template inline void parallel_reduce(const std::string& label, const size_t& policy, const FunctorType& functor, const ReturnType& return_value) { - typedef typename Impl::ParallelReducePolicyType< - void, size_t, FunctorType>::policy_type policy_type; + using policy_type = + typename Impl::ParallelReducePolicyType::policy_type; ReturnType return_value_impl = return_value; Impl::ParallelReduceAdaptor::execute( label, policy_type(0, policy), functor, return_value_impl); @@ -1087,18 +1082,19 @@ inline void parallel_reduce( typename std::enable_if< Kokkos::Impl::is_execution_policy::value>::type* = nullptr) { - typedef Kokkos::Impl::FunctorValueTraits ValueTraits; - typedef typename Kokkos::Impl::if_c< - (ValueTraits::StaticValueSize != 0), typename ValueTraits::value_type, - typename ValueTraits::pointer_type>::type value_type; + using ValueTraits = Kokkos::Impl::FunctorValueTraits; + using value_type = + typename Kokkos::Impl::if_c<(ValueTraits::StaticValueSize != 0), + typename ValueTraits::value_type, + typename ValueTraits::pointer_type>::type; static_assert( Impl::FunctorAnalysis::has_final_member_function, "Calling parallel_reduce without either return value or final function."); - typedef Kokkos::View - result_view_type; + using result_view_type = + Kokkos::View; result_view_type result_view; Impl::ParallelReduceAdaptor::value>::type* = nullptr) { - typedef Kokkos::Impl::FunctorValueTraits ValueTraits; - typedef typename Kokkos::Impl::if_c< - (ValueTraits::StaticValueSize != 0), typename ValueTraits::value_type, - typename ValueTraits::pointer_type>::type value_type; + using ValueTraits = Kokkos::Impl::FunctorValueTraits; + using value_type = + typename Kokkos::Impl::if_c<(ValueTraits::StaticValueSize != 0), + typename ValueTraits::value_type, + typename ValueTraits::pointer_type>::type; static_assert( Impl::FunctorAnalysis::has_final_member_function, "Calling parallel_reduce without either return value or final function."); - typedef Kokkos::View - result_view_type; + using result_view_type = + Kokkos::View; result_view_type result_view; Impl::ParallelReduceAdaptor inline void parallel_reduce(const size_t& policy, const FunctorType& functor) { - typedef typename Impl::ParallelReducePolicyType< - void, size_t, FunctorType>::policy_type policy_type; - typedef Kokkos::Impl::FunctorValueTraits ValueTraits; - typedef typename Kokkos::Impl::if_c< - (ValueTraits::StaticValueSize != 0), typename ValueTraits::value_type, - typename ValueTraits::pointer_type>::type value_type; + using policy_type = + typename Impl::ParallelReducePolicyType::policy_type; + using ValueTraits = Kokkos::Impl::FunctorValueTraits; + using value_type = + typename Kokkos::Impl::if_c<(ValueTraits::StaticValueSize != 0), + typename ValueTraits::value_type, + typename ValueTraits::pointer_type>::type; static_assert( Impl::FunctorAnalysis::has_final_member_function, "Calling parallel_reduce without either return value or final function."); - typedef Kokkos::View - result_view_type; + using result_view_type = + Kokkos::View; result_view_type result_view; Impl::ParallelReduceAdaptor inline void parallel_reduce(const std::string& label, const size_t& policy, const FunctorType& functor) { - typedef typename Impl::ParallelReducePolicyType< - void, size_t, FunctorType>::policy_type policy_type; - typedef Kokkos::Impl::FunctorValueTraits ValueTraits; - typedef typename Kokkos::Impl::if_c< - (ValueTraits::StaticValueSize != 0), typename ValueTraits::value_type, - typename ValueTraits::pointer_type>::type value_type; + using policy_type = + typename Impl::ParallelReducePolicyType::policy_type; + using ValueTraits = Kokkos::Impl::FunctorValueTraits; + using value_type = + typename Kokkos::Impl::if_c<(ValueTraits::StaticValueSize != 0), + typename ValueTraits::value_type, + typename ValueTraits::pointer_type>::type; static_assert( Impl::FunctorAnalysis::has_final_member_function, "Calling parallel_reduce without either return value or final function."); - typedef Kokkos::View - result_view_type; + using result_view_type = + Kokkos::View; result_view_type result_view; Impl::ParallelReduceAdaptor #include +#include #include @@ -56,37 +57,27 @@ namespace Profiling { class ProfilingSection { public: ProfilingSection(const std::string& sectionName) : secName(sectionName) { -#if defined(KOKKOS_ENABLE_PROFILING) if (Kokkos::Profiling::profileLibraryLoaded()) { Kokkos::Profiling::createProfileSection(secName, &secID); } -#else - secID = 0; -#endif } void start() { -#if defined(KOKKOS_ENABLE_PROFILING) if (Kokkos::Profiling::profileLibraryLoaded()) { Kokkos::Profiling::startSection(secID); } -#endif } void stop() { -#if defined(KOKKOS_ENABLE_PROFILING) if (Kokkos::Profiling::profileLibraryLoaded()) { Kokkos::Profiling::stopSection(secID); } -#endif } ~ProfilingSection() { -#if defined(KOKKOS_ENABLE_PROFILING) if (Kokkos::Profiling::profileLibraryLoaded()) { Kokkos::Profiling::destroyProfileSection(secID); } -#endif } std::string getName() { return secName; } diff --git a/lib/kokkos/core/src/Kokkos_ROCm.hpp b/lib/kokkos/core/src/Kokkos_ROCm.hpp index 57113452b8402b0fd40af7a791ee000ce874e704..5572b2434c09b947a9ed24f7db64b6a4cbc127a0 100644 --- a/lib/kokkos/core/src/Kokkos_ROCm.hpp +++ b/lib/kokkos/core/src/Kokkos_ROCm.hpp @@ -102,14 +102,14 @@ class ROCm { //@{ //! Tag this class as a kokkos execution space - typedef ROCm execution_space; - typedef ROCmSpace memory_space; - typedef Kokkos::Device device_type; + using execution_space = ROCm; + using memory_space = ROCmSpace; + using device_type = Kokkos::Device; - typedef LayoutLeft array_layout; - typedef HostSpace::size_type size_type; + using array_layout = LayoutLeft; + using size_type = HostSpace::size_type; - typedef ScratchMemorySpace scratch_memory_space; + using scratch_memory_space = ScratchMemorySpace; ~ROCm() {} ROCm(); @@ -142,11 +142,7 @@ class ROCm { /** \brief Wait until all dispatched functors complete. A noop for OpenMP. */ static void impl_static_fence(); -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - static void fence(); -#else void fence() const; -#endif /// \brief Print configuration information to the given output stream. static void print_configuration(std::ostream&, const bool detail = false); diff --git a/lib/kokkos/core/src/Kokkos_ROCmSpace.hpp b/lib/kokkos/core/src/Kokkos_ROCmSpace.hpp index 56a1a93b9d0350a6364a9c5c56a9d5d004e6f6cf..bc634704611fb112b408b84b38a722d19e8495d7 100644 --- a/lib/kokkos/core/src/Kokkos_ROCmSpace.hpp +++ b/lib/kokkos/core/src/Kokkos_ROCmSpace.hpp @@ -64,11 +64,11 @@ namespace Experimental { class ROCmSpace { public: //! Tag this class as a kokkos memory space - typedef ROCmSpace memory_space; - typedef Kokkos::Experimental::ROCm execution_space; - typedef Kokkos::Device device_type; + using memory_space = ROCmSpace; + using execution_space = Kokkos::Experimental::ROCm; + using device_type = Kokkos::Device; - typedef unsigned int size_type; + using size_type = unsigned int; /*--------------------------------*/ @@ -157,10 +157,10 @@ class ROCmHostPinnedSpace { public: //! Tag this class as a kokkos memory space /** \brief Memory is in HostSpace so use the HostSpace::execution_space */ - typedef HostSpace::execution_space execution_space; - typedef ROCmHostPinnedSpace memory_space; - typedef Kokkos::Device device_type; - typedef unsigned int size_type; + using execution_space = HostSpace::execution_space; + using memory_space = ROCmHostPinnedSpace; + using device_type = Kokkos::Device; + using size_type = unsigned int; /*--------------------------------*/ @@ -530,7 +530,7 @@ template <> class SharedAllocationRecord : public SharedAllocationRecord { private: - typedef SharedAllocationRecord RecordBase; + using RecordBase = SharedAllocationRecord; SharedAllocationRecord(const SharedAllocationRecord&) = delete; SharedAllocationRecord& operator=(const SharedAllocationRecord&) = delete; @@ -581,7 +581,7 @@ template <> class SharedAllocationRecord : public SharedAllocationRecord { private: - typedef SharedAllocationRecord RecordBase; + using RecordBase = SharedAllocationRecord; SharedAllocationRecord(const SharedAllocationRecord&) = delete; SharedAllocationRecord& operator=(const SharedAllocationRecord&) = delete; diff --git a/lib/kokkos/core/src/Kokkos_ScratchSpace.hpp b/lib/kokkos/core/src/Kokkos_ScratchSpace.hpp index 708e0218b7b9327de6945dd698f8d72b7a60622c..4e1c267aa05941b472b36c26380cb1332b4973ad 100644 --- a/lib/kokkos/core/src/Kokkos_ScratchSpace.hpp +++ b/lib/kokkos/core/src/Kokkos_ScratchSpace.hpp @@ -46,6 +46,7 @@ #define KOKKOS_SCRATCHSPACE_HPP #include +#include #include #include @@ -84,13 +85,13 @@ class ScratchMemorySpace { public: //! Tag this class as a memory space - typedef ScratchMemorySpace memory_space; - typedef ExecSpace execution_space; + using memory_space = ScratchMemorySpace; + using execution_space = ExecSpace; //! This execution space preferred device_type - typedef Kokkos::Device device_type; + using device_type = Kokkos::Device; - typedef typename ExecSpace::array_layout array_layout; - typedef typename ExecSpace::size_type size_type; + using array_layout = typename ExecSpace::array_layout; + using size_type = typename ExecSpace::size_type; static constexpr const char* name() { return "ScratchMemorySpace"; } diff --git a/lib/kokkos/core/src/Kokkos_Serial.hpp b/lib/kokkos/core/src/Kokkos_Serial.hpp index 1f97998ea50d3c8b8aec335db8837ef41c3acdb5..fefd3f7d9199410c653a108979042ffc8f2b20e0 100644 --- a/lib/kokkos/core/src/Kokkos_Serial.hpp +++ b/lib/kokkos/core/src/Kokkos_Serial.hpp @@ -63,7 +63,7 @@ #include #include #include -#include +#include #include @@ -89,19 +89,19 @@ class Serial { //@{ //! Tag this class as an execution space: - typedef Serial execution_space; - //! The size_type typedef best suited for this device. - typedef HostSpace::size_type size_type; + using execution_space = Serial; + //! The size_type alias best suited for this device. + using size_type = HostSpace::size_type; //! This device's preferred memory space. - typedef HostSpace memory_space; + using memory_space = HostSpace; //! This execution space preferred device_type - typedef Kokkos::Device device_type; + using device_type = Kokkos::Device; //! This device's preferred array layout. - typedef LayoutRight array_layout; + using array_layout = LayoutRight; /// \brief Scratch memory space - typedef ScratchMemorySpace scratch_memory_space; + using scratch_memory_space = ScratchMemorySpace; //@} @@ -121,11 +121,7 @@ class Serial { /// device have completed. static void impl_static_fence() {} -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - static void fence() {} -#else void fence() const {} -#endif /** \brief Return the maximum amount of concurrency. */ static int concurrency() { return 1; } @@ -134,32 +130,6 @@ class Serial { static void print_configuration(std::ostream&, const bool /* detail */ = false) {} -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - static bool sleep(); - static bool wake(); - - static void initialize(unsigned threads_count = 1, - unsigned use_numa_count = 0, - unsigned use_cores_per_numa = 0, - bool allow_asynchronous_threadpool = false); - - static bool is_initialized(); - - //! Free any resources being consumed by the device. - static void finalize(); - - //-------------------------------------------------------------------------- - - inline static int thread_pool_size(int = 0) { return 1; } - KOKKOS_INLINE_FUNCTION static int thread_pool_rank() { return 0; } - - //-------------------------------------------------------------------------- - - KOKKOS_INLINE_FUNCTION static unsigned hardware_thread_id() { - return thread_pool_rank(); - } - inline static unsigned max_hardware_threads() { return thread_pool_size(0); } -#else static void impl_initialize(); static bool impl_is_initialized(); @@ -180,21 +150,21 @@ class Serial { inline static unsigned impl_max_hardware_threads() { return impl_thread_pool_size(0); } -#endif + uint32_t impl_instance_id() const noexcept { return 0; } static const char* name(); //-------------------------------------------------------------------------- }; -namespace Profiling { +namespace Tools { namespace Experimental { template <> struct DeviceTypeTraits { static constexpr DeviceType id = DeviceType::Serial; }; } // namespace Experimental -} // namespace Profiling +} // namespace Tools } // namespace Kokkos /*--------------------------------------------------------------------------*/ @@ -259,28 +229,18 @@ class TeamPolicyInternal public: //! Tag this class as a kokkos execution policy - typedef TeamPolicyInternal execution_policy; + using execution_policy = TeamPolicyInternal; - typedef PolicyTraits traits; + using traits = PolicyTraits; //! Execution space of this execution policy: - typedef Kokkos::Serial execution_space; + using execution_space = Kokkos::Serial; const typename traits::execution_space& space() const { static typename traits::execution_space m_space; return m_space; } - TeamPolicyInternal& operator=(const TeamPolicyInternal& p) { - m_league_size = p.m_league_size; - m_team_scratch_size[0] = p.m_team_scratch_size[0]; - m_thread_scratch_size[0] = p.m_thread_scratch_size[0]; - m_team_scratch_size[1] = p.m_team_scratch_size[1]; - m_thread_scratch_size[1] = p.m_thread_scratch_size[1]; - m_chunk_size = p.m_chunk_size; - return *this; - } - template friend class TeamPolicyInternal; @@ -296,22 +256,6 @@ class TeamPolicyInternal } //---------------------------------------- -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - template - static int team_size_max(const FunctorType&) { - return 1; - } - - template - static int team_size_recommended(const FunctorType&) { - return 1; - } - - template - static int team_size_recommended(const FunctorType&, const int&) { - return 1; - } -#endif template int team_size_max(const FunctorType&, const ParallelForTag&) const { @@ -357,24 +301,14 @@ class TeamPolicyInternal return (level == 0 ? 1024 * 32 : 20 * 1024 * 1024); } /** \brief Specify league size, request team size */ - TeamPolicyInternal(const execution_space&, int league_size_request -#ifndef KOKKOS_ENABLE_DEPRECATED_CODE - , - int team_size_request -#else - , - int /* team_size_request */ -#endif - , - int /* vector_length_request */ = 1) + TeamPolicyInternal(const execution_space&, int league_size_request, + int team_size_request, int /* vector_length_request */ = 1) : m_team_scratch_size{0, 0}, m_thread_scratch_size{0, 0}, m_league_size(league_size_request), m_chunk_size(32) { -#ifndef KOKKOS_ENABLE_DEPRECATED_CODE if (team_size_request > 1) Kokkos::abort("Kokkos::abort: Requested Team Size is too large!"); -#endif } TeamPolicyInternal(const execution_space&, int league_size_request, @@ -386,24 +320,14 @@ class TeamPolicyInternal m_league_size(league_size_request), m_chunk_size(32) {} - TeamPolicyInternal(int league_size_request -#ifndef KOKKOS_ENABLE_DEPRECATED_CODE - , - int team_size_request -#else - , - int /* team_size_request */ -#endif - , + TeamPolicyInternal(int league_size_request, int team_size_request, int /* vector_length_request */ = 1) : m_team_scratch_size{0, 0}, m_thread_scratch_size{0, 0}, m_league_size(league_size_request), m_chunk_size(32) { -#ifndef KOKKOS_ENABLE_DEPRECATED_CODE if (team_size_request > 1) Kokkos::abort("Kokkos::abort: Requested Team Size is too large!"); -#endif } TeamPolicyInternal(int league_size_request, @@ -417,44 +341,6 @@ class TeamPolicyInternal inline int chunk_size() const { return m_chunk_size; } -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - /** \brief set chunk_size to a discrete value*/ - inline TeamPolicyInternal set_chunk_size( - typename traits::index_type chunk_size_) const { - TeamPolicyInternal p = *this; - p.m_chunk_size = chunk_size_; - return p; - } - - /** \brief set per team scratch size for a specific level of the scratch - * hierarchy */ - inline TeamPolicyInternal set_scratch_size( - const int& level, const PerTeamValue& per_team) const { - TeamPolicyInternal p = *this; - p.m_team_scratch_size[level] = per_team.value; - return p; - } - - /** \brief set per thread scratch size for a specific level of the scratch - * hierarchy */ - inline TeamPolicyInternal set_scratch_size( - const int& level, const PerThreadValue& per_thread) const { - TeamPolicyInternal p = *this; - p.m_thread_scratch_size[level] = per_thread.value; - return p; - } - - /** \brief set per thread and per team scratch size for a specific level of - * the scratch hierarchy */ - inline TeamPolicyInternal set_scratch_size( - const int& level, const PerTeamValue& per_team, - const PerThreadValue& per_thread) const { - TeamPolicyInternal p = *this; - p.m_team_scratch_size[level] = per_team.value; - p.m_thread_scratch_size[level] = per_thread.value; - return p; - } -#else /** \brief set chunk_size to a discrete value*/ inline TeamPolicyInternal& set_chunk_size( typename traits::index_type chunk_size_) { @@ -487,45 +373,8 @@ class TeamPolicyInternal m_thread_scratch_size[level] = per_thread.value; return *this; } -#endif - - typedef Impl::HostThreadTeamMember member_type; - protected: -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - /** \brief set chunk_size to a discrete value*/ - inline TeamPolicyInternal internal_set_chunk_size( - typename traits::index_type chunk_size_) { - m_chunk_size = chunk_size_; - return *this; - } - - /** \brief set per team scratch size for a specific level of the scratch - * hierarchy */ - inline TeamPolicyInternal internal_set_scratch_size( - const int& level, const PerTeamValue& per_team) { - m_team_scratch_size[level] = per_team.value; - return *this; - } - - /** \brief set per thread scratch size for a specific level of the scratch - * hierarchy */ - inline TeamPolicyInternal internal_set_scratch_size( - const int& level, const PerThreadValue& per_thread) { - m_thread_scratch_size[level] = per_thread.value; - return *this; - } - - /** \brief set per thread and per team scratch size for a specific level of - * the scratch hierarchy */ - inline TeamPolicyInternal internal_set_scratch_size( - const int& level, const PerTeamValue& per_team, - const PerThreadValue& per_thread) { - m_team_scratch_size[level] = per_team.value; - m_thread_scratch_size[level] = per_thread.value; - return *this; - } -#endif + using member_type = Impl::HostThreadTeamMember; }; } /* namespace Impl */ } /* namespace Kokkos */ @@ -540,7 +389,7 @@ namespace Impl { template class ParallelFor, Kokkos::Serial> { private: - typedef Kokkos::RangePolicy Policy; + using Policy = Kokkos::RangePolicy; const FunctorType m_functor; const Policy m_policy; @@ -579,25 +428,25 @@ template class ParallelReduce, ReducerType, Kokkos::Serial> { private: - typedef Kokkos::RangePolicy Policy; - typedef typename Policy::work_tag WorkTag; + using Policy = Kokkos::RangePolicy; + using WorkTag = typename Policy::work_tag; - typedef Kokkos::Impl::if_c::value, - FunctorType, ReducerType> - ReducerConditional; + using ReducerConditional = + Kokkos::Impl::if_c::value, + FunctorType, ReducerType>; - typedef typename ReducerConditional::type ReducerTypeFwd; - typedef + using ReducerTypeFwd = typename ReducerConditional::type; + using WorkTagFwd = typename Kokkos::Impl::if_c::value, - WorkTag, void>::type WorkTagFwd; + WorkTag, void>::type; - typedef FunctorAnalysis - Analysis; + using Analysis = + FunctorAnalysis; - typedef Kokkos::Impl::FunctorValueInit ValueInit; + using ValueInit = Kokkos::Impl::FunctorValueInit; - typedef typename Analysis::pointer_type pointer_type; - typedef typename Analysis::reference_type reference_type; + using pointer_type = typename Analysis::pointer_type; + using reference_type = typename Analysis::reference_type; const FunctorType m_functor; const Policy m_policy; @@ -687,16 +536,16 @@ template class ParallelScan, Kokkos::Serial> { private: - typedef Kokkos::RangePolicy Policy; - typedef typename Policy::work_tag WorkTag; + using Policy = Kokkos::RangePolicy; + using WorkTag = typename Policy::work_tag; - typedef FunctorAnalysis - Analysis; + using Analysis = + FunctorAnalysis; - typedef Kokkos::Impl::FunctorValueInit ValueInit; + using ValueInit = Kokkos::Impl::FunctorValueInit; - typedef typename Analysis::pointer_type pointer_type; - typedef typename Analysis::reference_type reference_type; + using pointer_type = typename Analysis::pointer_type; + using reference_type = typename Analysis::reference_type; const FunctorType m_functor; const Policy m_policy; @@ -747,16 +596,16 @@ template class ParallelScanWithTotal, ReturnType, Kokkos::Serial> { private: - typedef Kokkos::RangePolicy Policy; - typedef typename Policy::work_tag WorkTag; + using Policy = Kokkos::RangePolicy; + using WorkTag = typename Policy::work_tag; - typedef FunctorAnalysis - Analysis; + using Analysis = + FunctorAnalysis; - typedef Kokkos::Impl::FunctorValueInit ValueInit; + using ValueInit = Kokkos::Impl::FunctorValueInit; - typedef typename Analysis::pointer_type pointer_type; - typedef typename Analysis::reference_type reference_type; + using pointer_type = typename Analysis::pointer_type; + using reference_type = typename Analysis::reference_type; const FunctorType m_functor; const Policy m_policy; @@ -823,12 +672,11 @@ template class ParallelFor, Kokkos::Serial> { private: - typedef Kokkos::MDRangePolicy MDRangePolicy; - typedef typename MDRangePolicy::impl_range_policy Policy; + using MDRangePolicy = Kokkos::MDRangePolicy; + using Policy = typename MDRangePolicy::impl_range_policy; - typedef typename Kokkos::Impl::HostIterateTile< - MDRangePolicy, FunctorType, typename MDRangePolicy::work_tag, void> - iterate_type; + using iterate_type = typename Kokkos::Impl::HostIterateTile< + MDRangePolicy, FunctorType, typename MDRangePolicy::work_tag, void>; const FunctorType m_functor; const MDRangePolicy m_mdr_policy; @@ -855,28 +703,27 @@ template class ParallelReduce, ReducerType, Kokkos::Serial> { private: - typedef Kokkos::MDRangePolicy MDRangePolicy; - typedef typename MDRangePolicy::impl_range_policy Policy; + using MDRangePolicy = Kokkos::MDRangePolicy; + using Policy = typename MDRangePolicy::impl_range_policy; - typedef typename MDRangePolicy::work_tag WorkTag; + using WorkTag = typename MDRangePolicy::work_tag; - typedef Kokkos::Impl::if_c::value, - FunctorType, ReducerType> - ReducerConditional; - typedef typename ReducerConditional::type ReducerTypeFwd; - typedef + using ReducerConditional = + Kokkos::Impl::if_c::value, + FunctorType, ReducerType>; + using ReducerTypeFwd = typename ReducerConditional::type; + using WorkTagFwd = typename Kokkos::Impl::if_c::value, - WorkTag, void>::type WorkTagFwd; + WorkTag, void>::type; - typedef FunctorAnalysis - Analysis; + using Analysis = FunctorAnalysis; - typedef Kokkos::Impl::FunctorValueInit ValueInit; + using ValueInit = Kokkos::Impl::FunctorValueInit; - typedef typename Analysis::pointer_type pointer_type; - typedef typename Analysis::value_type value_type; - typedef typename Analysis::reference_type reference_type; + using pointer_type = typename Analysis::pointer_type; + using value_type = typename Analysis::value_type; + using reference_type = typename Analysis::reference_type; using iterate_type = typename Kokkos::Impl::HostIterateTile, private: enum { TEAM_REDUCE_SIZE = 512 }; - typedef TeamPolicyInternal Policy; - typedef typename Policy::member_type Member; + using Policy = TeamPolicyInternal; + using Member = typename Policy::member_type; const FunctorType m_functor; const int m_league; @@ -1024,26 +871,26 @@ class ParallelReduce, private: enum { TEAM_REDUCE_SIZE = 512 }; - typedef TeamPolicyInternal Policy; + using Policy = TeamPolicyInternal; - typedef FunctorAnalysis - Analysis; + using Analysis = + FunctorAnalysis; - typedef typename Policy::member_type Member; - typedef typename Policy::work_tag WorkTag; + using Member = typename Policy::member_type; + using WorkTag = typename Policy::work_tag; - typedef Kokkos::Impl::if_c::value, - FunctorType, ReducerType> - ReducerConditional; - typedef typename ReducerConditional::type ReducerTypeFwd; - typedef + using ReducerConditional = + Kokkos::Impl::if_c::value, + FunctorType, ReducerType>; + using ReducerTypeFwd = typename ReducerConditional::type; + using WorkTagFwd = typename Kokkos::Impl::if_c::value, - WorkTag, void>::type WorkTagFwd; + WorkTag, void>::type; - typedef Kokkos::Impl::FunctorValueInit ValueInit; + using ValueInit = Kokkos::Impl::FunctorValueInit; - typedef typename Analysis::pointer_type pointer_type; - typedef typename Analysis::reference_type reference_type; + using pointer_type = typename Analysis::pointer_type; + using reference_type = typename Analysis::reference_type; const FunctorType m_functor; const int m_league; @@ -1152,6 +999,11 @@ class UniqueToken { /// This object should not be shared between instances UniqueToken(execution_space const& = execution_space()) noexcept {} + /// \brief create object size for requested size on given instance + /// + /// It is the users responsibility to only acquire size tokens concurrently + UniqueToken(size_type, execution_space const& = execution_space()) {} + /// \brief upper bound for acquired values, i.e. 0 <= value < size() KOKKOS_INLINE_FUNCTION int size() const noexcept { return 1; } diff --git a/lib/kokkos/core/src/Kokkos_TaskScheduler.hpp b/lib/kokkos/core/src/Kokkos_TaskScheduler.hpp index 6b9608d6290a51ecf04b5643bd7f4a15499cd643..b2b2cb4473a8378e0ac3d5ee952a7bd2088ea5dd 100644 --- a/lib/kokkos/core/src/Kokkos_TaskScheduler.hpp +++ b/lib/kokkos/core/src/Kokkos_TaskScheduler.hpp @@ -232,9 +232,9 @@ class BasicTaskScheduler : public Impl::TaskSchedulerBase { explicit BasicTaskScheduler(memory_pool const& arg_memory_pool) noexcept : m_track(), m_queue(nullptr) { - typedef Kokkos::Impl::SharedAllocationRecord - record_type; + using record_type = + Kokkos::Impl::SharedAllocationRecord; record_type* record = record_type::allocate(memory_space(), "TaskQueue", sizeof(queue_type)); diff --git a/lib/kokkos/core/src/Kokkos_TaskScheduler_fwd.hpp b/lib/kokkos/core/src/Kokkos_TaskScheduler_fwd.hpp index c5f880775d9173220d93097b69ef03ec50aaeadc..28af6345d1da49ee92b5da8cd7739f0a8cb80967 100644 --- a/lib/kokkos/core/src/Kokkos_TaskScheduler_fwd.hpp +++ b/lib/kokkos/core/src/Kokkos_TaskScheduler_fwd.hpp @@ -47,6 +47,7 @@ //---------------------------------------------------------------------------- +#include #include #if defined(KOKKOS_ENABLE_TASKDAG) diff --git a/lib/kokkos/core/src/Kokkos_Threads.hpp b/lib/kokkos/core/src/Kokkos_Threads.hpp index 9dd644df2eac700db270cccd9f95c1fc91060ec1..a99c40f97c54e8e5daca638660db5793eaec1b3e 100644 --- a/lib/kokkos/core/src/Kokkos_Threads.hpp +++ b/lib/kokkos/core/src/Kokkos_Threads.hpp @@ -77,16 +77,16 @@ class Threads { //! \name Type declarations that all Kokkos devices must provide. //@{ //! Tag this class as a kokkos execution space - typedef Threads execution_space; - typedef Kokkos::HostSpace memory_space; + using execution_space = Threads; + using memory_space = Kokkos::HostSpace; //! This execution space preferred device_type - typedef Kokkos::Device device_type; + using device_type = Kokkos::Device; - typedef Kokkos::LayoutRight array_layout; - typedef memory_space::size_type size_type; + using array_layout = Kokkos::LayoutRight; + using size_type = memory_space::size_type; - typedef ScratchMemorySpace scratch_memory_space; + using scratch_memory_space = ScratchMemorySpace; //@} /*------------------------------------------------------------------------*/ @@ -108,45 +108,11 @@ class Threads { /// device have completed. static void impl_static_fence(); -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - static void fence(); -#else void fence() const; -#endif /** \brief Return the maximum amount of concurrency. */ static int concurrency(); -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - static bool sleep(); - - static bool wake(); - - static void finalize(); - - static void initialize(unsigned threads_count = 0, - unsigned use_numa_count = 0, - unsigned use_cores_per_numa = 0, - bool allow_asynchronous_threadpool = false); - - static int is_initialized(); - - static Threads& instance(int = 0); - - //---------------------------------------- - - static int thread_pool_size(int depth = 0); -#if defined(KOKKOS_ACTIVE_EXECUTION_MEMORY_SPACE_HOST) - static int thread_pool_rank(); -#else - KOKKOS_INLINE_FUNCTION static int thread_pool_rank() { return 0; } -#endif - - inline static unsigned max_hardware_threads() { return thread_pool_size(0); } - KOKKOS_INLINE_FUNCTION static unsigned hardware_thread_id() { - return thread_pool_rank(); - } -#else /// \brief Free any resources being consumed by the device. /// /// For the Threads device, this terminates spawned worker threads. @@ -199,7 +165,6 @@ class Threads { KOKKOS_INLINE_FUNCTION static unsigned impl_hardware_thread_id() { return impl_thread_pool_rank(); } -#endif uint32_t impl_instance_id() const noexcept { return 0; } @@ -208,14 +173,14 @@ class Threads { //---------------------------------------- }; -namespace Profiling { +namespace Tools { namespace Experimental { template <> struct DeviceTypeTraits { static constexpr DeviceType id = DeviceType::Threads; }; } // namespace Experimental -} // namespace Profiling +} // namespace Tools } // namespace Kokkos /*--------------------------------------------------------------------------*/ diff --git a/lib/kokkos/core/src/Kokkos_Timer.hpp b/lib/kokkos/core/src/Kokkos_Timer.hpp index 1dab73b44cb325f74f095f0232614d892c539b7f..4fda4ec4d443972b280413d41c321059874d8e54 100644 --- a/lib/kokkos/core/src/Kokkos_Timer.hpp +++ b/lib/kokkos/core/src/Kokkos_Timer.hpp @@ -45,6 +45,7 @@ #ifndef KOKKOS_TIMER_HPP #define KOKKOS_TIMER_HPP +#include #include namespace Kokkos { diff --git a/lib/kokkos/core/src/Kokkos_UniqueToken.hpp b/lib/kokkos/core/src/Kokkos_UniqueToken.hpp index 523ccad9481acdeeb01accb2ecb0cff55c1784c9..bce7e703f0bffaba7b9dcfa40c9566f35d9c31fa 100644 --- a/lib/kokkos/core/src/Kokkos_UniqueToken.hpp +++ b/lib/kokkos/core/src/Kokkos_UniqueToken.hpp @@ -46,6 +46,8 @@ #define KOKKOS_UNIQUE_TOKEN_HPP #include +#include +#include namespace Kokkos { namespace Experimental { @@ -82,6 +84,95 @@ class UniqueToken { void release(size_type) const; }; +/// \brief Instance scope UniqueToken allows for a max size other than +/// execution_space::concurrency() +/// +/// This object should behave like a ref-counted object, so that when the last +/// instance is destroyed, resources are free if needed +template +class UniqueToken + : public UniqueToken { + public: + using execution_space = ExecutionSpace; + using size_type = typename execution_space::size_type; + + /// \brief Create object with specified size + /// + /// It is required that max_size is >= the maximum number of concurrent + /// threads that will attempt to acquire the UniqueToken. This constructor is + /// most commonly useful when you: + /// 1) Have a loop bound that may be smaller than + /// execution_space::concurrency(). + /// 2) Want a per-team unique token in the range [0, + /// execution_space::concurrency() / team_size) + UniqueToken(size_type max_size, execution_space const& = execution_space()); +}; + +// NOTE There was an agreement amongst developers that "AcquireUniqueToken" is a +// bad name but at this time no one has suggested a better alternative. + +/// \brief RAII helper for per-thread unique token values. +/// +/// The token value will be acquired at construction and automatically +/// released at destruction. +template +class AcquireUniqueToken { + public: + using exec_space = ExecutionSpace; + using size_type = typename exec_space::size_type; + using token_type = UniqueToken; + + private: + token_type my_token; + size_type my_acquired_val; + + public: + KOKKOS_FUNCTION AcquireUniqueToken(token_type t) + : my_token(t), my_acquired_val(my_token.acquire()) {} + + KOKKOS_FUNCTION ~AcquireUniqueToken() { my_token.release(my_acquired_val); } + + KOKKOS_FUNCTION size_type value() const { return my_acquired_val; } +}; + +/// \brief RAII helper for per-team unique token values. +/// +/// The token value will be acquired at construction and automatically +/// released at destruction. All threads in a team will share the same +/// token value. +template +class AcquireTeamUniqueToken { + public: + using exec_space = typename TeamPolicy::execution_space; + using token_type = UniqueToken; + using size_type = typename token_type::size_type; + using team_member_type = typename TeamPolicy::member_type; + using scratch_view = + Kokkos::View; + + private: + token_type my_token; + size_type my_acquired_val; + scratch_view my_team_acquired_val; + team_member_type my_team; + + public: + // NOTE The implementations of the constructor and destructor use + // `Kokkos::single()` which is an inline function defined in each backend. + // This creates circular dependency issues. Moving them to a separate header + // is less than ideal and should be revisited later. Having a `UniqueToken` + // forward declaration was considered but the non-type template parameter + // makes things complicated because it would require moving the definition of + // `UniqueTokenScope` enumeration type and its enumerators away which would + // hurt readability. + KOKKOS_FUNCTION AcquireTeamUniqueToken(token_type t, team_member_type team); + KOKKOS_FUNCTION ~AcquireTeamUniqueToken(); + KOKKOS_FUNCTION size_type value() const { return my_acquired_val; } + static std::size_t shmem_size() { return scratch_view::shmem_size(); } +}; + } // namespace Experimental } // namespace Kokkos diff --git a/lib/kokkos/core/src/Kokkos_Vectorization.hpp b/lib/kokkos/core/src/Kokkos_Vectorization.hpp index cd24734100e6bf07f32e1e20a9096e81734a4848..a232e5b3abc1191bc357940b30d9707613c10957 100644 --- a/lib/kokkos/core/src/Kokkos_Vectorization.hpp +++ b/lib/kokkos/core/src/Kokkos_Vectorization.hpp @@ -47,6 +47,8 @@ #ifndef KOKKOS_VECTORIZATION_HPP #define KOKKOS_VECTORIZATION_HPP +#include + #if defined(KOKKOS_ENABLE_CUDA) #include #elif defined(KOKKOS_ENABLE_HIP) diff --git a/lib/kokkos/core/src/Kokkos_View.hpp b/lib/kokkos/core/src/Kokkos_View.hpp index 3d68d780a2ee92eb67e0a9215f23566915eaf40b..8e6f38163af8c8e0813facccd02c661fb4150da6 100644 --- a/lib/kokkos/core/src/Kokkos_View.hpp +++ b/lib/kokkos/core/src/Kokkos_View.hpp @@ -55,9 +55,7 @@ #include #include -#if defined(KOKKOS_ENABLE_PROFILING) -#include -#endif +#include //---------------------------------------------------------------------------- //---------------------------------------------------------------------------- @@ -93,7 +91,6 @@ KOKKOS_INLINE_FUNCTION std::size_t count_valid_integers( (i6 != KOKKOS_INVALID_INDEX) + (i7 != KOKKOS_INVALID_INDEX); } -#ifndef KOKKOS_ENABLE_DEPRECATED_CODE KOKKOS_INLINE_FUNCTION void runtime_check_rank_device(const size_t dyn_rank, const bool is_void_spec, const size_t i0, const size_t i1, @@ -111,16 +108,8 @@ void runtime_check_rank_device(const size_t dyn_rank, const bool is_void_spec, } } } -#else -KOKKOS_INLINE_FUNCTION -void runtime_check_rank_device(const size_t, const bool, const size_t, - const size_t, const size_t, const size_t, - const size_t, const size_t, const size_t, - const size_t) {} -#endif #ifdef KOKKOS_ACTIVE_EXECUTION_MEMORY_SPACE_HOST -#ifndef KOKKOS_ENABLE_DEPRECATED_CODE KOKKOS_INLINE_FUNCTION void runtime_check_rank_host(const size_t dyn_rank, const bool is_void_spec, const size_t i0, const size_t i1, const size_t i2, @@ -141,13 +130,6 @@ void runtime_check_rank_host(const size_t dyn_rank, const bool is_void_spec, } } } -#else -KOKKOS_INLINE_FUNCTION -void runtime_check_rank_host(const size_t, const bool, const size_t, - const size_t, const size_t, const size_t, - const size_t, const size_t, const size_t, - const size_t, const std::string&) {} -#endif #endif } /* namespace Impl */ @@ -188,23 +170,23 @@ struct ViewTraits; template <> struct ViewTraits { - typedef void execution_space; - typedef void memory_space; - typedef void HostMirrorSpace; - typedef void array_layout; - typedef void memory_traits; - typedef void specialize; + using execution_space = void; + using memory_space = void; + using HostMirrorSpace = void; + using array_layout = void; + using memory_traits = void; + using specialize = void; }; template struct ViewTraits { // Ignore an extraneous 'void' - typedef typename ViewTraits::execution_space execution_space; - typedef typename ViewTraits::memory_space memory_space; - typedef typename ViewTraits::HostMirrorSpace HostMirrorSpace; - typedef typename ViewTraits::array_layout array_layout; - typedef typename ViewTraits::memory_traits memory_traits; - typedef typename ViewTraits::specialize specialize; + using execution_space = typename ViewTraits::execution_space; + using memory_space = typename ViewTraits::memory_space; + using HostMirrorSpace = typename ViewTraits::HostMirrorSpace; + using array_layout = typename ViewTraits::array_layout; + using memory_traits = typename ViewTraits::memory_traits; + using specialize = typename ViewTraits::specialize; }; template @@ -213,12 +195,12 @@ struct ViewTraits { // Specify layout, keep subsequent space and memory traits arguments - typedef typename ViewTraits::execution_space execution_space; - typedef typename ViewTraits::memory_space memory_space; - typedef typename ViewTraits::HostMirrorSpace HostMirrorSpace; - typedef ArrayLayout array_layout; - typedef typename ViewTraits::memory_traits memory_traits; - typedef typename ViewTraits::specialize specialize; + using execution_space = typename ViewTraits::execution_space; + using memory_space = typename ViewTraits::memory_space; + using HostMirrorSpace = typename ViewTraits::HostMirrorSpace; + using array_layout = ArrayLayout; + using memory_traits = typename ViewTraits::memory_traits; + using specialize = typename ViewTraits::specialize; }; template @@ -238,13 +220,13 @@ struct ViewTraits< void>::value, "Only one View Execution or Memory Space template argument"); - typedef typename Space::execution_space execution_space; - typedef typename Space::memory_space memory_space; - typedef typename Kokkos::Impl::HostMirror::Space::memory_space - HostMirrorSpace; - typedef typename execution_space::array_layout array_layout; - typedef typename ViewTraits::memory_traits memory_traits; - typedef typename ViewTraits::specialize specialize; + using execution_space = typename Space::execution_space; + using memory_space = typename Space::memory_space; + using HostMirrorSpace = + typename Kokkos::Impl::HostMirror::Space::memory_space; + using array_layout = typename execution_space::array_layout; + using memory_traits = typename ViewTraits::memory_traits; + using specialize = typename ViewTraits::specialize; }; template @@ -264,84 +246,79 @@ struct ViewTraits::value, "MemoryTrait is the final optional template argument for a View"); - typedef void execution_space; - typedef void memory_space; - typedef void HostMirrorSpace; - typedef void array_layout; - typedef MemoryTraits memory_traits; - typedef void specialize; + using execution_space = void; + using memory_space = void; + using HostMirrorSpace = void; + using array_layout = void; + using memory_traits = MemoryTraits; + using specialize = void; }; template struct ViewTraits { private: // Unpack the properties arguments - typedef ViewTraits prop; + using prop = ViewTraits; - typedef typename std::conditional< + using ExecutionSpace = typename std::conditional< !std::is_same::value, - typename prop::execution_space, Kokkos::DefaultExecutionSpace>::type - ExecutionSpace; + typename prop::execution_space, Kokkos::DefaultExecutionSpace>::type; - typedef typename std::conditional< + using MemorySpace = typename std::conditional< !std::is_same::value, - typename prop::memory_space, typename ExecutionSpace::memory_space>::type - MemorySpace; + typename prop::memory_space, typename ExecutionSpace::memory_space>::type; - typedef typename std::conditional< + using ArrayLayout = typename std::conditional< !std::is_same::value, - typename prop::array_layout, typename ExecutionSpace::array_layout>::type - ArrayLayout; + typename prop::array_layout, typename ExecutionSpace::array_layout>::type; - typedef typename std::conditional< + using HostMirrorSpace = typename std::conditional< !std::is_same::value, typename prop::HostMirrorSpace, - typename Kokkos::Impl::HostMirror::Space>::type - HostMirrorSpace; + typename Kokkos::Impl::HostMirror::Space>::type; - typedef typename std::conditional< + using MemoryTraits = typename std::conditional< !std::is_same::value, - typename prop::memory_traits, typename Kokkos::MemoryManaged>::type - MemoryTraits; + typename prop::memory_traits, typename Kokkos::MemoryManaged>::type; // Analyze data type's properties, // May be specialized based upon the layout and value type - typedef Kokkos::Impl::ViewDataAnalysis data_analysis; + using data_analysis = Kokkos::Impl::ViewDataAnalysis; public: //------------------------------------ // Data type traits: - typedef typename data_analysis::type data_type; - typedef typename data_analysis::const_type const_data_type; - typedef typename data_analysis::non_const_type non_const_data_type; + using data_type = typename data_analysis::type; + using const_data_type = typename data_analysis::const_type; + using non_const_data_type = typename data_analysis::non_const_type; //------------------------------------ // Compatible array of trivial type traits: - typedef typename data_analysis::scalar_array_type scalar_array_type; - typedef - typename data_analysis::const_scalar_array_type const_scalar_array_type; - typedef typename data_analysis::non_const_scalar_array_type - non_const_scalar_array_type; + using scalar_array_type = typename data_analysis::scalar_array_type; + using const_scalar_array_type = + typename data_analysis::const_scalar_array_type; + using non_const_scalar_array_type = + typename data_analysis::non_const_scalar_array_type; //------------------------------------ // Value type traits: - typedef typename data_analysis::value_type value_type; - typedef typename data_analysis::const_value_type const_value_type; - typedef typename data_analysis::non_const_value_type non_const_value_type; + using value_type = typename data_analysis::value_type; + using const_value_type = typename data_analysis::const_value_type; + using non_const_value_type = typename data_analysis::non_const_value_type; //------------------------------------ // Mapping traits: - typedef ArrayLayout array_layout; - typedef typename data_analysis::dimension dimension; + using array_layout = ArrayLayout; + using dimension = typename data_analysis::dimension; - typedef typename std::conditional< + using specialize = typename std::conditional< std::is_same::value, - typename prop::specialize, typename data_analysis::specialize>::type - specialize; /* mapping specialization tag */ + typename prop::specialize, typename data_analysis::specialize>:: + type; /* mapping specialization tag */ enum { rank = dimension::rank }; enum { rank_dynamic = dimension::rank_dynamic }; @@ -349,13 +326,13 @@ struct ViewTraits { //------------------------------------ // Execution space, memory space, memory access traits, and host mirror space. - typedef ExecutionSpace execution_space; - typedef MemorySpace memory_space; - typedef Kokkos::Device device_type; - typedef MemoryTraits memory_traits; - typedef HostMirrorSpace host_mirror_space; + using execution_space = ExecutionSpace; + using memory_space = MemorySpace; + using device_type = Kokkos::Device; + using memory_traits = MemoryTraits; + using host_mirror_space = HostMirrorSpace; - typedef typename MemorySpace::size_type size_type; + using size_type = typename MemorySpace::size_type; enum { is_hostspace = std::is_same::value }; enum { is_managed = MemoryTraits::is_unmanaged == 0 }; @@ -447,8 +424,10 @@ struct ViewTraits { * } * \endcode */ -template -class View; + +} // namespace Kokkos + +namespace Kokkos { template struct is_always_assignable_impl; @@ -552,8 +531,8 @@ constexpr Kokkos::Impl::AllowPadding_t AllowPadding = template inline Impl::ViewCtorProp::type...> view_alloc(Args const&... args) { - typedef Impl::ViewCtorProp::type...> - return_type; + using return_type = + Impl::ViewCtorProp::type...>; static_assert(!return_type::has_pointer, "Cannot give pointer-to-memory for view allocation"); @@ -565,8 +544,8 @@ template KOKKOS_INLINE_FUNCTION Impl::ViewCtorProp::type...> view_wrap(Args const&... args) { - typedef Impl::ViewCtorProp::type...> - return_type; + using return_type = + Impl::ViewCtorProp::type...>; static_assert(!return_type::has_memory_space && !return_type::has_execution_space && @@ -603,65 +582,64 @@ class View : public ViewTraits { template friend class Kokkos::Impl::ViewMapping; + using view_tracker_type = Kokkos::Impl::ViewTracker; + public: - typedef ViewTraits traits; + using traits = ViewTraits; private: - typedef Kokkos::Impl::ViewMapping - map_type; - typedef Kokkos::Impl::SharedAllocationTracker track_type; + using map_type = + Kokkos::Impl::ViewMapping; + template + friend struct Kokkos::Impl::ViewTracker; - track_type m_track; + view_tracker_type m_track; map_type m_map; public: //---------------------------------------- /** \brief Compatible view of array of scalar types */ - typedef View - array_type; + using array_type = + View; /** \brief Compatible view of const data type */ - typedef View - const_type; + using const_type = + View; /** \brief Compatible view of non-const data type */ - typedef View - non_const_type; + using non_const_type = + View; /** \brief Compatible HostMirror view */ - typedef View> - HostMirror; + using HostMirror = + View>; /** \brief Compatible HostMirror view */ - typedef View - host_mirror_type; + using host_mirror_type = + View; /** \brief Unified types */ - typedef typename Impl::ViewUniformType::type uniform_type; - typedef - typename Impl::ViewUniformType::const_type uniform_const_type; - typedef typename Impl::ViewUniformType::runtime_type - uniform_runtime_type; - typedef typename Impl::ViewUniformType::runtime_const_type - uniform_runtime_const_type; - typedef typename Impl::ViewUniformType::nomemspace_type - uniform_nomemspace_type; - typedef typename Impl::ViewUniformType::const_nomemspace_type - uniform_const_nomemspace_type; - typedef typename Impl::ViewUniformType::runtime_nomemspace_type - uniform_runtime_nomemspace_type; - typedef typename Impl::ViewUniformType::runtime_const_nomemspace_type - uniform_runtime_const_nomemspace_type; + using uniform_type = typename Impl::ViewUniformType::type; + using uniform_const_type = + typename Impl::ViewUniformType::const_type; + using uniform_runtime_type = + typename Impl::ViewUniformType::runtime_type; + using uniform_runtime_const_type = + typename Impl::ViewUniformType::runtime_const_type; + using uniform_nomemspace_type = + typename Impl::ViewUniformType::nomemspace_type; + using uniform_const_nomemspace_type = + typename Impl::ViewUniformType::const_nomemspace_type; + using uniform_runtime_nomemspace_type = + typename Impl::ViewUniformType::runtime_nomemspace_type; + using uniform_runtime_const_nomemspace_type = + typename Impl::ViewUniformType::runtime_const_nomemspace_type; //---------------------------------------- // Domain rank and extents @@ -703,44 +681,6 @@ class View : public ViewTraits { * ISO/C++ vocabulary 'extent'. */ -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - - template - KOKKOS_INLINE_FUNCTION constexpr - typename std::enable_if::value, size_t>::type - dimension(const iType& r) const { - return extent(r); - } - - KOKKOS_INLINE_FUNCTION constexpr size_t dimension_0() const { - return m_map.dimension_0(); - } - KOKKOS_INLINE_FUNCTION constexpr size_t dimension_1() const { - return m_map.dimension_1(); - } - KOKKOS_INLINE_FUNCTION constexpr size_t dimension_2() const { - return m_map.dimension_2(); - } - KOKKOS_INLINE_FUNCTION constexpr size_t dimension_3() const { - return m_map.dimension_3(); - } - KOKKOS_INLINE_FUNCTION constexpr size_t dimension_4() const { - return m_map.dimension_4(); - } - KOKKOS_INLINE_FUNCTION constexpr size_t dimension_5() const { - return m_map.dimension_5(); - } - KOKKOS_INLINE_FUNCTION constexpr size_t dimension_6() const { - return m_map.dimension_6(); - } - KOKKOS_INLINE_FUNCTION constexpr size_t dimension_7() const { - return m_map.dimension_7(); - } - -#endif - - //---------------------------------------- - KOKKOS_INLINE_FUNCTION constexpr size_t size() const { return m_map.dimension_0() * m_map.dimension_1() * m_map.dimension_2() * m_map.dimension_3() * m_map.dimension_4() * m_map.dimension_5() * @@ -802,8 +742,8 @@ class View : public ViewTraits { //---------------------------------------- // Range span is the span which contains all members. - typedef typename map_type::reference_type reference_type; - typedef typename map_type::pointer_type pointer_type; + using reference_type = typename map_type::reference_type; + using pointer_type = typename map_type::pointer_type; enum { reference_type_is_lvalue_reference = @@ -811,40 +751,19 @@ class View : public ViewTraits { }; KOKKOS_INLINE_FUNCTION constexpr size_t span() const { return m_map.span(); } -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - // Deprecated, use 'span()' instead - KOKKOS_INLINE_FUNCTION constexpr size_t capacity() const { - return m_map.span(); - } -#endif KOKKOS_INLINE_FUNCTION bool span_is_contiguous() const { return m_map.span_is_contiguous(); } - KOKKOS_INLINE_FUNCTION constexpr pointer_type data() const { - return m_map.data(); - } - -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - // Deprecated, use 'span_is_contigous()' instead - KOKKOS_INLINE_FUNCTION constexpr bool is_contiguous() const { - return m_map.span_is_contiguous(); + KOKKOS_INLINE_FUNCTION constexpr bool is_allocated() const { + return m_map.data() != nullptr; } - // Deprecated, use 'data()' instead - KOKKOS_INLINE_FUNCTION constexpr pointer_type ptr_on_device() const { + KOKKOS_INLINE_FUNCTION constexpr pointer_type data() const { return m_map.data(); } -#endif //---------------------------------------- // Allow specializations to query their specialized map -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - KOKKOS_INLINE_FUNCTION - const Kokkos::Impl::ViewMapping& - implementation_map() const { - return m_map; - } -#endif KOKKOS_INLINE_FUNCTION const Kokkos::Impl::ViewMapping& impl_map() const { @@ -852,7 +771,7 @@ class View : public ViewTraits { } KOKKOS_INLINE_FUNCTION const Kokkos::Impl::SharedAllocationTracker& impl_track() const { - return m_track; + return m_track.m_tracker; } //---------------------------------------- @@ -904,315 +823,6 @@ class View : public ViewTraits { #endif public: -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - template - KOKKOS_FORCEINLINE_FUNCTION - typename std::enable_if<(Kokkos::Impl::are_integral::value && - (0 == Rank)), - reference_type>::type - operator()(Args... args) const { - KOKKOS_IMPL_VIEW_OPERATOR_VERIFY((m_track, m_map, args...)) - return m_map.reference(); - } - - template - KOKKOS_FORCEINLINE_FUNCTION - typename std::enable_if<(Kokkos::Impl::are_integral::value && - (1 == Rank) && !is_default_map), - reference_type>::type - operator()(const I0& i0, Args... args) const { - KOKKOS_IMPL_VIEW_OPERATOR_VERIFY((m_track, m_map, i0, args...)) - return m_map.reference(i0); - } - - template - KOKKOS_FORCEINLINE_FUNCTION - typename std::enable_if<(Kokkos::Impl::are_integral::value && - (1 == Rank) && is_default_map && - !is_layout_stride), - reference_type>::type - operator()(const I0& i0, Args... args) const { - KOKKOS_IMPL_VIEW_OPERATOR_VERIFY((m_track, m_map, i0, args...)) - return m_map.m_impl_handle[i0]; - } - - template - KOKKOS_FORCEINLINE_FUNCTION - typename std::enable_if<(Kokkos::Impl::are_integral::value && - (1 == Rank) && is_default_map && - is_layout_stride), - reference_type>::type - operator()(const I0& i0, Args... args) const { - KOKKOS_IMPL_VIEW_OPERATOR_VERIFY((m_track, m_map, i0, args...)) - return m_map.m_impl_handle[m_map.m_impl_offset.m_stride.S0 * i0]; - } - - //------------------------------ - // Rank 1 operator[] - - template - KOKKOS_FORCEINLINE_FUNCTION - typename std::enable_if<(Kokkos::Impl::are_integral::value && - (1 == Rank) && !is_default_map), - reference_type>::type - operator[](const I0& i0) const { - KOKKOS_IMPL_VIEW_OPERATOR_VERIFY((m_track, m_map, i0)) - return m_map.reference(i0); - } - - template - KOKKOS_FORCEINLINE_FUNCTION - typename std::enable_if<(Kokkos::Impl::are_integral::value && - (1 == Rank) && is_default_map && - !is_layout_stride), - reference_type>::type - operator[](const I0& i0) const { - KOKKOS_IMPL_VIEW_OPERATOR_VERIFY((m_track, m_map, i0)) - return m_map.m_impl_handle[i0]; - } - - template - KOKKOS_FORCEINLINE_FUNCTION - typename std::enable_if<(Kokkos::Impl::are_integral::value && - (1 == Rank) && is_default_map && - is_layout_stride), - reference_type>::type - operator[](const I0& i0) const { - KOKKOS_IMPL_VIEW_OPERATOR_VERIFY((m_track, m_map, i0)) - return m_map.m_impl_handle[m_map.m_impl_offset.m_stride.S0 * i0]; - } - - template - KOKKOS_FORCEINLINE_FUNCTION typename std::enable_if< - (Kokkos::Impl::are_integral::value && (2 == Rank) && - !is_default_map), - reference_type>::type - operator()(const I0& i0, const I1& i1, Args... args) const { - KOKKOS_IMPL_VIEW_OPERATOR_VERIFY((m_track, m_map, i0, i1, args...)) - return m_map.reference(i0, i1); - } - - template - KOKKOS_FORCEINLINE_FUNCTION typename std::enable_if< - (Kokkos::Impl::are_integral::value && (2 == Rank) && - is_default_map && is_layout_left && (traits::rank_dynamic == 0)), - reference_type>::type - operator()(const I0& i0, const I1& i1, Args... args) const { - KOKKOS_IMPL_VIEW_OPERATOR_VERIFY((m_track, m_map, i0, i1, args...)) - return m_map.m_impl_handle[i0 + m_map.m_impl_offset.m_dim.N0 * i1]; - } - - template - KOKKOS_FORCEINLINE_FUNCTION typename std::enable_if< - (Kokkos::Impl::are_integral::value && (2 == Rank) && - is_default_map && is_layout_left && (traits::rank_dynamic != 0)), - reference_type>::type - operator()(const I0& i0, const I1& i1, Args... args) const { - KOKKOS_IMPL_VIEW_OPERATOR_VERIFY((m_track, m_map, i0, i1, args...)) - return m_map.m_impl_handle[i0 + m_map.m_impl_offset.m_stride * i1]; - } - - template - KOKKOS_FORCEINLINE_FUNCTION typename std::enable_if< - (Kokkos::Impl::are_integral::value && (2 == Rank) && - is_default_map && is_layout_right && (traits::rank_dynamic == 0)), - reference_type>::type - operator()(const I0& i0, const I1& i1, Args... args) const { - KOKKOS_IMPL_VIEW_OPERATOR_VERIFY((m_track, m_map, i0, i1, args...)) - return m_map.m_impl_handle[i1 + m_map.m_impl_offset.m_dim.N1 * i0]; - } - - template - KOKKOS_FORCEINLINE_FUNCTION typename std::enable_if< - (Kokkos::Impl::are_integral::value && (2 == Rank) && - is_default_map && is_layout_right && (traits::rank_dynamic != 0)), - reference_type>::type - operator()(const I0& i0, const I1& i1, Args... args) const { - KOKKOS_IMPL_VIEW_OPERATOR_VERIFY((m_track, m_map, i0, i1, args...)) - return m_map.m_impl_handle[i1 + m_map.m_impl_offset.m_stride * i0]; - } - - template - KOKKOS_FORCEINLINE_FUNCTION typename std::enable_if< - (Kokkos::Impl::are_integral::value && (2 == Rank) && - is_default_map && is_layout_stride), - reference_type>::type - operator()(const I0& i0, const I1& i1, Args... args) const { - KOKKOS_IMPL_VIEW_OPERATOR_VERIFY((m_track, m_map, i0, i1, args...)) - return m_map.m_impl_handle[i0 * m_map.m_impl_offset.m_stride.S0 + - i1 * m_map.m_impl_offset.m_stride.S1]; - } - - //------------------------------ - // Rank 3 - - template - KOKKOS_FORCEINLINE_FUNCTION typename std::enable_if< - (Kokkos::Impl::are_integral::value && (3 == Rank) && - is_default_map), - reference_type>::type - operator()(const I0& i0, const I1& i1, const I2& i2, Args... args) const { - KOKKOS_IMPL_VIEW_OPERATOR_VERIFY((m_track, m_map, i0, i1, i2, args...)) - return m_map.m_impl_handle[m_map.m_impl_offset(i0, i1, i2)]; - } - - template - KOKKOS_FORCEINLINE_FUNCTION typename std::enable_if< - (Kokkos::Impl::are_integral::value && (3 == Rank) && - !is_default_map), - reference_type>::type - operator()(const I0& i0, const I1& i1, const I2& i2, Args... args) const { - KOKKOS_IMPL_VIEW_OPERATOR_VERIFY((m_track, m_map, i0, i1, i2, args...)) - return m_map.reference(i0, i1, i2); - } - - //------------------------------ - // Rank 4 - - template - KOKKOS_FORCEINLINE_FUNCTION typename std::enable_if< - (Kokkos::Impl::are_integral::value && - (4 == Rank) && is_default_map), - reference_type>::type - operator()(const I0& i0, const I1& i1, const I2& i2, const I3& i3, - Args... args) const { - KOKKOS_IMPL_VIEW_OPERATOR_VERIFY((m_track, m_map, i0, i1, i2, i3, args...)) - return m_map.m_impl_handle[m_map.m_impl_offset(i0, i1, i2, i3)]; - } - - template - KOKKOS_FORCEINLINE_FUNCTION typename std::enable_if< - (Kokkos::Impl::are_integral::value && - (4 == Rank) && !is_default_map), - reference_type>::type - operator()(const I0& i0, const I1& i1, const I2& i2, const I3& i3, - Args... args) const { - KOKKOS_IMPL_VIEW_OPERATOR_VERIFY((m_track, m_map, i0, i1, i2, i3, args...)) - return m_map.reference(i0, i1, i2, i3); - } - - //------------------------------ - // Rank 5 - - template - KOKKOS_FORCEINLINE_FUNCTION typename std::enable_if< - (Kokkos::Impl::are_integral::value && - (5 == Rank) && is_default_map), - reference_type>::type - operator()(const I0& i0, const I1& i1, const I2& i2, const I3& i3, - const I4& i4, Args... args) const { - KOKKOS_IMPL_VIEW_OPERATOR_VERIFY( - (m_track, m_map, i0, i1, i2, i3, i4, args...)) - return m_map.m_impl_handle[m_map.m_impl_offset(i0, i1, i2, i3, i4)]; - } - - template - KOKKOS_FORCEINLINE_FUNCTION typename std::enable_if< - (Kokkos::Impl::are_integral::value && - (5 == Rank) && !is_default_map), - reference_type>::type - operator()(const I0& i0, const I1& i1, const I2& i2, const I3& i3, - const I4& i4, Args... args) const { - KOKKOS_IMPL_VIEW_OPERATOR_VERIFY( - (m_track, m_map, i0, i1, i2, i3, i4, args...)) - return m_map.reference(i0, i1, i2, i3, i4); - } - - //------------------------------ - // Rank 6 - - template - KOKKOS_FORCEINLINE_FUNCTION typename std::enable_if< - (Kokkos::Impl::are_integral::value && - (6 == Rank) && is_default_map), - reference_type>::type - operator()(const I0& i0, const I1& i1, const I2& i2, const I3& i3, - const I4& i4, const I5& i5, Args... args) const { - KOKKOS_IMPL_VIEW_OPERATOR_VERIFY( - (m_track, m_map, i0, i1, i2, i3, i4, i5, args...)) - return m_map.m_impl_handle[m_map.m_impl_offset(i0, i1, i2, i3, i4, i5)]; - } - - template - KOKKOS_FORCEINLINE_FUNCTION typename std::enable_if< - (Kokkos::Impl::are_integral::value && - (6 == Rank) && !is_default_map), - reference_type>::type - operator()(const I0& i0, const I1& i1, const I2& i2, const I3& i3, - const I4& i4, const I5& i5, Args... args) const { - KOKKOS_IMPL_VIEW_OPERATOR_VERIFY( - (m_track, m_map, i0, i1, i2, i3, i4, i5, args...)) - return m_map.reference(i0, i1, i2, i3, i4, i5); - } - - //------------------------------ - // Rank 7 - - template - KOKKOS_FORCEINLINE_FUNCTION typename std::enable_if< - (Kokkos::Impl::are_integral::value && - (7 == Rank) && is_default_map), - reference_type>::type - operator()(const I0& i0, const I1& i1, const I2& i2, const I3& i3, - const I4& i4, const I5& i5, const I6& i6, Args... args) const { - KOKKOS_IMPL_VIEW_OPERATOR_VERIFY( - (m_track, m_map, i0, i1, i2, i3, i4, i5, i6, args...)) - return m_map.m_impl_handle[m_map.m_impl_offset(i0, i1, i2, i3, i4, i5, i6)]; - } - - template - KOKKOS_FORCEINLINE_FUNCTION typename std::enable_if< - (Kokkos::Impl::are_integral::value && - (7 == Rank) && !is_default_map), - reference_type>::type - operator()(const I0& i0, const I1& i1, const I2& i2, const I3& i3, - const I4& i4, const I5& i5, const I6& i6, Args... args) const { - KOKKOS_IMPL_VIEW_OPERATOR_VERIFY( - (m_track, m_map, i0, i1, i2, i3, i4, i5, i6, args...)) - return m_map.reference(i0, i1, i2, i3, i4, i5, i6); - } - - //------------------------------ - // Rank 8 - - template - KOKKOS_FORCEINLINE_FUNCTION typename std::enable_if< - (Kokkos::Impl::are_integral::value && - (8 == Rank) && is_default_map), - reference_type>::type - operator()(const I0& i0, const I1& i1, const I2& i2, const I3& i3, - const I4& i4, const I5& i5, const I6& i6, const I7& i7, - Args... args) const { - KOKKOS_IMPL_VIEW_OPERATOR_VERIFY( - (m_track, m_map, i0, i1, i2, i3, i4, i5, i6, i7, args...)) - return m_map - .m_impl_handle[m_map.m_impl_offset(i0, i1, i2, i3, i4, i5, i6, i7)]; - } - - template - KOKKOS_FORCEINLINE_FUNCTION typename std::enable_if< - (Kokkos::Impl::are_integral::value && - (8 == Rank) && !is_default_map), - reference_type>::type - operator()(const I0& i0, const I1& i1, const I2& i2, const I3& i3, - const I4& i4, const I5& i5, const I6& i6, const I7& i7, - Args... args) const { - KOKKOS_IMPL_VIEW_OPERATOR_VERIFY( - (m_track, m_map, i0, i1, i2, i3, i4, i5, i6, i7, args...)) - return m_map.reference(i0, i1, i2, i3, i4, i5, i6, i7); - } - -#else //------------------------------ // Rank 0 operator() @@ -1513,7 +1123,6 @@ class View : public ViewTraits { return m_map.reference(i0, i1, i2, i3, i4, i5, i6, i7); } -#endif template KOKKOS_FORCEINLINE_FUNCTION typename std::enable_if<(Kokkos::Impl::are_integral::value && @@ -1810,30 +1419,20 @@ class View : public ViewTraits { KOKKOS_DEFAULTED_FUNCTION ~View() = default; - KOKKOS_INLINE_FUNCTION - View() : m_track(), m_map() {} + KOKKOS_DEFAULTED_FUNCTION + View() = default; - KOKKOS_INLINE_FUNCTION - View(const View& rhs) - : m_track(rhs.m_track, traits::is_managed), m_map(rhs.m_map) {} + KOKKOS_DEFAULTED_FUNCTION + View(const View&) = default; - KOKKOS_INLINE_FUNCTION - View(View&& rhs) - : m_track(std::move(rhs.m_track)), m_map(std::move(rhs.m_map)) {} + KOKKOS_DEFAULTED_FUNCTION + View(View&&) = default; - KOKKOS_INLINE_FUNCTION - View& operator=(const View& rhs) { - m_track = rhs.m_track; - m_map = rhs.m_map; - return *this; - } + KOKKOS_DEFAULTED_FUNCTION + View& operator=(const View&) = default; - KOKKOS_INLINE_FUNCTION - View& operator=(View&& rhs) { - m_track = std::move(rhs.m_track); - m_map = std::move(rhs.m_map); - return *this; - } + KOKKOS_DEFAULTED_FUNCTION + View& operator=(View&&) = default; //---------------------------------------- // Compatible view copy constructor and assignment @@ -1846,14 +1445,13 @@ class View : public ViewTraits { traits, typename View::traits, typename traits::specialize>::is_assignable_data_type>::type* = nullptr) - : m_track(rhs.m_track, traits::is_managed), m_map() { - typedef typename View::traits SrcTraits; - typedef Kokkos::Impl::ViewMapping - Mapping; + : m_track(rhs), m_map() { + using SrcTraits = typename View::traits; + using Mapping = Kokkos::Impl::ViewMapping; static_assert(Mapping::is_assignable, "Incompatible View copy construction"); - Mapping::assign(m_map, rhs.m_map, rhs.m_track); + Mapping::assign(m_map, rhs.m_map, rhs.m_track.m_tracker); } template @@ -1863,13 +1461,12 @@ class View : public ViewTraits { typename traits::specialize>::is_assignable_data_type, View>::type& operator=(const View& rhs) { - typedef typename View::traits SrcTraits; - typedef Kokkos::Impl::ViewMapping - Mapping; + using SrcTraits = typename View::traits; + using Mapping = Kokkos::Impl::ViewMapping; static_assert(Mapping::is_assignable, "Incompatible View copy assignment"); - Mapping::assign(m_map, rhs.m_map, rhs.m_track); - m_track.assign(rhs.m_track, traits::is_managed); + Mapping::assign(m_map, rhs.m_map, rhs.m_track.m_tracker); + m_track.assign(rhs); return *this; } @@ -1880,16 +1477,13 @@ class View : public ViewTraits { template KOKKOS_INLINE_FUNCTION View(const View& src_view, const Arg0 arg0, Args... args) - : m_track(src_view.m_track, traits::is_managed), m_map() { - typedef View SrcType; + : m_track(src_view), m_map() { + using SrcType = View; - typedef Kokkos::Impl::ViewMapping - Mapping; + using Mapping = Kokkos::Impl::ViewMapping; - typedef typename Mapping::type DstType; + using DstType = typename Mapping::type; static_assert( Kokkos::Impl::ViewMapping { // Allocation tracking properties KOKKOS_INLINE_FUNCTION - int use_count() const { return m_track.use_count(); } + int use_count() const { return m_track.m_tracker.use_count(); } inline const std::string label() const { - return m_track.template get_label(); + return m_track.m_tracker + .template get_label(); } //---------------------------------------- @@ -1920,35 +1515,29 @@ class View : public ViewTraits { arg_layout) : m_track(), m_map() { // Append layout and spaces if not input - typedef Impl::ViewCtorProp alloc_prop_input; + using alloc_prop_input = Impl::ViewCtorProp; // use 'std::integral_constant' for non-types // to avoid duplicate class error. - typedef Impl::ViewCtorProp< + using alloc_prop = Impl::ViewCtorProp< P..., typename std::conditional, + std::integral_constant, typename std::string>::type, typename std::conditional< alloc_prop_input::has_memory_space, - std::integral_constant, + std::integral_constant, typename traits::device_type::memory_space>::type, typename std::conditional< alloc_prop_input::has_execution_space, - std::integral_constant, - typename traits::device_type::execution_space>::type> - alloc_prop; + std::integral_constant, + typename traits::device_type::execution_space>::type>; static_assert(traits::is_managed, "View allocation constructor requires managed memory"); if (alloc_prop::initialize && -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - !alloc_prop::execution_space::is_initialized() -#else - !alloc_prop::execution_space::impl_is_initialized() -#endif - ) { + !alloc_prop::execution_space::impl_is_initialized()) { // If initializing view data then // the execution space must be initialized. Kokkos::Impl::throw_runtime_exception( @@ -1986,12 +1575,12 @@ class View : public ViewTraits { //------------------------------------------------------------ // Setup and initialization complete, start tracking - m_track.assign_allocated_record_to_uninitialized(record); + m_track.m_tracker.assign_allocated_record_to_uninitialized(record); } KOKKOS_INLINE_FUNCTION void assign_data(pointer_type arg_data) { - m_track.clear(); + m_track.m_tracker.clear(); m_map.assign_data(arg_data); } @@ -2152,14 +1741,31 @@ class View : public ViewTraits { #endif } + // Construct view from ViewTracker and map + // This should be the preferred method because future extensions may need to + // use the ViewTracker class. + template + KOKKOS_INLINE_FUNCTION View( + const view_tracker_type& track, + const Kokkos::Impl::ViewMapping& map) + : m_track(track), m_map() { + using Mapping = + Kokkos::Impl::ViewMapping; + static_assert(Mapping::is_assignable, + "Incompatible View copy construction"); + Mapping::assign(m_map, map, track.m_tracker); + } + + // Construct View from internal shared allocation tracker object and map + // This is here for backwards compatibility for classes that derive from + // Kokkos::View template KOKKOS_INLINE_FUNCTION View( - const track_type& track, + const typename view_tracker_type::track_type& track, const Kokkos::Impl::ViewMapping& map) : m_track(track), m_map() { - typedef Kokkos::Impl::ViewMapping - Mapping; + using Mapping = + Kokkos::Impl::ViewMapping; static_assert(Mapping::is_assignable, "Incompatible View copy construction"); Mapping::assign(m_map, map, track); @@ -2344,8 +1950,8 @@ template KOKKOS_INLINE_FUNCTION bool operator==(const View& lhs, const View& rhs) { // Same data, layout, dimensions - typedef ViewTraits lhs_traits; - typedef ViewTraits rhs_traits; + using lhs_traits = ViewTraits; + using rhs_traits = ViewTraits; return std::is_same::value && diff --git a/lib/kokkos/core/src/Kokkos_WorkGraphPolicy.hpp b/lib/kokkos/core/src/Kokkos_WorkGraphPolicy.hpp index 6ff2f0d4b72178f9ee9ef0cc0d042af1f7275bee..bdc8993c398f2dd6d6b581008d1f0c8d3535d860 100644 --- a/lib/kokkos/core/src/Kokkos_WorkGraphPolicy.hpp +++ b/lib/kokkos/core/src/Kokkos_WorkGraphPolicy.hpp @@ -45,6 +45,9 @@ #ifndef KOKKOS_WORKGRAPHPOLICY_HPP #define KOKKOS_WORKGRAPHPOLICY_HPP +#include +#include + namespace Kokkos { namespace Impl { @@ -245,6 +248,10 @@ class WorkGraphPolicy : public Kokkos::Impl::PolicyTraits { #include "Cuda/Kokkos_Cuda_WorkGraphPolicy.hpp" #endif +#ifdef KOKKOS_ENABLE_HIP +#include "HIP/Kokkos_HIP_WorkGraphPolicy.hpp" +#endif + #ifdef KOKKOS_ENABLE_THREADS #include "Threads/Kokkos_Threads_WorkGraphPolicy.hpp" #endif diff --git a/lib/kokkos/core/src/Kokkos_hwloc.hpp b/lib/kokkos/core/src/Kokkos_hwloc.hpp index f343ef80b4f8e22830481f9e0cdf10b0a7fab7c6..23fa0a0c67001161cb510e6904455091cc4b5986 100644 --- a/lib/kokkos/core/src/Kokkos_hwloc.hpp +++ b/lib/kokkos/core/src/Kokkos_hwloc.hpp @@ -45,6 +45,8 @@ #ifndef KOKKOS_HWLOC_HPP #define KOKKOS_HWLOC_HPP +#include + #include namespace Kokkos { diff --git a/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP_Exec.cpp b/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP_Exec.cpp index 21151156e3d210f6ce39e79661d9361d1f95e871..117a7e7345de23546861ea8fda3fc23c62c4e6c7 100644 --- a/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP_Exec.cpp +++ b/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP_Exec.cpp @@ -56,7 +56,7 @@ #include #include -#include +#include namespace Kokkos { namespace Impl { @@ -250,12 +250,7 @@ namespace Kokkos { //---------------------------------------------------------------------------- -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE -int OpenMP::get_current_max_threads() noexcept -#else -int OpenMP::impl_get_current_max_threads() noexcept -#endif -{ +int OpenMP::impl_get_current_max_threads() noexcept { // Using omp_get_max_threads(); is problematic in conjunction with // Hwloc on Intel (essentially an initial call to the OpenMP runtime // without a parallel region before will set a process mask for a single core @@ -274,12 +269,7 @@ int OpenMP::impl_get_current_max_threads() noexcept return count; } -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE -void OpenMP::initialize(int thread_count) -#else -void OpenMP::impl_initialize(int thread_count) -#endif -{ +void OpenMP::impl_initialize(int thread_count) { if (omp_in_parallel()) { std::string msg("Kokkos::OpenMP::initialize ERROR : in parallel"); Kokkos::Impl::throw_runtime_exception(msg); @@ -306,11 +296,7 @@ void OpenMP::impl_initialize(int thread_count) // Before any other call to OMP query the maximum number of threads // and save the value for re-initialization unit testing. -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - Impl::g_openmp_hardware_max_threads = get_current_max_threads(); -#else Impl::g_openmp_hardware_max_threads = impl_get_current_max_threads(); -#endif int process_num_threads = Impl::g_openmp_hardware_max_threads; @@ -391,20 +377,11 @@ void OpenMP::impl_initialize(int thread_count) } // Init the array for used for arbitrarily sized atomics Impl::init_lock_array_host_space(); - -#if defined(KOKKOS_ENABLE_DEPRECATED_CODE) && defined(KOKKOS_ENABLE_PROFILING) - Kokkos::Profiling::initialize(); -#endif } //---------------------------------------------------------------------------- -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE -void OpenMP::finalize() -#else -void OpenMP::impl_finalize() -#endif -{ +void OpenMP::impl_finalize() { if (omp_in_parallel()) { std::string msg("Kokkos::OpenMP::finalize ERROR "); if (!Impl::t_openmp_instance) msg.append(": not initialized"); @@ -440,9 +417,7 @@ void OpenMP::impl_finalize() Impl::g_openmp_hardware_max_threads = 1; } -#if defined(KOKKOS_ENABLE_PROFILING) Kokkos::Profiling::finalize(); -#endif } //---------------------------------------------------------------------------- @@ -472,18 +447,7 @@ OpenMP OpenMP::create_instance(...) { return OpenMP(); } int OpenMP::concurrency() { return Impl::g_openmp_hardware_max_threads; } -#ifndef KOKKOS_ENABLE_DEPRECATED_CODE void OpenMP::fence() const {} -#endif - -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - -void OpenMP::initialize(int thread_count, int, int) { - initialize(thread_count); -} - -#endif - } // namespace Kokkos #else diff --git a/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP_Exec.hpp b/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP_Exec.hpp index 6614050f025b2579d6b0756d2973b4b6c6dacb4e..f51a7e7ce0819d7e9a6086c1b2e15c7235ade1a0 100644 --- a/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP_Exec.hpp +++ b/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP_Exec.hpp @@ -61,10 +61,7 @@ #include #include - -#include -#include -#include +#include #include @@ -129,15 +126,7 @@ class OpenMPExec { namespace Kokkos { -inline -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - bool - OpenMP::is_initialized() noexcept -#else - bool - OpenMP::impl_is_initialized() noexcept -#endif -{ +inline bool OpenMP::impl_is_initialized() noexcept { return Impl::t_openmp_instance != nullptr; } @@ -147,26 +136,13 @@ inline bool OpenMP::in_parallel(OpenMP const&) noexcept { Impl::t_openmp_instance->m_level < omp_get_level(); } -inline -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - int - OpenMP::thread_pool_size() noexcept -#else - int - OpenMP::impl_thread_pool_size() noexcept -#endif -{ +inline int OpenMP::impl_thread_pool_size() noexcept { return OpenMP::in_parallel() ? omp_get_num_threads() : Impl::t_openmp_instance->m_pool_size; } KOKKOS_INLINE_FUNCTION -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE -int OpenMP::thread_pool_rank() noexcept -#else -int OpenMP::impl_thread_pool_rank() noexcept -#endif -{ +int OpenMP::impl_thread_pool_rank() noexcept { #if defined(KOKKOS_ACTIVE_EXECUTION_MEMORY_SPACE_HOST) return Impl::t_openmp_instance ? 0 : omp_get_thread_num(); #else @@ -176,10 +152,6 @@ int OpenMP::impl_thread_pool_rank() noexcept inline void OpenMP::impl_static_fence(OpenMP const& /*instance*/) noexcept {} -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE -inline void OpenMP::fence(OpenMP const& instance) noexcept {} -#endif - inline bool OpenMP::is_asynchronous(OpenMP const& /*instance*/) noexcept { return false; } @@ -190,7 +162,7 @@ void OpenMP::partition_master(F const& f, int num_partitions, #if _OPENMP >= 201811 if (omp_get_max_active_levels() > 1) { #else - if (omp_get_nested() > 1) { + if (omp_get_nested()) { #endif using Exec = Impl::OpenMPExec; @@ -261,6 +233,12 @@ class MasterLock { template <> class UniqueToken { + private: + using buffer_type = Kokkos::View; + int m_count; + buffer_type m_buffer_view; + uint32_t volatile* m_buffer; + public: using execution_space = OpenMP; using size_type = int; @@ -268,17 +246,22 @@ class UniqueToken { /// \brief create object size for concurrency on the given instance /// /// This object should not be shared between instances - UniqueToken(execution_space const& = execution_space()) noexcept {} + UniqueToken(execution_space const& = execution_space()) noexcept + : m_count(::Kokkos::OpenMP::impl_thread_pool_size()), + m_buffer_view(buffer_type()), + m_buffer(nullptr) {} + + UniqueToken(size_type max_size, execution_space const& = execution_space()) + : m_count(max_size), + m_buffer_view("UniqueToken::m_buffer_view", + ::Kokkos::Impl::concurrent_bitset::buffer_bound(m_count)), + m_buffer(m_buffer_view.data()) {} /// \brief upper bound for acquired values, i.e. 0 <= value < size() KOKKOS_INLINE_FUNCTION int size() const noexcept { #if defined(KOKKOS_ACTIVE_EXECUTION_MEMORY_SPACE_HOST) -#if defined(KOKKOS_ENABLE_DEPRECATED_CODE) - return Kokkos::OpenMP::thread_pool_size(); -#else - return Kokkos::OpenMP::impl_thread_pool_size(); -#endif + return m_count; #else return 0; #endif @@ -288,11 +271,18 @@ class UniqueToken { KOKKOS_INLINE_FUNCTION int acquire() const noexcept { #if defined(KOKKOS_ACTIVE_EXECUTION_MEMORY_SPACE_HOST) -#if defined(KOKKOS_ENABLE_DEPRECATED_CODE) - return Kokkos::OpenMP::thread_pool_rank(); -#else - return Kokkos::OpenMP::impl_thread_pool_rank(); -#endif + if (m_count >= ::Kokkos::OpenMP::impl_thread_pool_size()) + return ::Kokkos::OpenMP::impl_thread_pool_rank(); + const ::Kokkos::pair result = + ::Kokkos::Impl::concurrent_bitset::acquire_bounded( + m_buffer, m_count, ::Kokkos::Impl::clock_tic() % m_count); + + if (result.first < 0) { + ::Kokkos::abort( + "UniqueToken failure to acquire tokens, no tokens available"); + } + + return result.first; #else return 0; #endif @@ -300,7 +290,14 @@ class UniqueToken { /// \brief release a value acquired by generate KOKKOS_INLINE_FUNCTION - void release(int) const noexcept {} + void release(int i) const noexcept { +#if defined(KOKKOS_ACTIVE_EXECUTION_MEMORY_SPACE_HOST) + if (m_count < ::Kokkos::OpenMP::impl_thread_pool_size()) + ::Kokkos::Impl::concurrent_bitset::release(m_buffer, i); +#else + (void)i; +#endif + } }; template <> @@ -341,31 +338,12 @@ class UniqueToken { } // namespace Experimental -inline -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - int - OpenMP::thread_pool_size(int depth) -#else - int - OpenMP::impl_thread_pool_size(int depth) -#endif -{ - return depth < 2 -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - ? thread_pool_size() -#else - ? impl_thread_pool_size() -#endif - : 1; +inline int OpenMP::impl_thread_pool_size(int depth) { + return depth < 2 ? impl_thread_pool_size() : 1; } KOKKOS_INLINE_FUNCTION -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE -int OpenMP::hardware_thread_id() noexcept -#else -int OpenMP::impl_hardware_thread_id() noexcept -#endif -{ +int OpenMP::impl_hardware_thread_id() noexcept { #if defined(KOKKOS_ACTIVE_EXECUTION_MEMORY_SPACE_HOST) return Impl::t_openmp_hardware_id; #else @@ -373,15 +351,7 @@ int OpenMP::impl_hardware_thread_id() noexcept #endif } -inline -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - int - OpenMP::max_hardware_threads() noexcept -#else - int - OpenMP::impl_max_hardware_threads() noexcept -#endif -{ +inline int OpenMP::impl_max_hardware_threads() noexcept { return Impl::g_openmp_hardware_max_threads; } diff --git a/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP_Parallel.hpp b/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP_Parallel.hpp index 83773ac3055213563b7e90c5f4108e61853a0ef9..7c05fb2f29e93fd74214daf9c5e9b0b49df21509 100644 --- a/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP_Parallel.hpp +++ b/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP_Parallel.hpp @@ -49,7 +49,6 @@ #if defined(KOKKOS_ENABLE_OPENMP) #include -#include #include #include @@ -64,10 +63,10 @@ namespace Impl { template class ParallelFor, Kokkos::OpenMP> { private: - typedef Kokkos::RangePolicy Policy; - typedef typename Policy::work_tag WorkTag; - typedef typename Policy::WorkRange WorkRange; - typedef typename Policy::member_type Member; + using Policy = Kokkos::RangePolicy; + using WorkTag = typename Policy::work_tag; + using WorkRange = typename Policy::WorkRange; + using Member = typename Policy::member_type; OpenMPExec* m_instance; const FunctorType m_functor; @@ -116,11 +115,7 @@ class ParallelFor, Kokkos::OpenMP> { } else { OpenMPExec::verify_is_master("Kokkos::OpenMP parallel_for"); -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE -#pragma omp parallel num_threads(OpenMP::thread_pool_size()) -#else #pragma omp parallel num_threads(OpenMP::impl_thread_pool_size()) -#endif { HostThreadTeamData& data = *(m_instance->get_thread_data()); @@ -158,16 +153,15 @@ template class ParallelFor, Kokkos::OpenMP> { private: - typedef Kokkos::MDRangePolicy MDRangePolicy; - typedef typename MDRangePolicy::impl_range_policy Policy; - typedef typename MDRangePolicy::work_tag WorkTag; + using MDRangePolicy = Kokkos::MDRangePolicy; + using Policy = typename MDRangePolicy::impl_range_policy; + using WorkTag = typename MDRangePolicy::work_tag; - typedef typename Policy::WorkRange WorkRange; - typedef typename Policy::member_type Member; + using WorkRange = typename Policy::WorkRange; + using Member = typename Policy::member_type; - typedef typename Kokkos::Impl::HostIterateTile< - MDRangePolicy, FunctorType, typename MDRangePolicy::work_tag, void> - iterate_type; + using iterate_type = typename Kokkos::Impl::HostIterateTile< + MDRangePolicy, FunctorType, typename MDRangePolicy::work_tag, void>; OpenMPExec* m_instance; const FunctorType m_functor; @@ -201,11 +195,7 @@ class ParallelFor, } else { OpenMPExec::verify_is_master("Kokkos::OpenMP parallel_for"); -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE -#pragma omp parallel num_threads(OpenMP::thread_pool_size()) -#else #pragma omp parallel num_threads(OpenMP::impl_thread_pool_size()) -#endif { HostThreadTeamData& data = *(m_instance->get_thread_data()); @@ -253,30 +243,30 @@ template class ParallelReduce, ReducerType, Kokkos::OpenMP> { private: - typedef Kokkos::RangePolicy Policy; + using Policy = Kokkos::RangePolicy; - typedef typename Policy::work_tag WorkTag; - typedef typename Policy::WorkRange WorkRange; - typedef typename Policy::member_type Member; + using WorkTag = typename Policy::work_tag; + using WorkRange = typename Policy::WorkRange; + using Member = typename Policy::member_type; - typedef FunctorAnalysis - Analysis; + using Analysis = + FunctorAnalysis; - typedef Kokkos::Impl::if_c::value, - FunctorType, ReducerType> - ReducerConditional; - typedef typename ReducerConditional::type ReducerTypeFwd; - typedef + using ReducerConditional = + Kokkos::Impl::if_c::value, + FunctorType, ReducerType>; + using ReducerTypeFwd = typename ReducerConditional::type; + using WorkTagFwd = typename Kokkos::Impl::if_c::value, - WorkTag, void>::type WorkTagFwd; + WorkTag, void>::type; // Static Assert WorkTag void if ReducerType not InvalidType - typedef Kokkos::Impl::FunctorValueInit ValueInit; - typedef Kokkos::Impl::FunctorValueJoin ValueJoin; + using ValueInit = Kokkos::Impl::FunctorValueInit; + using ValueJoin = Kokkos::Impl::FunctorValueJoin; - typedef typename Analysis::pointer_type pointer_type; - typedef typename Analysis::reference_type reference_type; + using pointer_type = typename Analysis::pointer_type; + using reference_type = typename Analysis::reference_type; OpenMPExec* m_instance; const FunctorType m_functor; @@ -324,11 +314,7 @@ class ParallelReduce, ReducerType, 0 // thread_local_bytes ); -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - const int pool_size = OpenMP::thread_pool_size(); -#else const int pool_size = OpenMP::impl_thread_pool_size(); -#endif #pragma omp parallel num_threads(pool_size) { HostThreadTeamData& data = *(m_instance->get_thread_data()); @@ -420,31 +406,30 @@ template class ParallelReduce, ReducerType, Kokkos::OpenMP> { private: - typedef Kokkos::MDRangePolicy MDRangePolicy; - typedef typename MDRangePolicy::impl_range_policy Policy; - - typedef typename MDRangePolicy::work_tag WorkTag; - typedef typename Policy::WorkRange WorkRange; - typedef typename Policy::member_type Member; - - typedef FunctorAnalysis - Analysis; - - typedef Kokkos::Impl::if_c::value, - FunctorType, ReducerType> - ReducerConditional; - typedef typename ReducerConditional::type ReducerTypeFwd; - typedef + using MDRangePolicy = Kokkos::MDRangePolicy; + using Policy = typename MDRangePolicy::impl_range_policy; + + using WorkTag = typename MDRangePolicy::work_tag; + using WorkRange = typename Policy::WorkRange; + using Member = typename Policy::member_type; + + using Analysis = FunctorAnalysis; + + using ReducerConditional = + Kokkos::Impl::if_c::value, + FunctorType, ReducerType>; + using ReducerTypeFwd = typename ReducerConditional::type; + using WorkTagFwd = typename Kokkos::Impl::if_c::value, - WorkTag, void>::type WorkTagFwd; + WorkTag, void>::type; - typedef Kokkos::Impl::FunctorValueInit ValueInit; - typedef Kokkos::Impl::FunctorValueJoin ValueJoin; + using ValueInit = Kokkos::Impl::FunctorValueInit; + using ValueJoin = Kokkos::Impl::FunctorValueJoin; - typedef typename Analysis::pointer_type pointer_type; - typedef typename Analysis::value_type value_type; - typedef typename Analysis::reference_type reference_type; + using pointer_type = typename Analysis::pointer_type; + using value_type = typename Analysis::value_type; + using reference_type = typename Analysis::reference_type; using iterate_type = typename Kokkos::Impl::HostIterateTile, ReducerType, 0 // thread_local_bytes ); -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - const int pool_size = OpenMP::thread_pool_size(); -#else const int pool_size = OpenMP::impl_thread_pool_size(); -#endif #pragma omp parallel num_threads(pool_size) { HostThreadTeamData& data = *(m_instance->get_thread_data()); @@ -592,21 +573,21 @@ template class ParallelScan, Kokkos::OpenMP> { private: - typedef Kokkos::RangePolicy Policy; + using Policy = Kokkos::RangePolicy; - typedef FunctorAnalysis - Analysis; + using Analysis = + FunctorAnalysis; - typedef typename Policy::work_tag WorkTag; - typedef typename Policy::WorkRange WorkRange; - typedef typename Policy::member_type Member; + using WorkTag = typename Policy::work_tag; + using WorkRange = typename Policy::WorkRange; + using Member = typename Policy::member_type; - typedef Kokkos::Impl::FunctorValueInit ValueInit; - typedef Kokkos::Impl::FunctorValueJoin ValueJoin; - typedef Kokkos::Impl::FunctorValueOps ValueOps; + using ValueInit = Kokkos::Impl::FunctorValueInit; + using ValueJoin = Kokkos::Impl::FunctorValueJoin; + using ValueOps = Kokkos::Impl::FunctorValueOps; - typedef typename Analysis::pointer_type pointer_type; - typedef typename Analysis::reference_type reference_type; + using pointer_type = typename Analysis::pointer_type; + using reference_type = typename Analysis::reference_type; OpenMPExec* m_instance; const FunctorType m_functor; @@ -647,11 +628,7 @@ class ParallelScan, 0 // thread_local_bytes ); -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE -#pragma omp parallel num_threads(OpenMP::thread_pool_size()) -#else #pragma omp parallel num_threads(OpenMP::impl_thread_pool_size()) -#endif { HostThreadTeamData& data = *(m_instance->get_thread_data()); @@ -665,7 +642,7 @@ class ParallelScan, m_functor, range.begin(), range.end(), update_sum, false); if (data.pool_rendezvous()) { - pointer_type ptr_prev = 0; + pointer_type ptr_prev = nullptr; const int n = omp_get_num_threads(); @@ -710,21 +687,21 @@ template class ParallelScanWithTotal, ReturnType, Kokkos::OpenMP> { private: - typedef Kokkos::RangePolicy Policy; + using Policy = Kokkos::RangePolicy; - typedef FunctorAnalysis - Analysis; + using Analysis = + FunctorAnalysis; - typedef typename Policy::work_tag WorkTag; - typedef typename Policy::WorkRange WorkRange; - typedef typename Policy::member_type Member; + using WorkTag = typename Policy::work_tag; + using WorkRange = typename Policy::WorkRange; + using Member = typename Policy::member_type; - typedef Kokkos::Impl::FunctorValueInit ValueInit; - typedef Kokkos::Impl::FunctorValueJoin ValueJoin; - typedef Kokkos::Impl::FunctorValueOps ValueOps; + using ValueInit = Kokkos::Impl::FunctorValueInit; + using ValueJoin = Kokkos::Impl::FunctorValueJoin; + using ValueOps = Kokkos::Impl::FunctorValueOps; - typedef typename Analysis::pointer_type pointer_type; - typedef typename Analysis::reference_type reference_type; + using pointer_type = typename Analysis::pointer_type; + using reference_type = typename Analysis::reference_type; OpenMPExec* m_instance; const FunctorType m_functor; @@ -766,11 +743,7 @@ class ParallelScanWithTotal, 0 // thread_local_bytes ); -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE -#pragma omp parallel num_threads(OpenMP::thread_pool_size()) -#else #pragma omp parallel num_threads(OpenMP::impl_thread_pool_size()) -#endif { HostThreadTeamData& data = *(m_instance->get_thread_data()); @@ -783,7 +756,7 @@ class ParallelScanWithTotal, m_functor, range.begin(), range.end(), update_sum, false); if (data.pool_rendezvous()) { - pointer_type ptr_prev = 0; + pointer_type ptr_prev = nullptr; const int n = omp_get_num_threads(); @@ -846,11 +819,11 @@ class ParallelFor, private: enum { TEAM_REDUCE_SIZE = 512 }; - typedef Kokkos::Impl::TeamPolicyInternal - Policy; - typedef typename Policy::work_tag WorkTag; - typedef typename Policy::schedule_type::type SchedTag; - typedef typename Policy::member_type Member; + using Policy = + Kokkos::Impl::TeamPolicyInternal; + using WorkTag = typename Policy::work_tag; + using SchedTag = typename Policy::schedule_type::type; + using Member = typename Policy::member_type; OpenMPExec* m_instance; const FunctorType m_functor; @@ -911,11 +884,7 @@ class ParallelFor, m_instance->resize_thread_data(pool_reduce_size, team_reduce_size, team_shared_size, thread_local_size); -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE -#pragma omp parallel num_threads(OpenMP::thread_pool_size()) -#else #pragma omp parallel num_threads(OpenMP::impl_thread_pool_size()) -#endif { HostThreadTeamData& data = *(m_instance->get_thread_data()); @@ -969,30 +938,30 @@ class ParallelReduce, private: enum { TEAM_REDUCE_SIZE = 512 }; - typedef Kokkos::Impl::TeamPolicyInternal - Policy; + using Policy = + Kokkos::Impl::TeamPolicyInternal; - typedef FunctorAnalysis - Analysis; + using Analysis = + FunctorAnalysis; - typedef typename Policy::work_tag WorkTag; - typedef typename Policy::schedule_type::type SchedTag; - typedef typename Policy::member_type Member; + using WorkTag = typename Policy::work_tag; + using SchedTag = typename Policy::schedule_type::type; + using Member = typename Policy::member_type; - typedef Kokkos::Impl::if_c::value, - FunctorType, ReducerType> - ReducerConditional; + using ReducerConditional = + Kokkos::Impl::if_c::value, + FunctorType, ReducerType>; - typedef typename ReducerConditional::type ReducerTypeFwd; - typedef + using ReducerTypeFwd = typename ReducerConditional::type; + using WorkTagFwd = typename Kokkos::Impl::if_c::value, - WorkTag, void>::type WorkTagFwd; + WorkTag, void>::type; - typedef Kokkos::Impl::FunctorValueInit ValueInit; - typedef Kokkos::Impl::FunctorValueJoin ValueJoin; + using ValueInit = Kokkos::Impl::FunctorValueInit; + using ValueJoin = Kokkos::Impl::FunctorValueJoin; - typedef typename Analysis::pointer_type pointer_type; - typedef typename Analysis::reference_type reference_type; + using pointer_type = typename Analysis::pointer_type; + using reference_type = typename Analysis::reference_type; OpenMPExec* m_instance; const FunctorType m_functor; @@ -1057,11 +1026,7 @@ class ParallelReduce, m_instance->resize_thread_data(pool_reduce_size, team_reduce_size, team_shared_size, thread_local_size); -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - const int pool_size = OpenMP::thread_pool_size(); -#else const int pool_size = OpenMP::impl_thread_pool_size(); -#endif #pragma omp parallel num_threads(pool_size) { HostThreadTeamData& data = *(m_instance->get_thread_data()); diff --git a/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP_Task.hpp b/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP_Task.hpp index 62f0a77d0e10363b3c14671193ea56545ea6e109..2a4a7b1d53bd4785f26508fbc990148291bd9763 100644 --- a/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP_Task.hpp +++ b/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP_Task.hpp @@ -182,11 +182,7 @@ class TaskQueueSpecialization > { } static uint32_t get_max_team_count(execution_space const& espace) { -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - return static_cast(espace.thread_pool_size()); -#else return static_cast(espace.impl_thread_pool_size()); -#endif } // TODO @tasking @optimization DSH specialize this for trivially destructible @@ -219,13 +215,7 @@ class TaskQueueSpecializationConstrained< using task_base_type = typename scheduler_type::task_base; using queue_type = typename scheduler_type::queue_type; -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - if (1 == OpenMP::thread_pool_size()) -#else - if (1 == OpenMP::impl_thread_pool_size()) -#endif - { - + if (1 == OpenMP::impl_thread_pool_size()) { task_base_type* const end = (task_base_type*)task_base_type::EndTag; HostThreadTeamData& team_data_single = @@ -269,11 +259,7 @@ class TaskQueueSpecializationConstrained< HostThreadTeamDataSingleton::singleton(); Impl::OpenMPExec* instance = t_openmp_instance; -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - const int pool_size = OpenMP::thread_pool_size(); -#else - const int pool_size = OpenMP::impl_thread_pool_size(); -#endif + const int pool_size = OpenMP::impl_thread_pool_size(); const int team_size = 1; // Threads per core instance->resize_thread_data(0 /* global reduce buffer */ diff --git a/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP_Team.hpp b/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP_Team.hpp index f54b6e2d51dfcb1b47a15c8aaafc38399b49d608..80903e7a7a9125dc05f0cf227bf18e1694779b30 100644 --- a/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP_Team.hpp +++ b/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP_Team.hpp @@ -58,28 +58,15 @@ class TeamPolicyInternal : public PolicyTraits { public: //! Tag this class as a kokkos execution policy - typedef TeamPolicyInternal execution_policy; + using execution_policy = TeamPolicyInternal; - typedef PolicyTraits traits; + using traits = PolicyTraits; const typename traits::execution_space& space() const { static typename traits::execution_space m_space; return m_space; } - TeamPolicyInternal& operator=(const TeamPolicyInternal& p) { - m_league_size = p.m_league_size; - m_team_size = p.m_team_size; - m_team_alloc = p.m_team_alloc; - m_team_iter = p.m_team_iter; - m_team_scratch_size[0] = p.m_team_scratch_size[0]; - m_thread_scratch_size[0] = p.m_thread_scratch_size[0]; - m_team_scratch_size[1] = p.m_team_scratch_size[1]; - m_thread_scratch_size[1] = p.m_thread_scratch_size[1]; - m_chunk_size = p.m_chunk_size; - return *this; - } - template friend class TeamPolicyInternal; @@ -98,42 +85,15 @@ class TeamPolicyInternal } //---------------------------------------- -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - template - inline static int team_size_max(const FunctorType&) { - int pool_size = traits::execution_space::thread_pool_size(1); - int max_host_team_size = Impl::HostThreadTeamData::max_team_members; - return pool_size < max_host_team_size ? pool_size : max_host_team_size; - } - - template - inline static int team_size_recommended(const FunctorType&) { - return traits::execution_space::thread_pool_size(2); - } - - template - inline static int team_size_recommended(const FunctorType&, const int&) { - return traits::execution_space::thread_pool_size(2); - } -#endif - template int team_size_max(const FunctorType&, const ParallelForTag&) const { -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - int pool_size = traits::execution_space::thread_pool_size(1); -#else - int pool_size = traits::execution_space::impl_thread_pool_size(1); -#endif + int pool_size = traits::execution_space::impl_thread_pool_size(1); int max_host_team_size = Impl::HostThreadTeamData::max_team_members; return pool_size < max_host_team_size ? pool_size : max_host_team_size; } template int team_size_max(const FunctorType&, const ParallelReduceTag&) const { -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - int pool_size = traits::execution_space::thread_pool_size(1); -#else - int pool_size = traits::execution_space::impl_thread_pool_size(1); -#endif + int pool_size = traits::execution_space::impl_thread_pool_size(1); int max_host_team_size = Impl::HostThreadTeamData::max_team_members; return pool_size < max_host_team_size ? pool_size : max_host_team_size; } @@ -144,20 +104,12 @@ class TeamPolicyInternal } template int team_size_recommended(const FunctorType&, const ParallelForTag&) const { -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - return traits::execution_space::thread_pool_size(2); -#else return traits::execution_space::impl_thread_pool_size(2); -#endif } template int team_size_recommended(const FunctorType&, const ParallelReduceTag&) const { -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - return traits::execution_space::thread_pool_size(2); -#else return traits::execution_space::impl_thread_pool_size(2); -#endif } template inline int team_size_recommended(const FunctorType& f, const ReducerType&, @@ -188,23 +140,16 @@ class TeamPolicyInternal int m_chunk_size; inline void init(const int league_size_request, const int team_size_request) { -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - const int pool_size = traits::execution_space::thread_pool_size(0); - const int team_grain = traits::execution_space::thread_pool_size(2); -#else const int pool_size = traits::execution_space::impl_thread_pool_size(0); const int team_grain = traits::execution_space::impl_thread_pool_size(2); -#endif const int max_host_team_size = Impl::HostThreadTeamData::max_team_members; const int team_max = ((pool_size < max_host_team_size) ? pool_size : max_host_team_size); m_league_size = league_size_request; -#ifndef KOKKOS_ENABLE_DEPRECATED_CODE if (team_size_request > team_max) Kokkos::abort("Kokkos::abort: Requested Team Size is too large!"); -#endif m_team_size = team_size_request < team_max ? team_size_request : team_max; // Round team size up to a multiple of 'team_gain' @@ -248,17 +193,10 @@ class TeamPolicyInternal int /* vector_length_request */ = 1) : m_team_scratch_size{0, 0}, m_thread_scratch_size{0, 0}, - m_chunk_size(0) -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - { - init(league_size_request, traits::execution_space::thread_pool_size(2)); - } -#else - { + m_chunk_size(0) { init(league_size_request, traits::execution_space::impl_thread_pool_size(2)); } -#endif TeamPolicyInternal(int league_size_request, int team_size_request, int /* vector_length_request */ = 1) @@ -276,12 +214,7 @@ class TeamPolicyInternal m_thread_scratch_size{0, 0}, m_chunk_size(0) { init(league_size_request, -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - traits::execution_space::thread_pool_size(2) -#else - traits::execution_space::impl_thread_pool_size(2) -#endif - ); + traits::execution_space::impl_thread_pool_size(2)); } inline int team_alloc() const { return m_team_alloc; } @@ -289,38 +222,6 @@ class TeamPolicyInternal inline int chunk_size() const { return m_chunk_size; } -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - /** \brief set chunk_size to a discrete value*/ - inline TeamPolicyInternal set_chunk_size( - typename traits::index_type chunk_size_) const { - TeamPolicyInternal p = *this; - p.m_chunk_size = chunk_size_; - return p; - } - - inline TeamPolicyInternal set_scratch_size( - const int& level, const PerTeamValue& per_team) const { - TeamPolicyInternal p = *this; - p.m_team_scratch_size[level] = per_team.value; - return p; - } - - inline TeamPolicyInternal set_scratch_size( - const int& level, const PerThreadValue& per_thread) const { - TeamPolicyInternal p = *this; - p.m_thread_scratch_size[level] = per_thread.value; - return p; - } - - inline TeamPolicyInternal set_scratch_size( - const int& level, const PerTeamValue& per_team, - const PerThreadValue& per_thread) const { - TeamPolicyInternal p = *this; - p.m_team_scratch_size[level] = per_team.value; - p.m_thread_scratch_size[level] = per_thread.value; - return p; - } -#else /** \brief set chunk_size to a discrete value*/ inline TeamPolicyInternal& set_chunk_size( typename traits::index_type chunk_size_) { @@ -349,58 +250,16 @@ class TeamPolicyInternal inline TeamPolicyInternal& set_scratch_size( const int& level, const PerTeamValue& per_team, const PerThreadValue& per_thread) { - m_team_scratch_size[level] = per_team.value; - m_thread_scratch_size[level] = per_thread.value; - return *this; - } -#endif - - protected: -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - /** \brief set chunk_size to a discrete value*/ - inline TeamPolicyInternal internal_set_chunk_size( - typename traits::index_type chunk_size_) { - m_chunk_size = chunk_size_; - return *this; - } - - /** \brief set per team scratch size for a specific level of the scratch - * hierarchy */ - inline TeamPolicyInternal internal_set_scratch_size( - const int& level, const PerTeamValue& per_team) { - m_team_scratch_size[level] = per_team.value; - return *this; - } - - /** \brief set per thread scratch size for a specific level of the scratch - * hierarchy */ - inline TeamPolicyInternal internal_set_scratch_size( - const int& level, const PerThreadValue& per_thread) { - m_thread_scratch_size[level] = per_thread.value; - return *this; - } - - /** \brief set per thread and per team scratch size for a specific level of - * the scratch hierarchy */ - inline TeamPolicyInternal internal_set_scratch_size( - const int& level, const PerTeamValue& per_team, - const PerThreadValue& per_thread) { m_team_scratch_size[level] = per_team.value; m_thread_scratch_size[level] = per_thread.value; return *this; } -#endif private: /** \brief finalize chunk_size if it was set to AUTO*/ inline void set_auto_chunk_size() { -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - int concurrency = - traits::execution_space::thread_pool_size(0) / m_team_alloc; -#else int concurrency = traits::execution_space::impl_thread_pool_size(0) / m_team_alloc; -#endif if (concurrency == 0) concurrency = 1; if (m_chunk_size > 0) { @@ -421,7 +280,7 @@ class TeamPolicyInternal } public: - typedef Impl::HostThreadTeamMember member_type; + using member_type = Impl::HostThreadTeamMember; }; } // namespace Impl diff --git a/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP_ViewCopyETIAvail.hpp b/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP_ViewCopyETIAvail.hpp deleted file mode 100644 index 7bcd515f4cf102d063dd9d03b81548d758899f0c..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP_ViewCopyETIAvail.hpp +++ /dev/null @@ -1,57 +0,0 @@ -/* -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER -*/ - -#ifndef KOKKOS_OPENMP_VIEWETIAVAIL_HPP -#define KOKKOS_OPENMP_VIEWETIAVAIL_HPP - -namespace Kokkos { -namespace Impl { -#define KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE Kokkos::OpenMP - -#include - -#undef KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE -} // namespace Impl -} // namespace Kokkos -#endif diff --git a/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP_ViewCopyETIDecl.hpp b/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP_ViewCopyETIDecl.hpp deleted file mode 100644 index b5254e1275fe6b5e4f71ddc8df0c49547a408083..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP_ViewCopyETIDecl.hpp +++ /dev/null @@ -1,57 +0,0 @@ -/* -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER -*/ - -#ifndef KOKKOS_OPENMP_VIEWETIDECL_HPP -#define KOKKOS_OPENMP_VIEWETIDECL_HPP - -namespace Kokkos { -namespace Impl { -#define KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE Kokkos::OpenMP - -#include - -#undef KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE -} // namespace Impl -} // namespace Kokkos -#endif diff --git a/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP_WorkGraphPolicy.hpp b/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP_WorkGraphPolicy.hpp index 4ff1486c682a4d8fe6686e9e306f91477bd1c4bd..92e4ee636a8a0d4e2c196672b81c4720376ce21c 100644 --- a/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP_WorkGraphPolicy.hpp +++ b/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP_WorkGraphPolicy.hpp @@ -45,6 +45,8 @@ #ifndef KOKKOS_OPENMP_WORKGRAPHPOLICY_HPP #define KOKKOS_OPENMP_WORKGRAPHPOLICY_HPP +#include + namespace Kokkos { namespace Impl { @@ -52,7 +54,7 @@ template class ParallelFor, Kokkos::OpenMP> { private: - typedef Kokkos::WorkGraphPolicy Policy; + using Policy = Kokkos::WorkGraphPolicy; Policy m_policy; FunctorType m_functor; @@ -72,11 +74,7 @@ class ParallelFor, public: inline void execute() { -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE -#pragma omp parallel num_threads(OpenMP::thread_pool_size()) -#else #pragma omp parallel num_threads(OpenMP::impl_thread_pool_size()) -#endif { // Spin until COMPLETED_TOKEN. // END_TOKEN indicates no work is currently available. diff --git a/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTargetSpace.cpp b/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTargetSpace.cpp index ab833b03637b707aa7541b5e0f177f30696014bc..ba67e668980a91b39ec09199c2ecf6ef86a9cf5f 100644 --- a/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTargetSpace.cpp +++ b/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTargetSpace.cpp @@ -193,9 +193,9 @@ void *SharedAllocationRecord:: SharedAllocationRecord *SharedAllocationRecord::get_record(void *alloc_ptr) { - typedef SharedAllocationHeader Header; - typedef SharedAllocationRecord - RecordHost; + using Header = SharedAllocationHeader; + using RecordHost = + SharedAllocationRecord; if (alloc_ptr) { Header head; diff --git a/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Exec.cpp b/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Exec.cpp index b09dbeba3a5c68271c3f4468634b3b918a2acc38..8bd04811c62ce49055dbc3b42d4db7316bf3c045 100644 --- a/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Exec.cpp +++ b/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Exec.cpp @@ -50,7 +50,7 @@ #include #include #include -#include +#include #ifdef KOKKOS_ENABLE_OPENMPTARGET diff --git a/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Exec.hpp b/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Exec.hpp index be6ddb5ed42260eaebbe3fdbf805223d555b9b0c..9ef3a752a8a486f1614f1c2900ede7e973be51e3 100644 --- a/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Exec.hpp +++ b/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Exec.hpp @@ -49,9 +49,7 @@ #include #include -#include -#include -#include + namespace Kokkos { namespace Impl { @@ -96,8 +94,8 @@ class OpenMPTargetExecTeamMember { /** \brief Thread states for team synchronization */ enum { Active = 0, Rendezvous = 1 }; - typedef Kokkos::Experimental::OpenMPTarget execution_space; - typedef execution_space::scratch_memory_space scratch_memory_space; + using execution_space = Kokkos::Experimental::OpenMPTarget; + using scratch_memory_space = execution_space::scratch_memory_space; scratch_memory_space m_team_shared; int m_team_scratch_size[2]; @@ -172,8 +170,8 @@ class OpenMPTargetExecTeamMember { { } #else // Make sure there is enough scratch space: - typedef typename if_c< sizeof(ValueType) < TEAM_REDUCE_SIZE - , ValueType , void >::type type ; + using type = typename if_c< sizeof(ValueType) < TEAM_REDUCE_SIZE + , ValueType , void >::type; type * const local_value = ((type*) m_exec.scratch_thread()); if(team_rank() == thread_id) @@ -189,12 +187,12 @@ class OpenMPTargetExecTeamMember { const JoinOp& op_in) const { #pragma omp barrier - typedef ValueType value_type; + using value_type = ValueType; const JoinLambdaAdapter op(op_in); // Make sure there is enough scratch space: - typedef typename if_c::type type; + using type = typename if_c::type; const int n_values = TEAM_REDUCE_SIZE / sizeof(value_type); type* team_scratch = @@ -232,8 +230,8 @@ class OpenMPTargetExecTeamMember { KOKKOS_INLINE_FUNCTION ArgType team_scan(const ArgType& value, ArgType* const global_accum) const { /* // Make sure there is enough scratch space: - typedef typename if_c< sizeof(ArgType) < TEAM_REDUCE_SIZE , ArgType , void - >::type type ; + using type = + typename if_c::type; volatile type * const work_value = ((type*) m_exec.scratch_thread()); @@ -289,7 +287,7 @@ class OpenMPTargetExecTeamMember { // Private for the driver private: - typedef execution_space::scratch_memory_space space; + using space = execution_space::scratch_memory_space; public: inline OpenMPTargetExecTeamMember( @@ -320,23 +318,9 @@ class TeamPolicyInternal : public PolicyTraits { public: //! Tag this class as a kokkos execution policy - typedef TeamPolicyInternal execution_policy; - - typedef PolicyTraits traits; - - TeamPolicyInternal& operator=(const TeamPolicyInternal& p) { - m_league_size = p.m_league_size; - m_team_size = p.m_team_size; - m_vector_length = p.m_vector_length; - m_team_alloc = p.m_team_alloc; - m_team_iter = p.m_team_iter; - m_team_scratch_size[0] = p.m_team_scratch_size[0]; - m_thread_scratch_size[0] = p.m_thread_scratch_size[0]; - m_team_scratch_size[1] = p.m_team_scratch_size[1]; - m_thread_scratch_size[1] = p.m_thread_scratch_size[1]; - m_chunk_size = p.m_chunk_size; - return *this; - } + using execution_policy = TeamPolicyInternal; + + using traits = PolicyTraits; //---------------------------------------- @@ -459,38 +443,6 @@ class TeamPolicyInternal inline int chunk_size() const { return m_chunk_size; } -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - /** \brief set chunk_size to a discrete value*/ - inline TeamPolicyInternal set_chunk_size( - typename traits::index_type chunk_size_) const { - TeamPolicyInternal p = *this; - p.m_chunk_size = chunk_size_; - return p; - } - - inline TeamPolicyInternal set_scratch_size( - const int& level, const PerTeamValue& per_team) const { - TeamPolicyInternal p = *this; - p.m_team_scratch_size[level] = per_team.value; - return p; - } - - inline TeamPolicyInternal set_scratch_size( - const int& level, const PerThreadValue& per_thread) const { - TeamPolicyInternal p = *this; - p.m_thread_scratch_size[level] = per_thread.value; - return p; - } - - inline TeamPolicyInternal set_scratch_size( - const int& level, const PerTeamValue& per_team, - const PerThreadValue& per_thread) const { - TeamPolicyInternal p = *this; - p.m_team_scratch_size[level] = per_team.value; - p.m_thread_scratch_size[level] = per_thread.value; - return p; - } -#else /** \brief set chunk_size to a discrete value*/ inline TeamPolicyInternal& set_chunk_size( typename traits::index_type chunk_size_) { @@ -523,43 +475,6 @@ class TeamPolicyInternal m_thread_scratch_size[level] = per_thread.value; return *this; } -#endif - - protected: -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - /** \brief set chunk_size to a discrete value*/ - inline TeamPolicyInternal internal_set_chunk_size( - typename traits::index_type chunk_size_) { - m_chunk_size = chunk_size_; - return *this; - } - - /** \brief set per team scratch size for a specific level of the scratch - * hierarchy */ - inline TeamPolicyInternal internal_set_scratch_size( - const int& level, const PerTeamValue& per_team) { - m_team_scratch_size[level] = per_team.value; - return *this; - } - - /** \brief set per thread scratch size for a specific level of the scratch - * hierarchy */ - inline TeamPolicyInternal internal_set_scratch_size( - const int& level, const PerThreadValue& per_thread) { - m_thread_scratch_size[level] = per_thread.value; - return *this; - } - - /** \brief set per thread and per team scratch size for a specific level of - * the scratch hierarchy */ - inline TeamPolicyInternal internal_set_scratch_size( - const int& level, const PerTeamValue& per_team, - const PerThreadValue& per_thread) { - m_team_scratch_size[level] = per_team.value; - m_thread_scratch_size[level] = per_thread.value; - return *this; - } -#endif private: /** \brief finalize chunk_size if it was set to AUTO*/ @@ -586,7 +501,7 @@ class TeamPolicyInternal } public: - typedef Impl::OpenMPTargetExecTeamMember member_type; + using member_type = Impl::OpenMPTargetExecTeamMember; }; } // namespace Impl @@ -791,8 +706,8 @@ KOKKOS_INLINE_FUNCTION void parallel_scan( const Impl::ThreadVectorRangeBoundariesStruct< iType, Impl::OpenMPTargetExecTeamMember>& loop_boundaries, const FunctorType& lambda) { - typedef Kokkos::Impl::FunctorValueTraits ValueTraits; - typedef typename ValueTraits::value_type value_type; + using ValueTraits = Kokkos::Impl::FunctorValueTraits; + using value_type = typename ValueTraits::value_type; value_type scan_val = value_type(); diff --git a/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Parallel.hpp b/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Parallel.hpp index d5b62f60b89900db7466ae40788bc0dfa130d4ab..ee4549a78e88c028634eace8788b7852dfb99fd3 100644 --- a/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Parallel.hpp +++ b/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Parallel.hpp @@ -46,7 +46,7 @@ #define KOKKOS_OPENMPTARGET_PARALLEL_HPP #include -#include +#include // printf #include #include #include @@ -59,8 +59,12 @@ namespace Impl { template struct OpenMPTargetReducerWrapper { - typedef typename Reducer::value_type value_type; + using value_type = typename Reducer::value_type; +// WORKAROUND OPENMPTARGET +// This pragma omp declare target should not be necessary, but Intel compiler +// fails without it +#pragma omp declare target KOKKOS_INLINE_FUNCTION static void join(value_type&, const value_type&) { printf( @@ -81,14 +85,19 @@ struct OpenMPTargetReducerWrapper { "Using a generic unknown Reducer for the OpenMPTarget backend is not " "implemented."); } +#pragma omp end declare target }; template struct OpenMPTargetReducerWrapper> { public: // Required - typedef typename std::remove_cv::type value_type; + using value_type = typename std::remove_cv::type; +// WORKAROUND OPENMPTARGET +// This pragma omp declare target should not be necessary, but Intel compiler +// fails without it +#pragma omp declare target // Required KOKKOS_INLINE_FUNCTION static void join(value_type& dest, const value_type& src) { dest += src; } @@ -102,14 +111,19 @@ struct OpenMPTargetReducerWrapper> { static void init(value_type& val) { val = reduction_identity::sum(); } +#pragma omp end declare target }; template struct OpenMPTargetReducerWrapper> { public: // Required - typedef typename std::remove_cv::type value_type; + using value_type = typename std::remove_cv::type; +// WORKAROUND OPENMPTARGET +// This pragma omp declare target should not be necessary, but Intel compiler +// fails without it +#pragma omp declare target // Required KOKKOS_INLINE_FUNCTION static void join(value_type& dest, const value_type& src) { dest *= src; } @@ -123,14 +137,19 @@ struct OpenMPTargetReducerWrapper> { static void init(value_type& val) { val = reduction_identity::prod(); } +#pragma omp end declare target }; template struct OpenMPTargetReducerWrapper> { public: // Required - typedef typename std::remove_cv::type value_type; + using value_type = typename std::remove_cv::type; +// WORKAROUND OPENMPTARGET +// This pragma omp declare target should not be necessary, but Intel compiler +// fails without it +#pragma omp declare target // Required KOKKOS_INLINE_FUNCTION static void join(value_type& dest, const value_type& src) { @@ -146,14 +165,19 @@ struct OpenMPTargetReducerWrapper> { static void init(value_type& val) { val = reduction_identity::min(); } +#pragma omp end declare target }; template struct OpenMPTargetReducerWrapper> { public: // Required - typedef typename std::remove_cv::type value_type; + using value_type = typename std::remove_cv::type; +// WORKAROUND OPENMPTARGET +// This pragma omp declare target should not be necessary, but Intel compiler +// fails without it +#pragma omp declare target // Required KOKKOS_INLINE_FUNCTION static void join(value_type& dest, const value_type& src) { @@ -170,14 +194,19 @@ struct OpenMPTargetReducerWrapper> { static void init(value_type& val) { val = reduction_identity::max(); } +#pragma omp end declare target }; template struct OpenMPTargetReducerWrapper> { public: // Required - typedef typename std::remove_cv::type value_type; + using value_type = typename std::remove_cv::type; +// WORKAROUND OPENMPTARGET +// This pragma omp declare target should not be necessary, but Intel compiler +// fails without it +#pragma omp declare target KOKKOS_INLINE_FUNCTION static void join(value_type& dest, const value_type& src) { dest = dest && src; @@ -192,16 +221,21 @@ struct OpenMPTargetReducerWrapper> { static void init(value_type& val) { val = reduction_identity::land(); } +#pragma omp end declare target }; template struct OpenMPTargetReducerWrapper> { public: // Required - typedef typename std::remove_cv::type value_type; + using value_type = typename std::remove_cv::type; - typedef Kokkos::View result_view_type; + using result_view_type = Kokkos::View; +// WORKAROUND OPENMPTARGET +// This pragma omp declare target should not be necessary, but Intel compiler +// fails without it +#pragma omp declare target // Required KOKKOS_INLINE_FUNCTION static void join(value_type& dest, const value_type& src) { @@ -217,14 +251,19 @@ struct OpenMPTargetReducerWrapper> { static void init(value_type& val) { val = reduction_identity::lor(); } +#pragma omp end declare target }; template struct OpenMPTargetReducerWrapper> { public: // Required - typedef typename std::remove_cv::type value_type; + using value_type = typename std::remove_cv::type; +// WORKAROUND OPENMPTARGET +// This pragma omp declare target should not be necessary, but Intel compiler +// fails without it +#pragma omp declare target // Required KOKKOS_INLINE_FUNCTION static void join(value_type& dest, const value_type& src) { @@ -240,14 +279,19 @@ struct OpenMPTargetReducerWrapper> { static void init(value_type& val) { val = reduction_identity::band(); } +#pragma omp end declare target }; template struct OpenMPTargetReducerWrapper> { public: // Required - typedef typename std::remove_cv::type value_type; + using value_type = typename std::remove_cv::type; +// WORKAROUND OPENMPTARGET +// This pragma omp declare target should not be necessary, but Intel compiler +// fails without it +#pragma omp declare target // Required KOKKOS_INLINE_FUNCTION static void join(value_type& dest, const value_type& src) { @@ -263,18 +307,23 @@ struct OpenMPTargetReducerWrapper> { static void init(value_type& val) { val = reduction_identity::bor(); } +#pragma omp end declare target }; template struct OpenMPTargetReducerWrapper> { private: - typedef typename std::remove_cv::type scalar_type; - typedef typename std::remove_cv::type index_type; + using scalar_type = typename std::remove_cv::type; + using index_type = typename std::remove_cv::type; public: // Required - typedef ValLocScalar value_type; + using value_type = ValLocScalar; +// WORKAROUND OPENMPTARGET +// This pragma omp declare target should not be necessary, but Intel compiler +// fails without it +#pragma omp declare target // Required KOKKOS_INLINE_FUNCTION static void join(value_type& dest, const value_type& src) { @@ -291,18 +340,23 @@ struct OpenMPTargetReducerWrapper> { val.val = reduction_identity::min(); val.loc = reduction_identity::min(); } +#pragma omp end declare target }; template struct OpenMPTargetReducerWrapper> { private: - typedef typename std::remove_cv::type scalar_type; - typedef typename std::remove_cv::type index_type; + using scalar_type = typename std::remove_cv::type; + using index_type = typename std::remove_cv::type; public: // Required - typedef ValLocScalar value_type; + using value_type = ValLocScalar; +// WORKAROUND OPENMPTARGET +// This pragma omp declare target should not be necessary, but Intel compiler +// fails without it +#pragma omp declare target KOKKOS_INLINE_FUNCTION static void join(value_type& dest, const value_type& src) { if (src.val > dest.val) dest = src; @@ -318,17 +372,22 @@ struct OpenMPTargetReducerWrapper> { val.val = reduction_identity::max(); val.loc = reduction_identity::min(); } +#pragma omp end declare target }; template struct OpenMPTargetReducerWrapper> { private: - typedef typename std::remove_cv::type scalar_type; + using scalar_type = typename std::remove_cv::type; public: // Required - typedef MinMaxScalar value_type; + using value_type = MinMaxScalar; +// WORKAROUND OPENMPTARGET +// This pragma omp declare target should not be necessary, but Intel compiler +// fails without it +#pragma omp declare target // Required KOKKOS_INLINE_FUNCTION static void join(value_type& dest, const value_type& src) { @@ -355,18 +414,23 @@ struct OpenMPTargetReducerWrapper> { val.max_val = reduction_identity::max(); val.min_val = reduction_identity::min(); } +#pragma omp end declare target }; template struct OpenMPTargetReducerWrapper> { private: - typedef typename std::remove_cv::type scalar_type; - typedef typename std::remove_cv::type index_type; + using scalar_type = typename std::remove_cv::type; + using index_type = typename std::remove_cv::type; public: // Required - typedef MinMaxLocScalar value_type; + using value_type = MinMaxLocScalar; +// WORKAROUND OPENMPTARGET +// This pragma omp declare target should not be necessary, but Intel compiler +// fails without it +#pragma omp declare target // Required KOKKOS_INLINE_FUNCTION static void join(value_type& dest, const value_type& src) { @@ -399,13 +463,14 @@ struct OpenMPTargetReducerWrapper> { val.max_loc = reduction_identity::min(); val.min_loc = reduction_identity::min(); } +#pragma omp end declare target }; /* template class OpenMPTargetReducerWrapper { public: const ReducerType& reducer; - typedef typename ReducerType::value_type value_type; + using value_type = typename ReducerType::value_type; value_type& value; KOKKOS_INLINE_FUNCTION @@ -429,10 +494,10 @@ template class ParallelFor, Kokkos::Experimental::OpenMPTarget> { private: - typedef Kokkos::RangePolicy Policy; - typedef typename Policy::work_tag WorkTag; - typedef typename Policy::WorkRange WorkRange; - typedef typename Policy::member_type Member; + using Policy = Kokkos::RangePolicy; + using WorkTag = typename Policy::work_tag; + using WorkRange = typename Policy::WorkRange; + using Member = typename Policy::member_type; const FunctorType m_functor; const Policy m_policy; @@ -519,7 +584,7 @@ template struct ParallelReduceSpecialize, ReducerType, PointerType, ValueType, 0, 0> { - typedef Kokkos::RangePolicy PolicyType; + using PolicyType = Kokkos::RangePolicy; template inline static typename std::enable_if::value>::type @@ -602,7 +667,6 @@ struct ParallelReduceSpecialize class ParallelReduce, ReducerType, Kokkos::Experimental::OpenMPTarget> { private: - typedef Kokkos::RangePolicy Policy; + using Policy = Kokkos::RangePolicy; - typedef typename Policy::work_tag WorkTag; - typedef typename Policy::WorkRange WorkRange; - typedef typename Policy::member_type Member; + using WorkTag = typename Policy::work_tag; + using WorkRange = typename Policy::WorkRange; + using Member = typename Policy::member_type; - typedef Kokkos::Impl::if_c::value, - FunctorType, ReducerType> - ReducerConditional; - typedef typename ReducerConditional::type ReducerTypeFwd; - typedef - typename Kokkos::Impl::if_c::value, - WorkTag, void>::type WorkTagFwd; + using ReducerConditional = Kokkos::Impl::if_c::value, + FunctorType, ReducerType>; + using ReducerTypeFwd = typename ReducerConditional::type; + using WorkTagFwd = typename Kokkos::Impl::if_c::value, + WorkTag, void>::type; // Static Assert WorkTag void if ReducerType not InvalidType - typedef Kokkos::Impl::FunctorValueTraits - ValueTraits; - typedef Kokkos::Impl::FunctorValueInit ValueInit; - typedef Kokkos::Impl::FunctorValueJoin ValueJoin; + using ValueTraits = Kokkos::Impl::FunctorValueTraits; + using ValueInit = Kokkos::Impl::FunctorValueInit; + using ValueJoin = Kokkos::Impl::FunctorValueJoin; enum { HasJoin = ReduceFunctorHasJoin::value }; enum { UseReducer = is_reducer_type::value }; - typedef typename ValueTraits::pointer_type pointer_type; - typedef typename ValueTraits::reference_type reference_type; + using pointer_type = typename ValueTraits::pointer_type; + using reference_type = typename ValueTraits::reference_type; - typedef ParallelReduceSpecialize< + using ParReduceSpecialize = ParallelReduceSpecialize< FunctorType, Policy, ReducerType, pointer_type, - typename ValueTraits::value_type, HasJoin, UseReducer> - ParReduceSpecialize; + typename ValueTraits::value_type, HasJoin, UseReducer>; const FunctorType m_functor; const Policy m_policy; @@ -717,19 +777,19 @@ template class ParallelScan, Kokkos::Experimental::OpenMPTarget> { private: - typedef Kokkos::RangePolicy Policy; + using Policy = Kokkos::RangePolicy; - typedef typename Policy::work_tag WorkTag; - typedef typename Policy::WorkRange WorkRange; - typedef typename Policy::member_type Member; + using WorkTag = typename Policy::work_tag; + using WorkRange = typename Policy::WorkRange; + using Member = typename Policy::member_type; - typedef Kokkos::Impl::FunctorValueTraits ValueTraits; - typedef Kokkos::Impl::FunctorValueInit ValueInit; - typedef Kokkos::Impl::FunctorValueJoin ValueJoin; - typedef Kokkos::Impl::FunctorValueOps ValueOps; + using ValueTraits = Kokkos::Impl::FunctorValueTraits; + using ValueInit = Kokkos::Impl::FunctorValueInit; + using ValueJoin = Kokkos::Impl::FunctorValueJoin; + using ValueOps = Kokkos::Impl::FunctorValueOps; - typedef typename ValueTraits::pointer_type pointer_type; - typedef typename ValueTraits::reference_type reference_type; + using pointer_type = typename ValueTraits::pointer_type; + using reference_type = typename ValueTraits::reference_type; const FunctorType m_functor; const Policy m_policy; @@ -847,11 +907,10 @@ template class ParallelFor, Kokkos::Experimental::OpenMPTarget> { private: - typedef Kokkos::Impl::TeamPolicyInternal - Policy; - typedef typename Policy::work_tag WorkTag; - typedef typename Policy::member_type Member; + using Policy = Kokkos::Impl::TeamPolicyInternal; + using WorkTag = typename Policy::work_tag; + using Member = typename Policy::member_type; const FunctorType m_functor; const Policy m_policy; @@ -941,7 +1000,7 @@ template struct ParallelReduceSpecialize, ReducerType, PointerType, ValueType, 0, 0> { - typedef TeamPolicyInternal PolicyType; + using PolicyType = TeamPolicyInternal; template inline static @@ -1022,37 +1081,32 @@ template class ParallelReduce, ReducerType, Kokkos::Experimental::OpenMPTarget> { private: - typedef Kokkos::Impl::TeamPolicyInternal - Policy; - - typedef typename Policy::work_tag WorkTag; - typedef typename Policy::member_type Member; - - typedef Kokkos::Impl::if_c::value, - FunctorType, ReducerType> - ReducerConditional; - typedef typename ReducerConditional::type ReducerTypeFwd; - typedef - typename Kokkos::Impl::if_c::value, - WorkTag, void>::type WorkTagFwd; - - typedef Kokkos::Impl::FunctorValueTraits - ValueTraits; - typedef Kokkos::Impl::FunctorValueInit ValueInit; - typedef Kokkos::Impl::FunctorValueJoin ValueJoin; - - typedef typename ValueTraits::pointer_type pointer_type; - typedef typename ValueTraits::reference_type reference_type; - typedef typename ValueTraits::value_type value_type; + using Policy = Kokkos::Impl::TeamPolicyInternal; + + using WorkTag = typename Policy::work_tag; + using Member = typename Policy::member_type; + + using ReducerConditional = Kokkos::Impl::if_c::value, + FunctorType, ReducerType>; + using ReducerTypeFwd = typename ReducerConditional::type; + using WorkTagFwd = typename Kokkos::Impl::if_c::value, + WorkTag, void>::type; + + using ValueTraits = Kokkos::Impl::FunctorValueTraits; + using ValueInit = Kokkos::Impl::FunctorValueInit; + using ValueJoin = Kokkos::Impl::FunctorValueJoin; + + using pointer_type = typename ValueTraits::pointer_type; + using reference_type = typename ValueTraits::reference_type; + using value_type = typename ValueTraits::value_type; enum { HasJoin = ReduceFunctorHasJoin::value }; enum { UseReducer = is_reducer_type::value }; - typedef ParallelReduceSpecialize< + using ParForSpecialize = ParallelReduceSpecialize< FunctorType, Policy, ReducerType, pointer_type, - typename ValueTraits::value_type, HasJoin, UseReducer> - ParForSpecialize; + typename ValueTraits::value_type, HasJoin, UseReducer>; const FunctorType m_functor; const Policy m_policy; @@ -1104,7 +1158,7 @@ namespace Impl { template struct TeamThreadRangeBoundariesStruct { - typedef iType index_type; + using index_type = iType; const iType start; const iType end; const iType increment; @@ -1123,7 +1177,7 @@ struct TeamThreadRangeBoundariesStruct { template struct ThreadVectorRangeBoundariesStruct { - typedef iType index_type; + using index_type = iType; const index_type start; const index_type end; const index_type increment; diff --git a/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Parallel_MDRange.hpp b/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Parallel_MDRange.hpp index 4ce2dee122e86f608a00b315971965af171138d8..4e5d7b08c448639a5234b9b718111e8638befa9c 100644 --- a/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Parallel_MDRange.hpp +++ b/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Parallel_MDRange.hpp @@ -46,11 +46,15 @@ #define KOKKOS_OPENMPTARGET_PARALLEL_MDRANGE_HPP #include -#include #include #include #include +// WORKAROUND OPENMPTARGET: sometimes tile sizes don't make it correctly, +// this was tracked down to a bug in clang with regards of mapping structs +// with arrays of long in it. Arrays of int might be fine though ... +#define KOKKOS_IMPL_MDRANGE_USE_NO_TILES // undef EOF + //---------------------------------------------------------------------------- //---------------------------------------------------------------------------- @@ -61,9 +65,9 @@ template class ParallelFor, Kokkos::Experimental::OpenMPTarget> { private: - typedef Kokkos::MDRangePolicy Policy; - typedef typename Policy::work_tag WorkTag; - typedef typename Policy::member_type Member; + using Policy = Kokkos::MDRangePolicy; + using WorkTag = typename Policy::work_tag; + using Member = typename Policy::member_type; const FunctorType m_functor; const Policy m_policy; @@ -78,9 +82,16 @@ class ParallelFor, const int64_t end = m_policy.m_num_tiles; FunctorType functor(m_functor); Policy policy = m_policy; + +#ifdef KOKKOS_IMPL_MDRANGE_USE_NO_TILES + typename Policy::point_type unused; + + execute_tile(unused, functor, policy); +#else #pragma omp target teams distribute map(to : functor) num_teams(end - begin) { for (ptrdiff_t tile_idx = begin; tile_idx < end; tile_idx++) { + #pragma omp parallel { typename Policy::point_type offset; @@ -101,12 +112,23 @@ class ParallelFor, } } } +#endif } template inline typename std::enable_if::type execute_tile( typename Policy::point_type offset, const FunctorType& functor, const Policy& policy) const { +#ifdef KOKKOS_IMPL_MDRANGE_USE_NO_TILES + const int begin_0 = policy.m_lower[0]; + + const int end_0 = policy.m_upper[0]; + +#pragma omp target teams distribute parallel for map(to : functor) + for (ptrdiff_t i0 = begin_0; i0 < end_0; i0++) { + functor(i0); + } +#else const ptrdiff_t begin_0 = offset[0]; ptrdiff_t end_0 = begin_0 + policy.m_tile[0]; end_0 = end_0 < policy.m_upper[0] ? end_0 : policy.m_upper[0]; @@ -114,12 +136,27 @@ class ParallelFor, for (ptrdiff_t i0 = begin_0; i0 < end_0; i0++) { functor(i0); } +#endif } template inline typename std::enable_if::type execute_tile( typename Policy::point_type offset, const FunctorType& functor, const Policy& policy) const { +#ifdef KOKKOS_IMPL_MDRANGE_USE_NO_TILES + const int begin_0 = policy.m_lower[0]; + const int begin_1 = policy.m_lower[1]; + + const int end_0 = policy.m_upper[0]; + const int end_1 = policy.m_upper[1]; + +#pragma omp target teams distribute parallel for collapse(2) map(to : functor) + for (ptrdiff_t i0 = begin_0; i0 < end_0; i0++) { + for (ptrdiff_t i1 = begin_1; i1 < end_1; i1++) { + functor(i0, i1); + } + } +#else const ptrdiff_t begin_0 = offset[0]; ptrdiff_t end_0 = begin_0 + policy.m_tile[0]; end_0 = end_0 < policy.m_upper[0] ? end_0 : policy.m_upper[0]; @@ -131,12 +168,31 @@ class ParallelFor, #pragma omp for collapse(2) for (ptrdiff_t i0 = begin_0; i0 < end_0; i0++) for (ptrdiff_t i1 = begin_1; i1 < end_1; i1++) functor(i0, i1); +#endif } template inline typename std::enable_if::type execute_tile( typename Policy::point_type offset, const FunctorType& functor, const Policy& policy) const { +#ifdef KOKKOS_IMPL_MDRANGE_USE_NO_TILES + const int begin_0 = policy.m_lower[0]; + const int begin_1 = policy.m_lower[1]; + const int begin_2 = policy.m_lower[2]; + + const int end_0 = policy.m_upper[0]; + const int end_1 = policy.m_upper[1]; + const int end_2 = policy.m_upper[2]; + +#pragma omp target teams distribute parallel for collapse(3) map(to : functor) + for (ptrdiff_t i0 = begin_0; i0 < end_0; i0++) { + for (ptrdiff_t i1 = begin_1; i1 < end_1; i1++) { + for (ptrdiff_t i2 = begin_2; i2 < end_2; i2++) { + functor(i0, i1, i2); + } + } + } +#else const ptrdiff_t begin_0 = offset[0]; ptrdiff_t end_0 = begin_0 + policy.m_tile[0]; end_0 = end_0 < policy.m_upper[0] ? end_0 : policy.m_upper[0]; @@ -153,12 +209,35 @@ class ParallelFor, for (ptrdiff_t i0 = begin_0; i0 < end_0; i0++) for (ptrdiff_t i1 = begin_1; i1 < end_1; i1++) for (ptrdiff_t i2 = begin_2; i2 < end_2; i2++) functor(i0, i1, i2); +#endif } template inline typename std::enable_if::type execute_tile( typename Policy::point_type offset, const FunctorType& functor, const Policy& policy) const { +#ifdef KOKKOS_IMPL_MDRANGE_USE_NO_TILES + const int begin_0 = policy.m_lower[0]; + const int begin_1 = policy.m_lower[1]; + const int begin_2 = policy.m_lower[2]; + const int begin_3 = policy.m_lower[3]; + + const int end_0 = policy.m_upper[0]; + const int end_1 = policy.m_upper[1]; + const int end_2 = policy.m_upper[2]; + const int end_3 = policy.m_upper[3]; + +#pragma omp target teams distribute parallel for collapse(4) map(to : functor) + for (ptrdiff_t i0 = begin_0; i0 < end_0; i0++) { + for (ptrdiff_t i1 = begin_1; i1 < end_1; i1++) { + for (ptrdiff_t i2 = begin_2; i2 < end_2; i2++) { + for (ptrdiff_t i3 = begin_3; i3 < end_3; i3++) { + functor(i0, i1, i2, i3); + } + } + } + } +#else const ptrdiff_t begin_0 = offset[0]; ptrdiff_t end_0 = begin_0 + policy.m_tile[0]; end_0 = end_0 < policy.m_upper[0] ? end_0 : policy.m_upper[0]; @@ -181,12 +260,39 @@ class ParallelFor, for (ptrdiff_t i2 = begin_2; i2 < end_2; i2++) for (ptrdiff_t i3 = begin_3; i3 < end_3; i3++) functor(i0, i1, i2, i3); +#endif } template inline typename std::enable_if::type execute_tile( typename Policy::point_type offset, const FunctorType& functor, const Policy& policy) const { +#ifdef KOKKOS_IMPL_MDRANGE_USE_NO_TILES + const int begin_0 = policy.m_lower[0]; + const int begin_1 = policy.m_lower[1]; + const int begin_2 = policy.m_lower[2]; + const int begin_3 = policy.m_lower[3]; + const int begin_4 = policy.m_lower[4]; + + const int end_0 = policy.m_upper[0]; + const int end_1 = policy.m_upper[1]; + const int end_2 = policy.m_upper[2]; + const int end_3 = policy.m_upper[3]; + const int end_4 = policy.m_upper[4]; + +#pragma omp target teams distribute parallel for collapse(5) map(to : functor) + for (ptrdiff_t i0 = begin_0; i0 < end_0; i0++) { + for (ptrdiff_t i1 = begin_1; i1 < end_1; i1++) { + for (ptrdiff_t i2 = begin_2; i2 < end_2; i2++) { + for (ptrdiff_t i3 = begin_3; i3 < end_3; i3++) { + for (ptrdiff_t i4 = begin_4; i4 < end_4; i4++) { + functor(i0, i1, i2, i3, i4); + } + } + } + } + } +#else const ptrdiff_t begin_0 = offset[0]; ptrdiff_t end_0 = begin_0 + policy.m_tile[0]; end_0 = end_0 < policy.m_upper[0] ? end_0 : policy.m_upper[0]; @@ -214,12 +320,43 @@ class ParallelFor, for (ptrdiff_t i3 = begin_3; i3 < end_3; i3++) for (ptrdiff_t i4 = begin_4; i4 < end_4; i4++) functor(i0, i1, i2, i3, i4); +#endif } template inline typename std::enable_if::type execute_tile( typename Policy::point_type offset, const FunctorType& functor, const Policy& policy) const { +#ifdef KOKKOS_IMPL_MDRANGE_USE_NO_TILES + const int begin_0 = policy.m_lower[0]; + const int begin_1 = policy.m_lower[1]; + const int begin_2 = policy.m_lower[2]; + const int begin_3 = policy.m_lower[3]; + const int begin_4 = policy.m_lower[4]; + const int begin_5 = policy.m_lower[5]; + + const int end_0 = policy.m_upper[0]; + const int end_1 = policy.m_upper[1]; + const int end_2 = policy.m_upper[2]; + const int end_3 = policy.m_upper[3]; + const int end_4 = policy.m_upper[4]; + const int end_5 = policy.m_upper[5]; + +#pragma omp target teams distribute parallel for collapse(6) map(to : functor) + for (ptrdiff_t i0 = begin_0; i0 < end_0; i0++) { + for (ptrdiff_t i1 = begin_1; i1 < end_1; i1++) { + for (ptrdiff_t i2 = begin_2; i2 < end_2; i2++) { + for (ptrdiff_t i3 = begin_3; i3 < end_3; i3++) { + for (ptrdiff_t i4 = begin_4; i4 < end_4; i4++) { + for (ptrdiff_t i5 = begin_5; i5 < end_5; i5++) { + functor(i0, i1, i2, i3, i4, i5); + } + } + } + } + } + } +#else const ptrdiff_t begin_0 = offset[0]; ptrdiff_t end_0 = begin_0 + policy.m_tile[0]; end_0 = end_0 < policy.m_upper[0] ? end_0 : policy.m_upper[0]; @@ -252,12 +389,47 @@ class ParallelFor, for (ptrdiff_t i4 = begin_4; i4 < end_4; i4++) for (ptrdiff_t i5 = begin_5; i5 < end_5; i5++) functor(i0, i1, i2, i3, i4, i5); +#endif } template inline typename std::enable_if::type execute_tile( typename Policy::point_type offset, const FunctorType& functor, const Policy& policy) const { +#ifdef KOKKOS_IMPL_MDRANGE_USE_NO_TILES + const int begin_0 = policy.m_lower[0]; + const int begin_1 = policy.m_lower[1]; + const int begin_2 = policy.m_lower[2]; + const int begin_3 = policy.m_lower[3]; + const int begin_4 = policy.m_lower[4]; + const int begin_5 = policy.m_lower[5]; + const int begin_6 = policy.m_lower[6]; + + const int end_0 = policy.m_upper[0]; + const int end_1 = policy.m_upper[1]; + const int end_2 = policy.m_upper[2]; + const int end_3 = policy.m_upper[3]; + const int end_4 = policy.m_upper[4]; + const int end_5 = policy.m_upper[5]; + const int end_6 = policy.m_upper[6]; + +#pragma omp target teams distribute parallel for collapse(7) map(to : functor) + for (ptrdiff_t i0 = begin_0; i0 < end_0; i0++) { + for (ptrdiff_t i1 = begin_1; i1 < end_1; i1++) { + for (ptrdiff_t i2 = begin_2; i2 < end_2; i2++) { + for (ptrdiff_t i3 = begin_3; i3 < end_3; i3++) { + for (ptrdiff_t i4 = begin_4; i4 < end_4; i4++) { + for (ptrdiff_t i5 = begin_5; i5 < end_5; i5++) { + for (ptrdiff_t i6 = begin_6; i6 < end_6; i6++) { + functor(i0, i1, i2, i3, i4, i5, i6); + } + } + } + } + } + } + } +#else const ptrdiff_t begin_0 = offset[0]; ptrdiff_t end_0 = begin_0 + policy.m_tile[0]; end_0 = end_0 < policy.m_upper[0] ? end_0 : policy.m_upper[0]; @@ -295,12 +467,51 @@ class ParallelFor, for (ptrdiff_t i5 = begin_5; i5 < end_5; i5++) for (ptrdiff_t i6 = begin_6; i6 < end_6; i6++) functor(i0, i1, i2, i3, i4, i5, i6); +#endif } template inline typename std::enable_if::type execute_tile( typename Policy::point_type offset, const FunctorType& functor, const Policy& policy) const { +#ifdef KOKKOS_IMPL_MDRANGE_USE_NO_TILES + const int begin_0 = policy.m_lower[0]; + const int begin_1 = policy.m_lower[1]; + const int begin_2 = policy.m_lower[2]; + const int begin_3 = policy.m_lower[3]; + const int begin_4 = policy.m_lower[4]; + const int begin_5 = policy.m_lower[5]; + const int begin_6 = policy.m_lower[6]; + const int begin_7 = policy.m_lower[7]; + + const int end_0 = policy.m_upper[0]; + const int end_1 = policy.m_upper[1]; + const int end_2 = policy.m_upper[2]; + const int end_3 = policy.m_upper[3]; + const int end_4 = policy.m_upper[4]; + const int end_5 = policy.m_upper[5]; + const int end_6 = policy.m_upper[6]; + const int end_7 = policy.m_upper[7]; + +#pragma omp target teams distribute parallel for collapse(8) map(to : functor) + for (ptrdiff_t i0 = begin_0; i0 < end_0; i0++) { + for (ptrdiff_t i1 = begin_1; i1 < end_1; i1++) { + for (ptrdiff_t i2 = begin_2; i2 < end_2; i2++) { + for (ptrdiff_t i3 = begin_3; i3 < end_3; i3++) { + for (ptrdiff_t i4 = begin_4; i4 < end_4; i4++) { + for (ptrdiff_t i5 = begin_5; i5 < end_5; i5++) { + for (ptrdiff_t i6 = begin_6; i6 < end_6; i6++) { + for (ptrdiff_t i7 = begin_7; i7 < end_7; i7++) { + functor(i0, i1, i2, i3, i4, i5, i6, i7); + } + } + } + } + } + } + } + } +#else const ptrdiff_t begin_0 = offset[0]; ptrdiff_t end_0 = begin_0 + policy.m_tile[0]; end_0 = end_0 < policy.m_upper[0] ? end_0 : policy.m_upper[0]; @@ -343,6 +554,7 @@ class ParallelFor, for (ptrdiff_t i6 = begin_6; i6 < end_6; i6++) for (ptrdiff_t i7 = begin_7; i7 < end_7; i7++) functor(i0, i1, i2, i3, i4, i5, i6, i7); +#endif } inline ParallelFor(const FunctorType& arg_functor, Policy arg_policy) @@ -363,7 +575,7 @@ template , ReducerType, PointerType, ValueType, 0, 0> { - typedef Kokkos::RangePolicy PolicyType; + using PolicyType = Kokkos::RangePolicy; template inline static typename std::enable_if::value>::type @@ -468,37 +680,36 @@ template class ParallelReduce, ReducerType, Kokkos::Experimental::OpenMPTarget> { private: - typedef Kokkos::MDRangePolicy Policy; + using Policy = Kokkos::MDRangePolicy; - typedef typename Policy::work_tag WorkTag; - typedef typename Policy::WorkRange WorkRange; - typedef typename Policy::member_type Member; + using WorkTag = typename Policy::work_tag; + using WorkRange = typename Policy::WorkRange; + using Member = typename Policy::member_type; - typedef Kokkos::Impl::if_c::value, - FunctorType, ReducerType> - ReducerConditional; - typedef typename ReducerConditional::type ReducerTypeFwd; - typedef + using ReducerConditional = + Kokkos::Impl::if_c::value, + FunctorType, ReducerType>; + using ReducerTypeFwd = typename ReducerConditional::type; + using WorkTagFwd = typename Kokkos::Impl::if_c::value, - WorkTag, void>::type WorkTagFwd; + WorkTag, void>::type; // Static Assert WorkTag void if ReducerType not InvalidType - typedef Kokkos::Impl::FunctorValueTraits - ValueTraits; - typedef Kokkos::Impl::FunctorValueInit ValueInit; - typedef Kokkos::Impl::FunctorValueJoin ValueJoin; + using ValueTraits = + Kokkos::Impl::FunctorValueTraits; + using ValueInit = Kokkos::Impl::FunctorValueInit; + using ValueJoin = Kokkos::Impl::FunctorValueJoin; enum { HasJoin = ReduceFunctorHasJoin::value }; enum { UseReducer = is_reducer_type::value }; - typedef typename ValueTraits::pointer_type pointer_type; - typedef typename ValueTraits::reference_type reference_type; + using pointer_type = typename ValueTraits::pointer_type; + using reference_type = typename ValueTraits::reference_type; - typedef ParallelReduceSpecialize< + using ParForSpecialize = ParallelReduceSpecialize< FunctorType, Policy, ReducerType, pointer_type, - typename ValueTraits::value_type, HasJoin, UseReducer> - ParForSpecialize; + typename ValueTraits::value_type, HasJoin, UseReducer>; const FunctorType m_functor; const Policy m_policy; @@ -545,5 +756,5 @@ class ParallelReduce, ReducerType, //---------------------------------------------------------------------------- //---------------------------------------------------------------------------- - +#undef KOKKOS_IMPL_MDRANGE_USE_NO_TILES #endif /* KOKKOS_OPENMPTARGET_PARALLEL_HPP */ diff --git a/lib/kokkos/core/src/ROCm/KokkosExp_ROCm_IterateTile_Refactor.hpp b/lib/kokkos/core/src/ROCm/KokkosExp_ROCm_IterateTile_Refactor.hpp index 608c2ea9f74ee9182247f0a37c725c7e21d664b6..fe844ae90c8330d13187df37057924176a6b31b1 100644 --- a/lib/kokkos/core/src/ROCm/KokkosExp_ROCm_IterateTile_Refactor.hpp +++ b/lib/kokkos/core/src/ROCm/KokkosExp_ROCm_IterateTile_Refactor.hpp @@ -48,9 +48,7 @@ #include #if defined(__HCC__) && defined(KOKKOS_ENABLE_ROCM) -#include #include -#include #include @@ -60,10 +58,8 @@ // type is not allowed use existing Kokkos functionality, e.g. max blocks, once // resolved -#if defined(KOKKOS_ENABLE_PROFILING) -#include +#include #include -#endif #define threadIdx_x (hc_get_workitem_id(0)) #define threadIdx_y (hc_get_workitem_id(1)) diff --git a/lib/kokkos/core/src/ROCm/Kokkos_ROCm_Impl.cpp b/lib/kokkos/core/src/ROCm/Kokkos_ROCm_Impl.cpp index aedde5b80a8238935224999edfd6457f28aefb02..a5903fc8333a127bdefee28912d9cfe7299a2e10 100644 --- a/lib/kokkos/core/src/ROCm/Kokkos_ROCm_Impl.cpp +++ b/lib/kokkos/core/src/ROCm/Kokkos_ROCm_Impl.cpp @@ -101,7 +101,7 @@ bool rocm_launch_blocking() if (env == 0) return false; - return atoi(env); + return std::stoi(env); } } @@ -295,7 +295,7 @@ class ROCmInternal { ROCmInternal& operator=(const ROCmInternal&); public: - typedef Kokkos::Experimental::ROCm::size_type size_type; + using size_type = Kokkos::Experimental::ROCm::size_type; int m_rocmDev; int m_rocmArch; @@ -516,8 +516,8 @@ void ROCmInternal::initialize(int rocm_device_id) { //---------------------------------------------------------------------------- -typedef Kokkos::Experimental::ROCm::size_type - ScratchGrain[Impl::ROCmTraits::WorkgroupSize]; +using ScratchGrain = + Kokkos::Experimental::ROCm::size_type[Impl::ROCmTraits::WorkgroupSize]; enum { sizeScratchGrain = sizeof(ScratchGrain) }; void rocmMemset(Kokkos::Experimental::ROCm::size_type* ptr, @@ -539,9 +539,9 @@ Kokkos::Experimental::ROCm::size_type* ROCmInternal::scratch_flags( m_scratchFlagsCount * sizeScratchGrain < size) { m_scratchFlagsCount = (size + sizeScratchGrain - 1) / sizeScratchGrain; - typedef Kokkos::Impl::SharedAllocationRecord< - Kokkos::Experimental::ROCmSpace, void> - Record; + using Record = + Kokkos::Impl::SharedAllocationRecord; Record* const r = Record::allocate( Kokkos::Experimental::ROCmSpace(), "InternalScratchFlags", @@ -563,9 +563,9 @@ Kokkos::Experimental::ROCm::size_type* ROCmInternal::scratch_space( m_scratchSpaceCount * sizeScratchGrain < size) { m_scratchSpaceCount = (size + sizeScratchGrain - 1) / sizeScratchGrain; - typedef Kokkos::Impl::SharedAllocationRecord< - Kokkos::Experimental::ROCmSpace, void> - Record; + using Record = + Kokkos::Impl::SharedAllocationRecord; static Record* const r = Record::allocate( Kokkos::Experimental::ROCmSpace(), "InternalScratchSpace", @@ -589,12 +589,10 @@ void ROCmInternal::finalize() { // scratch_lock_array_rocm_space_ptr(false); // threadid_lock_array_rocm_space_ptr(false); - typedef Kokkos::Impl::SharedAllocationRecord< - Kokkos::Experimental::ROCmSpace> - RecordROCm; - typedef Kokkos::Impl::SharedAllocationRecord< - Kokkos::Experimental::ROCmHostPinnedSpace> - RecordHost; + using RecordROCm = + Kokkos::Impl::SharedAllocationRecord; + using RecordHost = Kokkos::Impl::SharedAllocationRecord< + Kokkos::Experimental::ROCmHostPinnedSpace>; RecordROCm::decrement(RecordROCm::get_record(m_scratchFlags)); RecordROCm::decrement(RecordROCm::get_record(m_scratchSpace)); @@ -659,9 +657,7 @@ int ROCm::is_initialized() { void ROCm::initialize(const ROCm::SelectDevice config) { Kokkos::Impl::ROCmInternal::singleton().initialize(config.rocm_device_id); -#if defined(KOKKOS_ENABLE_PROFILING) Kokkos::Profiling::initialize(); -#endif } #if 0 @@ -688,9 +684,7 @@ ROCm::size_type ROCm::device_arch() void ROCm::finalize() { Kokkos::Impl::ROCmInternal::singleton().finalize(); -#if defined(KOKKOS_ENABLE_PROFILING) Kokkos::Profiling::finalize(); -#endif } ROCm::ROCm() : m_device(Kokkos::Impl::ROCmInternal::singleton().m_rocmDev) { diff --git a/lib/kokkos/core/src/ROCm/Kokkos_ROCm_Parallel.hpp b/lib/kokkos/core/src/ROCm/Kokkos_ROCm_Parallel.hpp index 8a4d8c07d0b480ff04b45ee548fefd47581439cf..bf87e80f8590b9b5e54f296114634e64eac6ff84 100644 --- a/lib/kokkos/core/src/ROCm/Kokkos_ROCm_Parallel.hpp +++ b/lib/kokkos/core/src/ROCm/Kokkos_ROCm_Parallel.hpp @@ -71,7 +71,7 @@ class TeamPolicyInternal public: using execution_policy = TeamPolicyInternal; using execution_space = Kokkos::Experimental::ROCm; - typedef PolicyTraits traits; + using traits = PolicyTraits; TeamPolicyInternal& operator=(const TeamPolicyInternal& p) { m_league_size = p.m_league_size; @@ -143,44 +143,6 @@ class TeamPolicyInternal inline int chunk_size() const { return m_chunk_size; } -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - /** \brief set chunk_size to a discrete value*/ - KOKKOS_INLINE_FUNCTION TeamPolicyInternal - set_chunk_size(typename traits::index_type chunk_size_) const { - TeamPolicyInternal p = *this; - p.m_chunk_size = chunk_size_; - return p; - } - - /** \brief set per team scratch size for a specific level of the scratch - * hierarchy */ - inline TeamPolicyInternal set_scratch_size( - const int& level, const PerTeamValue& per_team) const { - TeamPolicyInternal p = *this; - p.m_team_scratch_size[level] = per_team.value; - return p; - } - - /** \brief set per thread scratch size for a specific level of the scratch - * hierarchy */ - inline TeamPolicyInternal set_scratch_size( - const int& level, const PerThreadValue& per_thread) const { - TeamPolicyInternal p = *this; - p.m_thread_scratch_size[level] = per_thread.value; - return p; - } - - /** \brief set per thread and per team scratch size for a specific level of - * the scratch hierarchy */ - inline TeamPolicyInternal set_scratch_size( - const int& level, const PerTeamValue& per_team, - const PerThreadValue& per_thread) const { - TeamPolicyInternal p = *this; - p.m_team_scratch_size[level] = per_team.value; - p.m_thread_scratch_size[level] = per_thread.value; - return p; - } -#else /** \brief set chunk_size to a discrete value*/ inline TeamPolicyInternal& set_chunk_size( typename traits::index_type chunk_size_) { @@ -213,50 +175,13 @@ class TeamPolicyInternal m_thread_scratch_size[level] = per_thread.value; return *this; } -#endif - - protected: -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - /** \brief set chunk_size to a discrete value*/ - inline TeamPolicyInternal internal_set_chunk_size( - typename traits::index_type chunk_size_) { - m_chunk_size = chunk_size_; - return *this; - } - - /** \brief set per team scratch size for a specific level of the scratch - * hierarchy */ - inline TeamPolicyInternal internal_set_scratch_size( - const int& level, const PerTeamValue& per_team) { - m_team_scratch_size[level] = per_team.value; - return *this; - } - - /** \brief set per thread scratch size for a specific level of the scratch - * hierarchy */ - inline TeamPolicyInternal internal_set_scratch_size( - const int& level, const PerThreadValue& per_thread) { - m_thread_scratch_size[level] = per_thread.value; - return *this; - } - - /** \brief set per thread and per team scratch size for a specific level of - * the scratch hierarchy */ - inline TeamPolicyInternal internal_set_scratch_size( - const int& level, const PerTeamValue& per_team, - const PerThreadValue& per_thread) { - m_team_scratch_size[level] = per_team.value; - m_thread_scratch_size[level] = per_thread.value; - return *this; - } -#endif public: // TODO: evaluate proper team_size_max requirements template KOKKOS_INLINE_FUNCTION static int team_size_max(const Functor_Type& functor) { - typedef typename Kokkos::Impl::FunctorValueTraits< - Functor_Type, typename traits::work_tag>::value_type value_type; + using value_type = typename Kokkos::Impl::FunctorValueTraits< + Functor_Type, typename traits::work_tag>::value_type; return team_size_recommended(functor); // return std::min(Kokkos::Impl::get_max_tile_size() / sizeof(value_type), // Kokkos::Impl::get_max_tile_thread()); @@ -313,13 +238,13 @@ class TeamPolicyInternal return level == 0 ? 1024 * 40 : 1024 * 1204 * 20; } - typedef Impl::ROCmTeamMember member_type; + using member_type = Impl::ROCmTeamMember; }; struct ROCmTeamMember { - typedef Kokkos::Experimental::ROCm execution_space; - typedef Kokkos::ScratchMemorySpace - scratch_memory_space; + using execution_space = Kokkos::Experimental::ROCm; + using scratch_memory_space = + Kokkos::ScratchMemorySpace; KOKKOS_INLINE_FUNCTION const scratch_memory_space& team_shmem() const { @@ -406,7 +331,7 @@ struct ROCmTeamMember { template KOKKOS_INLINE_FUNCTION ValueType team_reduce(const ValueType& value, const JoinOp& op_in) const { - typedef JoinLambdaAdapter JoinOpFunctor; + using JoinOpFunctor = JoinLambdaAdapter; const JoinOpFunctor op(op_in); tile_static ValueType buffer[512]; @@ -471,7 +396,7 @@ struct ROCmTeamMember { KOKKOS_INLINE_FUNCTION typename std::enable_if::value>::type team_reduce(const ReducerType& reducer) const { - typedef typename ReducerType::value_type value_type; + using value_type = typename ReducerType::value_type; tile_static value_type buffer[512]; const auto local = lindex(); @@ -533,7 +458,7 @@ struct ROCmTeamMember { template KOKKOS_INLINE_FUNCTION ValueType thread_reduce(const ValueType& value, const JoinOp& op_in) const { - typedef JoinLambdaAdapter JoinOpFunctor; + using JoinOpFunctor = JoinLambdaAdapter; const JoinOpFunctor op(op_in); const auto local = m_idx.local[0]; @@ -693,7 +618,7 @@ template class ParallelFor, Kokkos::Experimental::ROCm> { private: - typedef Kokkos::RangePolicy Policy; + using Policy = Kokkos::RangePolicy; public: inline ParallelFor(const FunctorType& f, const Policy& policy) { @@ -729,11 +654,11 @@ template class ParallelFor, Kokkos::Experimental::ROCm> { private: - typedef Kokkos::MDRangePolicy Policy; - using RP = Policy; - typedef typename Policy::array_index_type array_index_type; - typedef typename Policy::index_type index_type; - typedef typename Policy::launch_bounds LaunchBounds; + using Policy = Kokkos::MDRangePolicy; + using RP = Policy; + using array_index_type = typename Policy::array_index_type; + using index_type = typename Policy::index_type; + using LaunchBounds = typename Policy::launch_bounds; const FunctorType m_functor; const Policy m_rp; @@ -821,8 +746,8 @@ class ParallelFor, Kokkos::Experimental::ROCm> { using Policy = Kokkos::Impl::TeamPolicyInternal; - typedef Kokkos::Impl::FunctorValueTraits - ValueTraits; + using ValueTraits = + Kokkos::Impl::FunctorValueTraits; public: inline ParallelFor(const F& f, const Policy& policy) { @@ -870,7 +795,7 @@ template class ParallelReduce, ReducerType, Kokkos::Experimental::ROCm> { public: - typedef Kokkos::RangePolicy Policy; + using Policy = Kokkos::RangePolicy; // TODO: Use generic lambdas instead struct invoke_fn { @@ -889,10 +814,10 @@ class ParallelReduce, ReducerType, typename std::enable_if::value && !Kokkos::is_reducer_type::value, void*>::type = nullptr) { - typedef typename Policy::work_tag Tag; - typedef Kokkos::Impl::FunctorValueTraits ValueTraits; - typedef Kokkos::Impl::FunctorValueInit ValueInit; - typedef typename ValueTraits::reference_type reference_type; + using Tag = typename Policy::work_tag; + using ValueTraits = Kokkos::Impl::FunctorValueTraits; + using ValueInit = Kokkos::Impl::FunctorValueInit; + using reference_type = typename ValueTraits::reference_type; const auto total_size = policy.end() - policy.begin(); @@ -910,16 +835,16 @@ class ParallelReduce, ReducerType, inline ParallelReduce(const FunctorType& f, Policy policy, const ReducerType& reducer) { - typedef typename Policy::work_tag Tag; + using Tag = typename Policy::work_tag; - typedef Kokkos::Impl::if_c::value, - FunctorType, ReducerType> - ReducerConditional; - typedef typename ReducerConditional::type ReducerTypeFwd; - typedef Kokkos::Impl::FunctorValueTraits ValueTraits; - typedef Kokkos::Impl::FunctorValueInit ValueInit; + using ReducerConditional = + Kokkos::Impl::if_c::value, + FunctorType, ReducerType>; + using ReducerTypeFwd = typename ReducerConditional::type; + using ValueTraits = Kokkos::Impl::FunctorValueTraits; + using ValueInit = Kokkos::Impl::FunctorValueInit; - typedef typename ValueTraits::reference_type reference_type; + using reference_type = typename ValueTraits::reference_type; const auto total_size = policy.end() - policy.begin(); @@ -946,33 +871,33 @@ template class ParallelReduce, ReducerType, Kokkos::Experimental::ROCm> { private: - typedef Kokkos::MDRangePolicy Policy; - using RP = Policy; - typedef typename Policy::array_index_type array_index_type; - typedef typename Policy::index_type index_type; - typedef typename Policy::work_tag WorkTag; - typedef typename Policy::member_type Member; - typedef typename Policy::launch_bounds LaunchBounds; - - typedef Kokkos::Impl::if_c::value, - FunctorType, ReducerType> - ReducerConditional; - typedef typename ReducerConditional::type ReducerTypeFwd; - typedef + using Policy = Kokkos::MDRangePolicy; + using RP = Policy; + using array_index_type = typename Policy::array_index_type; + using index_type = typename Policy::index_type; + using WorkTag = typename Policy::work_tag; + using Member = typename Policy::member_type; + using LaunchBounds = typename Policy::launch_bounds; + + using ReducerConditional = + Kokkos::Impl::if_c::value, + FunctorType, ReducerType>; + using ReducerTypeFwd = typename ReducerConditional::type; + using WorkTagFwd = typename Kokkos::Impl::if_c::value, - WorkTag, void>::type WorkTagFwd; + WorkTag, void>::type; - typedef Kokkos::Impl::FunctorValueTraits - ValueTraits; - typedef Kokkos::Impl::FunctorValueInit ValueInit; - typedef Kokkos::Impl::FunctorValueJoin ValueJoin; + using ValueTraits = + Kokkos::Impl::FunctorValueTraits; + using ValueInit = Kokkos::Impl::FunctorValueInit; + using ValueJoin = Kokkos::Impl::FunctorValueJoin; public: - typedef typename ValueTraits::pointer_type pointer_type; - typedef typename ValueTraits::value_type value_type; - typedef typename ValueTraits::reference_type reference_type; - typedef FunctorType functor_type; - typedef Kokkos::Experimental::ROCm::size_type size_type; + using pointer_type = typename ValueTraits::pointer_type; + using value_type = typename ValueTraits::value_type; + using reference_type = typename ValueTraits::reference_type; + using functor_type = FunctorType; + using size_type = Kokkos::Experimental::ROCm::size_type; // Algorithmic constraints: blockSize is a power of two AND blockDim.y == // blockDim.z == 1 @@ -984,10 +909,9 @@ class ParallelReduce, ReducerType, value_type* m_scratch_space; size_type* m_scratch_flags; - typedef typename Kokkos::Impl::Reduce::DeviceIterateTile< + using DeviceIteratePattern = typename Kokkos::Impl::Reduce::DeviceIterateTile< Policy::rank, Policy, FunctorType, typename Policy::work_tag, - reference_type> - DeviceIteratePattern; + reference_type>; KOKKOS_INLINE_FUNCTION void exec_range(reference_type update) const { @@ -1129,9 +1053,8 @@ class ParallelReduce, ReducerType, Kokkos::Experimental::ROCm> { using Policy = Kokkos::Impl::TeamPolicyInternal; - typedef Kokkos::Impl::FunctorValueTraits - ValueTraits; + using ValueTraits = + Kokkos::Impl::FunctorValueTraits; public: struct invoke_fn { @@ -1156,9 +1079,8 @@ class ParallelReduce, ReducerType, const int scratch_size1 = policy.scratch_size(1, team_size); const int total_size = league_size * team_size; - typedef Kokkos::Impl::FunctorValueInit - ValueInit; + using ValueInit = + Kokkos::Impl::FunctorValueInit; if (total_size == 0) { if (result_view.data()) { ValueInit::init(f, result_view.data()); @@ -1201,12 +1123,11 @@ class ParallelReduce, ReducerType, const int vector_length = policy.vector_length(); const int total_size = league_size * team_size; - typedef Kokkos::Impl::FunctorValueInit - ValueInit; - typedef Kokkos::Impl::if_c::value, - FunctorType, ReducerType> - ReducerConditional; + using ValueInit = + Kokkos::Impl::FunctorValueInit; + using ReducerConditional = + Kokkos::Impl::if_c::value, + FunctorType, ReducerType>; if (total_size == 0) { if (reducer.view().data()) { ValueInit::init(ReducerConditional::select(f, reducer), @@ -1251,9 +1172,9 @@ template class ParallelScan, Kokkos::Experimental::ROCm> { private: - typedef Kokkos::RangePolicy Policy; - typedef typename Policy::work_tag Tag; - typedef Kokkos::Impl::FunctorValueTraits ValueTraits; + using Policy = Kokkos::RangePolicy; + using Tag = typename Policy::work_tag; + using ValueTraits = Kokkos::Impl::FunctorValueTraits; public: //---------------------------------------- @@ -1277,9 +1198,9 @@ template class ParallelScanWithTotal, ReturnType, Kokkos::Experimental::ROCm> { private: - typedef Kokkos::RangePolicy Policy; - typedef typename Policy::work_tag Tag; - typedef Kokkos::Impl::FunctorValueTraits ValueTraits; + using Policy = Kokkos::RangePolicy; + using Tag = typename Policy::work_tag; + using ValueTraits = Kokkos::Impl::FunctorValueTraits; public: //---------------------------------------- @@ -1307,8 +1228,8 @@ class ParallelScan, private: using Policy = Kokkos::Impl::TeamPolicyInternal; - typedef typename Policy::work_tag Tag; - typedef Kokkos::Impl::FunctorValueTraits ValueTraits; + using Tag = typename Policy::work_tag; + using ValueTraits = Kokkos::Impl::FunctorValueTraits; public: //---------------------------------------- @@ -1339,7 +1260,7 @@ namespace Kokkos { namespace Impl { template struct TeamThreadRangeBoundariesStruct { - typedef iType index_type; + using index_type = iType; const iType start; const iType end; const iType increment; @@ -1374,7 +1295,7 @@ struct TeamThreadRangeBoundariesStruct { template struct ThreadVectorRangeBoundariesStruct { - typedef iType index_type; + using index_type = iType; const index_type start; const index_type end; const index_type increment; @@ -1450,7 +1371,7 @@ template KOKKOS_INLINE_FUNCTION Impl::TeamThreadRangeBoundariesStruct< typename std::common_type::type, Impl::ROCmTeamMember> TeamThreadRange(const Impl::ROCmTeamMember& thread, iType1 begin, iType2 end) { - typedef typename std::common_type::type iType; + using iType = typename std::common_type::type; return Impl::TeamThreadRangeBoundariesStruct( thread, begin, end); } @@ -1743,8 +1664,8 @@ KOKKOS_INLINE_FUNCTION void parallel_scan( const Impl::ThreadVectorRangeBoundariesStruct& loop_boundaries, const FunctorType& lambda) { - typedef Kokkos::Impl::FunctorValueTraits ValueTraits; - typedef typename ValueTraits::value_type value_type; + using ValueTraits = Kokkos::Impl::FunctorValueTraits; + using value_type = typename ValueTraits::value_type; value_type val = value_type(); const int vector_length = loop_boundaries.thread.vector_length(); diff --git a/lib/kokkos/core/src/ROCm/Kokkos_ROCm_Reduce.hpp b/lib/kokkos/core/src/ROCm/Kokkos_ROCm_Reduce.hpp index 59a6a0433c0427e0f8ea28d24924e877278b3dfa..c5a16b80dfbe30c626dd3ad86715eff68d45049a 100644 --- a/lib/kokkos/core/src/ROCm/Kokkos_ROCm_Reduce.hpp +++ b/lib/kokkos/core/src/ROCm/Kokkos_ROCm_Reduce.hpp @@ -49,8 +49,6 @@ #if !defined(KOKKOS_ROCM_AMP_REDUCE_INL) #define KOKKOS_ROCM_AMP_REDUCE_INL -#include - #include #include #include @@ -90,21 +88,21 @@ void reduce_enqueue(const int szElements, // size of the extent int const shared_size = 0) { using namespace hc; - typedef Kokkos::Impl::if_c::value, F, - ReducerType> - ReducerConditional; - typedef typename ReducerConditional::type ReducerTypeFwd; - typedef + using ReducerConditional = + Kokkos::Impl::if_c::value, F, + ReducerType>; + using ReducerTypeFwd = typename ReducerConditional::type; + using TagFwd = typename Kokkos::Impl::if_c::value, - Tag, void>::type TagFwd; + Tag, void>::type; - typedef Kokkos::Impl::FunctorValueTraits ValueTraits; - typedef Kokkos::Impl::FunctorValueInit ValueInit; - typedef Kokkos::Impl::FunctorValueJoin ValueJoin; - typedef Kokkos::Impl::FunctorFinal ValueFinal; + using ValueTraits = Kokkos::Impl::FunctorValueTraits; + using ValueInit = Kokkos::Impl::FunctorValueInit; + using ValueJoin = Kokkos::Impl::FunctorValueJoin; + using ValueFinal = Kokkos::Impl::FunctorFinal; - typedef typename ValueTraits::pointer_type pointer_type; - typedef typename ValueTraits::reference_type reference_type; + using pointer_type = typename ValueTraits::pointer_type; + using reference_type = typename ValueTraits::reference_type; if (output_length < 1) return; diff --git a/lib/kokkos/core/src/ROCm/Kokkos_ROCm_ReduceScan.hpp b/lib/kokkos/core/src/ROCm/Kokkos_ROCm_ReduceScan.hpp index 29694a012ce9a2197993683b1f64bca5f33b142b..d2ad68aeef3e86da43b0a0d6c0554abe8317cb74 100644 --- a/lib/kokkos/core/src/ROCm/Kokkos_ROCm_ReduceScan.hpp +++ b/lib/kokkos/core/src/ROCm/Kokkos_ROCm_ReduceScan.hpp @@ -349,8 +349,8 @@ bool rocm_inter_block_reduction( ROCmTeamMember& team, ROCm::size_type * const m_scratch_flags, const int max_active_thread) { #ifdef __ROCM_ARCH__ - typedef typename FunctorValueTraits< FunctorType , ArgTag >::pointer_type pointer_type; - typedef typename FunctorValueTraits< FunctorType , ArgTag >::value_type value_type; + using pointer_type = typename FunctorValueTraits< FunctorType , ArgTag >::pointer_type; + using value_type = typename FunctorValueTraits< FunctorType , ArgTag >::value_type; //Do the intra-block reduction with shfl operations and static shared memory rocm_intra_block_reduction(value,join,max_active_thread); @@ -442,10 +442,10 @@ KOKKOS_INLINE_FUNCTION void rocm_intra_block_reduce_scan( const FunctorType &functor, const typename FunctorValueTraits::pointer_type base_data) { - typedef FunctorValueTraits ValueTraits; - typedef FunctorValueJoin ValueJoin; + using ValueTraits = FunctorValueTraits; + using ValueJoin = FunctorValueJoin; - typedef typename ValueTraits::pointer_type pointer_type; + using pointer_type = typename ValueTraits::pointer_type; const unsigned value_count = ValueTraits::value_count(functor); const unsigned BlockSizeMask = blockDim_y - 1; @@ -582,15 +582,15 @@ KOKKOS_INLINE_FUNCTION bool rocm_single_inter_block_reduce_scan( typename FunctorValueTraits::value_type *const global_data, ROCM::size_type *const global_flags) { - typedef ROCM::size_type size_type; - typedef FunctorValueTraits ValueTraits; - typedef FunctorValueJoin ValueJoin; - typedef FunctorValueInit ValueInit; - typedef FunctorValueOps ValueOps; - - typedef typename ValueTraits::pointer_type pointer_type; - typedef typename ValueTraits::reference_type reference_type; - typedef typename ValueTraits::value_type value_type; + using size_type = ROCM::size_type; + using ValueTraits = FunctorValueTraits; + using ValueJoin = FunctorValueJoin; + using ValueInit = FunctorValueInit; + using ValueOps = FunctorValueOps; + + using pointer_type = typename ValueTraits::pointer_type; + using reference_type = typename ValueTraits::reference_type; + using value_type = typename ValueTraits::value_type; // '__ffs' = position of the least significant bit set to 1. // blockDim_y is guaranteed to be a power of two so this diff --git a/lib/kokkos/core/src/ROCm/Kokkos_ROCm_Scan.hpp b/lib/kokkos/core/src/ROCm/Kokkos_ROCm_Scan.hpp index 337550b9f84a69298e3658b8081e4b7bb40fa231..47ca6bc1e3e96ddbc92decbe565a365c58846e9a 100644 --- a/lib/kokkos/core/src/ROCm/Kokkos_ROCm_Scan.hpp +++ b/lib/kokkos/core/src/ROCm/Kokkos_ROCm_Scan.hpp @@ -50,14 +50,14 @@ namespace Impl { template void scan_enqueue(const int len, const F& f, TransformIndex transform_index) { - typedef Kokkos::Impl::FunctorValueTraits ValueTraits; - typedef Kokkos::Impl::FunctorValueInit ValueInit; - typedef Kokkos::Impl::FunctorValueJoin ValueJoin; - typedef Kokkos::Impl::FunctorValueOps ValueOps; + using ValueTraits = Kokkos::Impl::FunctorValueTraits; + using ValueInit = Kokkos::Impl::FunctorValueInit; + using ValueJoin = Kokkos::Impl::FunctorValueJoin; + using ValueOps = Kokkos::Impl::FunctorValueOps; - typedef typename ValueTraits::value_type value_type; - typedef typename ValueTraits::pointer_type pointer_type; - typedef typename ValueTraits::reference_type reference_type; + using value_type = typename ValueTraits::value_type; + using pointer_type = typename ValueTraits::pointer_type; + using reference_type = typename ValueTraits::reference_type; const auto td = get_tile_desc(len); std::vector result_cpu(td.num_tiles); @@ -148,14 +148,14 @@ void scan_enqueue(const int len, const F& f, TransformIndex transform_index) { template void scan_enqueue(const int len, const F& f, ReturnType& return_val, TransformIndex transform_index) { - typedef Kokkos::Impl::FunctorValueTraits ValueTraits; - typedef Kokkos::Impl::FunctorValueInit ValueInit; - typedef Kokkos::Impl::FunctorValueJoin ValueJoin; - typedef Kokkos::Impl::FunctorValueOps ValueOps; - - typedef typename ValueTraits::value_type value_type; - typedef typename ValueTraits::pointer_type pointer_type; - typedef typename ValueTraits::reference_type reference_type; + using ValueTraits = Kokkos::Impl::FunctorValueTraits; + using ValueInit = Kokkos::Impl::FunctorValueInit; + using ValueJoin = Kokkos::Impl::FunctorValueJoin; + using ValueOps = Kokkos::Impl::FunctorValueOps; + + using value_type = typename ValueTraits::value_type; + using pointer_type = typename ValueTraits::pointer_type; + using reference_type = typename ValueTraits::reference_type; const auto td = get_tile_desc(len); std::vector result_cpu(td.num_tiles); diff --git a/lib/kokkos/core/src/ROCm/Kokkos_ROCm_Space.cpp b/lib/kokkos/core/src/ROCm/Kokkos_ROCm_Space.cpp index 1a79425f493c3b0644293c08124622395866c0b8..095aecf79596169b576be006444029bd3ccb7eb8 100644 --- a/lib/kokkos/core/src/ROCm/Kokkos_ROCm_Space.cpp +++ b/lib/kokkos/core/src/ROCm/Kokkos_ROCm_Space.cpp @@ -59,9 +59,7 @@ #include -#if defined(KOKKOS_ENABLE_PROFILING) -#include -#endif +#include /*--------------------------------------------------------------------------*/ /*--------------------------------------------------------------------------*/ @@ -299,17 +297,16 @@ void SharedAllocationRecord:: SharedAllocationRecord::~SharedAllocationRecord() { -#if defined(KOKKOS_ENABLE_PROFILING) if (Kokkos::Profiling::profileLibraryLoaded()) { SharedAllocationHeader header; Kokkos::Impl::DeepCopy( &header, RecordBase::m_alloc_ptr, sizeof(SharedAllocationHeader)); Kokkos::Profiling::deallocateData( - Kokkos::Profiling::SpaceHandle(Kokkos::Experimental::ROCmSpace::name()), + Kokkos::Profiling::make_space_handle( + Kokkos::Experimental::ROCmSpace::name()), header.m_label, data(), size()); } -#endif m_space.deallocate(SharedAllocationRecord::m_alloc_ptr, SharedAllocationRecord::m_alloc_size); @@ -317,14 +314,12 @@ SharedAllocationRecord::~SharedAllocationRecord() { -#if defined(KOKKOS_ENABLE_PROFILING) if (Kokkos::Profiling::profileLibraryLoaded()) { Kokkos::Profiling::deallocateData( - Kokkos::Profiling::SpaceHandle( + Kokkos::Profiling::make_space_handle( Kokkos::Experimental::ROCmHostPinnedSpace::name()), RecordBase::m_alloc_ptr->m_label, data(), size()); } -#endif m_space.deallocate(SharedAllocationRecord::m_alloc_ptr, SharedAllocationRecord::m_alloc_size); @@ -346,13 +341,11 @@ SharedAllocationRecord:: sizeof(SharedAllocationHeader) + arg_alloc_size)), sizeof(SharedAllocationHeader) + arg_alloc_size, arg_dealloc), m_space(arg_space) { -#if defined(KOKKOS_ENABLE_PROFILING) if (Kokkos::Profiling::profileLibraryLoaded()) { Kokkos::Profiling::allocateData( - Kokkos::Profiling::SpaceHandle(arg_space.name()), arg_label, data(), - arg_alloc_size); + Kokkos::Profiling::make_space_handle(arg_space.name()), arg_label, + data(), arg_alloc_size); } -#endif SharedAllocationHeader header; @@ -385,13 +378,11 @@ SharedAllocationRecord:: sizeof(SharedAllocationHeader) + arg_alloc_size)), sizeof(SharedAllocationHeader) + arg_alloc_size, arg_dealloc), m_space(arg_space) { -#if defined(KOKKOS_ENABLE_PROFILING) if (Kokkos::Profiling::profileLibraryLoaded()) { Kokkos::Profiling::allocateData( - Kokkos::Profiling::SpaceHandle(arg_space.name()), arg_label, data(), - arg_alloc_size); + Kokkos::Profiling::make_space_handle(arg_space.name()), arg_label, + data(), arg_alloc_size); } -#endif // Fill in the Header information, directly accessible via host pinned memory RecordBase::m_alloc_ptr->m_record = this; diff --git a/lib/kokkos/core/src/ROCm/Kokkos_ROCm_Task.hpp b/lib/kokkos/core/src/ROCm/Kokkos_ROCm_Task.hpp index 5b04e955132f3649f6a7c4ebe2a4b35a70b70dc0..f7c66ae51838e10452d5190e904e9385e41973d1 100644 --- a/lib/kokkos/core/src/ROCm/Kokkos_ROCm_Task.hpp +++ b/lib/kokkos/core/src/ROCm/Kokkos_ROCm_Task.hpp @@ -182,7 +182,7 @@ KOKKOS_INLINE_FUNCTION Impl::TeamThreadRangeBoundariesStruct< Impl::TaskExec > TeamThreadRange(Impl::TaskExec& thread, const iType1& begin, const iType2& end) { - typedef typename std::common_type::type iType; + using iType = typename std::common_type::type; return Impl::TeamThreadRangeBoundariesStruct< iType, Impl::TaskExec >(thread, begin, end); } diff --git a/lib/kokkos/core/src/ROCm/Kokkos_ROCm_Tile.hpp b/lib/kokkos/core/src/ROCm/Kokkos_ROCm_Tile.hpp index 3d80b4d4409349ae13c29dc2b77de7cd8a5634c3..58950fe3f6ea7d023a5ecafbaea29c45506a26c1 100644 --- a/lib/kokkos/core/src/ROCm/Kokkos_ROCm_Tile.hpp +++ b/lib/kokkos/core/src/ROCm/Kokkos_ROCm_Tile.hpp @@ -213,9 +213,9 @@ void rocm_assign(T& x, const U& y) restrict(cpu, amp) { template struct tile_type { #if defined(ROCM15) - typedef T type; + using type = T; #else - typedef __attribute__((address_space(3))) T type; + using type = __attribute__((address_space(3))) T; #endif }; @@ -260,8 +260,8 @@ struct single_action { template struct tile_buffer : array_view::type>, single_action, T> { - typedef typename tile_type::type element_type; - typedef array_view base; + using element_type = typename tile_type::type; + using base = array_view; using base::base; @@ -273,8 +273,8 @@ struct tile_buffer : array_view::type>, template struct tile_buffer { - typedef typename tile_type::type element_type; - typedef typename tile_type::type tchar_type; + using element_type = typename tile_type::type; + using tchar_type = typename tile_type::type; element_type* element_data; std::size_t n, m; @@ -434,9 +434,9 @@ hc::completion_future tile_for(tile_desc td, F f) { return parallel_for_each( grid, [=](hc::tiled_index<1> t_idx) [[hc]] { #if defined(ROCM15) - typedef T group_t; + using group_t = T; #else - typedef __attribute__((address_space(3))) T group_t; + using group_t = __attribute__((address_space(3))) T; #endif group_t* buffer = (group_t*)hc::get_dynamic_group_segment_base_pointer(); diff --git a/lib/kokkos/core/src/Serial/Kokkos_Serial_ViewCopyETIAvail.hpp b/lib/kokkos/core/src/Serial/Kokkos_Serial_ViewCopyETIAvail.hpp deleted file mode 100644 index f7d18854dc307a220b2905538dd3f7c437428081..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/Serial/Kokkos_Serial_ViewCopyETIAvail.hpp +++ /dev/null @@ -1,57 +0,0 @@ -/* -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER -*/ - -#ifndef KOKKOS_SERIAL_VIEWETIAVAIL_HPP -#define KOKKOS_SERIAL_VIEWETIAVAIL_HPP - -namespace Kokkos { -namespace Impl { -#define KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE Kokkos::Serial - -#include - -#undef KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE -} // namespace Impl -} // namespace Kokkos -#endif diff --git a/lib/kokkos/core/src/Serial/Kokkos_Serial_ViewCopyETIDecl.hpp b/lib/kokkos/core/src/Serial/Kokkos_Serial_ViewCopyETIDecl.hpp deleted file mode 100644 index 1410a7eeacd4b2776e8cb311a447217abf4b3c3b..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/Serial/Kokkos_Serial_ViewCopyETIDecl.hpp +++ /dev/null @@ -1,57 +0,0 @@ -/* -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER -*/ - -#ifndef KOKKOS_SERIAL_VIEWETIDECL_HPP -#define KOKKOS_SERIAL_VIEWETIDECL_HPP - -namespace Kokkos { -namespace Impl { -#define KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE Kokkos::Serial - -#include - -#undef KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE -} // namespace Impl -} // namespace Kokkos -#endif diff --git a/lib/kokkos/core/src/Threads/Kokkos_ThreadsExec.cpp b/lib/kokkos/core/src/Threads/Kokkos_ThreadsExec.cpp index 7adfd127de42bc998bfa6826570adbcfe9e33ebb..dba35ec5219227c8ceea670e3b473e75a726a69b 100644 --- a/lib/kokkos/core/src/Threads/Kokkos_ThreadsExec.cpp +++ b/lib/kokkos/core/src/Threads/Kokkos_ThreadsExec.cpp @@ -55,7 +55,7 @@ #include #include -#include +#include //---------------------------------------------------------------------------- //---------------------------------------------------------------------------- @@ -185,7 +185,7 @@ ThreadsExec::ThreadsExec() ThreadsExec::~ThreadsExec() { const unsigned entry = m_pool_size - (m_pool_rank + 1); - typedef Kokkos::Impl::SharedAllocationRecord Record; + using Record = Kokkos::Impl::SharedAllocationRecord; if (m_scratch) { Record *const r = Record::get_record(m_scratch); @@ -410,7 +410,7 @@ void *ThreadsExec::root_reduce_scratch() { } void ThreadsExec::execute_resize_scratch(ThreadsExec &exec, const void *) { - typedef Kokkos::Impl::SharedAllocationRecord Record; + using Record = Kokkos::Impl::SharedAllocationRecord; if (exec.m_scratch) { Record *const r = Record::get_record(exec.m_scratch); @@ -708,10 +708,6 @@ void ThreadsExec::initialize(unsigned thread_count, unsigned use_numa_count, Impl::init_lock_array_host_space(); Impl::SharedAllocationRecord::tracking_enable(); - -#if defined(KOKKOS_ENABLE_DEPRECATED_CODE) && defined(KOKKOS_ENABLE_PROFILING) - Kokkos::Profiling::initialize(); -#endif } //---------------------------------------------------------------------------- @@ -759,9 +755,7 @@ void ThreadsExec::finalize() { s_threads_process.m_pool_fan_size = 0; s_threads_process.m_pool_state = ThreadsExec::Inactive; -#if defined(KOKKOS_ENABLE_PROFILING) Kokkos::Profiling::finalize(); -#endif } //---------------------------------------------------------------------------- @@ -774,43 +768,20 @@ void ThreadsExec::finalize() { namespace Kokkos { -int Threads::concurrency() { -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - return thread_pool_size(0); -#else - return impl_thread_pool_size(0); -#endif -} -#ifndef KOKKOS_ENABLE_DEPRECATED_CODE +int Threads::concurrency() { return impl_thread_pool_size(0); } void Threads::fence() const { Impl::ThreadsExec::fence(); } -#endif -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE -Threads &Threads::instance(int) -#else -Threads &Threads::impl_instance(int) -#endif -{ +Threads &Threads::impl_instance(int) { static Threads t; return t; } -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE -int Threads::thread_pool_size(int depth) -#else -int Threads::impl_thread_pool_size(int depth) -#endif -{ +int Threads::impl_thread_pool_size(int depth) { return Impl::s_thread_pool_size[depth]; } #if defined(KOKKOS_ACTIVE_EXECUTION_MEMORY_SPACE_HOST) -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE -int Threads::thread_pool_rank() -#else -int Threads::impl_thread_pool_rank() -#endif -{ +int Threads::impl_thread_pool_rank() { const pthread_t pid = pthread_self(); int i = 0; while ((i < Impl::s_thread_pool_size[0]) && (pid != Impl::s_threads_pid[i])) { diff --git a/lib/kokkos/core/src/Threads/Kokkos_ThreadsExec.hpp b/lib/kokkos/core/src/Threads/Kokkos_ThreadsExec.hpp index 1b11f45b728152363f599f6998c40caa1b309589..1c8b3ac5f6a7685d2bec7d36b53fc657bf7ba1b9 100644 --- a/lib/kokkos/core/src/Threads/Kokkos_ThreadsExec.hpp +++ b/lib/kokkos/core/src/Threads/Kokkos_ThreadsExec.hpp @@ -57,6 +57,8 @@ #include #include +#include + //---------------------------------------------------------------------------- namespace Kokkos { @@ -258,8 +260,8 @@ class ThreadsExec { template inline void fan_in_reduce(const FunctorType &f) const { - typedef Kokkos::Impl::FunctorValueJoin Join; - typedef Kokkos::Impl::FunctorFinal Final; + using Join = Kokkos::Impl::FunctorValueJoin; + using Final = Kokkos::Impl::FunctorFinal; const int rev_rank = m_pool_size - (m_pool_rank + 1); @@ -305,11 +307,11 @@ class ThreadsExec { // 3) Rendezvous : All threads inclusive scan value are available // 4) ScanCompleted : exclusive scan value copied - typedef Kokkos::Impl::FunctorValueTraits Traits; - typedef Kokkos::Impl::FunctorValueJoin Join; - typedef Kokkos::Impl::FunctorValueInit Init; + using Traits = Kokkos::Impl::FunctorValueTraits; + using Join = Kokkos::Impl::FunctorValueJoin; + using Init = Kokkos::Impl::FunctorValueInit; - typedef typename Traits::value_type scalar_type; + using scalar_type = typename Traits::value_type; const int rev_rank = m_pool_size - (m_pool_rank + 1); const unsigned count = Traits::value_count(f); @@ -411,11 +413,11 @@ class ThreadsExec { template inline void scan_small(const FunctorType &f) { - typedef Kokkos::Impl::FunctorValueTraits Traits; - typedef Kokkos::Impl::FunctorValueJoin Join; - typedef Kokkos::Impl::FunctorValueInit Init; + using Traits = Kokkos::Impl::FunctorValueTraits; + using Join = Kokkos::Impl::FunctorValueJoin; + using Init = Kokkos::Impl::FunctorValueInit; - typedef typename Traits::value_type scalar_type; + using scalar_type = typename Traits::value_type; const int rev_rank = m_pool_size - (m_pool_rank + 1); const unsigned count = Traits::value_count(f); @@ -441,7 +443,7 @@ class ThreadsExec { } else { // Root thread does the thread-scan before releasing threads - scalar_type *ptr_prev = 0; + scalar_type *ptr_prev = nullptr; for (int rank = 0; rank < m_pool_size; ++rank) { scalar_type *const ptr = @@ -614,52 +616,26 @@ namespace Kokkos { inline int Threads::in_parallel() { return Impl::ThreadsExec::in_parallel(); } -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE -inline int Threads::is_initialized() { - return Impl::ThreadsExec::is_initialized(); -} -#else inline int Threads::impl_is_initialized() { return Impl::ThreadsExec::is_initialized(); } -#endif -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE -inline void Threads::initialize( -#else -inline void Threads::impl_initialize( -#endif - unsigned threads_count, unsigned use_numa_count, - unsigned use_cores_per_numa, bool allow_asynchronous_threadpool) { +inline void Threads::impl_initialize(unsigned threads_count, + unsigned use_numa_count, + unsigned use_cores_per_numa, + bool allow_asynchronous_threadpool) { Impl::ThreadsExec::initialize(threads_count, use_numa_count, use_cores_per_numa, allow_asynchronous_threadpool); } -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE -inline void Threads::finalize() -#else -inline void Threads::impl_finalize() -#endif -{ - Impl::ThreadsExec::finalize(); -} +inline void Threads::impl_finalize() { Impl::ThreadsExec::finalize(); } inline void Threads::print_configuration(std::ostream &s, const bool detail) { Impl::ThreadsExec::print_configuration(s, detail); } -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE -inline bool Threads::sleep() { return Impl::ThreadsExec::sleep(); } - -inline bool Threads::wake() { return Impl::ThreadsExec::wake(); } -#endif - inline void Threads::impl_static_fence() { Impl::ThreadsExec::fence(); } -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE -inline void Threads::fence() { Impl::ThreadsExec::fence(); } -#endif - } /* namespace Kokkos */ //---------------------------------------------------------------------------- @@ -670,6 +646,12 @@ namespace Experimental { template <> class UniqueToken { + private: + using buffer_type = Kokkos::View; + int m_count; + buffer_type m_buffer_view; + uint32_t volatile *m_buffer; + public: using execution_space = Threads; using size_type = int; @@ -677,38 +659,61 @@ class UniqueToken { /// \brief create object size for concurrency on the given instance /// /// This object should not be shared between instances - UniqueToken(execution_space const & = execution_space()) noexcept {} + UniqueToken(execution_space const & = execution_space()) noexcept + : m_count(::Kokkos::Threads::impl_thread_pool_size()), + m_buffer_view(buffer_type()), + m_buffer(nullptr) {} + + UniqueToken(size_type max_size, execution_space const & = execution_space()) + : m_count(max_size > ::Kokkos::Threads::impl_thread_pool_size() + ? ::Kokkos::Threads::impl_thread_pool_size() + : max_size), + m_buffer_view( + max_size > ::Kokkos::Threads::impl_thread_pool_size() + ? buffer_type() + : buffer_type("UniqueToken::m_buffer_view", + ::Kokkos::Impl::concurrent_bitset::buffer_bound( + m_count))), + m_buffer(m_buffer_view.data()) {} /// \brief upper bound for acquired values, i.e. 0 <= value < size() - inline -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - int - size() const noexcept { - return Threads::thread_pool_size(); - } -#else - int - size() const noexcept { - return Threads::impl_thread_pool_size(); - } -#endif + KOKKOS_INLINE_FUNCTION + int size() const noexcept { return m_count; } /// \brief acquire value such that 0 <= value < size() - inline -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - int - acquire() const noexcept { - return Threads::thread_pool_rank(); - } + KOKKOS_INLINE_FUNCTION + int acquire() const noexcept { +#if defined(KOKKOS_ACTIVE_EXECUTION_MEMORY_SPACE_HOST) + if (m_buffer == nullptr) { + return Threads::impl_thread_pool_rank(); + } else { + const ::Kokkos::pair result = + ::Kokkos::Impl::concurrent_bitset::acquire_bounded( + m_buffer, m_count, ::Kokkos::Impl::clock_tic() % m_count); + + if (result.first < 0) { + ::Kokkos::abort( + "UniqueToken failure to acquire tokens, no tokens " + "available"); + } + return result.first; + } #else - int - acquire() const noexcept { - return Threads::impl_thread_pool_rank(); - } + return 0; #endif + } /// \brief release a value acquired by generate - inline void release(int) const noexcept {} + KOKKOS_INLINE_FUNCTION + void release(int i) const noexcept { +#if defined(KOKKOS_ACTIVE_EXECUTION_MEMORY_SPACE_HOST) + if (m_buffer != nullptr) { + ::Kokkos::Impl::concurrent_bitset::release(m_buffer, i); + } +#else + (void)i; +#endif + } }; template <> @@ -723,34 +728,28 @@ class UniqueToken { UniqueToken(execution_space const & = execution_space()) noexcept {} /// \brief upper bound for acquired values, i.e. 0 <= value < size() - inline -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - int - size() const noexcept { - return Threads::thread_pool_size(); - } -#else - int - size() const noexcept { + KOKKOS_INLINE_FUNCTION + int size() const noexcept { +#if defined(KOKKOS_ACTIVE_EXECUTION_MEMORY_SPACE_HOST) return Threads::impl_thread_pool_size(); - } +#else + return 0; #endif + } /// \brief acquire value such that 0 <= value < size() - inline -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - int - acquire() const noexcept { - return Threads::thread_pool_rank(); - } -#else - int - acquire() const noexcept { + KOKKOS_INLINE_FUNCTION + int acquire() const noexcept { +#if defined(KOKKOS_ACTIVE_EXECUTION_MEMORY_SPACE_HOST) return Threads::impl_thread_pool_rank(); - } +#else + return 0; #endif + } + /// \brief release a value acquired by generate - inline void release(int) const noexcept {} + KOKKOS_INLINE_FUNCTION + void release(int) const noexcept {} }; } // namespace Experimental diff --git a/lib/kokkos/core/src/Threads/Kokkos_ThreadsTeam.hpp b/lib/kokkos/core/src/Threads/Kokkos_ThreadsTeam.hpp index fe1a1e8b08efafd090a6ebdc0f1d7c01753c5e1f..dafd2c68c930460e60736f7f03690d7b070cd9e0 100644 --- a/lib/kokkos/core/src/Threads/Kokkos_ThreadsTeam.hpp +++ b/lib/kokkos/core/src/Threads/Kokkos_ThreadsTeam.hpp @@ -74,11 +74,11 @@ class ThreadsExecTeamMember { enum { TEAM_REDUCE_SIZE = 512 }; public: - typedef Kokkos::Threads execution_space; - typedef execution_space::scratch_memory_space scratch_memory_space; + using execution_space = Kokkos::Threads; + using scratch_memory_space = execution_space::scratch_memory_space; private: - typedef execution_space::scratch_memory_space space; + using space = execution_space::scratch_memory_space; ThreadsExec* const m_exec; ThreadsExec* const* m_team_base; ///< Base for team fan-in space m_team_shared; @@ -175,8 +175,8 @@ class ThreadsExecTeamMember { } #else // Make sure there is enough scratch space: - typedef typename if_c::type type; + using type = typename if_c::type; if (m_team_base) { type* const local_value = ((type*)m_team_base[0]->scratch_memory()); @@ -201,8 +201,8 @@ class ThreadsExecTeamMember { } #else // Make sure there is enough scratch space: - typedef typename if_c::type type; + using type = typename if_c::type; f(value); if (m_team_base) { type* const local_value = ((type*)m_team_base[0]->scratch_memory()); @@ -227,10 +227,10 @@ class ThreadsExecTeamMember { #else { // Make sure there is enough scratch space: - typedef - typename if_c::type type; + using type = + typename if_c::type; - if (0 == m_exec) return value; + if (nullptr == m_exec) return value; if (team_rank() != team_size() - 1) *((volatile type*)m_exec->scratch_memory()) = value; @@ -270,12 +270,12 @@ class ThreadsExecTeamMember { #else team_reduce(const ReducerType& reducer, const typename ReducerType::value_type contribution) const { - typedef typename ReducerType::value_type value_type; + using value_type = typename ReducerType::value_type; // Make sure there is enough scratch space: - typedef typename if_c::type type; + using type = typename if_c::type; - if (0 == m_exec) return; + if (nullptr == m_exec) return; type* const local_value = ((type*)m_exec->scratch_memory()); @@ -333,11 +333,10 @@ class ThreadsExecTeamMember { #else { // Make sure there is enough scratch space: - typedef - typename if_c::type - type; + using type = + typename if_c::type; - if (0 == m_exec) return type(0); + if (nullptr == m_exec) return type(0); volatile type* const work_value = ((type*)m_exec->scratch_memory()); @@ -386,7 +385,7 @@ class ThreadsExecTeamMember { */ template KOKKOS_INLINE_FUNCTION ArgType team_scan(const ArgType& value) const { - return this->template team_scan(value, 0); + return this->template team_scan(value, nullptr); } //---------------------------------------- @@ -398,8 +397,8 @@ class ThreadsExecTeamMember { const TeamPolicyInternal& team, const int shared_size) : m_exec(exec), - m_team_base(0), - m_team_shared(0, 0), + m_team_base(nullptr), + m_team_shared(nullptr, 0), m_team_shared_size(shared_size), m_team_size(team.team_size()), m_team_rank(0), @@ -479,9 +478,9 @@ class ThreadsExecTeamMember { } ThreadsExecTeamMember() - : m_exec(0), - m_team_base(0), - m_team_shared(0, 0), + : m_exec(nullptr), + m_team_base(nullptr), + m_team_shared(nullptr, 0), m_team_shared_size(0), m_team_size(1), m_team_rank(0), @@ -578,26 +577,16 @@ class TeamPolicyInternal int m_chunk_size; inline void init(const int league_size_request, const int team_size_request) { -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - const int pool_size = traits::execution_space::thread_pool_size(0); -#else const int pool_size = traits::execution_space::impl_thread_pool_size(0); -#endif const int max_host_team_size = Impl::HostThreadTeamData::max_team_members; const int team_max = pool_size < max_host_team_size ? pool_size : max_host_team_size; -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - const int team_grain = traits::execution_space::thread_pool_size(2); -#else const int team_grain = traits::execution_space::impl_thread_pool_size(2); -#endif m_league_size = league_size_request; -#ifndef KOKKOS_ENABLE_DEPRECATED_CODE if (team_size_request > team_max) Kokkos::abort("Kokkos::abort: Requested Team Size is too large!"); -#endif m_team_size = team_size_request < team_max ? team_size_request : team_max; @@ -618,28 +607,15 @@ class TeamPolicyInternal public: //! Tag this class as a kokkos execution policy //! Tag this class as a kokkos execution policy - typedef TeamPolicyInternal execution_policy; + using execution_policy = TeamPolicyInternal; - typedef PolicyTraits traits; + using traits = PolicyTraits; const typename traits::execution_space& space() const { static typename traits::execution_space m_space; return m_space; } - TeamPolicyInternal& operator=(const TeamPolicyInternal& p) { - m_league_size = p.m_league_size; - m_team_size = p.m_team_size; - m_team_alloc = p.m_team_alloc; - m_team_iter = p.m_team_iter; - m_team_scratch_size[0] = p.m_team_scratch_size[0]; - m_thread_scratch_size[0] = p.m_thread_scratch_size[0]; - m_team_scratch_size[1] = p.m_team_scratch_size[1]; - m_thread_scratch_size[1] = p.m_thread_scratch_size[1]; - m_chunk_size = p.m_chunk_size; - return *this; - } - template friend class TeamPolicyInternal; @@ -659,42 +635,15 @@ class TeamPolicyInternal //---------------------------------------- -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - template - inline static int team_size_max(const FunctorType&) { - int pool_size = traits::execution_space::thread_pool_size(1); - int max_host_team_size = Impl::HostThreadTeamData::max_team_members; - return pool_size < max_host_team_size ? pool_size : max_host_team_size; - } - - template - inline static int team_size_recommended(const FunctorType&) { - return traits::execution_space::thread_pool_size(2); - } - - template - inline static int team_size_recommended(const FunctorType&, const int&) { - return traits::execution_space::thread_pool_size(2); - } -#endif - template int team_size_max(const FunctorType&, const ParallelForTag&) const { -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - int pool_size = traits::execution_space::thread_pool_size(1); -#else - int pool_size = traits::execution_space::impl_thread_pool_size(1); -#endif + int pool_size = traits::execution_space::impl_thread_pool_size(1); int max_host_team_size = Impl::HostThreadTeamData::max_team_members; return pool_size < max_host_team_size ? pool_size : max_host_team_size; } template int team_size_max(const FunctorType&, const ParallelReduceTag&) const { -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - int pool_size = traits::execution_space::thread_pool_size(1); -#else - int pool_size = traits::execution_space::impl_thread_pool_size(1); -#endif + int pool_size = traits::execution_space::impl_thread_pool_size(1); int max_host_team_size = Impl::HostThreadTeamData::max_team_members; return pool_size < max_host_team_size ? pool_size : max_host_team_size; } @@ -705,20 +654,12 @@ class TeamPolicyInternal } template int team_size_recommended(const FunctorType&, const ParallelForTag&) const { -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - return traits::execution_space::thread_pool_size(2); -#else return traits::execution_space::impl_thread_pool_size(2); -#endif } template int team_size_recommended(const FunctorType&, const ParallelReduceTag&) const { -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - return traits::execution_space::thread_pool_size(2); -#else return traits::execution_space::impl_thread_pool_size(2); -#endif } template inline int team_size_recommended(const FunctorType& f, const ReducerType&, @@ -773,17 +714,10 @@ class TeamPolicyInternal m_team_alloc(0), m_team_scratch_size{0, 0}, m_thread_scratch_size{0, 0}, - m_chunk_size(0) -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - { - init(league_size_request, traits::execution_space::thread_pool_size(2)); - } -#else - { + m_chunk_size(0) { init(league_size_request, traits::execution_space::impl_thread_pool_size(2)); } -#endif TeamPolicyInternal(int league_size_request, int team_size_request, int /* vector_length_request */ = 1) @@ -805,57 +739,13 @@ class TeamPolicyInternal m_team_alloc(0), m_team_scratch_size{0, 0}, m_thread_scratch_size{0, 0}, - m_chunk_size(0) -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - { - init(league_size_request, traits::execution_space::thread_pool_size(2)); - } -#else - { + m_chunk_size(0) { init(league_size_request, traits::execution_space::impl_thread_pool_size(2)); } -#endif - inline int chunk_size() const { return m_chunk_size; } - -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - /** \brief set chunk_size to a discrete value*/ - inline TeamPolicyInternal set_chunk_size( - typename traits::index_type chunk_size_) const { - TeamPolicyInternal p = *this; - p.m_chunk_size = chunk_size_; - return p; - } - - /** \brief set per team scratch size for a specific level of the scratch - * hierarchy */ - inline TeamPolicyInternal set_scratch_size( - const int& level, const PerTeamValue& per_team) const { - TeamPolicyInternal p = *this; - p.m_team_scratch_size[level] = per_team.value; - return p; - } - /** \brief set per thread scratch size for a specific level of the scratch - * hierarchy */ - inline TeamPolicyInternal set_scratch_size( - const int& level, const PerThreadValue& per_thread) const { - TeamPolicyInternal p = *this; - p.m_thread_scratch_size[level] = per_thread.value; - return p; - } + inline int chunk_size() const { return m_chunk_size; } - /** \brief set per thread and per team scratch size for a specific level of - * the scratch hierarchy */ - inline TeamPolicyInternal set_scratch_size( - const int& level, const PerTeamValue& per_team, - const PerThreadValue& per_thread) const { - TeamPolicyInternal p = *this; - p.m_team_scratch_size[level] = per_team.value; - p.m_thread_scratch_size[level] = per_thread.value; - return p; - } -#else /** \brief set chunk_size to a discrete value*/ inline TeamPolicyInternal& set_chunk_size( typename traits::index_type chunk_size_) { @@ -884,47 +774,10 @@ class TeamPolicyInternal inline TeamPolicyInternal& set_scratch_size( const int& level, const PerTeamValue& per_team, const PerThreadValue& per_thread) { - m_team_scratch_size[level] = per_team.value; - m_thread_scratch_size[level] = per_thread.value; - return *this; - } -#endif - - protected: -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - /** \brief set chunk_size to a discrete value*/ - inline TeamPolicyInternal internal_set_chunk_size( - typename traits::index_type chunk_size_) { - m_chunk_size = chunk_size_; - return *this; - } - - /** \brief set per team scratch size for a specific level of the scratch - * hierarchy */ - inline TeamPolicyInternal internal_set_scratch_size( - const int& level, const PerTeamValue& per_team) { - m_team_scratch_size[level] = per_team.value; - return *this; - } - - /** \brief set per thread scratch size for a specific level of the scratch - * hierarchy */ - inline TeamPolicyInternal internal_set_scratch_size( - const int& level, const PerThreadValue& per_thread) { - m_thread_scratch_size[level] = per_thread.value; - return *this; - } - - /** \brief set per thread and per team scratch size for a specific level of - * the scratch hierarchy */ - inline TeamPolicyInternal internal_set_scratch_size( - const int& level, const PerTeamValue& per_team, - const PerThreadValue& per_thread) { m_team_scratch_size[level] = per_team.value; m_thread_scratch_size[level] = per_thread.value; return *this; } -#endif private: /** \brief finalize chunk_size if it was set to AUTO*/ @@ -950,7 +803,7 @@ class TeamPolicyInternal } public: - typedef Impl::ThreadsExecTeamMember member_type; + using member_type = Impl::ThreadsExecTeamMember; friend class Impl::ThreadsExecTeamMember; }; @@ -976,7 +829,7 @@ KOKKOS_INLINE_FUNCTION Impl::TeamThreadRangeBoundariesStruct< Impl::ThreadsExecTeamMember> TeamThreadRange(const Impl::ThreadsExecTeamMember& thread, const iType1& begin, const iType2& end) { - typedef typename std::common_type::type iType; + using iType = typename std::common_type::type; return Impl::TeamThreadRangeBoundariesStruct( thread, iType(begin), iType(end)); @@ -998,7 +851,7 @@ KOKKOS_INLINE_FUNCTION Impl::TeamThreadRangeBoundariesStruct< Impl::ThreadsExecTeamMember> TeamVectorRange(const Impl::ThreadsExecTeamMember& thread, const iType1& begin, const iType2& end) { - typedef typename std::common_type::type iType; + using iType = typename std::common_type::type; return Impl::TeamThreadRangeBoundariesStruct( thread, iType(begin), iType(end)); @@ -1167,8 +1020,8 @@ KOKKOS_INLINE_FUNCTION void parallel_scan( const Impl::ThreadVectorRangeBoundariesStruct< iType, Impl::ThreadsExecTeamMember>& loop_boundaries, const FunctorType& lambda) { - typedef Kokkos::Impl::FunctorValueTraits ValueTraits; - typedef typename ValueTraits::value_type value_type; + using ValueTraits = Kokkos::Impl::FunctorValueTraits; + using value_type = typename ValueTraits::value_type; value_type scan_val = value_type(); diff --git a/lib/kokkos/core/src/Threads/Kokkos_Threads_Parallel.hpp b/lib/kokkos/core/src/Threads/Kokkos_Threads_Parallel.hpp index fbc83e9a5550e0dad15ba42a0b32d757328ea0a8..e36c1ea664a78b7420811c79886e73942b6e22e3 100644 --- a/lib/kokkos/core/src/Threads/Kokkos_Threads_Parallel.hpp +++ b/lib/kokkos/core/src/Threads/Kokkos_Threads_Parallel.hpp @@ -48,9 +48,6 @@ #include #if defined(KOKKOS_ENABLE_THREADS) -#include -#include - #include #include @@ -70,10 +67,10 @@ template class ParallelFor, Kokkos::Threads> { private: - typedef Kokkos::RangePolicy Policy; - typedef typename Policy::work_tag WorkTag; - typedef typename Policy::WorkRange WorkRange; - typedef typename Policy::member_type Member; + using Policy = Kokkos::RangePolicy; + using WorkTag = typename Policy::work_tag; + using WorkRange = typename Policy::WorkRange; + using Member = typename Policy::member_type; const FunctorType m_functor; const Policy m_policy; @@ -171,17 +168,16 @@ template class ParallelFor, Kokkos::Threads> { private: - typedef Kokkos::MDRangePolicy MDRangePolicy; - typedef typename MDRangePolicy::impl_range_policy Policy; + using MDRangePolicy = Kokkos::MDRangePolicy; + using Policy = typename MDRangePolicy::impl_range_policy; - typedef typename MDRangePolicy::work_tag WorkTag; + using WorkTag = typename MDRangePolicy::work_tag; - typedef typename Policy::WorkRange WorkRange; - typedef typename Policy::member_type Member; + using WorkRange = typename Policy::WorkRange; + using Member = typename Policy::member_type; - typedef typename Kokkos::Impl::HostIterateTile< - MDRangePolicy, FunctorType, typename MDRangePolicy::work_tag, void> - iterate_type; + using iterate_type = typename Kokkos::Impl::HostIterateTile< + MDRangePolicy, FunctorType, typename MDRangePolicy::work_tag, void>; const FunctorType m_functor; const MDRangePolicy m_mdr_policy; @@ -266,10 +262,10 @@ template class ParallelFor, Kokkos::Threads> { private: - typedef Kokkos::Impl::TeamPolicyInternal - Policy; - typedef typename Policy::work_tag WorkTag; - typedef typename Policy::member_type Member; + using Policy = + Kokkos::Impl::TeamPolicyInternal; + using WorkTag = typename Policy::work_tag; + using Member = typename Policy::member_type; const FunctorType m_functor; const Policy m_policy; @@ -353,26 +349,26 @@ template class ParallelReduce, ReducerType, Kokkos::Threads> { private: - typedef Kokkos::RangePolicy Policy; + using Policy = Kokkos::RangePolicy; - typedef typename Policy::work_tag WorkTag; - typedef typename Policy::WorkRange WorkRange; - typedef typename Policy::member_type Member; + using WorkTag = typename Policy::work_tag; + using WorkRange = typename Policy::WorkRange; + using Member = typename Policy::member_type; - typedef Kokkos::Impl::if_c::value, - FunctorType, ReducerType> - ReducerConditional; - typedef typename ReducerConditional::type ReducerTypeFwd; - typedef + using ReducerConditional = + Kokkos::Impl::if_c::value, + FunctorType, ReducerType>; + using ReducerTypeFwd = typename ReducerConditional::type; + using WorkTagFwd = typename Kokkos::Impl::if_c::value, - WorkTag, void>::type WorkTagFwd; + WorkTag, void>::type; - typedef Kokkos::Impl::FunctorValueTraits - ValueTraits; - typedef Kokkos::Impl::FunctorValueInit ValueInit; + using ValueTraits = + Kokkos::Impl::FunctorValueTraits; + using ValueInit = Kokkos::Impl::FunctorValueInit; - typedef typename ValueTraits::pointer_type pointer_type; - typedef typename ValueTraits::reference_type reference_type; + using pointer_type = typename ValueTraits::pointer_type; + using reference_type = typename ValueTraits::reference_type; const FunctorType m_functor; const Policy m_policy; @@ -523,28 +519,28 @@ template class ParallelReduce, ReducerType, Kokkos::Threads> { private: - typedef Kokkos::MDRangePolicy MDRangePolicy; - typedef typename MDRangePolicy::impl_range_policy Policy; - - typedef typename MDRangePolicy::work_tag WorkTag; - typedef typename Policy::WorkRange WorkRange; - typedef typename Policy::member_type Member; - - typedef Kokkos::Impl::if_c::value, - FunctorType, ReducerType> - ReducerConditional; - typedef typename ReducerConditional::type ReducerTypeFwd; - typedef + using MDRangePolicy = Kokkos::MDRangePolicy; + using Policy = typename MDRangePolicy::impl_range_policy; + + using WorkTag = typename MDRangePolicy::work_tag; + using WorkRange = typename Policy::WorkRange; + using Member = typename Policy::member_type; + + using ReducerConditional = + Kokkos::Impl::if_c::value, + FunctorType, ReducerType>; + using ReducerTypeFwd = typename ReducerConditional::type; + using WorkTagFwd = typename Kokkos::Impl::if_c::value, - WorkTag, void>::type WorkTagFwd; + WorkTag, void>::type; - typedef Kokkos::Impl::FunctorValueTraits - ValueTraits; - typedef Kokkos::Impl::FunctorValueInit ValueInit; + using ValueTraits = + Kokkos::Impl::FunctorValueTraits; + using ValueInit = Kokkos::Impl::FunctorValueInit; - typedef typename ValueTraits::pointer_type pointer_type; - typedef typename ValueTraits::value_type value_type; - typedef typename ValueTraits::reference_type reference_type; + using pointer_type = typename ValueTraits::pointer_type; + using value_type = typename ValueTraits::value_type; + using reference_type = typename ValueTraits::reference_type; using iterate_type = typename Kokkos::Impl::HostIterateTile class ParallelReduce, ReducerType, Kokkos::Threads> { private: - typedef Kokkos::Impl::TeamPolicyInternal - Policy; - typedef typename Policy::work_tag WorkTag; - typedef typename Policy::member_type Member; - - typedef Kokkos::Impl::if_c::value, - FunctorType, ReducerType> - ReducerConditional; - typedef typename ReducerConditional::type ReducerTypeFwd; - typedef + using Policy = + Kokkos::Impl::TeamPolicyInternal; + using WorkTag = typename Policy::work_tag; + using Member = typename Policy::member_type; + + using ReducerConditional = + Kokkos::Impl::if_c::value, + FunctorType, ReducerType>; + using ReducerTypeFwd = typename ReducerConditional::type; + using WorkTagFwd = typename Kokkos::Impl::if_c::value, - WorkTag, void>::type WorkTagFwd; + WorkTag, void>::type; - typedef Kokkos::Impl::FunctorValueTraits - ValueTraits; - typedef Kokkos::Impl::FunctorValueInit ValueInit; + using ValueTraits = + Kokkos::Impl::FunctorValueTraits; + using ValueInit = Kokkos::Impl::FunctorValueInit; - typedef typename ValueTraits::pointer_type pointer_type; - typedef typename ValueTraits::reference_type reference_type; + using pointer_type = typename ValueTraits::pointer_type; + using reference_type = typename ValueTraits::reference_type; const FunctorType m_functor; const Policy m_policy; @@ -807,15 +803,15 @@ template class ParallelScan, Kokkos::Threads> { private: - typedef Kokkos::RangePolicy Policy; - typedef typename Policy::WorkRange WorkRange; - typedef typename Policy::work_tag WorkTag; - typedef typename Policy::member_type Member; - typedef Kokkos::Impl::FunctorValueTraits ValueTraits; - typedef Kokkos::Impl::FunctorValueInit ValueInit; + using Policy = Kokkos::RangePolicy; + using WorkRange = typename Policy::WorkRange; + using WorkTag = typename Policy::work_tag; + using Member = typename Policy::member_type; + using ValueTraits = Kokkos::Impl::FunctorValueTraits; + using ValueInit = Kokkos::Impl::FunctorValueInit; - typedef typename ValueTraits::pointer_type pointer_type; - typedef typename ValueTraits::reference_type reference_type; + using pointer_type = typename ValueTraits::pointer_type; + using reference_type = typename ValueTraits::reference_type; const FunctorType m_functor; const Policy m_policy; @@ -884,15 +880,15 @@ template class ParallelScanWithTotal, ReturnType, Kokkos::Threads> { private: - typedef Kokkos::RangePolicy Policy; - typedef typename Policy::WorkRange WorkRange; - typedef typename Policy::work_tag WorkTag; - typedef typename Policy::member_type Member; - typedef Kokkos::Impl::FunctorValueTraits ValueTraits; - typedef Kokkos::Impl::FunctorValueInit ValueInit; - - typedef typename ValueTraits::pointer_type pointer_type; - typedef typename ValueTraits::reference_type reference_type; + using Policy = Kokkos::RangePolicy; + using WorkRange = typename Policy::WorkRange; + using WorkTag = typename Policy::work_tag; + using Member = typename Policy::member_type; + using ValueTraits = Kokkos::Impl::FunctorValueTraits; + using ValueInit = Kokkos::Impl::FunctorValueInit; + + using pointer_type = typename ValueTraits::pointer_type; + using reference_type = typename ValueTraits::reference_type; const FunctorType m_functor; const Policy m_policy; diff --git a/lib/kokkos/core/src/Threads/Kokkos_Threads_WorkGraphPolicy.hpp b/lib/kokkos/core/src/Threads/Kokkos_Threads_WorkGraphPolicy.hpp index 7bcd9aaee06cfa3f7a2278d694c5058ff757ae78..401f3c0b1a08bb6fab05d2988e7da92460571905 100644 --- a/lib/kokkos/core/src/Threads/Kokkos_Threads_WorkGraphPolicy.hpp +++ b/lib/kokkos/core/src/Threads/Kokkos_Threads_WorkGraphPolicy.hpp @@ -45,6 +45,9 @@ #ifndef KOKKOS_THREADS_WORKGRAPHPOLICY_HPP #define KOKKOS_THREADS_WORKGRAPHPOLICY_HPP +#include +#include + namespace Kokkos { namespace Impl { @@ -52,11 +55,10 @@ template class ParallelFor, Kokkos::Threads> { private: - typedef Kokkos::WorkGraphPolicy Policy; + using Policy = Kokkos::WorkGraphPolicy; - typedef ParallelFor, - Kokkos::Threads> - Self; + using Self = ParallelFor, + Kokkos::Threads>; Policy m_policy; FunctorType m_functor; diff --git a/lib/kokkos/core/src/eti/CMakeLists.txt b/lib/kokkos/core/src/eti/CMakeLists.txt deleted file mode 100644 index a7e7717a6e60ff8f276b60e5fe9eac1cd46ce98d..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/CMakeLists.txt +++ /dev/null @@ -1,25 +0,0 @@ -if (KOKKOS_ENABLE_CUDA) - add_subdirectory(Cuda) -endif() -if (KOKKOS_ENABLE_OPENMP) - add_subdirectory(OpenMP) -endif() -if (KOKKOS_ENABLE_HPX) - add_subdirectory(HPX) -endif() -if (KOKKOS_ENABLE_ROCM) - add_subdirectory(ROCm) -endif() -if (KOKKOS_ENABLE_SERIAL) - add_subdirectory(Serial) -endif() -if (KOKKOS_ENABLE_THREADS) - add_subdirectory(Threads) -endif() - -set(ETI_SOURCES "${ETI_SOURCES}" PARENT_SCOPE) - -install(FILES -common/Kokkos_ViewFillCopyETIAvail_Macros.hpp -common/Kokkos_ViewFillCopyETIDecl_Macros.hpp -DESTINATION include/eti/common) diff --git a/lib/kokkos/core/src/eti/Cuda/CMakeLists.txt b/lib/kokkos/core/src/eti/Cuda/CMakeLists.txt deleted file mode 100644 index 8d635ba36f13cf1614e6bc7a1eaa3de5326970b0..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/CMakeLists.txt +++ /dev/null @@ -1,148 +0,0 @@ -set(D "${CMAKE_CURRENT_SOURCE_DIR}") -set(ETI_SOURCES -${ETI_SOURCES} -${D}/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank1.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank2.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank3.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank4.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank5.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank8.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutRight_Rank1.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutRight_Rank2.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutRight_Rank3.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutRight_Rank4.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutRight_Rank5.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutRight_Rank8.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutStride_Rank1.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutStride_Rank2.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutStride_Rank3.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutStride_Rank4.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutStride_Rank5.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutStride_Rank8.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank1.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank2.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank3.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank4.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank5.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank8.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutRight_Rank1.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutRight_Rank2.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutRight_Rank3.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutRight_Rank4.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutRight_Rank5.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutRight_Rank8.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutStride_Rank1.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutStride_Rank2.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutStride_Rank3.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutStride_Rank4.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutStride_Rank5.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutStride_Rank8.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank1.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank2.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank3.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank4.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank5.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank8.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank1.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank2.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank3.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank4.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank5.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank8.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank1.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank2.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank3.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank4.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank5.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank8.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank1.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank2.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank3.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank4.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank5.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank8.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutRight_Rank1.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutRight_Rank2.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutRight_Rank3.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutRight_Rank4.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutRight_Rank5.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutRight_Rank8.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutStride_Rank1.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutStride_Rank2.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutStride_Rank3.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutStride_Rank4.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutStride_Rank5.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutStride_Rank8.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutLeft_Rank1.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutLeft_Rank2.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutLeft_Rank3.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutLeft_Rank4.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutLeft_Rank5.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutLeft_Rank8.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutRight_Rank1.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutRight_Rank2.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutRight_Rank3.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutRight_Rank4.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutRight_Rank5.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutRight_Rank8.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutStride_Rank1.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutStride_Rank2.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutStride_Rank3.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutStride_Rank4.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutStride_Rank5.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutStride_Rank8.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutLeft_Rank1.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutLeft_Rank2.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutLeft_Rank3.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutLeft_Rank4.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutLeft_Rank5.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutLeft_Rank8.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutRight_Rank1.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutRight_Rank2.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutRight_Rank3.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutRight_Rank4.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutRight_Rank5.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutRight_Rank8.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutStride_Rank1.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutStride_Rank2.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutStride_Rank3.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutStride_Rank4.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutStride_Rank5.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutStride_Rank8.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank1.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank2.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank3.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank4.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank5.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank8.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutRight_Rank1.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutRight_Rank2.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutRight_Rank3.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutRight_Rank4.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutRight_Rank5.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutRight_Rank8.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutStride_Rank1.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutStride_Rank2.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutStride_Rank3.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutStride_Rank4.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutStride_Rank5.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutStride_Rank8.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutLeft_Rank1.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutLeft_Rank2.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutLeft_Rank3.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutLeft_Rank4.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutLeft_Rank5.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutLeft_Rank8.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutRight_Rank1.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutRight_Rank2.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutRight_Rank3.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutRight_Rank4.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutRight_Rank5.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutRight_Rank8.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutStride_Rank1.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutStride_Rank2.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutStride_Rank3.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutStride_Rank4.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutStride_Rank5.cpp -${D}/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutStride_Rank8.cpp -PARENT_SCOPE) diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank1.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank1.cpp deleted file mode 100644 index a72781d8a0dcfe53766c59a68ede210ae5396735..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank1.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutLeft, LayoutRight, Cuda, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutLeft, LayoutLeft, Cuda, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutLeft, LayoutStride, Cuda, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double*, LayoutLeft, Cuda, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank2.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank2.cpp deleted file mode 100644 index 86600a2d38fc24abbbf40a9a129f27a05ec41f0c..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank2.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutLeft, LayoutRight, Cuda, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutLeft, LayoutLeft, Cuda, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutLeft, LayoutStride, Cuda, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double**, LayoutLeft, Cuda, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank3.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank3.cpp deleted file mode 100644 index 1f4e93ec2b22f60387e369652ada9e8c648848a8..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank3.cpp +++ /dev/null @@ -1,56 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutLeft, LayoutRight, Cuda, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutLeft, LayoutLeft, Cuda, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutLeft, LayoutStride, Cuda, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double***, LayoutLeft, Cuda, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank4.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank4.cpp deleted file mode 100644 index e6d965eb4811a2dc5b9b23b274be5a1860cb3bf3..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank4.cpp +++ /dev/null @@ -1,57 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutLeft, LayoutRight, Cuda, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutLeft, LayoutLeft, Cuda, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutLeft, LayoutStride, Cuda, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double****, LayoutLeft, Cuda, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank5.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank5.cpp deleted file mode 100644 index 5bb1ce76e639b8306f8ea4211c3af17ee92dd95b..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank5.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutLeft, LayoutRight, Cuda, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutLeft, LayoutLeft, Cuda, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutLeft, LayoutStride, Cuda, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double*****, LayoutLeft, Cuda, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank8.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank8.cpp deleted file mode 100644 index cad6e9b671ea7099ddd9d67c3d1f0e12bb78df6d..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank8.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutLeft, LayoutRight, Cuda, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutLeft, LayoutLeft, Cuda, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutLeft, LayoutStride, Cuda, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double********, LayoutLeft, Cuda, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutRight_Rank1.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutRight_Rank1.cpp deleted file mode 100644 index 5c31da459e0efdb3b048db5d27775f5aa1ea6d9d..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutRight_Rank1.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutRight, LayoutRight, Cuda, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutRight, LayoutLeft, Cuda, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutRight, LayoutStride, Cuda, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double*, LayoutRight, Cuda, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutRight_Rank2.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutRight_Rank2.cpp deleted file mode 100644 index 7ef6acb4b199a6b04207814dced6459af5895af2..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutRight_Rank2.cpp +++ /dev/null @@ -1,56 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutRight, LayoutRight, Cuda, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutRight, LayoutLeft, Cuda, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutRight, LayoutStride, Cuda, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double**, LayoutRight, Cuda, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutRight_Rank3.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutRight_Rank3.cpp deleted file mode 100644 index 5680b8581c2b14f743d2300f177ab13b1e03a55b..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutRight_Rank3.cpp +++ /dev/null @@ -1,57 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutRight, LayoutRight, Cuda, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutRight, LayoutLeft, Cuda, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutRight, LayoutStride, Cuda, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double***, LayoutRight, Cuda, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutRight_Rank4.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutRight_Rank4.cpp deleted file mode 100644 index bae1ee88270458abc8a5d2a287dbc5a932a4e05a..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutRight_Rank4.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutRight, LayoutRight, Cuda, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutRight, LayoutLeft, Cuda, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutRight, LayoutStride, Cuda, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double****, LayoutRight, Cuda, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutRight_Rank5.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutRight_Rank5.cpp deleted file mode 100644 index 9ad5912c0bfd0cbd7c355a209d4bc8c81421820c..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutRight_Rank5.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutRight, LayoutRight, Cuda, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutRight, LayoutLeft, Cuda, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutRight, LayoutStride, Cuda, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double*****, LayoutRight, Cuda, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutRight_Rank8.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutRight_Rank8.cpp deleted file mode 100644 index 12806d1c5b2c5f36b0a16dc4ee37fd25243156fc..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutRight_Rank8.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutRight, LayoutRight, Cuda, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutRight, LayoutLeft, Cuda, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutRight, LayoutStride, Cuda, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double********, LayoutRight, Cuda, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutStride_Rank1.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutStride_Rank1.cpp deleted file mode 100644 index 0330b205db29cff4ceae306e2ff4d4e0ce9abc3e..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutStride_Rank1.cpp +++ /dev/null @@ -1,56 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutStride, LayoutRight, Cuda, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutStride, LayoutLeft, Cuda, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutStride, LayoutStride, Cuda, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double*, LayoutStride, Cuda, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutStride_Rank2.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutStride_Rank2.cpp deleted file mode 100644 index 10e894125d193ed73d0610c3abcd4cc2869102ae..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutStride_Rank2.cpp +++ /dev/null @@ -1,57 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutStride, LayoutRight, Cuda, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutStride, LayoutLeft, Cuda, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutStride, LayoutStride, Cuda, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double**, LayoutStride, Cuda, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutStride_Rank3.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutStride_Rank3.cpp deleted file mode 100644 index 7cec3526625bedb3a2f50d2b8d85eaebae1bdd02..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutStride_Rank3.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutStride, LayoutRight, Cuda, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutStride, LayoutLeft, Cuda, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutStride, LayoutStride, Cuda, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double***, LayoutStride, Cuda, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutStride_Rank4.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutStride_Rank4.cpp deleted file mode 100644 index 5bb6913ccefa2a35105bb133064634cdd76bd6fc..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutStride_Rank4.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutStride, LayoutRight, Cuda, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutStride, LayoutLeft, Cuda, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutStride, LayoutStride, Cuda, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double****, LayoutStride, Cuda, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutStride_Rank5.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutStride_Rank5.cpp deleted file mode 100644 index f138a2049aa68e6ad8adbd4af85817281de152c6..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutStride_Rank5.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutStride, LayoutRight, Cuda, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutStride, LayoutLeft, Cuda, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutStride, LayoutStride, Cuda, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double*****, LayoutStride, Cuda, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutStride_Rank8.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutStride_Rank8.cpp deleted file mode 100644 index e1901422d1bcb26860f44fee6bf617cc40125505..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutStride_Rank8.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutStride, LayoutRight, Cuda, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutStride, LayoutLeft, Cuda, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutStride, LayoutStride, Cuda, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double********, LayoutStride, Cuda, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank2.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank2.cpp deleted file mode 100644 index dab83bfb18ecfda33d1df8065a17fe4e0ad55dc7..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank2.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutLeft, LayoutRight, Cuda, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutLeft, LayoutLeft, Cuda, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutLeft, LayoutStride, Cuda, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float**, LayoutLeft, Cuda, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank3.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank3.cpp deleted file mode 100644 index 522303b4477b30136191745457db8ad64adf7b4c..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank3.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutLeft, LayoutRight, Cuda, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutLeft, LayoutLeft, Cuda, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutLeft, LayoutStride, Cuda, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float***, LayoutLeft, Cuda, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank4.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank4.cpp deleted file mode 100644 index 608b4d4c27c1941d053fb88fdfc2ea9aea08953e..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank4.cpp +++ /dev/null @@ -1,56 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutLeft, LayoutRight, Cuda, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutLeft, LayoutLeft, Cuda, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutLeft, LayoutStride, Cuda, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float****, LayoutLeft, Cuda, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank5.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank5.cpp deleted file mode 100644 index 2c33f7facdf4937bf48ed407e0d7485d463f0dd0..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank5.cpp +++ /dev/null @@ -1,57 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutLeft, LayoutRight, Cuda, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutLeft, LayoutLeft, Cuda, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutLeft, LayoutStride, Cuda, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float*****, LayoutLeft, Cuda, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank8.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank8.cpp deleted file mode 100644 index 3ad16222e454a4b0e4dd7f4ae129d8f8c5366039..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank8.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutLeft, LayoutRight, Cuda, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutLeft, LayoutLeft, Cuda, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutLeft, LayoutStride, Cuda, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float********, LayoutLeft, Cuda, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutRight_Rank1.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutRight_Rank1.cpp deleted file mode 100644 index 47f39d7ae224b091b8c6fa77981359290bf0ba32..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutRight_Rank1.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutRight, LayoutRight, Cuda, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutRight, LayoutLeft, Cuda, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutRight, LayoutStride, Cuda, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float*, LayoutRight, Cuda, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutRight_Rank2.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutRight_Rank2.cpp deleted file mode 100644 index bca253b756584321b327d1c343f38823f08bea69..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutRight_Rank2.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutRight, LayoutRight, Cuda, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutRight, LayoutLeft, Cuda, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutRight, LayoutStride, Cuda, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float**, LayoutRight, Cuda, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutRight_Rank3.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutRight_Rank3.cpp deleted file mode 100644 index 20fadbd5d8c1bbc3c48d677eb160f0b59d7e8a39..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutRight_Rank3.cpp +++ /dev/null @@ -1,56 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutRight, LayoutRight, Cuda, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutRight, LayoutLeft, Cuda, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutRight, LayoutStride, Cuda, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float***, LayoutRight, Cuda, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutRight_Rank4.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutRight_Rank4.cpp deleted file mode 100644 index 4d4716510e61330882f5ce888608854f38f94c63..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutRight_Rank4.cpp +++ /dev/null @@ -1,57 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutRight, LayoutRight, Cuda, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutRight, LayoutLeft, Cuda, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutRight, LayoutStride, Cuda, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float****, LayoutRight, Cuda, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutRight_Rank5.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutRight_Rank5.cpp deleted file mode 100644 index 42fa2c7b4e3c94a599a097946590e675d11aae76..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutRight_Rank5.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutRight, LayoutRight, Cuda, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutRight, LayoutLeft, Cuda, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutRight, LayoutStride, Cuda, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float*****, LayoutRight, Cuda, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutRight_Rank8.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutRight_Rank8.cpp deleted file mode 100644 index a3cd8cc994b986ab66f0801f3e86561d98e32a6a..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutRight_Rank8.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutRight, LayoutRight, Cuda, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutRight, LayoutLeft, Cuda, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutRight, LayoutStride, Cuda, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float********, LayoutRight, Cuda, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutStride_Rank1.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutStride_Rank1.cpp deleted file mode 100644 index 9efcc720c3c1f73ca4eb4e092a08a03810aa3e54..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutStride_Rank1.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutStride, LayoutRight, Cuda, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutStride, LayoutLeft, Cuda, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutStride, LayoutStride, Cuda, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float*, LayoutStride, Cuda, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutStride_Rank2.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutStride_Rank2.cpp deleted file mode 100644 index c34c6a391f2707f97d7f4e17bc1fb389a2e9dd9a..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutStride_Rank2.cpp +++ /dev/null @@ -1,56 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutStride, LayoutRight, Cuda, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutStride, LayoutLeft, Cuda, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutStride, LayoutStride, Cuda, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float**, LayoutStride, Cuda, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutStride_Rank3.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutStride_Rank3.cpp deleted file mode 100644 index 6d7cf16fa5e5ab6c5dcd370785a005cbfcfd8742..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutStride_Rank3.cpp +++ /dev/null @@ -1,57 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutStride, LayoutRight, Cuda, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutStride, LayoutLeft, Cuda, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutStride, LayoutStride, Cuda, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float***, LayoutStride, Cuda, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutStride_Rank4.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutStride_Rank4.cpp deleted file mode 100644 index ddd65c01a885e35e81809a02b7be99637c53c580..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutStride_Rank4.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutStride, LayoutRight, Cuda, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutStride, LayoutLeft, Cuda, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutStride, LayoutStride, Cuda, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float****, LayoutStride, Cuda, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutStride_Rank5.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutStride_Rank5.cpp deleted file mode 100644 index ae41d193957e9daaafde10fa32588ee034eaa512..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutStride_Rank5.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutStride, LayoutRight, Cuda, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutStride, LayoutLeft, Cuda, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutStride, LayoutStride, Cuda, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float*****, LayoutStride, Cuda, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutStride_Rank8.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutStride_Rank8.cpp deleted file mode 100644 index 5d349b69907056e29f26d20b82f5430fb8a689de..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutStride_Rank8.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutStride, LayoutRight, Cuda, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutStride, LayoutLeft, Cuda, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutStride, LayoutStride, Cuda, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float********, LayoutStride, Cuda, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank1.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank1.cpp deleted file mode 100644 index c60df3767435356f73ce9bf8efb047cf6907102a..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank1.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutLeft, LayoutRight, Cuda, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutLeft, LayoutLeft, Cuda, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutLeft, LayoutStride, Cuda, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t*, LayoutLeft, Cuda, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank2.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank2.cpp deleted file mode 100644 index cfce1b7916b5fe0aef4f648b9fdb8ed331d34496..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank2.cpp +++ /dev/null @@ -1,56 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutLeft, LayoutRight, Cuda, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutLeft, LayoutLeft, Cuda, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutLeft, LayoutStride, Cuda, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t**, LayoutLeft, Cuda, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank3.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank3.cpp deleted file mode 100644 index 659ef18377d3f992ea205b2d53ba1d18762809d3..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank3.cpp +++ /dev/null @@ -1,57 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutLeft, LayoutRight, Cuda, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutLeft, LayoutLeft, Cuda, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutLeft, LayoutStride, Cuda, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t***, LayoutLeft, Cuda, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank4.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank4.cpp deleted file mode 100644 index 84eb9918530738f00e9240b29d79f8b58a186c14..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank4.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutLeft, LayoutRight, Cuda, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutLeft, LayoutLeft, Cuda, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutLeft, LayoutStride, Cuda, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t****, LayoutLeft, Cuda, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank5.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank5.cpp deleted file mode 100644 index 7f98cebd64b92b0e456f165756a5f86adc272645..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank5.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutLeft, LayoutRight, Cuda, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutLeft, LayoutLeft, Cuda, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutLeft, LayoutStride, Cuda, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t*****, LayoutLeft, Cuda, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank8.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank8.cpp deleted file mode 100644 index f26ae1e4e1cfca1cb4e2a6f0b8a65fba0e9aebe7..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank8.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutLeft, LayoutRight, Cuda, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutLeft, LayoutLeft, Cuda, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutLeft, LayoutStride, Cuda, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t********, LayoutLeft, Cuda, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank1.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank1.cpp deleted file mode 100644 index a5167f6fa8488b95ab9efbcee66530d8e96f2120..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank1.cpp +++ /dev/null @@ -1,56 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutRight, LayoutRight, Cuda, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutRight, LayoutLeft, Cuda, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutRight, LayoutStride, Cuda, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t*, LayoutRight, Cuda, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank2.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank2.cpp deleted file mode 100644 index 60658f0bd7c8ad6773fb98772acb9841d5e11b00..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank2.cpp +++ /dev/null @@ -1,57 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutRight, LayoutRight, Cuda, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutRight, LayoutLeft, Cuda, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutRight, LayoutStride, Cuda, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t**, LayoutRight, Cuda, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank3.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank3.cpp deleted file mode 100644 index f74d41f90284e727c23396e90924b730a8ea9444..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank3.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutRight, LayoutRight, Cuda, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutRight, LayoutLeft, Cuda, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutRight, LayoutStride, Cuda, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t***, LayoutRight, Cuda, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank4.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank4.cpp deleted file mode 100644 index 03459667487b25f304db33578e34c0df5b65a700..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank4.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutRight, LayoutRight, Cuda, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutRight, LayoutLeft, Cuda, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutRight, LayoutStride, Cuda, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t****, LayoutRight, Cuda, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank5.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank5.cpp deleted file mode 100644 index bfbaaaec7af487d2bb198e3013f3df1004eb508c..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank5.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutRight, LayoutRight, Cuda, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutRight, LayoutLeft, Cuda, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutRight, LayoutStride, Cuda, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t*****, LayoutRight, Cuda, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank8.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank8.cpp deleted file mode 100644 index 1be20a18fccda2f40622ba745fa5b9d83a3b709a..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank8.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutRight, LayoutRight, Cuda, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutRight, LayoutLeft, Cuda, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutRight, LayoutStride, Cuda, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t********, LayoutRight, Cuda, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank1.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank1.cpp deleted file mode 100644 index 51394ca352e81353a743ff95f18b36061f5788a4..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank1.cpp +++ /dev/null @@ -1,57 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutStride, LayoutRight, Cuda, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutStride, LayoutLeft, Cuda, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutStride, LayoutStride, Cuda, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t*, LayoutStride, Cuda, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank2.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank2.cpp deleted file mode 100644 index df4ef48e33d8a3dd8c218fadbf3f5aa17c5ba0fa..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank2.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutStride, LayoutRight, Cuda, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutStride, LayoutLeft, Cuda, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutStride, LayoutStride, Cuda, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t**, LayoutStride, Cuda, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank3.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank3.cpp deleted file mode 100644 index 83671a7caa0d8053f9902b86549b95dbf4d66a05..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank3.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutStride, LayoutRight, Cuda, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutStride, LayoutLeft, Cuda, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutStride, LayoutStride, Cuda, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t***, LayoutStride, Cuda, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank4.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank4.cpp deleted file mode 100644 index e652e268beffa77e8753b572dc906e3112b82b99..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank4.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutStride, LayoutRight, Cuda, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutStride, LayoutLeft, Cuda, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutStride, LayoutStride, Cuda, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t****, LayoutStride, Cuda, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank5.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank5.cpp deleted file mode 100644 index 2b6b50a89079d8041856b97bc27941be2315f6a5..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank5.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutStride, LayoutRight, Cuda, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutStride, LayoutLeft, Cuda, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutStride, LayoutStride, Cuda, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t*****, LayoutStride, Cuda, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank8.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank8.cpp deleted file mode 100644 index 072569f7eca58f284f926f6cad4e8ef6f4cf9b29..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank8.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutStride, LayoutRight, Cuda, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutStride, LayoutLeft, Cuda, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutStride, LayoutStride, Cuda, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t********, LayoutStride, Cuda, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank1.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank1.cpp deleted file mode 100644 index b2bb00cb8960bae9327d725a4615187444176c56..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank1.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutLeft, LayoutRight, Cuda, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutLeft, LayoutLeft, Cuda, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutLeft, LayoutStride, Cuda, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int*, LayoutLeft, Cuda, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank2.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank2.cpp deleted file mode 100644 index 39615042ee9ff2e42563501740fa726f2100863a..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank2.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutLeft, LayoutRight, Cuda, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutLeft, LayoutLeft, Cuda, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutLeft, LayoutStride, Cuda, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int**, LayoutLeft, Cuda, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank4.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank4.cpp deleted file mode 100644 index e557600c6c5be04e27e193c36a24544fdc18fbd2..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank4.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutLeft, LayoutRight, Cuda, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutLeft, LayoutLeft, Cuda, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutLeft, LayoutStride, Cuda, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int****, LayoutLeft, Cuda, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank5.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank5.cpp deleted file mode 100644 index 0e31670af8fd8e6b1a8b3694c16caa8b9078209a..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank5.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutLeft, LayoutRight, Cuda, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutLeft, LayoutLeft, Cuda, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutLeft, LayoutStride, Cuda, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int*****, LayoutLeft, Cuda, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank8.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank8.cpp deleted file mode 100644 index 873bcb274eb0b3e7ea8399c4fcb44e9955ac1062..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank8.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutLeft, LayoutRight, Cuda, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutLeft, LayoutLeft, Cuda, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutLeft, LayoutStride, Cuda, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int********, LayoutLeft, Cuda, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutRight_Rank1.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutRight_Rank1.cpp deleted file mode 100644 index 0cb8e8f22fb76ef6e465da6cf81f42a89ada9e9c..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutRight_Rank1.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutRight, LayoutRight, Cuda, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutRight, LayoutLeft, Cuda, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutRight, LayoutStride, Cuda, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int*, LayoutRight, Cuda, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutRight_Rank2.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutRight_Rank2.cpp deleted file mode 100644 index 120fbd427897f9064f1d74b9ade8e3a589bdf1ba..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutRight_Rank2.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutRight, LayoutRight, Cuda, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutRight, LayoutLeft, Cuda, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutRight, LayoutStride, Cuda, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int**, LayoutRight, Cuda, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutRight_Rank3.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutRight_Rank3.cpp deleted file mode 100644 index 181c8df8dfe752bd938ec21b096911661441669f..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutRight_Rank3.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutRight, LayoutRight, Cuda, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutRight, LayoutLeft, Cuda, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutRight, LayoutStride, Cuda, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int***, LayoutRight, Cuda, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutRight_Rank4.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutRight_Rank4.cpp deleted file mode 100644 index 0e7254d25b79cfca4ff1abfb438d6ea3f4300f0a..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutRight_Rank4.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutRight, LayoutRight, Cuda, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutRight, LayoutLeft, Cuda, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutRight, LayoutStride, Cuda, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int****, LayoutRight, Cuda, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutRight_Rank5.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutRight_Rank5.cpp deleted file mode 100644 index e0a383743a95e441c4b8954dcb7c7520758b1f5c..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutRight_Rank5.cpp +++ /dev/null @@ -1,56 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutRight, LayoutRight, Cuda, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutRight, LayoutLeft, Cuda, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutRight, LayoutStride, Cuda, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int*****, LayoutRight, Cuda, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutRight_Rank8.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutRight_Rank8.cpp deleted file mode 100644 index 4bcab3263f5b56ba1c3ff5d20f8f9524f0787130..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutRight_Rank8.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutRight, LayoutRight, Cuda, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutRight, LayoutLeft, Cuda, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutRight, LayoutStride, Cuda, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int********, LayoutRight, Cuda, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutStride_Rank1.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutStride_Rank1.cpp deleted file mode 100644 index 4fc3ffeac896dd5b9010b4d567fb7e49da26b064..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutStride_Rank1.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutStride, LayoutRight, Cuda, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutStride, LayoutLeft, Cuda, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutStride, LayoutStride, Cuda, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int*, LayoutStride, Cuda, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutStride_Rank2.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutStride_Rank2.cpp deleted file mode 100644 index cf63d330b1353bbd478300e92c82c03957b21e73..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutStride_Rank2.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutStride, LayoutRight, Cuda, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutStride, LayoutLeft, Cuda, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutStride, LayoutStride, Cuda, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int**, LayoutStride, Cuda, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutStride_Rank3.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutStride_Rank3.cpp deleted file mode 100644 index e3ec8d7a0e5101f4123498e0ca880a2e63008ce7..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutStride_Rank3.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutStride, LayoutRight, Cuda, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutStride, LayoutLeft, Cuda, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutStride, LayoutStride, Cuda, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int***, LayoutStride, Cuda, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutStride_Rank4.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutStride_Rank4.cpp deleted file mode 100644 index 9e8739ba3d7fc3bdb7120de5e1a616a7067a7243..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutStride_Rank4.cpp +++ /dev/null @@ -1,56 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutStride, LayoutRight, Cuda, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutStride, LayoutLeft, Cuda, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutStride, LayoutStride, Cuda, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int****, LayoutStride, Cuda, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutStride_Rank5.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutStride_Rank5.cpp deleted file mode 100644 index 30a6e366f3f30f537c04edf5a4922078f9f8d828..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutStride_Rank5.cpp +++ /dev/null @@ -1,57 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutStride, LayoutRight, Cuda, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutStride, LayoutLeft, Cuda, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutStride, LayoutStride, Cuda, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int*****, LayoutStride, Cuda, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutStride_Rank8.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutStride_Rank8.cpp deleted file mode 100644 index 1d7eedd9ffd2cfdc61b1d8907c7a8b4b2b41f82a..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutStride_Rank8.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutStride, LayoutRight, Cuda, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutStride, LayoutLeft, Cuda, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutStride, LayoutStride, Cuda, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int********, LayoutStride, Cuda, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutLeft_Rank1.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutLeft_Rank1.cpp deleted file mode 100644 index 372bc02c3f1f60ddf7f7753b543529a32316a49f..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutLeft_Rank1.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutLeft, LayoutRight, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutLeft, LayoutLeft, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutLeft, LayoutStride, Cuda, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double*, LayoutLeft, Cuda, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutLeft_Rank2.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutLeft_Rank2.cpp deleted file mode 100644 index 9c9328f21d614513123ac5b34f79dc40c36c2ac0..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutLeft_Rank2.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutLeft, LayoutRight, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutLeft, LayoutLeft, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutLeft, LayoutStride, Cuda, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double**, LayoutLeft, Cuda, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutLeft_Rank3.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutLeft_Rank3.cpp deleted file mode 100644 index 86a85d220a7e01b0f1827314d9d172e41cef348e..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutLeft_Rank3.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutLeft, LayoutRight, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutLeft, LayoutLeft, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutLeft, LayoutStride, Cuda, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double***, LayoutLeft, Cuda, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutLeft_Rank4.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutLeft_Rank4.cpp deleted file mode 100644 index 251bf7dd1855a0aa731aaf33776123b6fb6636eb..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutLeft_Rank4.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutLeft, LayoutRight, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutLeft, LayoutLeft, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutLeft, LayoutStride, Cuda, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double****, LayoutLeft, Cuda, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutLeft_Rank5.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutLeft_Rank5.cpp deleted file mode 100644 index f0c0d79391f99229522bd3dee8161f3e7d25f2ff..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutLeft_Rank5.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutLeft, LayoutRight, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutLeft, LayoutLeft, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutLeft, LayoutStride, Cuda, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double*****, LayoutLeft, Cuda, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutLeft_Rank8.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutLeft_Rank8.cpp deleted file mode 100644 index 1b094259f8fb6ca058076c8048a42895e4ebc37d..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutLeft_Rank8.cpp +++ /dev/null @@ -1,57 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutLeft, LayoutRight, Cuda, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutLeft, LayoutLeft, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutLeft, LayoutStride, Cuda, - int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double********, LayoutLeft, Cuda, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutRight_Rank1.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutRight_Rank1.cpp deleted file mode 100644 index 82b8f87fa499fd3096ffe5fe4bc86de310686a20..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutRight_Rank1.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutRight, LayoutRight, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutRight, LayoutLeft, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutRight, LayoutStride, Cuda, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double*, LayoutRight, Cuda, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutRight_Rank2.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutRight_Rank2.cpp deleted file mode 100644 index daf8a4d1e7c71b22275fe3bcf7bdb3695331a109..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutRight_Rank2.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutRight, LayoutRight, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutRight, LayoutLeft, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutRight, LayoutStride, Cuda, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double**, LayoutRight, Cuda, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutRight_Rank3.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutRight_Rank3.cpp deleted file mode 100644 index bbdd48bfd56d031df0fe4e283813b8861c3337de..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutRight_Rank3.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutRight, LayoutRight, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutRight, LayoutLeft, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutRight, LayoutStride, Cuda, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double***, LayoutRight, Cuda, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutRight_Rank4.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutRight_Rank4.cpp deleted file mode 100644 index 093c250d572b9ec1d26c6bd16aee599119110bee..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutRight_Rank4.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutRight, LayoutRight, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutRight, LayoutLeft, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutRight, LayoutStride, Cuda, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double****, LayoutRight, Cuda, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutRight_Rank5.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutRight_Rank5.cpp deleted file mode 100644 index c8472757c7098e80ec6d5d92c96e12e3ee222eb3..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutRight_Rank5.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutRight, LayoutRight, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutRight, LayoutLeft, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutRight, LayoutStride, Cuda, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double*****, LayoutRight, Cuda, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutRight_Rank8.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutRight_Rank8.cpp deleted file mode 100644 index f8a92911327a9e6a2a3931a2ac286f73975223a9..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutRight_Rank8.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutRight, LayoutRight, Cuda, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutRight, LayoutLeft, Cuda, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutRight, LayoutStride, Cuda, - int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double********, LayoutRight, Cuda, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutStride_Rank1.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutStride_Rank1.cpp deleted file mode 100644 index f47423fc1b408b5ad24c3c60e54c7f8742f8c23c..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutStride_Rank1.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutStride, LayoutRight, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutStride, LayoutLeft, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutStride, LayoutStride, Cuda, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double*, LayoutStride, Cuda, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutStride_Rank2.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutStride_Rank2.cpp deleted file mode 100644 index f9b8d6dba30e12b76e8cdd5325b4ec2577732f03..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutStride_Rank2.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutStride, LayoutRight, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutStride, LayoutLeft, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutStride, LayoutStride, Cuda, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double**, LayoutStride, Cuda, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutStride_Rank3.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutStride_Rank3.cpp deleted file mode 100644 index 8dd503b5a80ccc577c1e11f28d563762ee014dd2..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutStride_Rank3.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutStride, LayoutRight, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutStride, LayoutLeft, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutStride, LayoutStride, Cuda, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double***, LayoutStride, Cuda, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutStride_Rank4.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutStride_Rank4.cpp deleted file mode 100644 index f9317134555f525cf85ff89ba858c6f30709ca6b..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutStride_Rank4.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutStride, LayoutRight, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutStride, LayoutLeft, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutStride, LayoutStride, Cuda, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double****, LayoutStride, Cuda, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutStride_Rank5.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutStride_Rank5.cpp deleted file mode 100644 index 9105b908b3697b14ad620831d0bc7ddb2ec7d58b..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutStride_Rank5.cpp +++ /dev/null @@ -1,56 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutStride, LayoutRight, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutStride, LayoutLeft, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutStride, LayoutStride, Cuda, - int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double*****, LayoutStride, Cuda, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutStride_Rank8.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutStride_Rank8.cpp deleted file mode 100644 index 6f92bf8f50fa4a63ddef52bbc8a7e7e92a806125..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutStride_Rank8.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutStride, LayoutRight, Cuda, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutStride, LayoutLeft, Cuda, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutStride, LayoutStride, Cuda, - int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double********, LayoutStride, Cuda, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutLeft_Rank1.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutLeft_Rank1.cpp deleted file mode 100644 index 6538490fe3cb017e921e365f5b4104e343008e2a..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutLeft_Rank1.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutLeft, LayoutRight, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutLeft, LayoutLeft, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutLeft, LayoutStride, Cuda, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float*, LayoutLeft, Cuda, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutLeft_Rank2.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutLeft_Rank2.cpp deleted file mode 100644 index c7a793b3d1d2753812fbd3126cc520348fe84c9a..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutLeft_Rank2.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutLeft, LayoutRight, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutLeft, LayoutLeft, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutLeft, LayoutStride, Cuda, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float**, LayoutLeft, Cuda, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutLeft_Rank3.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutLeft_Rank3.cpp deleted file mode 100644 index 7e5c7b56f0af0c014500c3ea47e26f3264bb5f63..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutLeft_Rank3.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutLeft, LayoutRight, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutLeft, LayoutLeft, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutLeft, LayoutStride, Cuda, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float***, LayoutLeft, Cuda, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutLeft_Rank4.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutLeft_Rank4.cpp deleted file mode 100644 index dcf70436985c7d2d9239a47e76de954bc9775674..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutLeft_Rank4.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutLeft, LayoutRight, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutLeft, LayoutLeft, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutLeft, LayoutStride, Cuda, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float****, LayoutLeft, Cuda, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutLeft_Rank5.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutLeft_Rank5.cpp deleted file mode 100644 index 3bd6920f419a49c8fdca261ebce9d371b2d59274..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutLeft_Rank5.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutLeft, LayoutRight, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutLeft, LayoutLeft, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutLeft, LayoutStride, Cuda, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float*****, LayoutLeft, Cuda, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutLeft_Rank8.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutLeft_Rank8.cpp deleted file mode 100644 index d75d3f92410686184e78cb5bc73a2e5dc2a576fc..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutLeft_Rank8.cpp +++ /dev/null @@ -1,56 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutLeft, LayoutRight, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutLeft, LayoutLeft, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutLeft, LayoutStride, Cuda, - int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float********, LayoutLeft, Cuda, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutRight_Rank1.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutRight_Rank1.cpp deleted file mode 100644 index 640fd04e9656e8ef710140badfb479b4c142fdeb..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutRight_Rank1.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutRight, LayoutRight, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutRight, LayoutLeft, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutRight, LayoutStride, Cuda, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float*, LayoutRight, Cuda, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutRight_Rank2.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutRight_Rank2.cpp deleted file mode 100644 index b17601cf0a39940ce72f466d70de2697ad4aad01..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutRight_Rank2.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutRight, LayoutRight, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutRight, LayoutLeft, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutRight, LayoutStride, Cuda, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float**, LayoutRight, Cuda, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutRight_Rank3.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutRight_Rank3.cpp deleted file mode 100644 index a039d13f19af3ea9b1970bf8571d1a81b79886cc..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutRight_Rank3.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutRight, LayoutRight, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutRight, LayoutLeft, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutRight, LayoutStride, Cuda, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float***, LayoutRight, Cuda, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutRight_Rank4.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutRight_Rank4.cpp deleted file mode 100644 index 0f4ac7de1db2047ecca224fc88d256b5054494e3..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutRight_Rank4.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutRight, LayoutRight, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutRight, LayoutLeft, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutRight, LayoutStride, Cuda, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float****, LayoutRight, Cuda, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutRight_Rank5.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutRight_Rank5.cpp deleted file mode 100644 index 892f51c218e180a4c44a8d4950c7dc5ad0ad955d..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutRight_Rank5.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutRight, LayoutRight, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutRight, LayoutLeft, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutRight, LayoutStride, Cuda, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float*****, LayoutRight, Cuda, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutRight_Rank8.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutRight_Rank8.cpp deleted file mode 100644 index ab96396e6abb56152a385287137ca019c16a2b22..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutRight_Rank8.cpp +++ /dev/null @@ -1,57 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutRight, LayoutRight, Cuda, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutRight, LayoutLeft, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutRight, LayoutStride, Cuda, - int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float********, LayoutRight, Cuda, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutStride_Rank1.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutStride_Rank1.cpp deleted file mode 100644 index 762c1f8f6bd5c416bc6adb980628b2c96de91194..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutStride_Rank1.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutStride, LayoutRight, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutStride, LayoutLeft, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutStride, LayoutStride, Cuda, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float*, LayoutStride, Cuda, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutStride_Rank2.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutStride_Rank2.cpp deleted file mode 100644 index 63c6bdc8a0ba3dc25e655fb90533c154a00af728..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutStride_Rank2.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutStride, LayoutRight, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutStride, LayoutLeft, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutStride, LayoutStride, Cuda, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float**, LayoutStride, Cuda, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutStride_Rank3.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutStride_Rank3.cpp deleted file mode 100644 index 5f0dc1f6e2d5f188ec5a20b308c43cefdeb3f192..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutStride_Rank3.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutStride, LayoutRight, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutStride, LayoutLeft, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutStride, LayoutStride, Cuda, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float***, LayoutStride, Cuda, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutStride_Rank4.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutStride_Rank4.cpp deleted file mode 100644 index d3eab4fe88a561523bd2d5f2f8527a1f01f6b9aa..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutStride_Rank4.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutStride, LayoutRight, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutStride, LayoutLeft, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutStride, LayoutStride, Cuda, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float****, LayoutStride, Cuda, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutStride_Rank5.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutStride_Rank5.cpp deleted file mode 100644 index 36d34aaff2fe8514ddf8ca157b24920cea96e32e..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutStride_Rank5.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutStride, LayoutRight, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutStride, LayoutLeft, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutStride, LayoutStride, Cuda, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float*****, LayoutStride, Cuda, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutStride_Rank8.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutStride_Rank8.cpp deleted file mode 100644 index 1d9022f380fd77ccd099fe439418741006f34e4d..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutStride_Rank8.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutStride, LayoutRight, Cuda, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutStride, LayoutLeft, Cuda, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutStride, LayoutStride, Cuda, - int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float********, LayoutStride, Cuda, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank1.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank1.cpp deleted file mode 100644 index 89172d0ef27a7ac006cb714c7bd292de8b39b612..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank1.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutLeft, LayoutRight, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutLeft, LayoutLeft, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutLeft, LayoutStride, Cuda, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t*, LayoutLeft, Cuda, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank2.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank2.cpp deleted file mode 100644 index c14394738b85badadf7208d7648eb8513fa885c5..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank2.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutLeft, LayoutRight, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutLeft, LayoutLeft, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutLeft, LayoutStride, Cuda, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t**, LayoutLeft, Cuda, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank3.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank3.cpp deleted file mode 100644 index 395dae627a0908e9cf7a4f968fd3492b8a449907..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank3.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutLeft, LayoutRight, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutLeft, LayoutLeft, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutLeft, LayoutStride, Cuda, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t***, LayoutLeft, Cuda, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank4.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank4.cpp deleted file mode 100644 index 8c192533f5e232f971245810c595d9514a9391a0..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank4.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutLeft, LayoutRight, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutLeft, LayoutLeft, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutLeft, LayoutStride, Cuda, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t****, LayoutLeft, Cuda, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank5.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank5.cpp deleted file mode 100644 index 22153b115853acf9802a18fdf1854d3de3d4f579..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank5.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutLeft, LayoutRight, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutLeft, LayoutLeft, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutLeft, LayoutStride, Cuda, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t*****, LayoutLeft, Cuda, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank8.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank8.cpp deleted file mode 100644 index 0e5d2768728b252048446d553d6860a01216e94c..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank8.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutLeft, LayoutRight, Cuda, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutLeft, LayoutLeft, Cuda, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutLeft, LayoutStride, Cuda, - int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t********, LayoutLeft, Cuda, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutRight_Rank1.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutRight_Rank1.cpp deleted file mode 100644 index d8b91a00f5afe01fcb6357b8f8dc5bac234cf571..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutRight_Rank1.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutRight, LayoutRight, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutRight, LayoutLeft, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutRight, LayoutStride, Cuda, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t*, LayoutRight, Cuda, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutRight_Rank2.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutRight_Rank2.cpp deleted file mode 100644 index 08798db548f87a8cf01ea50b215279a3d706da42..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutRight_Rank2.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutRight, LayoutRight, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutRight, LayoutLeft, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutRight, LayoutStride, Cuda, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t**, LayoutRight, Cuda, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutRight_Rank3.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutRight_Rank3.cpp deleted file mode 100644 index f371b9535dfd426ed19865d6c99b1bf4f8ac72ec..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutRight_Rank3.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutRight, LayoutRight, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutRight, LayoutLeft, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutRight, LayoutStride, Cuda, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t***, LayoutRight, Cuda, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutRight_Rank4.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutRight_Rank4.cpp deleted file mode 100644 index 6b29dcd945d7ccf0bb8c2cccfc2d9330088b69fc..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutRight_Rank4.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutRight, LayoutRight, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutRight, LayoutLeft, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutRight, LayoutStride, Cuda, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t****, LayoutRight, Cuda, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutRight_Rank5.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutRight_Rank5.cpp deleted file mode 100644 index 8deb69b612e03bf4da3c1213b9f8eb186f6ef4ec..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutRight_Rank5.cpp +++ /dev/null @@ -1,56 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutRight, LayoutRight, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutRight, LayoutLeft, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutRight, LayoutStride, Cuda, - int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t*****, LayoutRight, Cuda, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutRight_Rank8.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutRight_Rank8.cpp deleted file mode 100644 index fbd4a498c94db4a44cc48da63b1b6c5304c067ad..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutRight_Rank8.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutRight, LayoutRight, Cuda, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutRight, LayoutLeft, Cuda, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutRight, LayoutStride, Cuda, - int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t********, LayoutRight, Cuda, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutStride_Rank1.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutStride_Rank1.cpp deleted file mode 100644 index b3c31de32daf820f117b2b9d8cf9e6e8c9cbe60e..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutStride_Rank1.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutStride, LayoutRight, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutStride, LayoutLeft, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutStride, LayoutStride, Cuda, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t*, LayoutStride, Cuda, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutStride_Rank2.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutStride_Rank2.cpp deleted file mode 100644 index 6fab29106109ed3e3ab118543d9bd7ebeb4d2501..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutStride_Rank2.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutStride, LayoutRight, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutStride, LayoutLeft, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutStride, LayoutStride, Cuda, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t**, LayoutStride, Cuda, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutStride_Rank3.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutStride_Rank3.cpp deleted file mode 100644 index 7be7b466278b576bff977f53ce5b25ed9fb085a6..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutStride_Rank3.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutStride, LayoutRight, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutStride, LayoutLeft, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutStride, LayoutStride, Cuda, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t***, LayoutStride, Cuda, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutStride_Rank4.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutStride_Rank4.cpp deleted file mode 100644 index 9f0f83ba2df259cd054383de65f222dd524c790b..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutStride_Rank4.cpp +++ /dev/null @@ -1,56 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutStride, LayoutRight, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutStride, LayoutLeft, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutStride, LayoutStride, Cuda, - int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t****, LayoutStride, Cuda, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutStride_Rank5.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutStride_Rank5.cpp deleted file mode 100644 index 7fcc5db031ef485a75167aecb46f278ec18cf917..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutStride_Rank5.cpp +++ /dev/null @@ -1,57 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutStride, LayoutRight, Cuda, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutStride, LayoutLeft, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutStride, LayoutStride, Cuda, - int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t*****, LayoutStride, Cuda, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutStride_Rank8.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutStride_Rank8.cpp deleted file mode 100644 index 1a7b9933ab17851ac46690f161d5a31d977ef283..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutStride_Rank8.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutStride, LayoutRight, Cuda, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutStride, LayoutLeft, Cuda, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutStride, LayoutStride, Cuda, - int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t********, LayoutStride, Cuda, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutLeft_Rank1.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutLeft_Rank1.cpp deleted file mode 100644 index c89e60595ee8e5afbc230f2be252226a0e10959d..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutLeft_Rank1.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutLeft, LayoutRight, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutLeft, LayoutLeft, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutLeft, LayoutStride, Cuda, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int*, LayoutLeft, Cuda, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutLeft_Rank2.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutLeft_Rank2.cpp deleted file mode 100644 index 1be8bd0281d61d1873d6a76f343cea54585502d4..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutLeft_Rank2.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutLeft, LayoutRight, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutLeft, LayoutLeft, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutLeft, LayoutStride, Cuda, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int**, LayoutLeft, Cuda, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutLeft_Rank3.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutLeft_Rank3.cpp deleted file mode 100644 index 0c61d411bb6ac53838c0dfc65d2567c742ad7480..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutLeft_Rank3.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutLeft, LayoutRight, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutLeft, LayoutLeft, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutLeft, LayoutStride, Cuda, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int***, LayoutLeft, Cuda, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutLeft_Rank4.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutLeft_Rank4.cpp deleted file mode 100644 index c46bc82680b2974e6b822b4fa9cb219157487f9b..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutLeft_Rank4.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutLeft, LayoutRight, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutLeft, LayoutLeft, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutLeft, LayoutStride, Cuda, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int****, LayoutLeft, Cuda, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutLeft_Rank5.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutLeft_Rank5.cpp deleted file mode 100644 index 3f430147adadfaed80a02802e88df20d851f033b..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutLeft_Rank5.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutLeft, LayoutRight, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutLeft, LayoutLeft, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutLeft, LayoutStride, Cuda, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int*****, LayoutLeft, Cuda, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutLeft_Rank8.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutLeft_Rank8.cpp deleted file mode 100644 index 482bf3a6c142a3b9950116df3cc208b21eb1ea41..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutLeft_Rank8.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutLeft, LayoutRight, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutLeft, LayoutLeft, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutLeft, LayoutStride, Cuda, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int********, LayoutLeft, Cuda, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutRight_Rank1.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutRight_Rank1.cpp deleted file mode 100644 index eec32bbc800b3e884a2b82298f8ac3f22b56e719..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutRight_Rank1.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutRight, LayoutRight, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutRight, LayoutLeft, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutRight, LayoutStride, Cuda, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int*, LayoutRight, Cuda, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutRight_Rank2.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutRight_Rank2.cpp deleted file mode 100644 index 9d95e5f9d515a85f7ef7dfd83533f3a72aa5ae15..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutRight_Rank2.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutRight, LayoutRight, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutRight, LayoutLeft, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutRight, LayoutStride, Cuda, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int**, LayoutRight, Cuda, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutRight_Rank3.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutRight_Rank3.cpp deleted file mode 100644 index ca86e10dddca41e177d2eaa1cdba496fa19a7324..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutRight_Rank3.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutRight, LayoutRight, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutRight, LayoutLeft, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutRight, LayoutStride, Cuda, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int***, LayoutRight, Cuda, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutRight_Rank4.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutRight_Rank4.cpp deleted file mode 100644 index 3047e380dac48b7535a5e4b8cc9c7f8e8ebea426..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutRight_Rank4.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutRight, LayoutRight, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutRight, LayoutLeft, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutRight, LayoutStride, Cuda, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int****, LayoutRight, Cuda, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutRight_Rank5.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutRight_Rank5.cpp deleted file mode 100644 index 3096ab6d3a8cc1457222efd844955578713104cc..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutRight_Rank5.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutRight, LayoutRight, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutRight, LayoutLeft, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutRight, LayoutStride, Cuda, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int*****, LayoutRight, Cuda, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutRight_Rank8.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutRight_Rank8.cpp deleted file mode 100644 index 88eacdfe85ab2ccf88aba7fcfdc09348b348c673..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutRight_Rank8.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutRight, LayoutRight, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutRight, LayoutLeft, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutRight, LayoutStride, Cuda, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int********, LayoutRight, Cuda, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutStride_Rank1.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutStride_Rank1.cpp deleted file mode 100644 index c800698d36a8f7629e388a0c986fb89338d5d178..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutStride_Rank1.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutStride, LayoutRight, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutStride, LayoutLeft, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutStride, LayoutStride, Cuda, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int*, LayoutStride, Cuda, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutStride_Rank2.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutStride_Rank2.cpp deleted file mode 100644 index b2e2cdad449db2ca7513f7373bc29f48805b0b81..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutStride_Rank2.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutStride, LayoutRight, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutStride, LayoutLeft, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutStride, LayoutStride, Cuda, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int**, LayoutStride, Cuda, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutStride_Rank3.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutStride_Rank3.cpp deleted file mode 100644 index 0dcabb6626b46d2f476aad6e5670f4077af2c8fb..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutStride_Rank3.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutStride, LayoutRight, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutStride, LayoutLeft, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutStride, LayoutStride, Cuda, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int***, LayoutStride, Cuda, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutStride_Rank4.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutStride_Rank4.cpp deleted file mode 100644 index fd2f9e858912908690787a14428c40ffd5a90f3b..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutStride_Rank4.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutStride, LayoutRight, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutStride, LayoutLeft, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutStride, LayoutStride, Cuda, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int****, LayoutStride, Cuda, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutStride_Rank5.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutStride_Rank5.cpp deleted file mode 100644 index c7b4b9ff80948186529458afeae862e9c5750b1d..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutStride_Rank5.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutStride, LayoutRight, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutStride, LayoutLeft, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutStride, LayoutStride, Cuda, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int*****, LayoutStride, Cuda, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutStride_Rank8.cpp b/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutStride_Rank8.cpp deleted file mode 100644 index c389a15f728df4586793aa53d475871ea0fa901e..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutStride_Rank8.cpp +++ /dev/null @@ -1,56 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutStride, LayoutRight, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutStride, LayoutLeft, Cuda, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutStride, LayoutStride, Cuda, - int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int********, LayoutStride, Cuda, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Cuda/Makefile.eti_Cuda b/lib/kokkos/core/src/eti/Cuda/Makefile.eti_Cuda deleted file mode 100644 index 9531c4fff67791755089123f63ea8d43c1ccf60f..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Cuda/Makefile.eti_Cuda +++ /dev/null @@ -1,288 +0,0 @@ -Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutLeft_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutLeft_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutLeft_Rank1.cpp -Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutLeft_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutLeft_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutLeft_Rank2.cpp -Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutLeft_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutLeft_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutLeft_Rank3.cpp -Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutLeft_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutLeft_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutLeft_Rank4.cpp -Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutLeft_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutLeft_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutLeft_Rank5.cpp -Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutLeft_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutLeft_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutLeft_Rank8.cpp -Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutRight_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutRight_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutRight_Rank1.cpp -Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutRight_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutRight_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutRight_Rank2.cpp -Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutRight_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutRight_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutRight_Rank3.cpp -Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutRight_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutRight_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutRight_Rank4.cpp -Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutRight_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutRight_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutRight_Rank5.cpp -Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutRight_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutRight_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutRight_Rank8.cpp -Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutStride_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutStride_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutStride_Rank1.cpp -Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutStride_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutStride_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutStride_Rank2.cpp -Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutStride_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutStride_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutStride_Rank3.cpp -Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutStride_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutStride_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutStride_Rank4.cpp -Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutStride_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutStride_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutStride_Rank5.cpp -Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutStride_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutStride_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutStride_Rank8.cpp -Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank1.cpp -Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank2.cpp -Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank3.cpp -Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank4.cpp -Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank5.cpp -Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank8.cpp -Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutRight_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutRight_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutRight_Rank1.cpp -Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutRight_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutRight_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutRight_Rank2.cpp -Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutRight_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutRight_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutRight_Rank3.cpp -Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutRight_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutRight_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutRight_Rank4.cpp -Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutRight_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutRight_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutRight_Rank5.cpp -Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutRight_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutRight_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutRight_Rank8.cpp -Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutStride_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutStride_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutStride_Rank1.cpp -Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutStride_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutStride_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutStride_Rank2.cpp -Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutStride_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutStride_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutStride_Rank3.cpp -Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutStride_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutStride_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutStride_Rank4.cpp -Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutStride_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutStride_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutStride_Rank5.cpp -Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutStride_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutStride_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutStride_Rank8.cpp -Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank1.cpp -Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank2.cpp -Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank3.cpp -Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank4.cpp -Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank5.cpp -Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank8.cpp -Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutRight_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutRight_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutRight_Rank1.cpp -Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutRight_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutRight_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutRight_Rank2.cpp -Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutRight_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutRight_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutRight_Rank3.cpp -Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutRight_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutRight_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutRight_Rank4.cpp -Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutRight_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutRight_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutRight_Rank5.cpp -Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutRight_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutRight_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutRight_Rank8.cpp -Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutStride_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutStride_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutStride_Rank1.cpp -Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutStride_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutStride_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutStride_Rank2.cpp -Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutStride_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutStride_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutStride_Rank3.cpp -Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutStride_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutStride_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutStride_Rank4.cpp -Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutStride_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutStride_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutStride_Rank5.cpp -Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutStride_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutStride_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutStride_Rank8.cpp -Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank1.cpp -Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank2.cpp -Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank3.cpp -Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank4.cpp -Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank5.cpp -Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank8.cpp -Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank1.cpp -Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank2.cpp -Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank3.cpp -Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank4.cpp -Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank5.cpp -Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank8.cpp -Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank1.cpp -Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank2.cpp -Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank3.cpp -Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank4.cpp -Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank5.cpp -Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank8.cpp -Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutLeft_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutLeft_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutLeft_Rank1.cpp -Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutLeft_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutLeft_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutLeft_Rank2.cpp -Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutLeft_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutLeft_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutLeft_Rank3.cpp -Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutLeft_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutLeft_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutLeft_Rank4.cpp -Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutLeft_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutLeft_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutLeft_Rank5.cpp -Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutLeft_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutLeft_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutLeft_Rank8.cpp -Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutRight_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutRight_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutRight_Rank1.cpp -Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutRight_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutRight_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutRight_Rank2.cpp -Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutRight_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutRight_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutRight_Rank3.cpp -Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutRight_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutRight_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutRight_Rank4.cpp -Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutRight_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutRight_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutRight_Rank5.cpp -Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutRight_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutRight_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutRight_Rank8.cpp -Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutStride_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutStride_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutStride_Rank1.cpp -Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutStride_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutStride_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutStride_Rank2.cpp -Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutStride_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutStride_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutStride_Rank3.cpp -Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutStride_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutStride_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutStride_Rank4.cpp -Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutStride_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutStride_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutStride_Rank5.cpp -Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutStride_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutStride_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutStride_Rank8.cpp -Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank1.cpp -Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank2.cpp -Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank3.cpp -Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank4.cpp -Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank5.cpp -Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank8.cpp -Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutRight_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutRight_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutRight_Rank1.cpp -Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutRight_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutRight_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutRight_Rank2.cpp -Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutRight_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutRight_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutRight_Rank3.cpp -Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutRight_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutRight_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutRight_Rank4.cpp -Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutRight_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutRight_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutRight_Rank5.cpp -Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutRight_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutRight_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutRight_Rank8.cpp -Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutStride_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutStride_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutStride_Rank1.cpp -Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutStride_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutStride_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutStride_Rank2.cpp -Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutStride_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutStride_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutStride_Rank3.cpp -Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutStride_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutStride_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutStride_Rank4.cpp -Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutStride_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutStride_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutStride_Rank5.cpp -Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutStride_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutStride_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutStride_Rank8.cpp -Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutLeft_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutLeft_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutLeft_Rank1.cpp -Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutLeft_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutLeft_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutLeft_Rank2.cpp -Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutLeft_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutLeft_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutLeft_Rank3.cpp -Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutLeft_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutLeft_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutLeft_Rank4.cpp -Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutLeft_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutLeft_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutLeft_Rank5.cpp -Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutLeft_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutLeft_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutLeft_Rank8.cpp -Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutRight_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutRight_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutRight_Rank1.cpp -Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutRight_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutRight_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutRight_Rank2.cpp -Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutRight_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutRight_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutRight_Rank3.cpp -Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutRight_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutRight_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutRight_Rank4.cpp -Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutRight_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutRight_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutRight_Rank5.cpp -Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutRight_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutRight_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutRight_Rank8.cpp -Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutStride_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutStride_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutStride_Rank1.cpp -Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutStride_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutStride_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutStride_Rank2.cpp -Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutStride_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutStride_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutStride_Rank3.cpp -Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutStride_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutStride_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutStride_Rank4.cpp -Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutStride_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutStride_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutStride_Rank5.cpp -Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutStride_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutStride_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutStride_Rank8.cpp -Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank1.cpp -Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank2.cpp -Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank3.cpp -Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank4.cpp -Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank5.cpp -Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank8.cpp -Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutRight_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutRight_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutRight_Rank1.cpp -Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutRight_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutRight_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutRight_Rank2.cpp -Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutRight_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutRight_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutRight_Rank3.cpp -Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutRight_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutRight_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutRight_Rank4.cpp -Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutRight_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutRight_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutRight_Rank5.cpp -Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutRight_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutRight_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutRight_Rank8.cpp -Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutStride_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutStride_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutStride_Rank1.cpp -Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutStride_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutStride_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutStride_Rank2.cpp -Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutStride_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutStride_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutStride_Rank3.cpp -Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutStride_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutStride_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutStride_Rank4.cpp -Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutStride_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutStride_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutStride_Rank5.cpp -Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutStride_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutStride_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutStride_Rank8.cpp diff --git a/lib/kokkos/core/src/eti/HPX/CMakeLists.txt b/lib/kokkos/core/src/eti/HPX/CMakeLists.txt deleted file mode 100644 index 131a2d2e6e1ef94b324793be71d075cad3950bc9..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/CMakeLists.txt +++ /dev/null @@ -1,148 +0,0 @@ -set(D "${CMAKE_CURRENT_SOURCE_DIR}") -set(ETI_SOURCES -${ETI_SOURCES} -${D}/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank1.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank2.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank3.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank4.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank5.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank8.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutRight_Rank1.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutRight_Rank2.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutRight_Rank3.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutRight_Rank4.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutRight_Rank5.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutRight_Rank8.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutStride_Rank1.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutStride_Rank2.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutStride_Rank3.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutStride_Rank4.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutStride_Rank5.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutStride_Rank8.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank1.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank2.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank3.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank4.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank5.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank8.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutRight_Rank1.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutRight_Rank2.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutRight_Rank3.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutRight_Rank4.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutRight_Rank5.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutRight_Rank8.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutStride_Rank1.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutStride_Rank2.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutStride_Rank3.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutStride_Rank4.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutStride_Rank5.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutStride_Rank8.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank1.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank2.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank3.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank4.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank5.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank8.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank1.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank2.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank3.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank4.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank5.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank8.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank1.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank2.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank3.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank4.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank5.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank8.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank1.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank2.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank3.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank4.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank5.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank8.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutRight_Rank1.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutRight_Rank2.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutRight_Rank3.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutRight_Rank4.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutRight_Rank5.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutRight_Rank8.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutStride_Rank1.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutStride_Rank2.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutStride_Rank3.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutStride_Rank4.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutStride_Rank5.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutStride_Rank8.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutLeft_Rank1.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutLeft_Rank2.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutLeft_Rank3.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutLeft_Rank4.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutLeft_Rank5.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutLeft_Rank8.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutRight_Rank1.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutRight_Rank2.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutRight_Rank3.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutRight_Rank4.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutRight_Rank5.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutRight_Rank8.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutStride_Rank1.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutStride_Rank2.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutStride_Rank3.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutStride_Rank4.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutStride_Rank5.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutStride_Rank8.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutLeft_Rank1.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutLeft_Rank2.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutLeft_Rank3.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutLeft_Rank4.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutLeft_Rank5.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutLeft_Rank8.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutRight_Rank1.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutRight_Rank2.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutRight_Rank3.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutRight_Rank4.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutRight_Rank5.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutRight_Rank8.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutStride_Rank1.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutStride_Rank2.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutStride_Rank3.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutStride_Rank4.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutStride_Rank5.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutStride_Rank8.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank1.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank2.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank3.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank4.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank5.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank8.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutRight_Rank1.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutRight_Rank2.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutRight_Rank3.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutRight_Rank4.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutRight_Rank5.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutRight_Rank8.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutStride_Rank1.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutStride_Rank2.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutStride_Rank3.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutStride_Rank4.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutStride_Rank5.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutStride_Rank8.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutLeft_Rank1.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutLeft_Rank2.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutLeft_Rank3.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutLeft_Rank4.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutLeft_Rank5.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutLeft_Rank8.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutRight_Rank1.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutRight_Rank2.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutRight_Rank3.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutRight_Rank4.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutRight_Rank5.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutRight_Rank8.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutStride_Rank1.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutStride_Rank2.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutStride_Rank3.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutStride_Rank4.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutStride_Rank5.cpp -${D}/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutStride_Rank8.cpp -PARENT_SCOPE) diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank1.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank1.cpp deleted file mode 100644 index 1a9a9bf4f86beb2cc06c09d416bbdc534d29027c..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank1.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutLeft, LayoutRight, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutLeft, LayoutLeft, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutLeft, LayoutStride, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double*, LayoutLeft, Experimental::HPX, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank2.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank2.cpp deleted file mode 100644 index 0996ffda1a3e1686c6b8abd5b30427fbeffacb21..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank2.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutLeft, LayoutRight, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutLeft, LayoutLeft, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutLeft, LayoutStride, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double**, LayoutLeft, Experimental::HPX, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank3.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank3.cpp deleted file mode 100644 index 08f2651c4540f8be47fca496c5036636a2beade7..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank3.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutLeft, LayoutRight, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutLeft, LayoutLeft, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutLeft, LayoutStride, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double***, LayoutLeft, Experimental::HPX, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank4.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank4.cpp deleted file mode 100644 index 8f5ca318507846201d1a2609137e3041bd349779..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank4.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutLeft, LayoutRight, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutLeft, LayoutLeft, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutLeft, LayoutStride, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double****, LayoutLeft, Experimental::HPX, - int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank5.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank5.cpp deleted file mode 100644 index 7e50c2d58b5439cf9b94c9da19b889d0420e5401..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank5.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutLeft, LayoutRight, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutLeft, LayoutLeft, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutLeft, LayoutStride, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double*****, LayoutLeft, Experimental::HPX, - int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank8.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank8.cpp deleted file mode 100644 index 5caa76cd55be5597e2c1766c1cb35ce25469a585..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank8.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutLeft, LayoutRight, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutLeft, LayoutLeft, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutLeft, LayoutStride, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double********, LayoutLeft, Experimental::HPX, - int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutRight_Rank1.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutRight_Rank1.cpp deleted file mode 100644 index 5427e9f274948cdc1c5475da804f4e0ac7d10875..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutRight_Rank1.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutRight, LayoutRight, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutRight, LayoutLeft, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutRight, LayoutStride, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double*, LayoutRight, Experimental::HPX, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutRight_Rank2.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutRight_Rank2.cpp deleted file mode 100644 index 4748550943a940ba024362030f088a76342a368f..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutRight_Rank2.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutRight, LayoutRight, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutRight, LayoutLeft, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutRight, LayoutStride, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double**, LayoutRight, Experimental::HPX, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutRight_Rank3.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutRight_Rank3.cpp deleted file mode 100644 index db65f31221eb51e0f1e3625441c67faf2a8d9f96..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutRight_Rank3.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutRight, LayoutRight, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutRight, LayoutLeft, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutRight, LayoutStride, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double***, LayoutRight, Experimental::HPX, - int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutRight_Rank4.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutRight_Rank4.cpp deleted file mode 100644 index da598b4e5504831a7a08ea7b4436ed34d320af48..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutRight_Rank4.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutRight, LayoutRight, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutRight, LayoutLeft, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutRight, LayoutStride, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double****, LayoutRight, Experimental::HPX, - int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutRight_Rank5.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutRight_Rank5.cpp deleted file mode 100644 index 8a60373f4a6c789f7c68afd1bc531f50b6281fab..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutRight_Rank5.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutRight, LayoutRight, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutRight, LayoutLeft, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutRight, LayoutStride, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double*****, LayoutRight, Experimental::HPX, - int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutRight_Rank8.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutRight_Rank8.cpp deleted file mode 100644 index a9531ab8e3a1b87c13c30564cc507124d58bb497..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutRight_Rank8.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutRight, LayoutRight, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutRight, LayoutLeft, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutRight, LayoutStride, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double********, LayoutRight, Experimental::HPX, - int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutStride_Rank1.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutStride_Rank1.cpp deleted file mode 100644 index 66c05061377972011312c6746e95851330fd4356..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutStride_Rank1.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutStride, LayoutRight, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutStride, LayoutLeft, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutStride, LayoutStride, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double*, LayoutStride, Experimental::HPX, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutStride_Rank2.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutStride_Rank2.cpp deleted file mode 100644 index 885b2cc04d611e0c298889c021eb6792b141171c..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutStride_Rank2.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutStride, LayoutRight, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutStride, LayoutLeft, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutStride, LayoutStride, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double**, LayoutStride, Experimental::HPX, - int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutStride_Rank3.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutStride_Rank3.cpp deleted file mode 100644 index 90b19bb66e45ceb3aa12793fef53be9e2af2d6cb..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutStride_Rank3.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutStride, LayoutRight, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutStride, LayoutLeft, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutStride, LayoutStride, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double***, LayoutStride, Experimental::HPX, - int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutStride_Rank4.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutStride_Rank4.cpp deleted file mode 100644 index d62dbf0b43789af6b9f04e70e0f0e80ae7f72819..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutStride_Rank4.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutStride, LayoutRight, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutStride, LayoutLeft, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutStride, LayoutStride, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double****, LayoutStride, Experimental::HPX, - int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutStride_Rank5.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutStride_Rank5.cpp deleted file mode 100644 index 2b614aabfc65128409dec038ab4a48e9f299d7fd..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutStride_Rank5.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutStride, LayoutRight, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutStride, LayoutLeft, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutStride, LayoutStride, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double*****, LayoutStride, Experimental::HPX, - int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutStride_Rank8.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutStride_Rank8.cpp deleted file mode 100644 index 7a1db773e95848485d0ed731ee543680f6a736e1..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutStride_Rank8.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutStride, LayoutRight, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutStride, LayoutLeft, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutStride, LayoutStride, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double********, LayoutStride, Experimental::HPX, - int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank1.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank1.cpp deleted file mode 100644 index d6a697d60eec74aa507ce8ce5fa095f587e75cbe..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank1.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutLeft, LayoutRight, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutLeft, LayoutLeft, Experimental::HPX, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutLeft, LayoutStride, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float*, LayoutLeft, Experimental::HPX, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank2.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank2.cpp deleted file mode 100644 index 4fe8d07b9fc20792c047a0a93e80bd72247eab96..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank2.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutLeft, LayoutRight, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutLeft, LayoutLeft, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutLeft, LayoutStride, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float**, LayoutLeft, Experimental::HPX, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank3.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank3.cpp deleted file mode 100644 index c0d5b19de5aad507fd3c5b19f0819965b70cb4fd..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank3.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutLeft, LayoutRight, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutLeft, LayoutLeft, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutLeft, LayoutStride, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float***, LayoutLeft, Experimental::HPX, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank5.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank5.cpp deleted file mode 100644 index 379e7e6b7742182d9118683393d54074975b3041..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank5.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutLeft, LayoutRight, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutLeft, LayoutLeft, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutLeft, LayoutStride, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float*****, LayoutLeft, Experimental::HPX, - int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank8.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank8.cpp deleted file mode 100644 index 6c62abcd70e0262097bac1dcaeffe795f90ae1ac..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank8.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutLeft, LayoutRight, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutLeft, LayoutLeft, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutLeft, LayoutStride, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float********, LayoutLeft, Experimental::HPX, - int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutRight_Rank1.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutRight_Rank1.cpp deleted file mode 100644 index e5b3c382344fb420fcdcaa2906c1359b4d2fb1db..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutRight_Rank1.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutRight, LayoutRight, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutRight, LayoutLeft, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutRight, LayoutStride, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float*, LayoutRight, Experimental::HPX, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutRight_Rank2.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutRight_Rank2.cpp deleted file mode 100644 index f90485b60db8fcc74a1315f4257ffce69d461942..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutRight_Rank2.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutRight, LayoutRight, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutRight, LayoutLeft, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutRight, LayoutStride, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float**, LayoutRight, Experimental::HPX, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutRight_Rank3.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutRight_Rank3.cpp deleted file mode 100644 index 7b4ebf21c83362d96cfdc27ad52fc9ab51bed62b..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutRight_Rank3.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutRight, LayoutRight, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutRight, LayoutLeft, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutRight, LayoutStride, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float***, LayoutRight, Experimental::HPX, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutRight_Rank4.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutRight_Rank4.cpp deleted file mode 100644 index 35de800a9ba7904e3d4a4006644c91fef5b6561e..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutRight_Rank4.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutRight, LayoutRight, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutRight, LayoutLeft, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutRight, LayoutStride, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float****, LayoutRight, Experimental::HPX, - int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutRight_Rank5.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutRight_Rank5.cpp deleted file mode 100644 index 7aa6a05d344f23fbb0363d459d7b26120aa94c50..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutRight_Rank5.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutRight, LayoutRight, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutRight, LayoutLeft, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutRight, LayoutStride, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float*****, LayoutRight, Experimental::HPX, - int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutRight_Rank8.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutRight_Rank8.cpp deleted file mode 100644 index f1b95bbc0e2832c5a51f37f58864e6a487a21485..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutRight_Rank8.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutRight, LayoutRight, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutRight, LayoutLeft, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutRight, LayoutStride, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float********, LayoutRight, Experimental::HPX, - int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutStride_Rank1.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutStride_Rank1.cpp deleted file mode 100644 index 884570ac64e19f5e04fafce56d1b800de198f987..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutStride_Rank1.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutStride, LayoutRight, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutStride, LayoutLeft, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutStride, LayoutStride, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float*, LayoutStride, Experimental::HPX, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutStride_Rank2.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutStride_Rank2.cpp deleted file mode 100644 index ae73c5dd3c4224fc7b75d084481534e7eae9bd78..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutStride_Rank2.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutStride, LayoutRight, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutStride, LayoutLeft, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutStride, LayoutStride, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float**, LayoutStride, Experimental::HPX, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutStride_Rank3.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutStride_Rank3.cpp deleted file mode 100644 index f529807167db4f30a8b56e260142d022f7fe07dc..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutStride_Rank3.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutStride, LayoutRight, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutStride, LayoutLeft, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutStride, LayoutStride, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float***, LayoutStride, Experimental::HPX, - int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutStride_Rank4.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutStride_Rank4.cpp deleted file mode 100644 index b3ab97ad7f1d01a0695ce01979de98806effb413..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutStride_Rank4.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutStride, LayoutRight, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutStride, LayoutLeft, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutStride, LayoutStride, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float****, LayoutStride, Experimental::HPX, - int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutStride_Rank5.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutStride_Rank5.cpp deleted file mode 100644 index e5e934e8bf8bbcf89052f365c3a4620d679aaf83..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutStride_Rank5.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutStride, LayoutRight, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutStride, LayoutLeft, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutStride, LayoutStride, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float*****, LayoutStride, Experimental::HPX, - int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutStride_Rank8.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutStride_Rank8.cpp deleted file mode 100644 index aa1f24ce43ebc8883b005f2cfcab0f53430b93a8..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutStride_Rank8.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutStride, LayoutRight, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutStride, LayoutLeft, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutStride, LayoutStride, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float********, LayoutStride, Experimental::HPX, - int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank1.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank1.cpp deleted file mode 100644 index 891aaaa5776f2e5c0d604945433bccce5082b960..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank1.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutLeft, LayoutRight, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutLeft, LayoutLeft, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutLeft, LayoutStride, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t*, LayoutLeft, Experimental::HPX, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank2.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank2.cpp deleted file mode 100644 index d5fc488231bafb02631be542bd614620d1b36db3..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank2.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutLeft, LayoutRight, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutLeft, LayoutLeft, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutLeft, LayoutStride, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t**, LayoutLeft, Experimental::HPX, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank3.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank3.cpp deleted file mode 100644 index baa863a40fbd6aa6e2ac74adfe68ab913a3b304a..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank3.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutLeft, LayoutRight, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutLeft, LayoutLeft, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutLeft, LayoutStride, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t***, LayoutLeft, Experimental::HPX, - int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank4.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank4.cpp deleted file mode 100644 index b8936f1bcb47e26b2cea71c2b88563df62d6aac9..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank4.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutLeft, LayoutRight, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutLeft, LayoutLeft, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutLeft, LayoutStride, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t****, LayoutLeft, Experimental::HPX, - int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank5.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank5.cpp deleted file mode 100644 index b5c313875964b244d99c8d12873ab8828371d4ed..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank5.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutLeft, LayoutRight, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutLeft, LayoutLeft, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutLeft, LayoutStride, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t*****, LayoutLeft, Experimental::HPX, - int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank8.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank8.cpp deleted file mode 100644 index 0c12c5b477bb1013246e36b9aed02b425050ba02..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank8.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutLeft, LayoutRight, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutLeft, LayoutLeft, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutLeft, LayoutStride, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t********, LayoutLeft, Experimental::HPX, - int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank1.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank1.cpp deleted file mode 100644 index 8934c4a6e4fbfbb1e32d41d5cfe2321a9dc711cb..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank1.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutRight, LayoutRight, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutRight, LayoutLeft, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutRight, LayoutStride, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t*, LayoutRight, Experimental::HPX, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank2.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank2.cpp deleted file mode 100644 index 9c3046036716a1ffb352d46d8210b0d2badeb821..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank2.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutRight, LayoutRight, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutRight, LayoutLeft, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutRight, LayoutStride, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t**, LayoutRight, Experimental::HPX, - int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank3.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank3.cpp deleted file mode 100644 index ae2b1e609f494752d961b14346dba0eda10b2cd6..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank3.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutRight, LayoutRight, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutRight, LayoutLeft, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutRight, LayoutStride, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t***, LayoutRight, Experimental::HPX, - int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank4.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank4.cpp deleted file mode 100644 index 6f721ca7892e0f5dd8cf25bb239d0d9d87d05573..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank4.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutRight, LayoutRight, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutRight, LayoutLeft, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutRight, LayoutStride, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t****, LayoutRight, Experimental::HPX, - int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank5.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank5.cpp deleted file mode 100644 index 4cca974fb6fc6f97fe803f04358d35181ac865c8..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank5.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutRight, LayoutRight, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutRight, LayoutLeft, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutRight, LayoutStride, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t*****, LayoutRight, Experimental::HPX, - int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank8.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank8.cpp deleted file mode 100644 index 747250c590193cb5bbeefd63af60cc23df7115da..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank8.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutRight, LayoutRight, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutRight, LayoutLeft, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutRight, LayoutStride, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t********, LayoutRight, Experimental::HPX, - int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank1.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank1.cpp deleted file mode 100644 index 2bcc9dcaa208dcf208076d6889b5f50824c54710..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank1.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutStride, LayoutRight, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutStride, LayoutLeft, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutStride, LayoutStride, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t*, LayoutStride, Experimental::HPX, - int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank2.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank2.cpp deleted file mode 100644 index cf424725b332d8d630cf7cfd8d40bb2b24662def..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank2.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutStride, LayoutRight, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutStride, LayoutLeft, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutStride, LayoutStride, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t**, LayoutStride, Experimental::HPX, - int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank3.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank3.cpp deleted file mode 100644 index 7c5163c537319df53cf116863dbe647d37e58027..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank3.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutStride, LayoutRight, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutStride, LayoutLeft, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutStride, LayoutStride, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t***, LayoutStride, Experimental::HPX, - int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank4.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank4.cpp deleted file mode 100644 index 275703c2212b4dc82b1c55a4f17303f102266242..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank4.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutStride, LayoutRight, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutStride, LayoutLeft, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutStride, LayoutStride, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t****, LayoutStride, Experimental::HPX, - int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank5.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank5.cpp deleted file mode 100644 index 0b8b6690b69b7974c60645a8b921d53fcef9a5c0..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank5.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutStride, LayoutRight, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutStride, LayoutLeft, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutStride, LayoutStride, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t*****, LayoutStride, Experimental::HPX, - int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank8.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank8.cpp deleted file mode 100644 index dd7cb725e4baaeaf974ce2f8670d523376dea2a0..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank8.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutStride, LayoutRight, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutStride, LayoutLeft, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutStride, LayoutStride, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t********, LayoutStride, Experimental::HPX, - int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank1.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank1.cpp deleted file mode 100644 index 05694106cf0ff84f14e4866646e4222a54312f56..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank1.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutLeft, LayoutRight, Experimental::HPX, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutLeft, LayoutLeft, Experimental::HPX, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutLeft, LayoutStride, Experimental::HPX, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int*, LayoutLeft, Experimental::HPX, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank2.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank2.cpp deleted file mode 100644 index ce5e6a291767d8f0bc5be8ad5a01c93174db5f95..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank2.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutLeft, LayoutRight, Experimental::HPX, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutLeft, LayoutLeft, Experimental::HPX, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutLeft, LayoutStride, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int**, LayoutLeft, Experimental::HPX, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank3.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank3.cpp deleted file mode 100644 index baf95fb1f26df07103c275405c1a0536713a2fe6..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank3.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutLeft, LayoutRight, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutLeft, LayoutLeft, Experimental::HPX, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutLeft, LayoutStride, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int***, LayoutLeft, Experimental::HPX, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank4.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank4.cpp deleted file mode 100644 index 3638c01003b8ae9c83579c00f6aedb607cea1e4d..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank4.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutLeft, LayoutRight, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutLeft, LayoutLeft, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutLeft, LayoutStride, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int****, LayoutLeft, Experimental::HPX, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank5.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank5.cpp deleted file mode 100644 index 1f964cbddfead28880276c31ec0af702f732d949..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank5.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutLeft, LayoutRight, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutLeft, LayoutLeft, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutLeft, LayoutStride, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int*****, LayoutLeft, Experimental::HPX, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank8.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank8.cpp deleted file mode 100644 index bc498b3509bca227afbc4585fa962995694bef76..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank8.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutLeft, LayoutRight, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutLeft, LayoutLeft, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutLeft, LayoutStride, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int********, LayoutLeft, Experimental::HPX, - int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutRight_Rank1.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutRight_Rank1.cpp deleted file mode 100644 index 0e97cd97c24535bfc75239fddd2d3db60aeb74e8..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutRight_Rank1.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutRight, LayoutRight, Experimental::HPX, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutRight, LayoutLeft, Experimental::HPX, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutRight, LayoutStride, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int*, LayoutRight, Experimental::HPX, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutRight_Rank2.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutRight_Rank2.cpp deleted file mode 100644 index e21f05bf55b90da0d5785741dbe8f345a422a004..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutRight_Rank2.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutRight, LayoutRight, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutRight, LayoutLeft, Experimental::HPX, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutRight, LayoutStride, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int**, LayoutRight, Experimental::HPX, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutRight_Rank3.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutRight_Rank3.cpp deleted file mode 100644 index 1ccdc6a3612067c952d8e399e54599104276a5e0..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutRight_Rank3.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutRight, LayoutRight, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutRight, LayoutLeft, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutRight, LayoutStride, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int***, LayoutRight, Experimental::HPX, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutRight_Rank4.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutRight_Rank4.cpp deleted file mode 100644 index ef1c1f970fe2d19e93437d03b8a306b434ef2fef..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutRight_Rank4.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutRight, LayoutRight, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutRight, LayoutLeft, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutRight, LayoutStride, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int****, LayoutRight, Experimental::HPX, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutRight_Rank5.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutRight_Rank5.cpp deleted file mode 100644 index 2c993914c61bad64a150a090c0c7b9105ece65b0..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutRight_Rank5.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutRight, LayoutRight, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutRight, LayoutLeft, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutRight, LayoutStride, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int*****, LayoutRight, Experimental::HPX, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutRight_Rank8.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutRight_Rank8.cpp deleted file mode 100644 index c4d120b33bf9d5bd67474b6e7a5c3ce8015f942b..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutRight_Rank8.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutRight, LayoutRight, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutRight, LayoutLeft, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutRight, LayoutStride, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int********, LayoutRight, Experimental::HPX, - int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutStride_Rank1.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutStride_Rank1.cpp deleted file mode 100644 index 520013db6a8f5c515a9e3db2b097afb1959ce953..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutStride_Rank1.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutStride, LayoutRight, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutStride, LayoutLeft, Experimental::HPX, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutStride, LayoutStride, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int*, LayoutStride, Experimental::HPX, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutStride_Rank2.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutStride_Rank2.cpp deleted file mode 100644 index 663110f4508dc711d4422f4acd5d7352c03b6294..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutStride_Rank2.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutStride, LayoutRight, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutStride, LayoutLeft, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutStride, LayoutStride, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int**, LayoutStride, Experimental::HPX, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutStride_Rank3.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutStride_Rank3.cpp deleted file mode 100644 index ab18fdebdb010cb772bb8df16a3b7ee08e5342ea..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutStride_Rank3.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutStride, LayoutRight, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutStride, LayoutLeft, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutStride, LayoutStride, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int***, LayoutStride, Experimental::HPX, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutStride_Rank4.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutStride_Rank4.cpp deleted file mode 100644 index 232f088e811a6ffd58fb4936e700180167f37ccb..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutStride_Rank4.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutStride, LayoutRight, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutStride, LayoutLeft, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutStride, LayoutStride, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int****, LayoutStride, Experimental::HPX, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutStride_Rank5.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutStride_Rank5.cpp deleted file mode 100644 index 5a6331b76b1145cc1715929cd951252fc6ee5035..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutStride_Rank5.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutStride, LayoutRight, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutStride, LayoutLeft, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutStride, LayoutStride, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int*****, LayoutStride, Experimental::HPX, - int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutStride_Rank8.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutStride_Rank8.cpp deleted file mode 100644 index c3223ee4dc6a0399c2e46076ad545e93f7910318..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutStride_Rank8.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutStride, LayoutRight, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutStride, LayoutLeft, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutStride, LayoutStride, - Experimental::HPX, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int********, LayoutStride, Experimental::HPX, - int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutLeft_Rank1.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutLeft_Rank1.cpp deleted file mode 100644 index 50584929ae3aee751b12214c09eec853d35743df..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutLeft_Rank1.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutLeft, LayoutRight, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutLeft, LayoutLeft, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutLeft, LayoutStride, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double*, LayoutLeft, Experimental::HPX, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutLeft_Rank2.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutLeft_Rank2.cpp deleted file mode 100644 index 281784c6a7a0765615475109f7f796a12b34ad25..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutLeft_Rank2.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutLeft, LayoutRight, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutLeft, LayoutLeft, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutLeft, LayoutStride, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double**, LayoutLeft, Experimental::HPX, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutLeft_Rank3.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutLeft_Rank3.cpp deleted file mode 100644 index 8a8220baeb0f58b08581640b187f5903168dc691..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutLeft_Rank3.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutLeft, LayoutRight, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutLeft, LayoutLeft, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutLeft, LayoutStride, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double***, LayoutLeft, Experimental::HPX, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutLeft_Rank4.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutLeft_Rank4.cpp deleted file mode 100644 index 7c5567b049bcf00b6ab3fac9ac97d6a59aad3669..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutLeft_Rank4.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutLeft, LayoutRight, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutLeft, LayoutLeft, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutLeft, LayoutStride, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double****, LayoutLeft, Experimental::HPX, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutLeft_Rank5.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutLeft_Rank5.cpp deleted file mode 100644 index f2716fef3ee615c98ffc1a63092dad379d84e330..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutLeft_Rank5.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutLeft, LayoutRight, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutLeft, LayoutLeft, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutLeft, LayoutStride, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double*****, LayoutLeft, Experimental::HPX, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutLeft_Rank8.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutLeft_Rank8.cpp deleted file mode 100644 index db1797304a3f14f105d551e7f7c087697a3d64f2..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutLeft_Rank8.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutLeft, LayoutRight, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutLeft, LayoutLeft, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutLeft, LayoutStride, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double********, LayoutLeft, Experimental::HPX, - int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutRight_Rank1.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutRight_Rank1.cpp deleted file mode 100644 index 5c4646817001b883c419f0f75f017f8211d96eb7..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutRight_Rank1.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutRight, LayoutRight, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutRight, LayoutLeft, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutRight, LayoutStride, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double*, LayoutRight, Experimental::HPX, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutRight_Rank2.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutRight_Rank2.cpp deleted file mode 100644 index be4e90ccc4e49a8468a2c5c973b1f757d88ad30c..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutRight_Rank2.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutRight, LayoutRight, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutRight, LayoutLeft, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutRight, LayoutStride, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double**, LayoutRight, Experimental::HPX, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutRight_Rank3.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutRight_Rank3.cpp deleted file mode 100644 index 17200db10bd2899ec02d6e46a4b1d3a6b001cb41..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutRight_Rank3.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutRight, LayoutRight, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutRight, LayoutLeft, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutRight, LayoutStride, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double***, LayoutRight, Experimental::HPX, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutRight_Rank4.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutRight_Rank4.cpp deleted file mode 100644 index 89794ad1b965fe289dd087352c16c414d2031e59..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutRight_Rank4.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutRight, LayoutRight, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutRight, LayoutLeft, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutRight, LayoutStride, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double****, LayoutRight, Experimental::HPX, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutRight_Rank5.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutRight_Rank5.cpp deleted file mode 100644 index 1771edc874a803548c98d57e483a8b66015e2c84..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutRight_Rank5.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutRight, LayoutRight, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutRight, LayoutLeft, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutRight, LayoutStride, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double*****, LayoutRight, Experimental::HPX, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutRight_Rank8.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutRight_Rank8.cpp deleted file mode 100644 index b118550ac21009314058d530612c7bc69d79ca80..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutRight_Rank8.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutRight, LayoutRight, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutRight, LayoutLeft, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutRight, LayoutStride, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double********, LayoutRight, Experimental::HPX, - int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutStride_Rank1.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutStride_Rank1.cpp deleted file mode 100644 index 88792476406b888c05efacc92d554d35736c955f..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutStride_Rank1.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutStride, LayoutRight, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutStride, LayoutLeft, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutStride, LayoutStride, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double*, LayoutStride, Experimental::HPX, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutStride_Rank2.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutStride_Rank2.cpp deleted file mode 100644 index 7b078639c749e22375adedef87cd29284c68cc40..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutStride_Rank2.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutStride, LayoutRight, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutStride, LayoutLeft, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutStride, LayoutStride, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double**, LayoutStride, Experimental::HPX, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutStride_Rank3.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutStride_Rank3.cpp deleted file mode 100644 index 2dc3d8b7c32197dc2bdfe7c3ff1aa11bc4456bae..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutStride_Rank3.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutStride, LayoutRight, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutStride, LayoutLeft, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutStride, LayoutStride, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double***, LayoutStride, Experimental::HPX, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutStride_Rank4.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutStride_Rank4.cpp deleted file mode 100644 index c3ff0b2127ede4b1e4aec2d158719a9d7b484a01..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutStride_Rank4.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutStride, LayoutRight, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutStride, LayoutLeft, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutStride, LayoutStride, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double****, LayoutStride, Experimental::HPX, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutStride_Rank5.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutStride_Rank5.cpp deleted file mode 100644 index 737fe0d63470955bd8fba51414b87051ac944879..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutStride_Rank5.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutStride, LayoutRight, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutStride, LayoutLeft, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutStride, LayoutStride, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double*****, LayoutStride, Experimental::HPX, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutStride_Rank8.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutStride_Rank8.cpp deleted file mode 100644 index 176a8a5768d191e447cc34323d96449872ae1280..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutStride_Rank8.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutStride, LayoutRight, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutStride, LayoutLeft, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutStride, LayoutStride, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double********, LayoutStride, Experimental::HPX, - int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutLeft_Rank1.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutLeft_Rank1.cpp deleted file mode 100644 index e967e8d2b3634625c735e467bce25f5a93b21cb9..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutLeft_Rank1.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutLeft, LayoutRight, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutLeft, LayoutLeft, Experimental::HPX, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutLeft, LayoutStride, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float*, LayoutLeft, Experimental::HPX, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutLeft_Rank2.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutLeft_Rank2.cpp deleted file mode 100644 index 80323d7aa2f55cb606c5c6d998ee07a5f024e8af..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutLeft_Rank2.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutLeft, LayoutRight, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutLeft, LayoutLeft, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutLeft, LayoutStride, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float**, LayoutLeft, Experimental::HPX, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutLeft_Rank3.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutLeft_Rank3.cpp deleted file mode 100644 index f68b9720ba94643d9c867238bf1ee4c5f45af574..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutLeft_Rank3.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutLeft, LayoutRight, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutLeft, LayoutLeft, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutLeft, LayoutStride, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float***, LayoutLeft, Experimental::HPX, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutLeft_Rank4.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutLeft_Rank4.cpp deleted file mode 100644 index 2dd7bf78434df7fdc0e9082349f143e6d9099420..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutLeft_Rank4.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutLeft, LayoutRight, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutLeft, LayoutLeft, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutLeft, LayoutStride, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float****, LayoutLeft, Experimental::HPX, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutLeft_Rank5.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutLeft_Rank5.cpp deleted file mode 100644 index c240157692dfe8df7fa75cef3b24e2c4201530b6..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutLeft_Rank5.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutLeft, LayoutRight, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutLeft, LayoutLeft, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutLeft, LayoutStride, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float*****, LayoutLeft, Experimental::HPX, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutLeft_Rank8.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutLeft_Rank8.cpp deleted file mode 100644 index 008eea27c956a82e763482fd648c19781b1f73ce..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutLeft_Rank8.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutLeft, LayoutRight, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutLeft, LayoutLeft, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutLeft, LayoutStride, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float********, LayoutLeft, Experimental::HPX, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutRight_Rank1.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutRight_Rank1.cpp deleted file mode 100644 index ba10fddcb5c4b546cb657ba70f5ad898caf50b91..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutRight_Rank1.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutRight, LayoutRight, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutRight, LayoutLeft, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutRight, LayoutStride, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float*, LayoutRight, Experimental::HPX, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutRight_Rank2.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutRight_Rank2.cpp deleted file mode 100644 index 0bc5851c11b19bee877c182367130162985335dd..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutRight_Rank2.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutRight, LayoutRight, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutRight, LayoutLeft, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutRight, LayoutStride, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float**, LayoutRight, Experimental::HPX, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutRight_Rank3.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutRight_Rank3.cpp deleted file mode 100644 index 14c359c09365b43d3a7130dede3c8c12d0d29087..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutRight_Rank3.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutRight, LayoutRight, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutRight, LayoutLeft, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutRight, LayoutStride, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float***, LayoutRight, Experimental::HPX, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutRight_Rank4.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutRight_Rank4.cpp deleted file mode 100644 index 6672b85ce55c613091ad504db93c72efb65954ba..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutRight_Rank4.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutRight, LayoutRight, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutRight, LayoutLeft, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutRight, LayoutStride, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float****, LayoutRight, Experimental::HPX, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutRight_Rank5.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutRight_Rank5.cpp deleted file mode 100644 index 1ec216204805722661aabb67e79089ca548638af..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutRight_Rank5.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutRight, LayoutRight, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutRight, LayoutLeft, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutRight, LayoutStride, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float*****, LayoutRight, Experimental::HPX, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutRight_Rank8.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutRight_Rank8.cpp deleted file mode 100644 index 1a6f0631b7b3b85612f939e55586901e68e030cb..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutRight_Rank8.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutRight, LayoutRight, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutRight, LayoutLeft, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutRight, LayoutStride, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float********, LayoutRight, Experimental::HPX, - int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutStride_Rank1.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutStride_Rank1.cpp deleted file mode 100644 index 5b90d4c7a7d582105e2ab8d7d4ba05429285b070..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutStride_Rank1.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutStride, LayoutRight, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutStride, LayoutLeft, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutStride, LayoutStride, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float*, LayoutStride, Experimental::HPX, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutStride_Rank2.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutStride_Rank2.cpp deleted file mode 100644 index 3e0e011b0a865b41837122d15a504b92cf1159cc..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutStride_Rank2.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutStride, LayoutRight, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutStride, LayoutLeft, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutStride, LayoutStride, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float**, LayoutStride, Experimental::HPX, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutStride_Rank3.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutStride_Rank3.cpp deleted file mode 100644 index 912cfe66ff64c15d6265f510df54e212da35d4af..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutStride_Rank3.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutStride, LayoutRight, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutStride, LayoutLeft, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutStride, LayoutStride, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float***, LayoutStride, Experimental::HPX, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutStride_Rank4.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutStride_Rank4.cpp deleted file mode 100644 index a2cc70ffac395d5b72f27acf1b25a2ec6cdf9239..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutStride_Rank4.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutStride, LayoutRight, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutStride, LayoutLeft, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutStride, LayoutStride, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float****, LayoutStride, Experimental::HPX, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutStride_Rank5.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutStride_Rank5.cpp deleted file mode 100644 index 58772e42df7240b5097cda581e8f62b09765a0b3..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutStride_Rank5.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutStride, LayoutRight, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutStride, LayoutLeft, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutStride, LayoutStride, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float*****, LayoutStride, Experimental::HPX, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutStride_Rank8.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutStride_Rank8.cpp deleted file mode 100644 index ce52b3fcfc6ead8c675c2425a89966a3023997ea..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutStride_Rank8.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutStride, LayoutRight, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutStride, LayoutLeft, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutStride, LayoutStride, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float********, LayoutStride, Experimental::HPX, - int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank1.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank1.cpp deleted file mode 100644 index 9baf307d8b256a8d054fe1e7b3be65bc7131a5d5..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank1.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutLeft, LayoutRight, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutLeft, LayoutLeft, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutLeft, LayoutStride, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t*, LayoutLeft, Experimental::HPX, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank2.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank2.cpp deleted file mode 100644 index ffc8e2c520a13dfbbb13c2bade3deef8e2ebf9e3..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank2.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutLeft, LayoutRight, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutLeft, LayoutLeft, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutLeft, LayoutStride, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t**, LayoutLeft, Experimental::HPX, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank3.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank3.cpp deleted file mode 100644 index 16aec37096dab1da2f9c92231413cef2056f687a..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank3.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutLeft, LayoutRight, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutLeft, LayoutLeft, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutLeft, LayoutStride, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t***, LayoutLeft, Experimental::HPX, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank4.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank4.cpp deleted file mode 100644 index a2b5e8dff484d76bf7837fa8e28e99d6539cc31e..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank4.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutLeft, LayoutRight, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutLeft, LayoutLeft, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutLeft, LayoutStride, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t****, LayoutLeft, Experimental::HPX, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank5.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank5.cpp deleted file mode 100644 index f5b7347d389c90c4dc6378d044d946f5b2b6b19b..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank5.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutLeft, LayoutRight, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutLeft, LayoutLeft, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutLeft, LayoutStride, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t*****, LayoutLeft, Experimental::HPX, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank8.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank8.cpp deleted file mode 100644 index 7646c537229b2fb7f74c3752f6d789f5ae0a59e2..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank8.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutLeft, LayoutRight, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutLeft, LayoutLeft, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutLeft, LayoutStride, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t********, LayoutLeft, Experimental::HPX, - int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutRight_Rank1.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutRight_Rank1.cpp deleted file mode 100644 index e225e99c56d2b1bb1439ef20d87772f3d89f685b..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutRight_Rank1.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutRight, LayoutRight, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutRight, LayoutLeft, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutRight, LayoutStride, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t*, LayoutRight, Experimental::HPX, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutRight_Rank2.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutRight_Rank2.cpp deleted file mode 100644 index 441e8b63ed2662e41d2fbfb86f8d1a133370bc2a..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutRight_Rank2.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutRight, LayoutRight, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutRight, LayoutLeft, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutRight, LayoutStride, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t**, LayoutRight, Experimental::HPX, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutRight_Rank3.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutRight_Rank3.cpp deleted file mode 100644 index 8e3bdecf1e060b1a301120c53426de9401361570..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutRight_Rank3.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutRight, LayoutRight, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutRight, LayoutLeft, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutRight, LayoutStride, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t***, LayoutRight, Experimental::HPX, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutRight_Rank4.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutRight_Rank4.cpp deleted file mode 100644 index 7662c5a390056cd71776d911c5d317731f98d0de..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutRight_Rank4.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutRight, LayoutRight, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutRight, LayoutLeft, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutRight, LayoutStride, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t****, LayoutRight, Experimental::HPX, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutRight_Rank5.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutRight_Rank5.cpp deleted file mode 100644 index db8625bd9fcc7a6a000108f95adbdb7b651eda01..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutRight_Rank5.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutRight, LayoutRight, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutRight, LayoutLeft, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutRight, LayoutStride, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t*****, LayoutRight, Experimental::HPX, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutRight_Rank8.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutRight_Rank8.cpp deleted file mode 100644 index 5992b136b08e35c736e5b9df75060a400cf48384..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutRight_Rank8.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutRight, LayoutRight, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutRight, LayoutLeft, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutRight, LayoutStride, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t********, LayoutRight, Experimental::HPX, - int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutStride_Rank1.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutStride_Rank1.cpp deleted file mode 100644 index f862aa4df93fa29435c1c54d520b4f4e7e5bb0d8..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutStride_Rank1.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutStride, LayoutRight, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutStride, LayoutLeft, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutStride, LayoutStride, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t*, LayoutStride, Experimental::HPX, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutStride_Rank2.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutStride_Rank2.cpp deleted file mode 100644 index 788c411d33959eb4c9e30ded772bb3d4784fad85..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutStride_Rank2.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutStride, LayoutRight, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutStride, LayoutLeft, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutStride, LayoutStride, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t**, LayoutStride, Experimental::HPX, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutStride_Rank3.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutStride_Rank3.cpp deleted file mode 100644 index 0646c93ac47567af5b6c6c415f772e5eabad3d34..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutStride_Rank3.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutStride, LayoutRight, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutStride, LayoutLeft, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutStride, LayoutStride, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t***, LayoutStride, Experimental::HPX, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutStride_Rank4.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutStride_Rank4.cpp deleted file mode 100644 index 88299a88baf0d2f9320b1c40f0a1f4017e026fc4..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutStride_Rank4.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutStride, LayoutRight, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutStride, LayoutLeft, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutStride, LayoutStride, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t****, LayoutStride, Experimental::HPX, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutStride_Rank5.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutStride_Rank5.cpp deleted file mode 100644 index aaec87e40c7761033b373f0758ef37677d01a713..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutStride_Rank5.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutStride, LayoutRight, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutStride, LayoutLeft, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutStride, LayoutStride, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t*****, LayoutStride, Experimental::HPX, - int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutStride_Rank8.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutStride_Rank8.cpp deleted file mode 100644 index f650c7e4a2a6672d387f47d3fd94d4897f0fd120..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutStride_Rank8.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutStride, LayoutRight, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutStride, LayoutLeft, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutStride, LayoutStride, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t********, LayoutStride, Experimental::HPX, - int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutLeft_Rank1.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutLeft_Rank1.cpp deleted file mode 100644 index 1cf32f3f52b0f6d59aa236170fb2b3f4a092234c..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutLeft_Rank1.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutLeft, LayoutRight, Experimental::HPX, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutLeft, LayoutLeft, Experimental::HPX, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutLeft, LayoutStride, Experimental::HPX, - int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int*, LayoutLeft, Experimental::HPX, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutLeft_Rank2.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutLeft_Rank2.cpp deleted file mode 100644 index a53f5b304bcb1959186b334c1f6a327a3fa7d950..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutLeft_Rank2.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutLeft, LayoutRight, Experimental::HPX, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutLeft, LayoutLeft, Experimental::HPX, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutLeft, LayoutStride, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int**, LayoutLeft, Experimental::HPX, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutLeft_Rank3.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutLeft_Rank3.cpp deleted file mode 100644 index a679f816b3cf4152b5fde7ebb87877fa78a0c185..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutLeft_Rank3.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutLeft, LayoutRight, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutLeft, LayoutLeft, Experimental::HPX, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutLeft, LayoutStride, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int***, LayoutLeft, Experimental::HPX, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutLeft_Rank4.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutLeft_Rank4.cpp deleted file mode 100644 index dc2efe85261f1b05b1764d78e8741fb6bed62d50..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutLeft_Rank4.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutLeft, LayoutRight, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutLeft, LayoutLeft, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutLeft, LayoutStride, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int****, LayoutLeft, Experimental::HPX, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutLeft_Rank5.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutLeft_Rank5.cpp deleted file mode 100644 index f532d1917bf06836ae84984f9016ca08888673d2..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutLeft_Rank5.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutLeft, LayoutRight, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutLeft, LayoutLeft, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutLeft, LayoutStride, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int*****, LayoutLeft, Experimental::HPX, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutLeft_Rank8.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutLeft_Rank8.cpp deleted file mode 100644 index 067d7c34150cc79ab30157c7085adb1b72b7e3b5..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutLeft_Rank8.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutLeft, LayoutRight, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutLeft, LayoutLeft, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutLeft, LayoutStride, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int********, LayoutLeft, Experimental::HPX, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutRight_Rank1.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutRight_Rank1.cpp deleted file mode 100644 index fdee4a6f35352ed1cc98cc724fe030a21b1b5cee..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutRight_Rank1.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutRight, LayoutRight, Experimental::HPX, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutRight, LayoutLeft, Experimental::HPX, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutRight, LayoutStride, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int*, LayoutRight, Experimental::HPX, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutRight_Rank2.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutRight_Rank2.cpp deleted file mode 100644 index 4ee5059611f6cb0d18161ee2005260c3250ca928..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutRight_Rank2.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutRight, LayoutRight, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutRight, LayoutLeft, Experimental::HPX, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutRight, LayoutStride, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int**, LayoutRight, Experimental::HPX, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutRight_Rank3.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutRight_Rank3.cpp deleted file mode 100644 index 280fd0113e7905212c85ee5e19c21a101cd2e20c..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutRight_Rank3.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutRight, LayoutRight, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutRight, LayoutLeft, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutRight, LayoutStride, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int***, LayoutRight, Experimental::HPX, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutRight_Rank4.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutRight_Rank4.cpp deleted file mode 100644 index 84525a00438063d07233984c5bfe0420bf6e3c6d..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutRight_Rank4.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutRight, LayoutRight, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutRight, LayoutLeft, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutRight, LayoutStride, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int****, LayoutRight, Experimental::HPX, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutRight_Rank5.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutRight_Rank5.cpp deleted file mode 100644 index 7ba740043c2d72a14d8a13419afb3384bffb3cba..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutRight_Rank5.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutRight, LayoutRight, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutRight, LayoutLeft, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutRight, LayoutStride, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int*****, LayoutRight, Experimental::HPX, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutRight_Rank8.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutRight_Rank8.cpp deleted file mode 100644 index 4a475494806759e19d6c9892efa1afd0602ac8cd..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutRight_Rank8.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutRight, LayoutRight, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutRight, LayoutLeft, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutRight, LayoutStride, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int********, LayoutRight, Experimental::HPX, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutStride_Rank1.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutStride_Rank1.cpp deleted file mode 100644 index 14773de5dbdce3e188516d526b76bd478c5918e3..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutStride_Rank1.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutStride, LayoutRight, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutStride, LayoutLeft, Experimental::HPX, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutStride, LayoutStride, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int*, LayoutStride, Experimental::HPX, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutStride_Rank2.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutStride_Rank2.cpp deleted file mode 100644 index 0f57ae5cb56bfd2a20d043a858adb7456a16c8d2..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutStride_Rank2.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutStride, LayoutRight, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutStride, LayoutLeft, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutStride, LayoutStride, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int**, LayoutStride, Experimental::HPX, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutStride_Rank3.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutStride_Rank3.cpp deleted file mode 100644 index 905bb918fce751328d22ab956622bdf4a0440255..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutStride_Rank3.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutStride, LayoutRight, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutStride, LayoutLeft, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutStride, LayoutStride, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int***, LayoutStride, Experimental::HPX, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutStride_Rank4.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutStride_Rank4.cpp deleted file mode 100644 index 30563fe13a1dde8b7accc6a5344684430bd3b977..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutStride_Rank4.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutStride, LayoutRight, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutStride, LayoutLeft, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutStride, LayoutStride, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int****, LayoutStride, Experimental::HPX, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutStride_Rank5.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutStride_Rank5.cpp deleted file mode 100644 index ed0c45b36b1f75666af642c3beeca251431e03f0..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutStride_Rank5.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutStride, LayoutRight, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutStride, LayoutLeft, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutStride, LayoutStride, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int*****, LayoutStride, Experimental::HPX, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutStride_Rank8.cpp b/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutStride_Rank8.cpp deleted file mode 100644 index 1ff4404c9b7577e8d711bd6ad207887091dd0a17..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutStride_Rank8.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutStride, LayoutRight, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutStride, LayoutLeft, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutStride, LayoutStride, - Experimental::HPX, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int********, LayoutStride, Experimental::HPX, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/HPX/Makefile.eti_HPX b/lib/kokkos/core/src/eti/HPX/Makefile.eti_HPX deleted file mode 100644 index 904f32fb825c91d14589f4f273a6218c87a9fca6..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/HPX/Makefile.eti_HPX +++ /dev/null @@ -1,288 +0,0 @@ -Kokkos_HPX_ViewCopyETIInst_int_int_LayoutLeft_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutLeft_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutLeft_Rank1.cpp -Kokkos_HPX_ViewCopyETIInst_int_int_LayoutLeft_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutLeft_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutLeft_Rank2.cpp -Kokkos_HPX_ViewCopyETIInst_int_int_LayoutLeft_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutLeft_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutLeft_Rank3.cpp -Kokkos_HPX_ViewCopyETIInst_int_int_LayoutLeft_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutLeft_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutLeft_Rank4.cpp -Kokkos_HPX_ViewCopyETIInst_int_int_LayoutLeft_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutLeft_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutLeft_Rank5.cpp -Kokkos_HPX_ViewCopyETIInst_int_int_LayoutLeft_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutLeft_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutLeft_Rank8.cpp -Kokkos_HPX_ViewCopyETIInst_int_int_LayoutRight_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutRight_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutRight_Rank1.cpp -Kokkos_HPX_ViewCopyETIInst_int_int_LayoutRight_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutRight_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutRight_Rank2.cpp -Kokkos_HPX_ViewCopyETIInst_int_int_LayoutRight_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutRight_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutRight_Rank3.cpp -Kokkos_HPX_ViewCopyETIInst_int_int_LayoutRight_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutRight_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutRight_Rank4.cpp -Kokkos_HPX_ViewCopyETIInst_int_int_LayoutRight_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutRight_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutRight_Rank5.cpp -Kokkos_HPX_ViewCopyETIInst_int_int_LayoutRight_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutRight_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutRight_Rank8.cpp -Kokkos_HPX_ViewCopyETIInst_int_int_LayoutStride_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutStride_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutStride_Rank1.cpp -Kokkos_HPX_ViewCopyETIInst_int_int_LayoutStride_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutStride_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutStride_Rank2.cpp -Kokkos_HPX_ViewCopyETIInst_int_int_LayoutStride_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutStride_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutStride_Rank3.cpp -Kokkos_HPX_ViewCopyETIInst_int_int_LayoutStride_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutStride_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutStride_Rank4.cpp -Kokkos_HPX_ViewCopyETIInst_int_int_LayoutStride_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutStride_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutStride_Rank5.cpp -Kokkos_HPX_ViewCopyETIInst_int_int_LayoutStride_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutStride_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_int_LayoutStride_Rank8.cpp -Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank1.cpp -Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank2.cpp -Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank3.cpp -Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank4.cpp -Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank5.cpp -Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank8.cpp -Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutRight_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutRight_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutRight_Rank1.cpp -Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutRight_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutRight_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutRight_Rank2.cpp -Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutRight_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutRight_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutRight_Rank3.cpp -Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutRight_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutRight_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutRight_Rank4.cpp -Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutRight_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutRight_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutRight_Rank5.cpp -Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutRight_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutRight_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutRight_Rank8.cpp -Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutStride_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutStride_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutStride_Rank1.cpp -Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutStride_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutStride_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutStride_Rank2.cpp -Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutStride_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutStride_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutStride_Rank3.cpp -Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutStride_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutStride_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutStride_Rank4.cpp -Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutStride_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutStride_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutStride_Rank5.cpp -Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutStride_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutStride_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int_LayoutStride_Rank8.cpp -Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank1.cpp -Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank2.cpp -Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank3.cpp -Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank4.cpp -Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank5.cpp -Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank8.cpp -Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutRight_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutRight_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutRight_Rank1.cpp -Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutRight_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutRight_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutRight_Rank2.cpp -Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutRight_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutRight_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutRight_Rank3.cpp -Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutRight_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutRight_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutRight_Rank4.cpp -Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutRight_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutRight_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutRight_Rank5.cpp -Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutRight_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutRight_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutRight_Rank8.cpp -Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutStride_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutStride_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutStride_Rank1.cpp -Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutStride_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutStride_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutStride_Rank2.cpp -Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutStride_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutStride_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutStride_Rank3.cpp -Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutStride_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutStride_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutStride_Rank4.cpp -Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutStride_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutStride_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutStride_Rank5.cpp -Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutStride_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutStride_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_int64_t_LayoutStride_Rank8.cpp -Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank1.cpp -Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank2.cpp -Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank3.cpp -Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank4.cpp -Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank5.cpp -Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank8.cpp -Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank1.cpp -Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank2.cpp -Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank3.cpp -Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank4.cpp -Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank5.cpp -Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank8.cpp -Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank1.cpp -Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank2.cpp -Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank3.cpp -Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank4.cpp -Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank5.cpp -Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank8.cpp -Kokkos_HPX_ViewCopyETIInst_int_float_LayoutLeft_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutLeft_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutLeft_Rank1.cpp -Kokkos_HPX_ViewCopyETIInst_int_float_LayoutLeft_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutLeft_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutLeft_Rank2.cpp -Kokkos_HPX_ViewCopyETIInst_int_float_LayoutLeft_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutLeft_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutLeft_Rank3.cpp -Kokkos_HPX_ViewCopyETIInst_int_float_LayoutLeft_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutLeft_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutLeft_Rank4.cpp -Kokkos_HPX_ViewCopyETIInst_int_float_LayoutLeft_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutLeft_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutLeft_Rank5.cpp -Kokkos_HPX_ViewCopyETIInst_int_float_LayoutLeft_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutLeft_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutLeft_Rank8.cpp -Kokkos_HPX_ViewCopyETIInst_int_float_LayoutRight_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutRight_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutRight_Rank1.cpp -Kokkos_HPX_ViewCopyETIInst_int_float_LayoutRight_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutRight_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutRight_Rank2.cpp -Kokkos_HPX_ViewCopyETIInst_int_float_LayoutRight_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutRight_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutRight_Rank3.cpp -Kokkos_HPX_ViewCopyETIInst_int_float_LayoutRight_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutRight_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutRight_Rank4.cpp -Kokkos_HPX_ViewCopyETIInst_int_float_LayoutRight_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutRight_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutRight_Rank5.cpp -Kokkos_HPX_ViewCopyETIInst_int_float_LayoutRight_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutRight_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutRight_Rank8.cpp -Kokkos_HPX_ViewCopyETIInst_int_float_LayoutStride_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutStride_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutStride_Rank1.cpp -Kokkos_HPX_ViewCopyETIInst_int_float_LayoutStride_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutStride_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutStride_Rank2.cpp -Kokkos_HPX_ViewCopyETIInst_int_float_LayoutStride_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutStride_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutStride_Rank3.cpp -Kokkos_HPX_ViewCopyETIInst_int_float_LayoutStride_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutStride_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutStride_Rank4.cpp -Kokkos_HPX_ViewCopyETIInst_int_float_LayoutStride_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutStride_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutStride_Rank5.cpp -Kokkos_HPX_ViewCopyETIInst_int_float_LayoutStride_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutStride_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_float_LayoutStride_Rank8.cpp -Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank1.cpp -Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank2.cpp -Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank3.cpp -Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank4.cpp -Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank5.cpp -Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank8.cpp -Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutRight_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutRight_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutRight_Rank1.cpp -Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutRight_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutRight_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutRight_Rank2.cpp -Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutRight_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutRight_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutRight_Rank3.cpp -Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutRight_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutRight_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutRight_Rank4.cpp -Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutRight_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutRight_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutRight_Rank5.cpp -Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutRight_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutRight_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutRight_Rank8.cpp -Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutStride_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutStride_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutStride_Rank1.cpp -Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutStride_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutStride_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutStride_Rank2.cpp -Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutStride_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutStride_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutStride_Rank3.cpp -Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutStride_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutStride_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutStride_Rank4.cpp -Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutStride_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutStride_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutStride_Rank5.cpp -Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutStride_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutStride_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_float_LayoutStride_Rank8.cpp -Kokkos_HPX_ViewCopyETIInst_int_double_LayoutLeft_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutLeft_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutLeft_Rank1.cpp -Kokkos_HPX_ViewCopyETIInst_int_double_LayoutLeft_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutLeft_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutLeft_Rank2.cpp -Kokkos_HPX_ViewCopyETIInst_int_double_LayoutLeft_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutLeft_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutLeft_Rank3.cpp -Kokkos_HPX_ViewCopyETIInst_int_double_LayoutLeft_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutLeft_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutLeft_Rank4.cpp -Kokkos_HPX_ViewCopyETIInst_int_double_LayoutLeft_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutLeft_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutLeft_Rank5.cpp -Kokkos_HPX_ViewCopyETIInst_int_double_LayoutLeft_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutLeft_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutLeft_Rank8.cpp -Kokkos_HPX_ViewCopyETIInst_int_double_LayoutRight_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutRight_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutRight_Rank1.cpp -Kokkos_HPX_ViewCopyETIInst_int_double_LayoutRight_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutRight_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutRight_Rank2.cpp -Kokkos_HPX_ViewCopyETIInst_int_double_LayoutRight_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutRight_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutRight_Rank3.cpp -Kokkos_HPX_ViewCopyETIInst_int_double_LayoutRight_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutRight_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutRight_Rank4.cpp -Kokkos_HPX_ViewCopyETIInst_int_double_LayoutRight_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutRight_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutRight_Rank5.cpp -Kokkos_HPX_ViewCopyETIInst_int_double_LayoutRight_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutRight_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutRight_Rank8.cpp -Kokkos_HPX_ViewCopyETIInst_int_double_LayoutStride_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutStride_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutStride_Rank1.cpp -Kokkos_HPX_ViewCopyETIInst_int_double_LayoutStride_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutStride_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutStride_Rank2.cpp -Kokkos_HPX_ViewCopyETIInst_int_double_LayoutStride_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutStride_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutStride_Rank3.cpp -Kokkos_HPX_ViewCopyETIInst_int_double_LayoutStride_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutStride_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutStride_Rank4.cpp -Kokkos_HPX_ViewCopyETIInst_int_double_LayoutStride_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutStride_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutStride_Rank5.cpp -Kokkos_HPX_ViewCopyETIInst_int_double_LayoutStride_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutStride_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int_double_LayoutStride_Rank8.cpp -Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank1.cpp -Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank2.cpp -Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank3.cpp -Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank4.cpp -Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank5.cpp -Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank8.cpp -Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutRight_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutRight_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutRight_Rank1.cpp -Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutRight_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutRight_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutRight_Rank2.cpp -Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutRight_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutRight_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutRight_Rank3.cpp -Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutRight_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutRight_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutRight_Rank4.cpp -Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutRight_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutRight_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutRight_Rank5.cpp -Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutRight_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutRight_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutRight_Rank8.cpp -Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutStride_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutStride_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutStride_Rank1.cpp -Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutStride_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutStride_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutStride_Rank2.cpp -Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutStride_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutStride_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutStride_Rank3.cpp -Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutStride_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutStride_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutStride_Rank4.cpp -Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutStride_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutStride_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutStride_Rank5.cpp -Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutStride_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutStride_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/HPX/Kokkos_HPX_ViewCopyETIInst_int64_t_double_LayoutStride_Rank8.cpp diff --git a/lib/kokkos/core/src/eti/OpenMP/CMakeLists.txt b/lib/kokkos/core/src/eti/OpenMP/CMakeLists.txt deleted file mode 100644 index 73c419f3c4b9188567e67957d5b6e36ae7379f7f..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/CMakeLists.txt +++ /dev/null @@ -1,148 +0,0 @@ -set(D "${CMAKE_CURRENT_SOURCE_DIR}") -set(ETI_SOURCES -${ETI_SOURCES} -${D}/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank1.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank2.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank3.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank4.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank5.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank8.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutRight_Rank1.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutRight_Rank2.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutRight_Rank3.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutRight_Rank4.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutRight_Rank5.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutRight_Rank8.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutStride_Rank1.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutStride_Rank2.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutStride_Rank3.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutStride_Rank4.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutStride_Rank5.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutStride_Rank8.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank1.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank2.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank3.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank4.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank5.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank8.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutRight_Rank1.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutRight_Rank2.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutRight_Rank3.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutRight_Rank4.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutRight_Rank5.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutRight_Rank8.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutStride_Rank1.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutStride_Rank2.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutStride_Rank3.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutStride_Rank4.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutStride_Rank5.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutStride_Rank8.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank1.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank2.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank3.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank4.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank5.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank8.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank1.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank2.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank3.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank4.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank5.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank8.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank1.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank2.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank3.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank4.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank5.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank8.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank1.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank2.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank3.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank4.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank5.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank8.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutRight_Rank1.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutRight_Rank2.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutRight_Rank3.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutRight_Rank4.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutRight_Rank5.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutRight_Rank8.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutStride_Rank1.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutStride_Rank2.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutStride_Rank3.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutStride_Rank4.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutStride_Rank5.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutStride_Rank8.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutLeft_Rank1.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutLeft_Rank2.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutLeft_Rank3.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutLeft_Rank4.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutLeft_Rank5.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutLeft_Rank8.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutRight_Rank1.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutRight_Rank2.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutRight_Rank3.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutRight_Rank4.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutRight_Rank5.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutRight_Rank8.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutStride_Rank1.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutStride_Rank2.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutStride_Rank3.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutStride_Rank4.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutStride_Rank5.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutStride_Rank8.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutLeft_Rank1.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutLeft_Rank2.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutLeft_Rank3.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutLeft_Rank4.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutLeft_Rank5.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutLeft_Rank8.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutRight_Rank1.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutRight_Rank2.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutRight_Rank3.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutRight_Rank4.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutRight_Rank5.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutRight_Rank8.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutStride_Rank1.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutStride_Rank2.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutStride_Rank3.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutStride_Rank4.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutStride_Rank5.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutStride_Rank8.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank1.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank2.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank3.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank4.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank5.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank8.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutRight_Rank1.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutRight_Rank2.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutRight_Rank3.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutRight_Rank4.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutRight_Rank5.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutRight_Rank8.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutStride_Rank1.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutStride_Rank2.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutStride_Rank3.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutStride_Rank4.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutStride_Rank5.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutStride_Rank8.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutLeft_Rank1.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutLeft_Rank2.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutLeft_Rank3.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutLeft_Rank4.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutLeft_Rank5.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutLeft_Rank8.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutRight_Rank1.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutRight_Rank2.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutRight_Rank3.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutRight_Rank4.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutRight_Rank5.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutRight_Rank8.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutStride_Rank1.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutStride_Rank2.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutStride_Rank3.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutStride_Rank4.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutStride_Rank5.cpp -${D}/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutStride_Rank8.cpp -PARENT_SCOPE) diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank1.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank1.cpp deleted file mode 100644 index 37d812f9894331eba580fa24f00b4d1f6a02b5e8..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank1.cpp +++ /dev/null @@ -1,56 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutLeft, LayoutRight, OpenMP, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutLeft, LayoutLeft, OpenMP, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutLeft, LayoutStride, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double*, LayoutLeft, OpenMP, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank2.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank2.cpp deleted file mode 100644 index c4ac098abcf0a96e1252fba47a567da377238c87..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank2.cpp +++ /dev/null @@ -1,57 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutLeft, LayoutRight, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutLeft, LayoutLeft, OpenMP, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutLeft, LayoutStride, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double**, LayoutLeft, OpenMP, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank3.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank3.cpp deleted file mode 100644 index fc7cc305550db6675488d30a3b5f6c39fb8bc6a6..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank3.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutLeft, LayoutRight, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutLeft, LayoutLeft, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutLeft, LayoutStride, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double***, LayoutLeft, OpenMP, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank4.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank4.cpp deleted file mode 100644 index f543baf688e357e073db11775612beff0eaddbdb..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank4.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutLeft, LayoutRight, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutLeft, LayoutLeft, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutLeft, LayoutStride, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double****, LayoutLeft, OpenMP, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank5.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank5.cpp deleted file mode 100644 index 6cff58e36027b91ce234761c14524dd353cbb053..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank5.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutLeft, LayoutRight, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutLeft, LayoutLeft, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutLeft, LayoutStride, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double*****, LayoutLeft, OpenMP, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank8.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank8.cpp deleted file mode 100644 index 30ae7d650bd9535d766f2094273381ff258f0d71..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank8.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutLeft, LayoutRight, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutLeft, LayoutLeft, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutLeft, LayoutStride, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double********, LayoutLeft, OpenMP, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutRight_Rank1.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutRight_Rank1.cpp deleted file mode 100644 index 343c09f22001ae3c2b74decdb4c594882949037b..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutRight_Rank1.cpp +++ /dev/null @@ -1,57 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutRight, LayoutRight, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutRight, LayoutLeft, OpenMP, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutRight, LayoutStride, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double*, LayoutRight, OpenMP, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutRight_Rank2.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutRight_Rank2.cpp deleted file mode 100644 index ffe2971e59f8f12e99cb6b6da910fe275d589125..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutRight_Rank2.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutRight, LayoutRight, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutRight, LayoutLeft, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutRight, LayoutStride, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double**, LayoutRight, OpenMP, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutRight_Rank3.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutRight_Rank3.cpp deleted file mode 100644 index 0e9a519c15f3b67ea18a3735b4f1c44901ca7dbe..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutRight_Rank3.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutRight, LayoutRight, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutRight, LayoutLeft, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutRight, LayoutStride, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double***, LayoutRight, OpenMP, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutRight_Rank4.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutRight_Rank4.cpp deleted file mode 100644 index cca76dac3741980b6f405db5692e25607154a531..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutRight_Rank4.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutRight, LayoutRight, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutRight, LayoutLeft, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutRight, LayoutStride, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double****, LayoutRight, OpenMP, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutRight_Rank5.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutRight_Rank5.cpp deleted file mode 100644 index 22a6f0492fe342552ca55c548ffb93f84692364e..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutRight_Rank5.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutRight, LayoutRight, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutRight, LayoutLeft, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutRight, LayoutStride, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double*****, LayoutRight, OpenMP, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutRight_Rank8.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutRight_Rank8.cpp deleted file mode 100644 index 32f9b4ec9813724fb15703e4634fcd8ad7e821b5..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutRight_Rank8.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutRight, LayoutRight, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutRight, LayoutLeft, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutRight, LayoutStride, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double********, LayoutRight, OpenMP, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutStride_Rank1.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutStride_Rank1.cpp deleted file mode 100644 index 9753469e5103307b383ae5aeaa2f17540dd96d10..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutStride_Rank1.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutStride, LayoutRight, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutStride, LayoutLeft, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutStride, LayoutStride, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double*, LayoutStride, OpenMP, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutStride_Rank2.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutStride_Rank2.cpp deleted file mode 100644 index b0d5a3a7c7098c257c1c2c31fb962dc8794e9e30..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutStride_Rank2.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutStride, LayoutRight, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutStride, LayoutLeft, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutStride, LayoutStride, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double**, LayoutStride, OpenMP, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutStride_Rank3.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutStride_Rank3.cpp deleted file mode 100644 index f1b981eac15b5b689540b5830cc564bc2ab471db..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutStride_Rank3.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutStride, LayoutRight, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutStride, LayoutLeft, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutStride, LayoutStride, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double***, LayoutStride, OpenMP, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutStride_Rank4.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutStride_Rank4.cpp deleted file mode 100644 index 07ebe686a4c64df531b3f846d221486dae5f7bd7..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutStride_Rank4.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutStride, LayoutRight, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutStride, LayoutLeft, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutStride, LayoutStride, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double****, LayoutStride, OpenMP, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutStride_Rank5.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutStride_Rank5.cpp deleted file mode 100644 index 1eefbc9b01772b147a06d2fe8d1def9b2b0663b9..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutStride_Rank5.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutStride, LayoutRight, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutStride, LayoutLeft, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutStride, LayoutStride, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double*****, LayoutStride, OpenMP, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutStride_Rank8.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutStride_Rank8.cpp deleted file mode 100644 index 87a81639eb832b0de2245f9d230c116d18a7171b..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutStride_Rank8.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutStride, LayoutRight, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutStride, LayoutLeft, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutStride, LayoutStride, - OpenMP, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double********, LayoutStride, OpenMP, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank1.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank1.cpp deleted file mode 100644 index 401069942e741da0d70ac9bcb01744ebd310e864..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank1.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutLeft, LayoutRight, OpenMP, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutLeft, LayoutLeft, OpenMP, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutLeft, LayoutStride, OpenMP, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float*, LayoutLeft, OpenMP, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank2.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank2.cpp deleted file mode 100644 index 4e774bec23925e7c192a205cd3cb8f085f98e6de..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank2.cpp +++ /dev/null @@ -1,56 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutLeft, LayoutRight, OpenMP, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutLeft, LayoutLeft, OpenMP, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutLeft, LayoutStride, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float**, LayoutLeft, OpenMP, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank3.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank3.cpp deleted file mode 100644 index 1b3343dd239a30d70017b40380dec3de72bee9ad..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank3.cpp +++ /dev/null @@ -1,57 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutLeft, LayoutRight, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutLeft, LayoutLeft, OpenMP, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutLeft, LayoutStride, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float***, LayoutLeft, OpenMP, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank4.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank4.cpp deleted file mode 100644 index ad5421bb5ed3688c884923e843bd9e206541905c..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank4.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutLeft, LayoutRight, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutLeft, LayoutLeft, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutLeft, LayoutStride, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float****, LayoutLeft, OpenMP, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank5.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank5.cpp deleted file mode 100644 index fde46899806beddd42fbb2bd45207b669f1ee404..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank5.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutLeft, LayoutRight, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutLeft, LayoutLeft, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutLeft, LayoutStride, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float*****, LayoutLeft, OpenMP, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank8.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank8.cpp deleted file mode 100644 index 9c1db701cc273000817594b7185f52ffe7f6a57e..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank8.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutLeft, LayoutRight, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutLeft, LayoutLeft, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutLeft, LayoutStride, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float********, LayoutLeft, OpenMP, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutRight_Rank1.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutRight_Rank1.cpp deleted file mode 100644 index 2536abbed4e093ee92e5f2bfbeeb706d01daef58..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutRight_Rank1.cpp +++ /dev/null @@ -1,56 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutRight, LayoutRight, OpenMP, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutRight, LayoutLeft, OpenMP, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutRight, LayoutStride, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float*, LayoutRight, OpenMP, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutRight_Rank2.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutRight_Rank2.cpp deleted file mode 100644 index 8ab48a4f7b393a093a14796856d6c5836675eaeb..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutRight_Rank2.cpp +++ /dev/null @@ -1,57 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutRight, LayoutRight, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutRight, LayoutLeft, OpenMP, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutRight, LayoutStride, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float**, LayoutRight, OpenMP, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutRight_Rank3.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutRight_Rank3.cpp deleted file mode 100644 index e4f8d4044341a49aeae97e623cf1e0778fd35cd0..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutRight_Rank3.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutRight, LayoutRight, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutRight, LayoutLeft, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutRight, LayoutStride, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float***, LayoutRight, OpenMP, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutRight_Rank4.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutRight_Rank4.cpp deleted file mode 100644 index cd482972a76bd4888e72cb66d0d6d7d20b368d15..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutRight_Rank4.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutRight, LayoutRight, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutRight, LayoutLeft, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutRight, LayoutStride, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float****, LayoutRight, OpenMP, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutRight_Rank5.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutRight_Rank5.cpp deleted file mode 100644 index fa7b6211fdf8e94d9141ec86ec080eed8cdbaed3..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutRight_Rank5.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutRight, LayoutRight, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutRight, LayoutLeft, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutRight, LayoutStride, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float*****, LayoutRight, OpenMP, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutRight_Rank8.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutRight_Rank8.cpp deleted file mode 100644 index aeb191e8ca7c0b05d0e6911546c35382e9f5d3d7..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutRight_Rank8.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutRight, LayoutRight, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutRight, LayoutLeft, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutRight, LayoutStride, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float********, LayoutRight, OpenMP, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutStride_Rank1.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutStride_Rank1.cpp deleted file mode 100644 index 94ce1eba0a6e8b19f4e976a05c7ddbe8d6bb740a..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutStride_Rank1.cpp +++ /dev/null @@ -1,57 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutStride, LayoutRight, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutStride, LayoutLeft, OpenMP, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutStride, LayoutStride, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float*, LayoutStride, OpenMP, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutStride_Rank2.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutStride_Rank2.cpp deleted file mode 100644 index 01c96b436fcab997482d9f2e3029c831989ae21d..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutStride_Rank2.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutStride, LayoutRight, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutStride, LayoutLeft, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutStride, LayoutStride, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float**, LayoutStride, OpenMP, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutStride_Rank3.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutStride_Rank3.cpp deleted file mode 100644 index 3067883b2d722fcc3b7fe7b13fdc9a59b483455a..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutStride_Rank3.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutStride, LayoutRight, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutStride, LayoutLeft, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutStride, LayoutStride, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float***, LayoutStride, OpenMP, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutStride_Rank4.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutStride_Rank4.cpp deleted file mode 100644 index 27ecf522ac259114613af69a70213ed3d7d43457..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutStride_Rank4.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutStride, LayoutRight, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutStride, LayoutLeft, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutStride, LayoutStride, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float****, LayoutStride, OpenMP, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutStride_Rank5.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutStride_Rank5.cpp deleted file mode 100644 index 2925cbe447fa9374f1a34dd2abd79c08523508b7..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutStride_Rank5.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutStride, LayoutRight, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutStride, LayoutLeft, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutStride, LayoutStride, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float*****, LayoutStride, OpenMP, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutStride_Rank8.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutStride_Rank8.cpp deleted file mode 100644 index 72672c5bb33fce3db029b487a1f6efb26bb43ca9..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutStride_Rank8.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutStride, LayoutRight, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutStride, LayoutLeft, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutStride, LayoutStride, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float********, LayoutStride, OpenMP, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank1.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank1.cpp deleted file mode 100644 index d301592daac39c3b404abfb5d09e21858c45176f..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank1.cpp +++ /dev/null @@ -1,57 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutLeft, LayoutRight, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutLeft, LayoutLeft, OpenMP, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutLeft, LayoutStride, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t*, LayoutLeft, OpenMP, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank2.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank2.cpp deleted file mode 100644 index dca8eeb026e1e7898c9b0935e0c624500ba7220a..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank2.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutLeft, LayoutRight, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutLeft, LayoutLeft, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutLeft, LayoutStride, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t**, LayoutLeft, OpenMP, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank3.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank3.cpp deleted file mode 100644 index 832bbc0fef50828a807f8326d1854cc1bfb1c449..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank3.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutLeft, LayoutRight, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutLeft, LayoutLeft, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutLeft, LayoutStride, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t***, LayoutLeft, OpenMP, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank4.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank4.cpp deleted file mode 100644 index 45f9c22bc1747fea7b449eaa27028bd88713de2f..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank4.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutLeft, LayoutRight, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutLeft, LayoutLeft, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutLeft, LayoutStride, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t****, LayoutLeft, OpenMP, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank5.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank5.cpp deleted file mode 100644 index 7c8c5d80b718900f2ebcd84c8bbffcef3315f6a3..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank5.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutLeft, LayoutRight, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutLeft, LayoutLeft, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutLeft, LayoutStride, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t*****, LayoutLeft, OpenMP, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank8.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank8.cpp deleted file mode 100644 index 2fae74f591867e690b65cfbd7347f6435c38f809..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank8.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutLeft, LayoutRight, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutLeft, LayoutLeft, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutLeft, LayoutStride, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t********, LayoutLeft, OpenMP, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank1.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank1.cpp deleted file mode 100644 index 0523a6e286bdd8bd25e4ba62ab413a3905b2cf24..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank1.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutRight, LayoutRight, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutRight, LayoutLeft, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutRight, LayoutStride, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t*, LayoutRight, OpenMP, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank2.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank2.cpp deleted file mode 100644 index 24d667d7da5e49637932cc92035253b170d59741..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank2.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutRight, LayoutRight, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutRight, LayoutLeft, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutRight, LayoutStride, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t**, LayoutRight, OpenMP, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank3.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank3.cpp deleted file mode 100644 index 599d8fc04d63c0137c5a1891fd2558c12cdfdc8c..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank3.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutRight, LayoutRight, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutRight, LayoutLeft, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutRight, LayoutStride, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t***, LayoutRight, OpenMP, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank4.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank4.cpp deleted file mode 100644 index 2583f8d6e9c83ed556deabbc22c1654355d279cc..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank4.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutRight, LayoutRight, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutRight, LayoutLeft, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutRight, LayoutStride, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t****, LayoutRight, OpenMP, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank5.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank5.cpp deleted file mode 100644 index d9e1f774bce194791a2090406337d9195670d2c1..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank5.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutRight, LayoutRight, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutRight, LayoutLeft, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutRight, LayoutStride, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t*****, LayoutRight, OpenMP, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank8.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank8.cpp deleted file mode 100644 index 8376f1dd38ff5117009104f3c589382ce7ddc153..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank8.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutRight, LayoutRight, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutRight, LayoutLeft, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutRight, LayoutStride, - OpenMP, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t********, LayoutRight, OpenMP, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank1.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank1.cpp deleted file mode 100644 index 2b21554c0854341aa4f16d116ce9def29d36f4d6..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank1.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutStride, LayoutRight, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutStride, LayoutLeft, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutStride, LayoutStride, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t*, LayoutStride, OpenMP, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank2.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank2.cpp deleted file mode 100644 index 985e0be47c2f693830c9fe47547c6784bbda9d58..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank2.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutStride, LayoutRight, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutStride, LayoutLeft, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutStride, LayoutStride, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t**, LayoutStride, OpenMP, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank3.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank3.cpp deleted file mode 100644 index f1e37a5c415e37b05aed9b1ed02bcf8380f13e14..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank3.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutStride, LayoutRight, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutStride, LayoutLeft, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutStride, LayoutStride, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t***, LayoutStride, OpenMP, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank4.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank4.cpp deleted file mode 100644 index ea071ac108583717d8e474d6d99588686e7bc3ec..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank4.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutStride, LayoutRight, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutStride, LayoutLeft, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutStride, LayoutStride, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t****, LayoutStride, OpenMP, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank8.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank8.cpp deleted file mode 100644 index bac3515894bf3c547b31eac241194207f2c57ca8..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank8.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutStride, LayoutRight, - OpenMP, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutStride, LayoutLeft, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutStride, LayoutStride, - OpenMP, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t********, LayoutStride, OpenMP, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank1.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank1.cpp deleted file mode 100644 index 515812fb99410110460f5ccb97e90f639249a11d..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank1.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutLeft, LayoutRight, OpenMP, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutLeft, LayoutLeft, OpenMP, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutLeft, LayoutStride, OpenMP, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int*, LayoutLeft, OpenMP, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank2.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank2.cpp deleted file mode 100644 index 28ebc3505ba3014674ca75230e3450f24bb75948..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank2.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutLeft, LayoutRight, OpenMP, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutLeft, LayoutLeft, OpenMP, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutLeft, LayoutStride, OpenMP, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int**, LayoutLeft, OpenMP, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank3.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank3.cpp deleted file mode 100644 index 3bc9254b0e0f4fbd7f0171a3c37347e16df05a14..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank3.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutLeft, LayoutRight, OpenMP, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutLeft, LayoutLeft, OpenMP, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutLeft, LayoutStride, OpenMP, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int***, LayoutLeft, OpenMP, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank4.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank4.cpp deleted file mode 100644 index dcba7deea3bf6191b8f70f12a4199d22eeb625e0..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank4.cpp +++ /dev/null @@ -1,56 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutLeft, LayoutRight, OpenMP, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutLeft, LayoutLeft, OpenMP, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutLeft, LayoutStride, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int****, LayoutLeft, OpenMP, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank5.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank5.cpp deleted file mode 100644 index 9aba49991b2b5a453b0993ef26b0b4cd707e06b0..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank5.cpp +++ /dev/null @@ -1,57 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutLeft, LayoutRight, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutLeft, LayoutLeft, OpenMP, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutLeft, LayoutStride, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int*****, LayoutLeft, OpenMP, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank8.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank8.cpp deleted file mode 100644 index 98d7304444276b45fd90adab5b7dff6698549824..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank8.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutLeft, LayoutRight, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutLeft, LayoutLeft, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutLeft, LayoutStride, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int********, LayoutLeft, OpenMP, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutRight_Rank1.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutRight_Rank1.cpp deleted file mode 100644 index 2179ba6558ff13ddd4d79bdd1d7976f29a2dc04f..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutRight_Rank1.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutRight, LayoutRight, OpenMP, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutRight, LayoutLeft, OpenMP, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutRight, LayoutStride, OpenMP, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int*, LayoutRight, OpenMP, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutRight_Rank2.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutRight_Rank2.cpp deleted file mode 100644 index b7eed148d8dd9fb8902adcc9791d195ff7fcb570..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutRight_Rank2.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutRight, LayoutRight, OpenMP, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutRight, LayoutLeft, OpenMP, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutRight, LayoutStride, OpenMP, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int**, LayoutRight, OpenMP, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutRight_Rank3.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutRight_Rank3.cpp deleted file mode 100644 index 58a27832183fb894b30fef9b7cbc5ec9c3c62986..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutRight_Rank3.cpp +++ /dev/null @@ -1,56 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutRight, LayoutRight, OpenMP, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutRight, LayoutLeft, OpenMP, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutRight, LayoutStride, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int***, LayoutRight, OpenMP, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutRight_Rank4.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutRight_Rank4.cpp deleted file mode 100644 index 7ed2bd0bd792693b534c3629e6e0120bf81fa7e6..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutRight_Rank4.cpp +++ /dev/null @@ -1,57 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutRight, LayoutRight, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutRight, LayoutLeft, OpenMP, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutRight, LayoutStride, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int****, LayoutRight, OpenMP, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutRight_Rank5.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutRight_Rank5.cpp deleted file mode 100644 index 0ba5edbc7c0525dfe279626e20f8ceae54c59bd9..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutRight_Rank5.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutRight, LayoutRight, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutRight, LayoutLeft, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutRight, LayoutStride, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int*****, LayoutRight, OpenMP, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutRight_Rank8.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutRight_Rank8.cpp deleted file mode 100644 index acce37b7942b464dc7cf4c5825ef3bdb8088b2f9..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutRight_Rank8.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutRight, LayoutRight, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutRight, LayoutLeft, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutRight, LayoutStride, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int********, LayoutRight, OpenMP, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutStride_Rank1.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutStride_Rank1.cpp deleted file mode 100644 index 83878113da2255c8fb7ab729d2307eab8dffc0b6..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutStride_Rank1.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutStride, LayoutRight, OpenMP, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutStride, LayoutLeft, OpenMP, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutStride, LayoutStride, OpenMP, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int*, LayoutStride, OpenMP, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutStride_Rank2.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutStride_Rank2.cpp deleted file mode 100644 index fbbd5edd28c5dae53eae6fa08d9ec67d452cd273..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutStride_Rank2.cpp +++ /dev/null @@ -1,56 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutStride, LayoutRight, OpenMP, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutStride, LayoutLeft, OpenMP, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutStride, LayoutStride, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int**, LayoutStride, OpenMP, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutStride_Rank3.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutStride_Rank3.cpp deleted file mode 100644 index f4b2364f64896d9dabcda95849a2c0ccc0de500a..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutStride_Rank3.cpp +++ /dev/null @@ -1,57 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutStride, LayoutRight, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutStride, LayoutLeft, OpenMP, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutStride, LayoutStride, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int***, LayoutStride, OpenMP, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutStride_Rank4.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutStride_Rank4.cpp deleted file mode 100644 index df6db05a880ea3e5d107da162c6b12180f51cf7d..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutStride_Rank4.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutStride, LayoutRight, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutStride, LayoutLeft, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutStride, LayoutStride, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int****, LayoutStride, OpenMP, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutStride_Rank5.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutStride_Rank5.cpp deleted file mode 100644 index 14acf8fb2908f2adc1339d3adef6a18208bcf57c..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutStride_Rank5.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutStride, LayoutRight, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutStride, LayoutLeft, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutStride, LayoutStride, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int*****, LayoutStride, OpenMP, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutStride_Rank8.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutStride_Rank8.cpp deleted file mode 100644 index 1984598a27913dffd213e32c2673a3af6a40f7d7..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutStride_Rank8.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutStride, LayoutRight, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutStride, LayoutLeft, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutStride, LayoutStride, OpenMP, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int********, LayoutStride, OpenMP, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutLeft_Rank1.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutLeft_Rank1.cpp deleted file mode 100644 index 98798026505ce9c62533acc069b480ab94cb9b35..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutLeft_Rank1.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutLeft, LayoutRight, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutLeft, LayoutLeft, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutLeft, LayoutStride, OpenMP, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double*, LayoutLeft, OpenMP, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutLeft_Rank2.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutLeft_Rank2.cpp deleted file mode 100644 index 1283f14a6917a7ecbc591ddb1ec413c0b4652253..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutLeft_Rank2.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutLeft, LayoutRight, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutLeft, LayoutLeft, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutLeft, LayoutStride, OpenMP, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double**, LayoutLeft, OpenMP, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutLeft_Rank3.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutLeft_Rank3.cpp deleted file mode 100644 index 3addc9913f57b9a5f464e88118a4c41d4c9fe274..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutLeft_Rank3.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutLeft, LayoutRight, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutLeft, LayoutLeft, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutLeft, LayoutStride, OpenMP, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double***, LayoutLeft, OpenMP, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutLeft_Rank4.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutLeft_Rank4.cpp deleted file mode 100644 index 25336a754ae5b70c7ba5e45dd4563b40f7cda1d6..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutLeft_Rank4.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutLeft, LayoutRight, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutLeft, LayoutLeft, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutLeft, LayoutStride, OpenMP, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double****, LayoutLeft, OpenMP, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutLeft_Rank5.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutLeft_Rank5.cpp deleted file mode 100644 index b4cca866206356d17aaf9bdf4b0659cbe98b84fa..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutLeft_Rank5.cpp +++ /dev/null @@ -1,56 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutLeft, LayoutRight, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutLeft, LayoutLeft, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutLeft, LayoutStride, OpenMP, - int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double*****, LayoutLeft, OpenMP, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutLeft_Rank8.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutLeft_Rank8.cpp deleted file mode 100644 index ffe81fbff76bd782bb1247d5a3f095d646bea4b6..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutLeft_Rank8.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutLeft, LayoutRight, OpenMP, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutLeft, LayoutLeft, OpenMP, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutLeft, LayoutStride, OpenMP, - int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double********, LayoutLeft, OpenMP, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutRight_Rank1.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutRight_Rank1.cpp deleted file mode 100644 index 7bb38884bcf2c7a7e1b6307b27883c610a426546..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutRight_Rank1.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutRight, LayoutRight, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutRight, LayoutLeft, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutRight, LayoutStride, OpenMP, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double*, LayoutRight, OpenMP, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutRight_Rank2.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutRight_Rank2.cpp deleted file mode 100644 index f99f79e4fcafbc8f6f2d24cfc61d6b5381a43ddc..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutRight_Rank2.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutRight, LayoutRight, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutRight, LayoutLeft, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutRight, LayoutStride, OpenMP, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double**, LayoutRight, OpenMP, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutRight_Rank3.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutRight_Rank3.cpp deleted file mode 100644 index cedc1d90144c88094470e5bd3c60bd7a7be14d68..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutRight_Rank3.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutRight, LayoutRight, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutRight, LayoutLeft, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutRight, LayoutStride, OpenMP, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double***, LayoutRight, OpenMP, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutRight_Rank4.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutRight_Rank4.cpp deleted file mode 100644 index 2e101591d1fc7884cc8a65dbe7fa1f9b2496ef38..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutRight_Rank4.cpp +++ /dev/null @@ -1,56 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutRight, LayoutRight, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutRight, LayoutLeft, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutRight, LayoutStride, OpenMP, - int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double****, LayoutRight, OpenMP, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutRight_Rank5.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutRight_Rank5.cpp deleted file mode 100644 index 6451611b6f70bb02fd0437d9d033a24d0491159d..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutRight_Rank5.cpp +++ /dev/null @@ -1,57 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutRight, LayoutRight, OpenMP, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutRight, LayoutLeft, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutRight, LayoutStride, OpenMP, - int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double*****, LayoutRight, OpenMP, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutRight_Rank8.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutRight_Rank8.cpp deleted file mode 100644 index 0898be20e1da2c5c8efdf3d06b3e3b9009c9b2fc..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutRight_Rank8.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutRight, LayoutRight, OpenMP, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutRight, LayoutLeft, OpenMP, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutRight, LayoutStride, OpenMP, - int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double********, LayoutRight, OpenMP, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutStride_Rank1.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutStride_Rank1.cpp deleted file mode 100644 index 5dc7d5cdde8e0ef60a70c6216e85b6a0345a8d82..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutStride_Rank1.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutStride, LayoutRight, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutStride, LayoutLeft, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutStride, LayoutStride, OpenMP, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double*, LayoutStride, OpenMP, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutStride_Rank2.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutStride_Rank2.cpp deleted file mode 100644 index dc3c00d42f728482afc0e79e4fdb47593be6613b..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutStride_Rank2.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutStride, LayoutRight, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutStride, LayoutLeft, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutStride, LayoutStride, OpenMP, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double**, LayoutStride, OpenMP, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutStride_Rank3.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutStride_Rank3.cpp deleted file mode 100644 index 52b94e91e4f53fa5e7b25fc4c3de0e912364f4e7..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutStride_Rank3.cpp +++ /dev/null @@ -1,56 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutStride, LayoutRight, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutStride, LayoutLeft, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutStride, LayoutStride, OpenMP, - int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double***, LayoutStride, OpenMP, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutStride_Rank4.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutStride_Rank4.cpp deleted file mode 100644 index 3d1359bbfadb178ee00202b1d12ba249c2dc9f51..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutStride_Rank4.cpp +++ /dev/null @@ -1,57 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutStride, LayoutRight, OpenMP, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutStride, LayoutLeft, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutStride, LayoutStride, OpenMP, - int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double****, LayoutStride, OpenMP, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutStride_Rank5.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutStride_Rank5.cpp deleted file mode 100644 index 54ac13a7564a95a675f125547169b3e72b993a6b..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutStride_Rank5.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutStride, LayoutRight, OpenMP, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutStride, LayoutLeft, OpenMP, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutStride, LayoutStride, OpenMP, - int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double*****, LayoutStride, OpenMP, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutStride_Rank8.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutStride_Rank8.cpp deleted file mode 100644 index 8a1e5089239492f183ce8909d4df6662d4bdcf3c..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutStride_Rank8.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutStride, LayoutRight, OpenMP, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutStride, LayoutLeft, OpenMP, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutStride, LayoutStride, - OpenMP, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double********, LayoutStride, OpenMP, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutLeft_Rank1.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutLeft_Rank1.cpp deleted file mode 100644 index f585a683311546ffcf695346a814d3d59306dddd..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutLeft_Rank1.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutLeft, LayoutRight, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutLeft, LayoutLeft, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutLeft, LayoutStride, OpenMP, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float*, LayoutLeft, OpenMP, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutLeft_Rank2.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutLeft_Rank2.cpp deleted file mode 100644 index f3943c7c6343e97ebe6bcab3f47894deff925736..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutLeft_Rank2.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutLeft, LayoutRight, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutLeft, LayoutLeft, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutLeft, LayoutStride, OpenMP, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float**, LayoutLeft, OpenMP, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutLeft_Rank3.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutLeft_Rank3.cpp deleted file mode 100644 index ab16463a37778087a73083a4247bbfdbfd08708d..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutLeft_Rank3.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutLeft, LayoutRight, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutLeft, LayoutLeft, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutLeft, LayoutStride, OpenMP, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float***, LayoutLeft, OpenMP, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutLeft_Rank4.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutLeft_Rank4.cpp deleted file mode 100644 index 3adbfa6aae6e9a68b4b997b3f8ca29dc1daa04d7..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutLeft_Rank4.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutLeft, LayoutRight, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutLeft, LayoutLeft, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutLeft, LayoutStride, OpenMP, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float****, LayoutLeft, OpenMP, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutLeft_Rank5.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutLeft_Rank5.cpp deleted file mode 100644 index 32e317e02cd73793bff0a4ed0bf4efe010c9a475..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutLeft_Rank5.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutLeft, LayoutRight, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutLeft, LayoutLeft, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutLeft, LayoutStride, OpenMP, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float*****, LayoutLeft, OpenMP, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutLeft_Rank8.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutLeft_Rank8.cpp deleted file mode 100644 index 9a6bf70c926b9b8fa16701637bb020740d0dd4e8..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutLeft_Rank8.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutLeft, LayoutRight, OpenMP, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutLeft, LayoutLeft, OpenMP, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutLeft, LayoutStride, OpenMP, - int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float********, LayoutLeft, OpenMP, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutRight_Rank1.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutRight_Rank1.cpp deleted file mode 100644 index a081f46d43480076dcbdb354fb3c4648b9a79800..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutRight_Rank1.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutRight, LayoutRight, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutRight, LayoutLeft, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutRight, LayoutStride, OpenMP, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float*, LayoutRight, OpenMP, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutRight_Rank2.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutRight_Rank2.cpp deleted file mode 100644 index 7175be7bf9fb4ad556fc17c8f5be39a5e49d21e0..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutRight_Rank2.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutRight, LayoutRight, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutRight, LayoutLeft, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutRight, LayoutStride, OpenMP, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float**, LayoutRight, OpenMP, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutRight_Rank3.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutRight_Rank3.cpp deleted file mode 100644 index 6ad85033028892289e96ac583a36661821333254..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutRight_Rank3.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutRight, LayoutRight, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutRight, LayoutLeft, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutRight, LayoutStride, OpenMP, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float***, LayoutRight, OpenMP, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutRight_Rank4.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutRight_Rank4.cpp deleted file mode 100644 index 6af17f7c3efae87bb63444d992224ea1f2d753ee..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutRight_Rank4.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutRight, LayoutRight, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutRight, LayoutLeft, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutRight, LayoutStride, OpenMP, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float****, LayoutRight, OpenMP, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutRight_Rank5.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutRight_Rank5.cpp deleted file mode 100644 index 269785fa7e7af218a0578acd92e1731cd290f498..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutRight_Rank5.cpp +++ /dev/null @@ -1,56 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutRight, LayoutRight, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutRight, LayoutLeft, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutRight, LayoutStride, OpenMP, - int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float*****, LayoutRight, OpenMP, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutRight_Rank8.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutRight_Rank8.cpp deleted file mode 100644 index a3469972de96e28ff07b2ae529c8ff69fee0ac37..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutRight_Rank8.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutRight, LayoutRight, OpenMP, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutRight, LayoutLeft, OpenMP, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutRight, LayoutStride, OpenMP, - int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float********, LayoutRight, OpenMP, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutStride_Rank1.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutStride_Rank1.cpp deleted file mode 100644 index d3064fd97f1b89927ec4077e5d531c7886be2274..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutStride_Rank1.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutStride, LayoutRight, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutStride, LayoutLeft, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutStride, LayoutStride, OpenMP, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float*, LayoutStride, OpenMP, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutStride_Rank2.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutStride_Rank2.cpp deleted file mode 100644 index 5ae8d476201dc2d10e18bf80a38143c04048f837..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutStride_Rank2.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutStride, LayoutRight, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutStride, LayoutLeft, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutStride, LayoutStride, OpenMP, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float**, LayoutStride, OpenMP, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutStride_Rank3.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutStride_Rank3.cpp deleted file mode 100644 index f7b3a5db8784a8e182cac2b2f1ac466a0fcea29d..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutStride_Rank3.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutStride, LayoutRight, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutStride, LayoutLeft, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutStride, LayoutStride, OpenMP, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float***, LayoutStride, OpenMP, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutStride_Rank4.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutStride_Rank4.cpp deleted file mode 100644 index d36d2d27c69d587b7d8fbe00097f4e6f8e43a14f..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutStride_Rank4.cpp +++ /dev/null @@ -1,56 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutStride, LayoutRight, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutStride, LayoutLeft, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutStride, LayoutStride, OpenMP, - int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float****, LayoutStride, OpenMP, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutStride_Rank5.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutStride_Rank5.cpp deleted file mode 100644 index 6a88b0b8eadd0d8aa0fb99dcb693f7d72fb1fa21..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutStride_Rank5.cpp +++ /dev/null @@ -1,57 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutStride, LayoutRight, OpenMP, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutStride, LayoutLeft, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutStride, LayoutStride, OpenMP, - int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float*****, LayoutStride, OpenMP, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutStride_Rank8.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutStride_Rank8.cpp deleted file mode 100644 index ec459f1bbfd97df317e25bbecb9350b9dbc1edb4..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutStride_Rank8.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutStride, LayoutRight, OpenMP, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutStride, LayoutLeft, OpenMP, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutStride, LayoutStride, OpenMP, - int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float********, LayoutStride, OpenMP, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank1.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank1.cpp deleted file mode 100644 index 6e606008d6151ad28f1e8f88f9ae2ed1af1780c4..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank1.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutLeft, LayoutRight, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutLeft, LayoutLeft, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutLeft, LayoutStride, OpenMP, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t*, LayoutLeft, OpenMP, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank2.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank2.cpp deleted file mode 100644 index 086e1effe10ee6f0cf6661c56619b1b1b3cd8b69..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank2.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutLeft, LayoutRight, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutLeft, LayoutLeft, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutLeft, LayoutStride, OpenMP, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t**, LayoutLeft, OpenMP, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank3.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank3.cpp deleted file mode 100644 index 882477486733f0ae615858081359be01a0412146..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank3.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutLeft, LayoutRight, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutLeft, LayoutLeft, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutLeft, LayoutStride, OpenMP, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t***, LayoutLeft, OpenMP, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank4.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank4.cpp deleted file mode 100644 index e32f7504fe4424527b73bcdc40760bf01b3d8ad3..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank4.cpp +++ /dev/null @@ -1,56 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutLeft, LayoutRight, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutLeft, LayoutLeft, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutLeft, LayoutStride, OpenMP, - int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t****, LayoutLeft, OpenMP, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank5.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank5.cpp deleted file mode 100644 index d36a5c1be5ecd7aa23079ef48c63d175fa5ce13c..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank5.cpp +++ /dev/null @@ -1,57 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutLeft, LayoutRight, OpenMP, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutLeft, LayoutLeft, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutLeft, LayoutStride, OpenMP, - int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t*****, LayoutLeft, OpenMP, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank8.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank8.cpp deleted file mode 100644 index 3389fed4fa8b30879f8f7e8f0abb7ed3774ef307..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank8.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutLeft, LayoutRight, OpenMP, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutLeft, LayoutLeft, OpenMP, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutLeft, LayoutStride, OpenMP, - int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t********, LayoutLeft, OpenMP, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutRight_Rank1.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutRight_Rank1.cpp deleted file mode 100644 index c68d3ed810a5f7cfc0b2627520d920898b67ef31..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutRight_Rank1.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutRight, LayoutRight, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutRight, LayoutLeft, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutRight, LayoutStride, OpenMP, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t*, LayoutRight, OpenMP, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutRight_Rank2.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutRight_Rank2.cpp deleted file mode 100644 index 9fc1b47afda8f71ba3facf5bafb5fe769f040270..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutRight_Rank2.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutRight, LayoutRight, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutRight, LayoutLeft, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutRight, LayoutStride, OpenMP, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t**, LayoutRight, OpenMP, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutRight_Rank3.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutRight_Rank3.cpp deleted file mode 100644 index ed9ed4d63ebdff0240a062b353b44526112d0523..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutRight_Rank3.cpp +++ /dev/null @@ -1,56 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutRight, LayoutRight, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutRight, LayoutLeft, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutRight, LayoutStride, OpenMP, - int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t***, LayoutRight, OpenMP, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutRight_Rank4.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutRight_Rank4.cpp deleted file mode 100644 index 954f9eff6bda3cdff4aa102f54e5985c5bbd0a65..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutRight_Rank4.cpp +++ /dev/null @@ -1,57 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutRight, LayoutRight, OpenMP, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutRight, LayoutLeft, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutRight, LayoutStride, OpenMP, - int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t****, LayoutRight, OpenMP, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutRight_Rank5.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutRight_Rank5.cpp deleted file mode 100644 index 46c19786fa0e450078f39d9fb5c5995872395d3d..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutRight_Rank5.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutRight, LayoutRight, OpenMP, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutRight, LayoutLeft, OpenMP, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutRight, LayoutStride, OpenMP, - int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t*****, LayoutRight, OpenMP, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutRight_Rank8.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutRight_Rank8.cpp deleted file mode 100644 index 0fc871882ea0bac778a8a8da98eac649195dad1c..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutRight_Rank8.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutRight, LayoutRight, OpenMP, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutRight, LayoutLeft, OpenMP, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutRight, LayoutStride, - OpenMP, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t********, LayoutRight, OpenMP, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutStride_Rank1.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutStride_Rank1.cpp deleted file mode 100644 index 13739b99b22e43dae2fbb0e9d9281b83c48181e0..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutStride_Rank1.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutStride, LayoutRight, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutStride, LayoutLeft, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutStride, LayoutStride, OpenMP, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t*, LayoutStride, OpenMP, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutStride_Rank2.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutStride_Rank2.cpp deleted file mode 100644 index 9dec2fe8b97cb7f1e46dda5bc1da4a3f27768782..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutStride_Rank2.cpp +++ /dev/null @@ -1,56 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutStride, LayoutRight, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutStride, LayoutLeft, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutStride, LayoutStride, OpenMP, - int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t**, LayoutStride, OpenMP, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutStride_Rank3.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutStride_Rank3.cpp deleted file mode 100644 index 334da5277f572ae1756ee22f1f72784b503cb640..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutStride_Rank3.cpp +++ /dev/null @@ -1,57 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutStride, LayoutRight, OpenMP, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutStride, LayoutLeft, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutStride, LayoutStride, OpenMP, - int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t***, LayoutStride, OpenMP, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutStride_Rank4.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutStride_Rank4.cpp deleted file mode 100644 index 05b1921525a5d9ca0e230ececbc9877a02f1b50e..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutStride_Rank4.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutStride, LayoutRight, OpenMP, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutStride, LayoutLeft, OpenMP, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutStride, LayoutStride, OpenMP, - int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t****, LayoutStride, OpenMP, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutStride_Rank5.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutStride_Rank5.cpp deleted file mode 100644 index 0e57e83f858c0db273c3575b659dac141dee725e..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutStride_Rank5.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutStride, LayoutRight, OpenMP, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutStride, LayoutLeft, OpenMP, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutStride, LayoutStride, OpenMP, - int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t*****, LayoutStride, OpenMP, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutStride_Rank8.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutStride_Rank8.cpp deleted file mode 100644 index 89d7c4541465a094ddb58cb4b85e858233453fee..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutStride_Rank8.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutStride, LayoutRight, - OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutStride, LayoutLeft, OpenMP, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutStride, LayoutStride, - OpenMP, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t********, LayoutStride, OpenMP, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutLeft_Rank1.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutLeft_Rank1.cpp deleted file mode 100644 index 12ad031ee6d64a77da1e5508411354f19cd91213..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutLeft_Rank1.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutLeft, LayoutRight, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutLeft, LayoutLeft, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutLeft, LayoutStride, OpenMP, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int*, LayoutLeft, OpenMP, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutLeft_Rank2.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutLeft_Rank2.cpp deleted file mode 100644 index 1b7286cdcd1ff4ac574a38929f47c25df6f586f7..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutLeft_Rank2.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutLeft, LayoutRight, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutLeft, LayoutLeft, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutLeft, LayoutStride, OpenMP, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int**, LayoutLeft, OpenMP, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutLeft_Rank3.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutLeft_Rank3.cpp deleted file mode 100644 index 319755559317cbc81b5ec178c16cf0032d42983e..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutLeft_Rank3.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutLeft, LayoutRight, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutLeft, LayoutLeft, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutLeft, LayoutStride, OpenMP, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int***, LayoutLeft, OpenMP, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutLeft_Rank4.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutLeft_Rank4.cpp deleted file mode 100644 index b5f1ddcc5714e56a2d83c571b1f9a89a02bda0ca..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutLeft_Rank4.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutLeft, LayoutRight, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutLeft, LayoutLeft, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutLeft, LayoutStride, OpenMP, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int****, LayoutLeft, OpenMP, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutLeft_Rank5.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutLeft_Rank5.cpp deleted file mode 100644 index bb490af704fcc8447700640c997709163cc79e15..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutLeft_Rank5.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutLeft, LayoutRight, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutLeft, LayoutLeft, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutLeft, LayoutStride, OpenMP, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int*****, LayoutLeft, OpenMP, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutLeft_Rank8.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutLeft_Rank8.cpp deleted file mode 100644 index 483d0ce3cfd9fdfecf410dad25db001577d2e48e..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutLeft_Rank8.cpp +++ /dev/null @@ -1,56 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutLeft, LayoutRight, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutLeft, LayoutLeft, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutLeft, LayoutStride, OpenMP, - int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int********, LayoutLeft, OpenMP, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutRight_Rank1.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutRight_Rank1.cpp deleted file mode 100644 index 4f1ae60f42564bcfeb61c570f2f5aee4d52a3acf..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutRight_Rank1.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutRight, LayoutRight, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutRight, LayoutLeft, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutRight, LayoutStride, OpenMP, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int*, LayoutRight, OpenMP, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutRight_Rank2.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutRight_Rank2.cpp deleted file mode 100644 index 5420e3a4497fa44052a4d2b08f755ddaf76a57bd..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutRight_Rank2.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutRight, LayoutRight, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutRight, LayoutLeft, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutRight, LayoutStride, OpenMP, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int**, LayoutRight, OpenMP, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutRight_Rank3.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutRight_Rank3.cpp deleted file mode 100644 index 46269afc229e7758c0b3e2d1aa71cbbdf625ffe5..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutRight_Rank3.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutRight, LayoutRight, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutRight, LayoutLeft, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutRight, LayoutStride, OpenMP, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int***, LayoutRight, OpenMP, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutRight_Rank4.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutRight_Rank4.cpp deleted file mode 100644 index 425220e27f5b349ea77dcd50b07fac352cbaf8c4..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutRight_Rank4.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutRight, LayoutRight, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutRight, LayoutLeft, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutRight, LayoutStride, OpenMP, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int****, LayoutRight, OpenMP, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutRight_Rank5.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutRight_Rank5.cpp deleted file mode 100644 index 6bc2ed733df8b4cf1ea8dc2c4dbbb611c4fe446a..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutRight_Rank5.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutRight, LayoutRight, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutRight, LayoutLeft, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutRight, LayoutStride, OpenMP, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int*****, LayoutRight, OpenMP, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutRight_Rank8.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutRight_Rank8.cpp deleted file mode 100644 index 91cc8c2af2825dec3c28b7f01b6da0a8faafd38b..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutRight_Rank8.cpp +++ /dev/null @@ -1,57 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutRight, LayoutRight, OpenMP, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutRight, LayoutLeft, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutRight, LayoutStride, OpenMP, - int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int********, LayoutRight, OpenMP, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutStride_Rank1.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutStride_Rank1.cpp deleted file mode 100644 index 46b97b313367867530a4b10dc9b98aff04889d9c..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutStride_Rank1.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutStride, LayoutRight, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutStride, LayoutLeft, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutStride, LayoutStride, OpenMP, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int*, LayoutStride, OpenMP, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutStride_Rank2.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutStride_Rank2.cpp deleted file mode 100644 index 1c6c071e36aee1344fe828c355eee06b0fc051fc..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutStride_Rank2.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutStride, LayoutRight, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutStride, LayoutLeft, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutStride, LayoutStride, OpenMP, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int**, LayoutStride, OpenMP, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutStride_Rank3.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutStride_Rank3.cpp deleted file mode 100644 index adb9f1e947f8843a6d56183710f264b1a1b1f14c..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutStride_Rank3.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutStride, LayoutRight, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutStride, LayoutLeft, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutStride, LayoutStride, OpenMP, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int***, LayoutStride, OpenMP, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutStride_Rank4.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutStride_Rank4.cpp deleted file mode 100644 index 5c7fc991795344b3f9335a102970e092cecb28be..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutStride_Rank4.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutStride, LayoutRight, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutStride, LayoutLeft, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutStride, LayoutStride, OpenMP, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int****, LayoutStride, OpenMP, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutStride_Rank5.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutStride_Rank5.cpp deleted file mode 100644 index f8605287e2770b2fc85a0ea02b51e323894fbfa1..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutStride_Rank5.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutStride, LayoutRight, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutStride, LayoutLeft, OpenMP, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutStride, LayoutStride, OpenMP, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int*****, LayoutStride, OpenMP, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutStride_Rank8.cpp b/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutStride_Rank8.cpp deleted file mode 100644 index b47b23c0df9ec03db106322e95547704fc095f80..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutStride_Rank8.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutStride, LayoutRight, OpenMP, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutStride, LayoutLeft, OpenMP, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutStride, LayoutStride, OpenMP, - int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int********, LayoutStride, OpenMP, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/OpenMP/Makefile.eti_OpenMP b/lib/kokkos/core/src/eti/OpenMP/Makefile.eti_OpenMP deleted file mode 100644 index 1aa98e665b6ee9358211cf8ce75a2c28ec71a563..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/OpenMP/Makefile.eti_OpenMP +++ /dev/null @@ -1,288 +0,0 @@ -Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutLeft_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutLeft_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutLeft_Rank1.cpp -Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutLeft_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutLeft_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutLeft_Rank2.cpp -Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutLeft_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutLeft_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutLeft_Rank3.cpp -Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutLeft_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutLeft_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutLeft_Rank4.cpp -Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutLeft_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutLeft_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutLeft_Rank5.cpp -Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutLeft_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutLeft_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutLeft_Rank8.cpp -Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutRight_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutRight_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutRight_Rank1.cpp -Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutRight_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutRight_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutRight_Rank2.cpp -Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutRight_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutRight_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutRight_Rank3.cpp -Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutRight_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutRight_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutRight_Rank4.cpp -Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutRight_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutRight_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutRight_Rank5.cpp -Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutRight_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutRight_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutRight_Rank8.cpp -Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutStride_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutStride_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutStride_Rank1.cpp -Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutStride_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutStride_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutStride_Rank2.cpp -Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutStride_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutStride_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutStride_Rank3.cpp -Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutStride_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutStride_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutStride_Rank4.cpp -Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutStride_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutStride_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutStride_Rank5.cpp -Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutStride_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutStride_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutStride_Rank8.cpp -Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank1.cpp -Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank2.cpp -Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank3.cpp -Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank4.cpp -Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank5.cpp -Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank8.cpp -Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutRight_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutRight_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutRight_Rank1.cpp -Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutRight_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutRight_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutRight_Rank2.cpp -Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutRight_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutRight_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutRight_Rank3.cpp -Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutRight_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutRight_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutRight_Rank4.cpp -Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutRight_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutRight_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutRight_Rank5.cpp -Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutRight_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutRight_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutRight_Rank8.cpp -Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutStride_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutStride_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutStride_Rank1.cpp -Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutStride_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutStride_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutStride_Rank2.cpp -Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutStride_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutStride_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutStride_Rank3.cpp -Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutStride_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutStride_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutStride_Rank4.cpp -Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutStride_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutStride_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutStride_Rank5.cpp -Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutStride_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutStride_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutStride_Rank8.cpp -Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank1.cpp -Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank2.cpp -Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank3.cpp -Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank4.cpp -Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank5.cpp -Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank8.cpp -Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutRight_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutRight_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutRight_Rank1.cpp -Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutRight_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutRight_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutRight_Rank2.cpp -Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutRight_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutRight_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutRight_Rank3.cpp -Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutRight_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutRight_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutRight_Rank4.cpp -Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutRight_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutRight_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutRight_Rank5.cpp -Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutRight_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutRight_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutRight_Rank8.cpp -Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutStride_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutStride_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutStride_Rank1.cpp -Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutStride_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutStride_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutStride_Rank2.cpp -Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutStride_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutStride_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutStride_Rank3.cpp -Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutStride_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutStride_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutStride_Rank4.cpp -Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutStride_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutStride_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutStride_Rank5.cpp -Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutStride_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutStride_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutStride_Rank8.cpp -Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank1.cpp -Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank2.cpp -Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank3.cpp -Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank4.cpp -Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank5.cpp -Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank8.cpp -Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank1.cpp -Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank2.cpp -Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank3.cpp -Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank4.cpp -Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank5.cpp -Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank8.cpp -Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank1.cpp -Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank2.cpp -Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank3.cpp -Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank4.cpp -Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank5.cpp -Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank8.cpp -Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutLeft_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutLeft_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutLeft_Rank1.cpp -Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutLeft_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutLeft_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutLeft_Rank2.cpp -Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutLeft_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutLeft_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutLeft_Rank3.cpp -Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutLeft_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutLeft_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutLeft_Rank4.cpp -Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutLeft_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutLeft_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutLeft_Rank5.cpp -Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutLeft_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutLeft_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutLeft_Rank8.cpp -Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutRight_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutRight_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutRight_Rank1.cpp -Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutRight_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutRight_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutRight_Rank2.cpp -Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutRight_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutRight_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutRight_Rank3.cpp -Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutRight_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutRight_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutRight_Rank4.cpp -Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutRight_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutRight_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutRight_Rank5.cpp -Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutRight_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutRight_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutRight_Rank8.cpp -Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutStride_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutStride_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutStride_Rank1.cpp -Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutStride_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutStride_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutStride_Rank2.cpp -Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutStride_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutStride_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutStride_Rank3.cpp -Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutStride_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutStride_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutStride_Rank4.cpp -Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutStride_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutStride_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutStride_Rank5.cpp -Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutStride_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutStride_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutStride_Rank8.cpp -Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank1.cpp -Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank2.cpp -Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank3.cpp -Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank4.cpp -Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank5.cpp -Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank8.cpp -Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutRight_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutRight_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutRight_Rank1.cpp -Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutRight_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutRight_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutRight_Rank2.cpp -Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutRight_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutRight_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutRight_Rank3.cpp -Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutRight_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutRight_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutRight_Rank4.cpp -Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutRight_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutRight_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutRight_Rank5.cpp -Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutRight_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutRight_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutRight_Rank8.cpp -Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutStride_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutStride_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutStride_Rank1.cpp -Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutStride_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutStride_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutStride_Rank2.cpp -Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutStride_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutStride_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutStride_Rank3.cpp -Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutStride_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutStride_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutStride_Rank4.cpp -Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutStride_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutStride_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutStride_Rank5.cpp -Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutStride_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutStride_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutStride_Rank8.cpp -Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutLeft_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutLeft_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutLeft_Rank1.cpp -Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutLeft_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutLeft_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutLeft_Rank2.cpp -Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutLeft_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutLeft_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutLeft_Rank3.cpp -Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutLeft_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutLeft_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutLeft_Rank4.cpp -Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutLeft_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutLeft_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutLeft_Rank5.cpp -Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutLeft_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutLeft_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutLeft_Rank8.cpp -Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutRight_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutRight_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutRight_Rank1.cpp -Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutRight_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutRight_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutRight_Rank2.cpp -Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutRight_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutRight_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutRight_Rank3.cpp -Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutRight_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutRight_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutRight_Rank4.cpp -Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutRight_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutRight_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutRight_Rank5.cpp -Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutRight_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutRight_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutRight_Rank8.cpp -Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutStride_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutStride_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutStride_Rank1.cpp -Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutStride_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutStride_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutStride_Rank2.cpp -Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutStride_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutStride_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutStride_Rank3.cpp -Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutStride_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutStride_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutStride_Rank4.cpp -Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutStride_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutStride_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutStride_Rank5.cpp -Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutStride_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutStride_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutStride_Rank8.cpp -Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank1.cpp -Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank2.cpp -Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank3.cpp -Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank4.cpp -Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank5.cpp -Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank8.cpp -Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutRight_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutRight_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutRight_Rank1.cpp -Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutRight_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutRight_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutRight_Rank2.cpp -Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutRight_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutRight_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutRight_Rank3.cpp -Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutRight_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutRight_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutRight_Rank4.cpp -Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutRight_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutRight_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutRight_Rank5.cpp -Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutRight_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutRight_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutRight_Rank8.cpp -Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutStride_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutStride_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutStride_Rank1.cpp -Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutStride_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutStride_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutStride_Rank2.cpp -Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutStride_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutStride_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutStride_Rank3.cpp -Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutStride_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutStride_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutStride_Rank4.cpp -Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutStride_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutStride_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutStride_Rank5.cpp -Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutStride_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutStride_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutStride_Rank8.cpp diff --git a/lib/kokkos/core/src/eti/ROCm/CMakeLists.txt b/lib/kokkos/core/src/eti/ROCm/CMakeLists.txt deleted file mode 100644 index a5e6c6250d6e9852c0f5118c40f8811683ae5d44..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/CMakeLists.txt +++ /dev/null @@ -1,148 +0,0 @@ -set(D "${CMAKE_CURRENT_SOURCE_DIR}") -set(ETI_SOURCES -${ETI_SOURCES} -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank1.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank2.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank3.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank4.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank5.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank8.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_double_LayoutRight_Rank1.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_double_LayoutRight_Rank2.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_double_LayoutRight_Rank3.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_double_LayoutRight_Rank4.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_double_LayoutRight_Rank5.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_double_LayoutRight_Rank8.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_double_LayoutStride_Rank1.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_double_LayoutStride_Rank2.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_double_LayoutStride_Rank3.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_double_LayoutStride_Rank4.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_double_LayoutStride_Rank5.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_double_LayoutStride_Rank8.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank1.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank2.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank3.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank4.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank5.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank8.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_float_LayoutRight_Rank1.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_float_LayoutRight_Rank2.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_float_LayoutRight_Rank3.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_float_LayoutRight_Rank4.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_float_LayoutRight_Rank5.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_float_LayoutRight_Rank8.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_float_LayoutStride_Rank1.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_float_LayoutStride_Rank2.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_float_LayoutStride_Rank3.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_float_LayoutStride_Rank4.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_float_LayoutStride_Rank5.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_float_LayoutStride_Rank8.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank1.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank2.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank3.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank4.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank5.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank8.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank1.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank2.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank3.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank4.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank5.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank8.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank1.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank2.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank3.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank4.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank5.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank8.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank1.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank2.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank3.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank4.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank5.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank8.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_int_LayoutRight_Rank1.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_int_LayoutRight_Rank2.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_int_LayoutRight_Rank3.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_int_LayoutRight_Rank4.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_int_LayoutRight_Rank5.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_int_LayoutRight_Rank8.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_int_LayoutStride_Rank1.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_int_LayoutStride_Rank2.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_int_LayoutStride_Rank3.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_int_LayoutStride_Rank4.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_int_LayoutStride_Rank5.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_int_LayoutStride_Rank8.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_double_LayoutLeft_Rank1.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_double_LayoutLeft_Rank2.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_double_LayoutLeft_Rank3.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_double_LayoutLeft_Rank4.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_double_LayoutLeft_Rank5.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_double_LayoutLeft_Rank8.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_double_LayoutRight_Rank1.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_double_LayoutRight_Rank2.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_double_LayoutRight_Rank3.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_double_LayoutRight_Rank4.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_double_LayoutRight_Rank5.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_double_LayoutRight_Rank8.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_double_LayoutStride_Rank1.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_double_LayoutStride_Rank2.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_double_LayoutStride_Rank3.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_double_LayoutStride_Rank4.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_double_LayoutStride_Rank5.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_double_LayoutStride_Rank8.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_float_LayoutLeft_Rank1.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_float_LayoutLeft_Rank2.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_float_LayoutLeft_Rank3.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_float_LayoutLeft_Rank4.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_float_LayoutLeft_Rank5.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_float_LayoutLeft_Rank8.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_float_LayoutRight_Rank1.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_float_LayoutRight_Rank2.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_float_LayoutRight_Rank3.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_float_LayoutRight_Rank4.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_float_LayoutRight_Rank5.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_float_LayoutRight_Rank8.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_float_LayoutStride_Rank1.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_float_LayoutStride_Rank2.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_float_LayoutStride_Rank3.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_float_LayoutStride_Rank4.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_float_LayoutStride_Rank5.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_float_LayoutStride_Rank8.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank1.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank2.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank3.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank4.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank5.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank8.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_int64_t_LayoutRight_Rank1.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_int64_t_LayoutRight_Rank2.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_int64_t_LayoutRight_Rank3.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_int64_t_LayoutRight_Rank4.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_int64_t_LayoutRight_Rank5.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_int64_t_LayoutRight_Rank8.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_int64_t_LayoutStride_Rank1.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_int64_t_LayoutStride_Rank2.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_int64_t_LayoutStride_Rank3.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_int64_t_LayoutStride_Rank4.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_int64_t_LayoutStride_Rank5.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_int64_t_LayoutStride_Rank8.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_int_LayoutLeft_Rank1.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_int_LayoutLeft_Rank2.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_int_LayoutLeft_Rank3.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_int_LayoutLeft_Rank4.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_int_LayoutLeft_Rank5.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_int_LayoutLeft_Rank8.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_int_LayoutRight_Rank1.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_int_LayoutRight_Rank2.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_int_LayoutRight_Rank3.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_int_LayoutRight_Rank4.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_int_LayoutRight_Rank5.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_int_LayoutRight_Rank8.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_int_LayoutStride_Rank1.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_int_LayoutStride_Rank2.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_int_LayoutStride_Rank3.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_int_LayoutStride_Rank4.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_int_LayoutStride_Rank5.cpp -${D}/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_int_LayoutStride_Rank8.cpp -PARENT_SCOPE) diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank1.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank1.cpp deleted file mode 100644 index 936b24983f2e177571f144fd530c3e5111bd5d9d..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank1.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutLeft, LayoutRight, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutLeft, LayoutLeft, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutLeft, LayoutStride, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double*, LayoutLeft, Experimental::ROCm, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank2.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank2.cpp deleted file mode 100644 index 7d83d022795731846866c6c4b149733533a1c52b..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank2.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutLeft, LayoutRight, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutLeft, LayoutLeft, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutLeft, LayoutStride, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double**, LayoutLeft, Experimental::ROCm, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank3.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank3.cpp deleted file mode 100644 index 50b160c452d2365567a088831a1142e15bc040c5..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank3.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutLeft, LayoutRight, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutLeft, LayoutLeft, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutLeft, LayoutStride, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double***, LayoutLeft, Experimental::ROCm, - int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank4.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank4.cpp deleted file mode 100644 index fa4dccf30baaa5e6628df2626d2fd373004dbe3b..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank4.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutLeft, LayoutRight, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutLeft, LayoutLeft, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutLeft, LayoutStride, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double****, LayoutLeft, Experimental::ROCm, - int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank5.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank5.cpp deleted file mode 100644 index 5ed0812c35f5c8068fbf9f0d29c9498706d81782..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank5.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutLeft, LayoutRight, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutLeft, LayoutLeft, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutLeft, LayoutStride, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double*****, LayoutLeft, Experimental::ROCm, - int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank8.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank8.cpp deleted file mode 100644 index 9bc2faefe933f617f513796cf6d1155e0bb43e14..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank8.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutLeft, LayoutRight, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutLeft, LayoutLeft, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutLeft, LayoutStride, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double********, LayoutLeft, Experimental::ROCm, - int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutRight_Rank1.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutRight_Rank1.cpp deleted file mode 100644 index 35a198cb26c0ad42684c8a66b93956cd4e56c268..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutRight_Rank1.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutRight, LayoutRight, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutRight, LayoutLeft, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutRight, LayoutStride, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double*, LayoutRight, Experimental::ROCm, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutRight_Rank2.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutRight_Rank2.cpp deleted file mode 100644 index a79082c7a646b82794f9a6c731d09c58e8cd3eeb..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutRight_Rank2.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutRight, LayoutRight, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutRight, LayoutLeft, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutRight, LayoutStride, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double**, LayoutRight, Experimental::ROCm, - int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutRight_Rank3.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutRight_Rank3.cpp deleted file mode 100644 index e344f942471748991fa5595851acb46d3f2df5ef..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutRight_Rank3.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutRight, LayoutRight, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutRight, LayoutLeft, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutRight, LayoutStride, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double***, LayoutRight, Experimental::ROCm, - int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutRight_Rank4.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutRight_Rank4.cpp deleted file mode 100644 index 92e4281baa6a0309f1b60729e83c797f312fb188..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutRight_Rank4.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutRight, LayoutRight, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutRight, LayoutLeft, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutRight, LayoutStride, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double****, LayoutRight, Experimental::ROCm, - int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutRight_Rank5.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutRight_Rank5.cpp deleted file mode 100644 index c25262075a5e3a0af746714494774560d4a00d83..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutRight_Rank5.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutRight, LayoutRight, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutRight, LayoutLeft, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutRight, LayoutStride, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double*****, LayoutRight, Experimental::ROCm, - int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutRight_Rank8.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutRight_Rank8.cpp deleted file mode 100644 index c3ce63ccb07ff9e7756fb06adcb1b76f9724013a..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutRight_Rank8.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutRight, LayoutRight, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutRight, LayoutLeft, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutRight, LayoutStride, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double********, LayoutRight, Experimental::ROCm, - int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutStride_Rank1.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutStride_Rank1.cpp deleted file mode 100644 index 443aaa1172c87b191335134dafa0a80ca007ee30..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutStride_Rank1.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutStride, LayoutRight, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutStride, LayoutLeft, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutStride, LayoutStride, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double*, LayoutStride, Experimental::ROCm, - int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutStride_Rank2.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutStride_Rank2.cpp deleted file mode 100644 index 65d137d62bcc43a18ee793716339edbd0494afad..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutStride_Rank2.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutStride, LayoutRight, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutStride, LayoutLeft, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutStride, LayoutStride, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double**, LayoutStride, Experimental::ROCm, - int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutStride_Rank3.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutStride_Rank3.cpp deleted file mode 100644 index 50c66d9315e71302348181adb7edc64fda1f526e..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutStride_Rank3.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutStride, LayoutRight, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutStride, LayoutLeft, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutStride, LayoutStride, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double***, LayoutStride, Experimental::ROCm, - int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutStride_Rank4.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutStride_Rank4.cpp deleted file mode 100644 index 78464445e9a3bf16e38a0921b28d01252616a8a3..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutStride_Rank4.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutStride, LayoutRight, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutStride, LayoutLeft, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutStride, LayoutStride, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double****, LayoutStride, Experimental::ROCm, - int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutStride_Rank5.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutStride_Rank5.cpp deleted file mode 100644 index f1085851dde82d8a5200bc457bb39980e391f149..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutStride_Rank5.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutStride, LayoutRight, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutStride, LayoutLeft, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutStride, LayoutStride, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double*****, LayoutStride, Experimental::ROCm, - int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutStride_Rank8.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutStride_Rank8.cpp deleted file mode 100644 index 090e77d63b34612e5c358eaedbd6cbb890130204..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutStride_Rank8.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutStride, LayoutRight, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutStride, LayoutLeft, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutStride, LayoutStride, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double********, LayoutStride, Experimental::ROCm, - int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank1.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank1.cpp deleted file mode 100644 index b82e770ee61a208282e84bd7086ed401892c0c0d..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank1.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutLeft, LayoutRight, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutLeft, LayoutLeft, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutLeft, LayoutStride, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float*, LayoutLeft, Experimental::ROCm, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank2.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank2.cpp deleted file mode 100644 index 6fbd24842db474320158766c2d6f675dab645951..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank2.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutLeft, LayoutRight, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutLeft, LayoutLeft, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutLeft, LayoutStride, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float**, LayoutLeft, Experimental::ROCm, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank3.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank3.cpp deleted file mode 100644 index a434fc069fe130fbc76520ebba81c9166b77afc0..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank3.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutLeft, LayoutRight, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutLeft, LayoutLeft, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutLeft, LayoutStride, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float***, LayoutLeft, Experimental::ROCm, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank4.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank4.cpp deleted file mode 100644 index cf7972a445095463d4b97fddd3c6146c1bdafba8..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank4.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutLeft, LayoutRight, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutLeft, LayoutLeft, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutLeft, LayoutStride, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float****, LayoutLeft, Experimental::ROCm, - int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank5.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank5.cpp deleted file mode 100644 index 724fa978be72f5cd6836a3a132c41dc608d8d1c3..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank5.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutLeft, LayoutRight, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutLeft, LayoutLeft, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutLeft, LayoutStride, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float*****, LayoutLeft, Experimental::ROCm, - int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank8.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank8.cpp deleted file mode 100644 index 1910a2024fd3905172b98509ef4c7af74b67a923..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank8.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutLeft, LayoutRight, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutLeft, LayoutLeft, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutLeft, LayoutStride, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float********, LayoutLeft, Experimental::ROCm, - int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutRight_Rank1.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutRight_Rank1.cpp deleted file mode 100644 index 9e5bf0fa3e8a855c54602ac627c5e9590c6204d7..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutRight_Rank1.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutRight, LayoutRight, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutRight, LayoutLeft, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutRight, LayoutStride, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float*, LayoutRight, Experimental::ROCm, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutRight_Rank2.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutRight_Rank2.cpp deleted file mode 100644 index 55b67d29992f62a452e0160f5c62facd5f0826ca..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutRight_Rank2.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutRight, LayoutRight, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutRight, LayoutLeft, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutRight, LayoutStride, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float**, LayoutRight, Experimental::ROCm, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutRight_Rank3.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutRight_Rank3.cpp deleted file mode 100644 index 1e7cfd254599b47911ff18e2fd9876416dff342b..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutRight_Rank3.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutRight, LayoutRight, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutRight, LayoutLeft, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutRight, LayoutStride, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float***, LayoutRight, Experimental::ROCm, - int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutRight_Rank4.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutRight_Rank4.cpp deleted file mode 100644 index d374edbd4acec729f53118647af0c5c06fdbd3d2..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutRight_Rank4.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutRight, LayoutRight, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutRight, LayoutLeft, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutRight, LayoutStride, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float****, LayoutRight, Experimental::ROCm, - int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutRight_Rank5.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutRight_Rank5.cpp deleted file mode 100644 index 7eb20ccaba464f2096c0e00c41a68045215cf015..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutRight_Rank5.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutRight, LayoutRight, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutRight, LayoutLeft, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutRight, LayoutStride, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float*****, LayoutRight, Experimental::ROCm, - int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutRight_Rank8.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutRight_Rank8.cpp deleted file mode 100644 index cd13711178cc46c67da5c44c2d361154ddf26489..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutRight_Rank8.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutRight, LayoutRight, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutRight, LayoutLeft, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutRight, LayoutStride, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float********, LayoutRight, Experimental::ROCm, - int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutStride_Rank1.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutStride_Rank1.cpp deleted file mode 100644 index f36b5353ac7635fd67d6b495d05b7e1ed29ad003..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutStride_Rank1.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutStride, LayoutRight, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutStride, LayoutLeft, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutStride, LayoutStride, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float*, LayoutStride, Experimental::ROCm, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutStride_Rank2.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutStride_Rank2.cpp deleted file mode 100644 index afeeae9b3f0c0053e9cd3deabd5de5a9cf360977..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutStride_Rank2.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutStride, LayoutRight, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutStride, LayoutLeft, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutStride, LayoutStride, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float**, LayoutStride, Experimental::ROCm, - int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutStride_Rank3.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutStride_Rank3.cpp deleted file mode 100644 index 1786596001e69c8d9462a5cd54454292817a9e78..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutStride_Rank3.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutStride, LayoutRight, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutStride, LayoutLeft, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutStride, LayoutStride, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float***, LayoutStride, Experimental::ROCm, - int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutStride_Rank4.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutStride_Rank4.cpp deleted file mode 100644 index 2db4dd794db9f728677e751c02c95e4e53b3d5c6..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutStride_Rank4.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutStride, LayoutRight, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutStride, LayoutLeft, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutStride, LayoutStride, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float****, LayoutStride, Experimental::ROCm, - int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutStride_Rank5.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutStride_Rank5.cpp deleted file mode 100644 index 85ec8fc2d18490f25eb92ebbff145d3bae67c821..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutStride_Rank5.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutStride, LayoutRight, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutStride, LayoutLeft, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutStride, LayoutStride, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float*****, LayoutStride, Experimental::ROCm, - int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutStride_Rank8.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutStride_Rank8.cpp deleted file mode 100644 index 7b9ef4eedba320df6b8ad9f47797fd392672a80f..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutStride_Rank8.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutStride, LayoutRight, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutStride, LayoutLeft, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutStride, LayoutStride, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float********, LayoutStride, Experimental::ROCm, - int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank1.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank1.cpp deleted file mode 100644 index 0e37d90d7bba3d0da3f8d11e792d8b289f12030e..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank1.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutLeft, LayoutRight, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutLeft, LayoutLeft, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutLeft, LayoutStride, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t*, LayoutLeft, Experimental::ROCm, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank2.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank2.cpp deleted file mode 100644 index aa484fcff038227c83d0f18c0e3e976b60831549..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank2.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutLeft, LayoutRight, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutLeft, LayoutLeft, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutLeft, LayoutStride, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t**, LayoutLeft, Experimental::ROCm, - int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank3.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank3.cpp deleted file mode 100644 index 94b5ba47079e6f26883553409dbb687226a60c72..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank3.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutLeft, LayoutRight, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutLeft, LayoutLeft, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutLeft, LayoutStride, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t***, LayoutLeft, Experimental::ROCm, - int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank4.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank4.cpp deleted file mode 100644 index f5f88d999ece7766e7f6381ac54b986c7c1abf89..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank4.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutLeft, LayoutRight, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutLeft, LayoutLeft, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutLeft, LayoutStride, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t****, LayoutLeft, Experimental::ROCm, - int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank5.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank5.cpp deleted file mode 100644 index 056fccd673d6d226626c097af0a733f28af6fcdd..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank5.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutLeft, LayoutRight, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutLeft, LayoutLeft, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutLeft, LayoutStride, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t*****, LayoutLeft, Experimental::ROCm, - int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank8.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank8.cpp deleted file mode 100644 index 00dfe959c55013a0f0916de63f5f5b73ffe7c4ce..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank8.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutLeft, LayoutRight, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutLeft, LayoutLeft, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutLeft, LayoutStride, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t********, LayoutLeft, Experimental::ROCm, - int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank1.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank1.cpp deleted file mode 100644 index 9d975b184c56b96c63f396d7c974d28e1098427e..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank1.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutRight, LayoutRight, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutRight, LayoutLeft, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutRight, LayoutStride, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t*, LayoutRight, Experimental::ROCm, - int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank2.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank2.cpp deleted file mode 100644 index c01f76e9e6222acad5de57d38e94273835b2b55f..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank2.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutRight, LayoutRight, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutRight, LayoutLeft, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutRight, LayoutStride, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t**, LayoutRight, Experimental::ROCm, - int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank3.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank3.cpp deleted file mode 100644 index 5fc0e1cbac2974e4f47718f6e279dcdd08e43ab5..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank3.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutRight, LayoutRight, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutRight, LayoutLeft, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutRight, LayoutStride, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t***, LayoutRight, Experimental::ROCm, - int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank4.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank4.cpp deleted file mode 100644 index 2124318ad88909bee49c6724ce71d7b3ab722157..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank4.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutRight, LayoutRight, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutRight, LayoutLeft, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutRight, LayoutStride, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t****, LayoutRight, Experimental::ROCm, - int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank5.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank5.cpp deleted file mode 100644 index 1dc1ece2cb04962e313e37ec43ce3dad35a3fc7a..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank5.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutRight, LayoutRight, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutRight, LayoutLeft, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutRight, LayoutStride, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t*****, LayoutRight, Experimental::ROCm, - int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank8.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank8.cpp deleted file mode 100644 index 2b49fe1931b8d3e25b9e4aca8e29b5bde3121602..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank8.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutRight, LayoutRight, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutRight, LayoutLeft, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutRight, LayoutStride, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t********, LayoutRight, Experimental::ROCm, - int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank1.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank1.cpp deleted file mode 100644 index 3cc1154673023e29d84319a39b62b7811c7bdf08..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank1.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutStride, LayoutRight, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutStride, LayoutLeft, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutStride, LayoutStride, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t*, LayoutStride, Experimental::ROCm, - int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank2.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank2.cpp deleted file mode 100644 index 56cb22173ef5519c5cc3142b95dd5df3cfba6b20..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank2.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutStride, LayoutRight, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutStride, LayoutLeft, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutStride, LayoutStride, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t**, LayoutStride, Experimental::ROCm, - int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank3.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank3.cpp deleted file mode 100644 index 96b4198e073982b61faca13045e1d2b3ac27a200..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank3.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutStride, LayoutRight, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutStride, LayoutLeft, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutStride, LayoutStride, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t***, LayoutStride, Experimental::ROCm, - int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank4.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank4.cpp deleted file mode 100644 index 3bf36b1c82a1cb7083ff8d0d5e055f7bf04aae94..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank4.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutStride, LayoutRight, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutStride, LayoutLeft, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutStride, LayoutStride, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t****, LayoutStride, Experimental::ROCm, - int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank5.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank5.cpp deleted file mode 100644 index 689270a64b7900f3997acc33145f04f58bcce6ca..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank5.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutStride, LayoutRight, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutStride, LayoutLeft, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutStride, LayoutStride, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t*****, LayoutStride, Experimental::ROCm, - int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank8.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank8.cpp deleted file mode 100644 index 995b4994254e4cbeb5f43eb3080ce9f5abf08198..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank8.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutStride, LayoutRight, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutStride, LayoutLeft, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutStride, LayoutStride, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t********, LayoutStride, Experimental::ROCm, - int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank1.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank1.cpp deleted file mode 100644 index e6f2970a6487c6acbbca45ecdfe65389ef2f913b..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank1.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutLeft, LayoutRight, Experimental::ROCm, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutLeft, LayoutLeft, Experimental::ROCm, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutLeft, LayoutStride, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int*, LayoutLeft, Experimental::ROCm, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank2.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank2.cpp deleted file mode 100644 index c4602070ebcd89ff02807933baa790ed8495977f..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank2.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutLeft, LayoutRight, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutLeft, LayoutLeft, Experimental::ROCm, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutLeft, LayoutStride, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int**, LayoutLeft, Experimental::ROCm, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank4.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank4.cpp deleted file mode 100644 index 9fe37b25772be36912d7876e460d670734bb6d05..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank4.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutLeft, LayoutRight, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutLeft, LayoutLeft, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutLeft, LayoutStride, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int****, LayoutLeft, Experimental::ROCm, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank5.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank5.cpp deleted file mode 100644 index 81dd98a95f8e4f9d121a92ff4c188a6be21ef71e..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank5.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutLeft, LayoutRight, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutLeft, LayoutLeft, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutLeft, LayoutStride, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int*****, LayoutLeft, Experimental::ROCm, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank8.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank8.cpp deleted file mode 100644 index 1f487edd27be5d4d315541fd288768b29226b846..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank8.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutLeft, LayoutRight, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutLeft, LayoutLeft, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutLeft, LayoutStride, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int********, LayoutLeft, Experimental::ROCm, - int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutRight_Rank1.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutRight_Rank1.cpp deleted file mode 100644 index 0fe78ecbbb7c228cf7d96e56bfa487df156f5083..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutRight_Rank1.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutRight, LayoutRight, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutRight, LayoutLeft, Experimental::ROCm, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutRight, LayoutStride, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int*, LayoutRight, Experimental::ROCm, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutRight_Rank2.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutRight_Rank2.cpp deleted file mode 100644 index 710bfc182a563c9fbdcd484ef51d83e4a3896998..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutRight_Rank2.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutRight, LayoutRight, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutRight, LayoutLeft, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutRight, LayoutStride, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int**, LayoutRight, Experimental::ROCm, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutRight_Rank3.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutRight_Rank3.cpp deleted file mode 100644 index 8f4cf975c6dfac0cc40c85591701bff4be69c9b5..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutRight_Rank3.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutRight, LayoutRight, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutRight, LayoutLeft, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutRight, LayoutStride, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int***, LayoutRight, Experimental::ROCm, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutRight_Rank4.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutRight_Rank4.cpp deleted file mode 100644 index fcf444ca88bd377728aecc735c7f9b675f473448..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutRight_Rank4.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutRight, LayoutRight, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutRight, LayoutLeft, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutRight, LayoutStride, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int****, LayoutRight, Experimental::ROCm, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutRight_Rank5.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutRight_Rank5.cpp deleted file mode 100644 index 480c135297e2f9bebd1ce899c7464179f929fbf2..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutRight_Rank5.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutRight, LayoutRight, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutRight, LayoutLeft, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutRight, LayoutStride, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int*****, LayoutRight, Experimental::ROCm, - int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutRight_Rank8.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutRight_Rank8.cpp deleted file mode 100644 index f09cb89a32e0910c40d39a30a82191708de2db22..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutRight_Rank8.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutRight, LayoutRight, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutRight, LayoutLeft, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutRight, LayoutStride, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int********, LayoutRight, Experimental::ROCm, - int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutStride_Rank1.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutStride_Rank1.cpp deleted file mode 100644 index ef36faebd69f07539e0770b41505e6c6f0a5dba7..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutStride_Rank1.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutStride, LayoutRight, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutStride, LayoutLeft, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutStride, LayoutStride, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int*, LayoutStride, Experimental::ROCm, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutStride_Rank2.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutStride_Rank2.cpp deleted file mode 100644 index 3e351015058efd922ddfbe11367ca6f4afd62ea8..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutStride_Rank2.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutStride, LayoutRight, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutStride, LayoutLeft, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutStride, LayoutStride, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int**, LayoutStride, Experimental::ROCm, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutStride_Rank3.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutStride_Rank3.cpp deleted file mode 100644 index b12b8bc9fa27cb7cf8a7dc15a48bd50ee795bb23..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutStride_Rank3.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutStride, LayoutRight, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutStride, LayoutLeft, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutStride, LayoutStride, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int***, LayoutStride, Experimental::ROCm, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutStride_Rank4.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutStride_Rank4.cpp deleted file mode 100644 index 1e2e04276332f68e0232072ad70bd5c998c35da1..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutStride_Rank4.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutStride, LayoutRight, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutStride, LayoutLeft, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutStride, LayoutStride, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int****, LayoutStride, Experimental::ROCm, - int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutStride_Rank5.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutStride_Rank5.cpp deleted file mode 100644 index 4539a4087148b3390d081ee38ede47806955ca4d..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutStride_Rank5.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutStride, LayoutRight, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutStride, LayoutLeft, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutStride, LayoutStride, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int*****, LayoutStride, Experimental::ROCm, - int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutStride_Rank8.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutStride_Rank8.cpp deleted file mode 100644 index 5af78387da735242a000127e53a0ffc3c358cf1d..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutStride_Rank8.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutStride, LayoutRight, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutStride, LayoutLeft, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutStride, LayoutStride, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int********, LayoutStride, Experimental::ROCm, - int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutLeft_Rank1.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutLeft_Rank1.cpp deleted file mode 100644 index 96f54890544c5e2c9549c09df7dcc273bdfb85dc..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutLeft_Rank1.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutLeft, LayoutRight, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutLeft, LayoutLeft, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutLeft, LayoutStride, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double*, LayoutLeft, Experimental::ROCm, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutLeft_Rank2.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutLeft_Rank2.cpp deleted file mode 100644 index 957741e776752872b28ed7fb07e1efe1e0f52f8b..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutLeft_Rank2.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutLeft, LayoutRight, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutLeft, LayoutLeft, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutLeft, LayoutStride, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double**, LayoutLeft, Experimental::ROCm, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutLeft_Rank3.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutLeft_Rank3.cpp deleted file mode 100644 index d1c2254dac3a577e5846fd94fea1839eedc29220..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutLeft_Rank3.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutLeft, LayoutRight, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutLeft, LayoutLeft, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutLeft, LayoutStride, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double***, LayoutLeft, Experimental::ROCm, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutLeft_Rank4.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutLeft_Rank4.cpp deleted file mode 100644 index 87b95b9434652d02315a2125066292db350c2fe1..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutLeft_Rank4.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutLeft, LayoutRight, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutLeft, LayoutLeft, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutLeft, LayoutStride, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double****, LayoutLeft, Experimental::ROCm, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutLeft_Rank5.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutLeft_Rank5.cpp deleted file mode 100644 index fba1027fc4edb559a68e5a3c768f093fba3833e1..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutLeft_Rank5.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutLeft, LayoutRight, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutLeft, LayoutLeft, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutLeft, LayoutStride, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double*****, LayoutLeft, Experimental::ROCm, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutLeft_Rank8.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutLeft_Rank8.cpp deleted file mode 100644 index bbd762f1d434c98c3a6f33c4b92555e701e37785..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutLeft_Rank8.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutLeft, LayoutRight, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutLeft, LayoutLeft, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutLeft, LayoutStride, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double********, LayoutLeft, Experimental::ROCm, - int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutRight_Rank1.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutRight_Rank1.cpp deleted file mode 100644 index ad31e2c0307173824e42ee38b3c23053ddf04cc0..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutRight_Rank1.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutRight, LayoutRight, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutRight, LayoutLeft, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutRight, LayoutStride, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double*, LayoutRight, Experimental::ROCm, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutRight_Rank2.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutRight_Rank2.cpp deleted file mode 100644 index bc14bbcee3968b4b5cb87b08ec70589ec814878a..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutRight_Rank2.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutRight, LayoutRight, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutRight, LayoutLeft, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutRight, LayoutStride, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double**, LayoutRight, Experimental::ROCm, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutRight_Rank3.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutRight_Rank3.cpp deleted file mode 100644 index 736781d696a9c1a3564ce569b278d266e540a087..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutRight_Rank3.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutRight, LayoutRight, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutRight, LayoutLeft, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutRight, LayoutStride, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double***, LayoutRight, Experimental::ROCm, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutRight_Rank4.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutRight_Rank4.cpp deleted file mode 100644 index 6b16fbe952b3c5f01ef1f511c18d1a129ccc5a9b..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutRight_Rank4.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutRight, LayoutRight, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutRight, LayoutLeft, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutRight, LayoutStride, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double****, LayoutRight, Experimental::ROCm, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutRight_Rank5.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutRight_Rank5.cpp deleted file mode 100644 index 95ce9c952132be9234205fd2ba313824437c2788..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutRight_Rank5.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutRight, LayoutRight, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutRight, LayoutLeft, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutRight, LayoutStride, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double*****, LayoutRight, Experimental::ROCm, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutRight_Rank8.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutRight_Rank8.cpp deleted file mode 100644 index 34888c4e4a6a1bcb7666ed43738751ce6825987c..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutRight_Rank8.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutRight, LayoutRight, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutRight, LayoutLeft, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutRight, LayoutStride, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double********, LayoutRight, Experimental::ROCm, - int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutStride_Rank1.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutStride_Rank1.cpp deleted file mode 100644 index eba5f4acd27dc398eb189e6942de5513a4e3748c..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutStride_Rank1.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutStride, LayoutRight, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutStride, LayoutLeft, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutStride, LayoutStride, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double*, LayoutStride, Experimental::ROCm, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutStride_Rank2.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutStride_Rank2.cpp deleted file mode 100644 index bc3ed4dcab2bd2acc428e60220020ed5b65f5da9..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutStride_Rank2.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutStride, LayoutRight, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutStride, LayoutLeft, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutStride, LayoutStride, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double**, LayoutStride, Experimental::ROCm, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutStride_Rank3.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutStride_Rank3.cpp deleted file mode 100644 index f7a669c8203ca5a23738f53c14d15a056387681b..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutStride_Rank3.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutStride, LayoutRight, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutStride, LayoutLeft, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutStride, LayoutStride, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double***, LayoutStride, Experimental::ROCm, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutStride_Rank4.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutStride_Rank4.cpp deleted file mode 100644 index 084a97323bf0bc0c97f33aa567873cc94f738385..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutStride_Rank4.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutStride, LayoutRight, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutStride, LayoutLeft, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutStride, LayoutStride, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double****, LayoutStride, Experimental::ROCm, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutStride_Rank5.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutStride_Rank5.cpp deleted file mode 100644 index d5e1538ca186a66d5e46358c37d65c424a2b7f87..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutStride_Rank5.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutStride, LayoutRight, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutStride, LayoutLeft, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutStride, LayoutStride, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double*****, LayoutStride, Experimental::ROCm, - int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutStride_Rank8.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutStride_Rank8.cpp deleted file mode 100644 index c2ffd740af7fc48eaa862cccb2ce8dca5d3246af..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutStride_Rank8.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutStride, LayoutRight, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutStride, LayoutLeft, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutStride, LayoutStride, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double********, LayoutStride, Experimental::ROCm, - int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutLeft_Rank1.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutLeft_Rank1.cpp deleted file mode 100644 index c7560e2ebab25549c314dcce4e58e7c913d8c9b2..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutLeft_Rank1.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutLeft, LayoutRight, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutLeft, LayoutLeft, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutLeft, LayoutStride, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float*, LayoutLeft, Experimental::ROCm, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutLeft_Rank2.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutLeft_Rank2.cpp deleted file mode 100644 index 650e3684696af66ac0186b583e00fabd23a54160..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutLeft_Rank2.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutLeft, LayoutRight, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutLeft, LayoutLeft, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutLeft, LayoutStride, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float**, LayoutLeft, Experimental::ROCm, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutLeft_Rank3.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutLeft_Rank3.cpp deleted file mode 100644 index 19636e8bf7fe6a6fda4711a9cd4a4ca2244118a3..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutLeft_Rank3.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutLeft, LayoutRight, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutLeft, LayoutLeft, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutLeft, LayoutStride, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float***, LayoutLeft, Experimental::ROCm, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutLeft_Rank4.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutLeft_Rank4.cpp deleted file mode 100644 index 2d15ad10e8aff6178ffb6aea40d546e6cffedabb..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutLeft_Rank4.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutLeft, LayoutRight, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutLeft, LayoutLeft, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutLeft, LayoutStride, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float****, LayoutLeft, Experimental::ROCm, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutLeft_Rank5.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutLeft_Rank5.cpp deleted file mode 100644 index 477b8e44b7ceb6eb7b5cd9e5955d6ce3ee209eb7..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutLeft_Rank5.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutLeft, LayoutRight, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutLeft, LayoutLeft, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutLeft, LayoutStride, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float*****, LayoutLeft, Experimental::ROCm, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutLeft_Rank8.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutLeft_Rank8.cpp deleted file mode 100644 index 6f4234e708223c44e6ca1d03244e1b274d68b10b..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutLeft_Rank8.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutLeft, LayoutRight, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutLeft, LayoutLeft, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutLeft, LayoutStride, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float********, LayoutLeft, Experimental::ROCm, - int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutRight_Rank1.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutRight_Rank1.cpp deleted file mode 100644 index 4697b8285dba3771ee8faac64d712fb855045fe5..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutRight_Rank1.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutRight, LayoutRight, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutRight, LayoutLeft, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutRight, LayoutStride, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float*, LayoutRight, Experimental::ROCm, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutRight_Rank2.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutRight_Rank2.cpp deleted file mode 100644 index 4e15f3651298c3bab039cfb795abd1cc2dfdbd3e..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutRight_Rank2.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutRight, LayoutRight, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutRight, LayoutLeft, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutRight, LayoutStride, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float**, LayoutRight, Experimental::ROCm, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutRight_Rank3.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutRight_Rank3.cpp deleted file mode 100644 index 4336ff9ed323845372bf278e3c051212196b22a6..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutRight_Rank3.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutRight, LayoutRight, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutRight, LayoutLeft, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutRight, LayoutStride, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float***, LayoutRight, Experimental::ROCm, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutRight_Rank4.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutRight_Rank4.cpp deleted file mode 100644 index a93494cb0cbc120e828bb41b59e4f244d414f81d..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutRight_Rank4.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutRight, LayoutRight, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutRight, LayoutLeft, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutRight, LayoutStride, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float****, LayoutRight, Experimental::ROCm, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutRight_Rank5.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutRight_Rank5.cpp deleted file mode 100644 index 0d4303e974f5dc49be5563cdd4c04803ac9bdc50..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutRight_Rank5.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutRight, LayoutRight, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutRight, LayoutLeft, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutRight, LayoutStride, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float*****, LayoutRight, Experimental::ROCm, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutRight_Rank8.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutRight_Rank8.cpp deleted file mode 100644 index 02b7f479f5ce929f2d2c844284a23c13d3079d4a..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutRight_Rank8.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutRight, LayoutRight, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutRight, LayoutLeft, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutRight, LayoutStride, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float********, LayoutRight, Experimental::ROCm, - int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutStride_Rank1.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutStride_Rank1.cpp deleted file mode 100644 index 8af29e6d0f01d742154f60a98c196cd02580651e..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutStride_Rank1.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutStride, LayoutRight, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutStride, LayoutLeft, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutStride, LayoutStride, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float*, LayoutStride, Experimental::ROCm, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutStride_Rank2.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutStride_Rank2.cpp deleted file mode 100644 index 49787220cbb1b61feb139055a8e698bf3268c82b..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutStride_Rank2.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutStride, LayoutRight, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutStride, LayoutLeft, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutStride, LayoutStride, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float**, LayoutStride, Experimental::ROCm, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutStride_Rank3.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutStride_Rank3.cpp deleted file mode 100644 index a48d561c936ef7aad2d63c534b9dd45274788018..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutStride_Rank3.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutStride, LayoutRight, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutStride, LayoutLeft, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutStride, LayoutStride, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float***, LayoutStride, Experimental::ROCm, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutStride_Rank4.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutStride_Rank4.cpp deleted file mode 100644 index f5414d25e7a54ade26342c86dff57095123c7452..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutStride_Rank4.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutStride, LayoutRight, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutStride, LayoutLeft, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutStride, LayoutStride, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float****, LayoutStride, Experimental::ROCm, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutStride_Rank5.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutStride_Rank5.cpp deleted file mode 100644 index aa2e44a1c5d9b5931529be97d81e1e8caaad583f..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutStride_Rank5.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutStride, LayoutRight, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutStride, LayoutLeft, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutStride, LayoutStride, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float*****, LayoutStride, Experimental::ROCm, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutStride_Rank8.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutStride_Rank8.cpp deleted file mode 100644 index 02401e5ec0cb78943bd6035e85dda43ccdb3eeef..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutStride_Rank8.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutStride, LayoutRight, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutStride, LayoutLeft, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutStride, LayoutStride, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float********, LayoutStride, Experimental::ROCm, - int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank1.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank1.cpp deleted file mode 100644 index dc48d2350ca7ecb46ce8ca603659eaf21dd9e4e0..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank1.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutLeft, LayoutRight, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutLeft, LayoutLeft, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutLeft, LayoutStride, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t*, LayoutLeft, Experimental::ROCm, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank2.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank2.cpp deleted file mode 100644 index 28be03b8a707a47d5db9fe7f4f860efcce7b90ad..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank2.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutLeft, LayoutRight, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutLeft, LayoutLeft, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutLeft, LayoutStride, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t**, LayoutLeft, Experimental::ROCm, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank3.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank3.cpp deleted file mode 100644 index 2974698b454a6a40665c7e340d6aa00a8be6c1be..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank3.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutLeft, LayoutRight, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutLeft, LayoutLeft, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutLeft, LayoutStride, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t***, LayoutLeft, Experimental::ROCm, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank4.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank4.cpp deleted file mode 100644 index bf9678b7d222e8b013e71262beae15a73f0e00c9..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank4.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutLeft, LayoutRight, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutLeft, LayoutLeft, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutLeft, LayoutStride, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t****, LayoutLeft, Experimental::ROCm, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank5.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank5.cpp deleted file mode 100644 index 7df511d71d8e69631ee67856ea7b505c7efec765..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank5.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutLeft, LayoutRight, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutLeft, LayoutLeft, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutLeft, LayoutStride, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t*****, LayoutLeft, Experimental::ROCm, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank8.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank8.cpp deleted file mode 100644 index 8eec6cae19b96054afccd4b1b0d2e1442e74f2fc..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank8.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutLeft, LayoutRight, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutLeft, LayoutLeft, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutLeft, LayoutStride, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t********, LayoutLeft, Experimental::ROCm, - int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutRight_Rank1.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutRight_Rank1.cpp deleted file mode 100644 index 5422bacac43fde98ff3c341b46c1d0c89601cd63..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutRight_Rank1.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutRight, LayoutRight, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutRight, LayoutLeft, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutRight, LayoutStride, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t*, LayoutRight, Experimental::ROCm, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutRight_Rank2.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutRight_Rank2.cpp deleted file mode 100644 index dbb856b8dad93f0a191d26542771e75dc9d8de6d..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutRight_Rank2.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutRight, LayoutRight, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutRight, LayoutLeft, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutRight, LayoutStride, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t**, LayoutRight, Experimental::ROCm, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutRight_Rank3.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutRight_Rank3.cpp deleted file mode 100644 index 3944a4671d5f2a41afe7288d3fb4d80c354df1cb..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutRight_Rank3.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutRight, LayoutRight, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutRight, LayoutLeft, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutRight, LayoutStride, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t***, LayoutRight, Experimental::ROCm, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutRight_Rank4.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutRight_Rank4.cpp deleted file mode 100644 index 5f490e1a8ebe1501d532bda0e10520ebb062e35e..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutRight_Rank4.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutRight, LayoutRight, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutRight, LayoutLeft, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutRight, LayoutStride, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t****, LayoutRight, Experimental::ROCm, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutRight_Rank5.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutRight_Rank5.cpp deleted file mode 100644 index 5c2cf9d561bbbd6d6d60a5ba5f72a1bf4ffd6590..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutRight_Rank5.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutRight, LayoutRight, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutRight, LayoutLeft, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutRight, LayoutStride, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t*****, LayoutRight, Experimental::ROCm, - int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutRight_Rank8.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutRight_Rank8.cpp deleted file mode 100644 index 6ca32499b13939162d787f42fb3041828977ede4..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutRight_Rank8.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutRight, LayoutRight, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutRight, LayoutLeft, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutRight, LayoutStride, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t********, LayoutRight, Experimental::ROCm, - int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutStride_Rank1.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutStride_Rank1.cpp deleted file mode 100644 index 9c5d40e18a798ceff4b5d9e68e99c4e31f035e2a..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutStride_Rank1.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutStride, LayoutRight, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutStride, LayoutLeft, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutStride, LayoutStride, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t*, LayoutStride, Experimental::ROCm, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutStride_Rank2.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutStride_Rank2.cpp deleted file mode 100644 index ae111b312b6ff1873925db53703c9a36d2edd26f..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutStride_Rank2.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutStride, LayoutRight, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutStride, LayoutLeft, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutStride, LayoutStride, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t**, LayoutStride, Experimental::ROCm, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutStride_Rank3.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutStride_Rank3.cpp deleted file mode 100644 index ce6c8a9fc68715ca28b1530e31a96ce039e239c6..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutStride_Rank3.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutStride, LayoutRight, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutStride, LayoutLeft, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutStride, LayoutStride, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t***, LayoutStride, Experimental::ROCm, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutStride_Rank4.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutStride_Rank4.cpp deleted file mode 100644 index d56e9e776eebd31471d1cb9a8ab7be01d8cdbd03..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutStride_Rank4.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutStride, LayoutRight, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutStride, LayoutLeft, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutStride, LayoutStride, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t****, LayoutStride, Experimental::ROCm, - int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutStride_Rank5.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutStride_Rank5.cpp deleted file mode 100644 index e1ab19f5ffe94746dd1d37765afac34428cad96f..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutStride_Rank5.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutStride, LayoutRight, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutStride, LayoutLeft, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutStride, LayoutStride, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t*****, LayoutStride, Experimental::ROCm, - int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutStride_Rank8.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutStride_Rank8.cpp deleted file mode 100644 index 083cecc07491fef84b7d939ef81663ef2b943cb4..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutStride_Rank8.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutStride, LayoutRight, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutStride, LayoutLeft, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutStride, LayoutStride, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t********, LayoutStride, Experimental::ROCm, - int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutLeft_Rank1.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutLeft_Rank1.cpp deleted file mode 100644 index b345f2ac436403be7b2c10a190574abcf0fedfd3..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutLeft_Rank1.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutLeft, LayoutRight, Experimental::ROCm, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutLeft, LayoutLeft, Experimental::ROCm, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutLeft, LayoutStride, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int*, LayoutLeft, Experimental::ROCm, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutLeft_Rank2.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutLeft_Rank2.cpp deleted file mode 100644 index 7370f284cf72f8b3528e4739fc0ef79eeb2b0a1e..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutLeft_Rank2.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutLeft, LayoutRight, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutLeft, LayoutLeft, Experimental::ROCm, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutLeft, LayoutStride, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int**, LayoutLeft, Experimental::ROCm, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutLeft_Rank3.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutLeft_Rank3.cpp deleted file mode 100644 index e6892ca01a6c721a0ae5b1c20a87cf295c427931..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutLeft_Rank3.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutLeft, LayoutRight, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutLeft, LayoutLeft, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutLeft, LayoutStride, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int***, LayoutLeft, Experimental::ROCm, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutLeft_Rank4.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutLeft_Rank4.cpp deleted file mode 100644 index 1560af198f013449e3c0283845b6968fe032098b..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutLeft_Rank4.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutLeft, LayoutRight, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutLeft, LayoutLeft, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutLeft, LayoutStride, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int****, LayoutLeft, Experimental::ROCm, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutLeft_Rank5.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutLeft_Rank5.cpp deleted file mode 100644 index a7322631a216a49b650068cb92808dd5cf79f7cf..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutLeft_Rank5.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutLeft, LayoutRight, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutLeft, LayoutLeft, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutLeft, LayoutStride, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int*****, LayoutLeft, Experimental::ROCm, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutLeft_Rank8.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutLeft_Rank8.cpp deleted file mode 100644 index 2b5d8178c4ea89158ec3767340a455adf343328d..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutLeft_Rank8.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutLeft, LayoutRight, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutLeft, LayoutLeft, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutLeft, LayoutStride, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int********, LayoutLeft, Experimental::ROCm, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutRight_Rank1.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutRight_Rank1.cpp deleted file mode 100644 index ed476241ff9a2e41d9af656eb3725eef8c52a871..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutRight_Rank1.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutRight, LayoutRight, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutRight, LayoutLeft, Experimental::ROCm, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutRight, LayoutStride, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int*, LayoutRight, Experimental::ROCm, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutRight_Rank2.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutRight_Rank2.cpp deleted file mode 100644 index ee2b6739e0da570fc26f9fea0a2a1ba80a8cfa0a..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutRight_Rank2.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutRight, LayoutRight, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutRight, LayoutLeft, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutRight, LayoutStride, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int**, LayoutRight, Experimental::ROCm, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutRight_Rank3.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutRight_Rank3.cpp deleted file mode 100644 index a8b7a8ef15072436d4e95f3eb435c64de1ad01e9..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutRight_Rank3.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutRight, LayoutRight, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutRight, LayoutLeft, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutRight, LayoutStride, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int***, LayoutRight, Experimental::ROCm, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutRight_Rank4.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutRight_Rank4.cpp deleted file mode 100644 index e11f9b44333fe52e0e53bd5b6a4b47b167f59afd..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutRight_Rank4.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutRight, LayoutRight, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutRight, LayoutLeft, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutRight, LayoutStride, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int****, LayoutRight, Experimental::ROCm, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutRight_Rank5.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutRight_Rank5.cpp deleted file mode 100644 index 0e17bc8c5d4c1db49d60ab392504afee5a99d0e6..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutRight_Rank5.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutRight, LayoutRight, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutRight, LayoutLeft, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutRight, LayoutStride, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int*****, LayoutRight, Experimental::ROCm, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutRight_Rank8.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutRight_Rank8.cpp deleted file mode 100644 index a7c9b8585df405510095a03e0d6cae77e4ccb5e4..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutRight_Rank8.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutRight, LayoutRight, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutRight, LayoutLeft, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutRight, LayoutStride, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int********, LayoutRight, Experimental::ROCm, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutStride_Rank1.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutStride_Rank1.cpp deleted file mode 100644 index 88c9569a9ff47b849110f0ad310ec63d4f291f21..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutStride_Rank1.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutStride, LayoutRight, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutStride, LayoutLeft, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutStride, LayoutStride, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int*, LayoutStride, Experimental::ROCm, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutStride_Rank2.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutStride_Rank2.cpp deleted file mode 100644 index 62ec94f718da02a4b6331c8f42d7815c18b62d43..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutStride_Rank2.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutStride, LayoutRight, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutStride, LayoutLeft, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutStride, LayoutStride, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int**, LayoutStride, Experimental::ROCm, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutStride_Rank3.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutStride_Rank3.cpp deleted file mode 100644 index 9f86f52008cae8d719f316da8e2c212f04a03c90..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutStride_Rank3.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutStride, LayoutRight, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutStride, LayoutLeft, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutStride, LayoutStride, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int***, LayoutStride, Experimental::ROCm, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutStride_Rank4.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutStride_Rank4.cpp deleted file mode 100644 index a0762ad58544a3502c3b04860fb39bc61d007b69..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutStride_Rank4.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutStride, LayoutRight, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutStride, LayoutLeft, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutStride, LayoutStride, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int****, LayoutStride, Experimental::ROCm, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutStride_Rank5.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutStride_Rank5.cpp deleted file mode 100644 index a3ffd626446fc6f0d74352cc4b6e04960dcfd6a1..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutStride_Rank5.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutStride, LayoutRight, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutStride, LayoutLeft, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutStride, LayoutStride, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int*****, LayoutStride, Experimental::ROCm, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutStride_Rank8.cpp b/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutStride_Rank8.cpp deleted file mode 100644 index fbd2fca225106d573b56652cc42e5b612f0c45a9..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutStride_Rank8.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutStride, LayoutRight, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutStride, LayoutLeft, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutStride, LayoutStride, - Experimental::ROCm, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int********, LayoutStride, Experimental::ROCm, - int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Makefile.eti_ROCm b/lib/kokkos/core/src/eti/ROCm/Makefile.eti_ROCm deleted file mode 100644 index 0423c6feb6fe26f6896f9be4f3e21033494f48d2..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/ROCm/Makefile.eti_ROCm +++ /dev/null @@ -1,288 +0,0 @@ -Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutLeft_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutLeft_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutLeft_Rank1.cpp -Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutLeft_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutLeft_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutLeft_Rank2.cpp -Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutLeft_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutLeft_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutLeft_Rank3.cpp -Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutLeft_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutLeft_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutLeft_Rank4.cpp -Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutLeft_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutLeft_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutLeft_Rank5.cpp -Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutLeft_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutLeft_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutLeft_Rank8.cpp -Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutRight_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutRight_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutRight_Rank1.cpp -Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutRight_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutRight_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutRight_Rank2.cpp -Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutRight_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutRight_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutRight_Rank3.cpp -Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutRight_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutRight_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutRight_Rank4.cpp -Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutRight_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutRight_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutRight_Rank5.cpp -Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutRight_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutRight_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutRight_Rank8.cpp -Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutStride_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutStride_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutStride_Rank1.cpp -Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutStride_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutStride_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutStride_Rank2.cpp -Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutStride_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutStride_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutStride_Rank3.cpp -Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutStride_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutStride_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutStride_Rank4.cpp -Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutStride_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutStride_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutStride_Rank5.cpp -Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutStride_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutStride_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int_LayoutStride_Rank8.cpp -Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank1.cpp -Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank2.cpp -Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank3.cpp -Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank4.cpp -Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank5.cpp -Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank8.cpp -Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutRight_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutRight_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutRight_Rank1.cpp -Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutRight_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutRight_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutRight_Rank2.cpp -Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutRight_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutRight_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutRight_Rank3.cpp -Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutRight_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutRight_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutRight_Rank4.cpp -Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutRight_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutRight_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutRight_Rank5.cpp -Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutRight_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutRight_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutRight_Rank8.cpp -Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutStride_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutStride_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutStride_Rank1.cpp -Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutStride_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutStride_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutStride_Rank2.cpp -Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutStride_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutStride_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutStride_Rank3.cpp -Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutStride_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutStride_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutStride_Rank4.cpp -Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutStride_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutStride_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutStride_Rank5.cpp -Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutStride_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutStride_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutStride_Rank8.cpp -Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank1.cpp -Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank2.cpp -Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank3.cpp -Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank4.cpp -Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank5.cpp -Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank8.cpp -Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutRight_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutRight_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutRight_Rank1.cpp -Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutRight_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutRight_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutRight_Rank2.cpp -Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutRight_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutRight_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutRight_Rank3.cpp -Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutRight_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutRight_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutRight_Rank4.cpp -Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutRight_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutRight_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutRight_Rank5.cpp -Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutRight_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutRight_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutRight_Rank8.cpp -Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutStride_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutStride_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutStride_Rank1.cpp -Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutStride_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutStride_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutStride_Rank2.cpp -Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutStride_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutStride_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutStride_Rank3.cpp -Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutStride_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutStride_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutStride_Rank4.cpp -Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutStride_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutStride_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutStride_Rank5.cpp -Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutStride_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutStride_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_int64_t_LayoutStride_Rank8.cpp -Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank1.cpp -Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank2.cpp -Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank3.cpp -Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank4.cpp -Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank5.cpp -Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank8.cpp -Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank1.cpp -Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank2.cpp -Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank3.cpp -Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank4.cpp -Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank5.cpp -Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank8.cpp -Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank1.cpp -Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank2.cpp -Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank3.cpp -Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank4.cpp -Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank5.cpp -Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank8.cpp -Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutLeft_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutLeft_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutLeft_Rank1.cpp -Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutLeft_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutLeft_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutLeft_Rank2.cpp -Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutLeft_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutLeft_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutLeft_Rank3.cpp -Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutLeft_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutLeft_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutLeft_Rank4.cpp -Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutLeft_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutLeft_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutLeft_Rank5.cpp -Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutLeft_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutLeft_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutLeft_Rank8.cpp -Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutRight_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutRight_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutRight_Rank1.cpp -Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutRight_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutRight_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutRight_Rank2.cpp -Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutRight_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutRight_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutRight_Rank3.cpp -Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutRight_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutRight_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutRight_Rank4.cpp -Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutRight_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutRight_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutRight_Rank5.cpp -Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutRight_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutRight_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutRight_Rank8.cpp -Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutStride_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutStride_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutStride_Rank1.cpp -Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutStride_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutStride_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutStride_Rank2.cpp -Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutStride_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutStride_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutStride_Rank3.cpp -Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutStride_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutStride_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutStride_Rank4.cpp -Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutStride_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutStride_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutStride_Rank5.cpp -Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutStride_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutStride_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_float_LayoutStride_Rank8.cpp -Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank1.cpp -Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank2.cpp -Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank3.cpp -Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank4.cpp -Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank5.cpp -Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank8.cpp -Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutRight_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutRight_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutRight_Rank1.cpp -Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutRight_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutRight_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutRight_Rank2.cpp -Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutRight_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutRight_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutRight_Rank3.cpp -Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutRight_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutRight_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutRight_Rank4.cpp -Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutRight_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutRight_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutRight_Rank5.cpp -Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutRight_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutRight_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutRight_Rank8.cpp -Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutStride_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutStride_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutStride_Rank1.cpp -Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutStride_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutStride_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutStride_Rank2.cpp -Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutStride_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutStride_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutStride_Rank3.cpp -Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutStride_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutStride_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutStride_Rank4.cpp -Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutStride_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutStride_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutStride_Rank5.cpp -Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutStride_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutStride_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_float_LayoutStride_Rank8.cpp -Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutLeft_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutLeft_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutLeft_Rank1.cpp -Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutLeft_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutLeft_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutLeft_Rank2.cpp -Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutLeft_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutLeft_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutLeft_Rank3.cpp -Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutLeft_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutLeft_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutLeft_Rank4.cpp -Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutLeft_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutLeft_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutLeft_Rank5.cpp -Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutLeft_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutLeft_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutLeft_Rank8.cpp -Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutRight_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutRight_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutRight_Rank1.cpp -Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutRight_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutRight_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutRight_Rank2.cpp -Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutRight_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutRight_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutRight_Rank3.cpp -Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutRight_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutRight_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutRight_Rank4.cpp -Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutRight_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutRight_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutRight_Rank5.cpp -Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutRight_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutRight_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutRight_Rank8.cpp -Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutStride_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutStride_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutStride_Rank1.cpp -Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutStride_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutStride_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutStride_Rank2.cpp -Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutStride_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutStride_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutStride_Rank3.cpp -Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutStride_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutStride_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutStride_Rank4.cpp -Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutStride_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutStride_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutStride_Rank5.cpp -Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutStride_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutStride_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int_double_LayoutStride_Rank8.cpp -Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank1.cpp -Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank2.cpp -Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank3.cpp -Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank4.cpp -Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank5.cpp -Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank8.cpp -Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutRight_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutRight_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutRight_Rank1.cpp -Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutRight_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutRight_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutRight_Rank2.cpp -Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutRight_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutRight_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutRight_Rank3.cpp -Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutRight_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutRight_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutRight_Rank4.cpp -Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutRight_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutRight_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutRight_Rank5.cpp -Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutRight_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutRight_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutRight_Rank8.cpp -Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutStride_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutStride_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutStride_Rank1.cpp -Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutStride_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutStride_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutStride_Rank2.cpp -Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutStride_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutStride_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutStride_Rank3.cpp -Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutStride_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutStride_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutStride_Rank4.cpp -Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutStride_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutStride_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutStride_Rank5.cpp -Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutStride_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutStride_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_double_LayoutStride_Rank8.cpp diff --git a/lib/kokkos/core/src/eti/Serial/CMakeLists.txt b/lib/kokkos/core/src/eti/Serial/CMakeLists.txt deleted file mode 100644 index eb076db79c09e181b1ffe32015212c063661121a..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/CMakeLists.txt +++ /dev/null @@ -1,148 +0,0 @@ -set(D "${CMAKE_CURRENT_SOURCE_DIR}") -set(ETI_SOURCES -${ETI_SOURCES} -${D}/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank1.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank2.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank3.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank4.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank5.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank8.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutRight_Rank1.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutRight_Rank2.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutRight_Rank3.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutRight_Rank4.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutRight_Rank5.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutRight_Rank8.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutStride_Rank1.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutStride_Rank2.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutStride_Rank3.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutStride_Rank4.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutStride_Rank5.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutStride_Rank8.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank1.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank2.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank3.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank4.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank5.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank8.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutRight_Rank1.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutRight_Rank2.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutRight_Rank3.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutRight_Rank4.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutRight_Rank5.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutRight_Rank8.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutStride_Rank1.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutStride_Rank2.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutStride_Rank3.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutStride_Rank4.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutStride_Rank5.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutStride_Rank8.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank1.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank2.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank3.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank4.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank5.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank8.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank1.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank2.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank3.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank4.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank5.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank8.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank1.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank2.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank3.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank4.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank5.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank8.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank1.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank2.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank3.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank4.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank5.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank8.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutRight_Rank1.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutRight_Rank2.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutRight_Rank3.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutRight_Rank4.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutRight_Rank5.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutRight_Rank8.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutStride_Rank1.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutStride_Rank2.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutStride_Rank3.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutStride_Rank4.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutStride_Rank5.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutStride_Rank8.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutLeft_Rank1.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutLeft_Rank2.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutLeft_Rank3.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutLeft_Rank4.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutLeft_Rank5.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutLeft_Rank8.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutRight_Rank1.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutRight_Rank2.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutRight_Rank3.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutRight_Rank4.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutRight_Rank5.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutRight_Rank8.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutStride_Rank1.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutStride_Rank2.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutStride_Rank3.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutStride_Rank4.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutStride_Rank5.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutStride_Rank8.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutLeft_Rank1.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutLeft_Rank2.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutLeft_Rank3.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutLeft_Rank4.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutLeft_Rank5.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutLeft_Rank8.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutRight_Rank1.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutRight_Rank2.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutRight_Rank3.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutRight_Rank4.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutRight_Rank5.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutRight_Rank8.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutStride_Rank1.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutStride_Rank2.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutStride_Rank3.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutStride_Rank4.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutStride_Rank5.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutStride_Rank8.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank1.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank2.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank3.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank4.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank5.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank8.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutRight_Rank1.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutRight_Rank2.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutRight_Rank3.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutRight_Rank4.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutRight_Rank5.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutRight_Rank8.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutStride_Rank1.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutStride_Rank2.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutStride_Rank3.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutStride_Rank4.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutStride_Rank5.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutStride_Rank8.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutLeft_Rank1.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutLeft_Rank2.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutLeft_Rank3.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutLeft_Rank4.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutLeft_Rank5.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutLeft_Rank8.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutRight_Rank1.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutRight_Rank2.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutRight_Rank3.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutRight_Rank4.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutRight_Rank5.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutRight_Rank8.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutStride_Rank1.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutStride_Rank2.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutStride_Rank3.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutStride_Rank4.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutStride_Rank5.cpp -${D}/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutStride_Rank8.cpp -PARENT_SCOPE) diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank1.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank1.cpp deleted file mode 100644 index a749ec859b9c6c25fad8be7c7a11d77e4a18a338..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank1.cpp +++ /dev/null @@ -1,56 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutLeft, LayoutRight, Serial, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutLeft, LayoutLeft, Serial, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutLeft, LayoutStride, Serial, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double*, LayoutLeft, Serial, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank2.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank2.cpp deleted file mode 100644 index 7a95f39755aad03f9d62334b5107141e9c0f5e8e..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank2.cpp +++ /dev/null @@ -1,57 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutLeft, LayoutRight, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutLeft, LayoutLeft, Serial, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutLeft, LayoutStride, Serial, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double**, LayoutLeft, Serial, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank3.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank3.cpp deleted file mode 100644 index 961b788a857484220424f7f8d863b05fb9cc6c70..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank3.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutLeft, LayoutRight, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutLeft, LayoutLeft, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutLeft, LayoutStride, Serial, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double***, LayoutLeft, Serial, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank4.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank4.cpp deleted file mode 100644 index 57dbaaf95ea34246002031f5e6c6e4c6a483767a..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank4.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutLeft, LayoutRight, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutLeft, LayoutLeft, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutLeft, LayoutStride, Serial, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double****, LayoutLeft, Serial, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank5.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank5.cpp deleted file mode 100644 index 33b0b87208e116c512659abc6e5abbc358a575b1..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank5.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutLeft, LayoutRight, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutLeft, LayoutLeft, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutLeft, LayoutStride, Serial, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double*****, LayoutLeft, Serial, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank8.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank8.cpp deleted file mode 100644 index 6ec8b5f294588aae97a08039a9dc37bcd91c6e5e..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank8.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutLeft, LayoutRight, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutLeft, LayoutLeft, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutLeft, LayoutStride, Serial, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double********, LayoutLeft, Serial, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutRight_Rank1.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutRight_Rank1.cpp deleted file mode 100644 index e4660ae4dcb487f91de78f8f22ba31a2d66c1662..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutRight_Rank1.cpp +++ /dev/null @@ -1,57 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutRight, LayoutRight, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutRight, LayoutLeft, Serial, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutRight, LayoutStride, Serial, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double*, LayoutRight, Serial, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutRight_Rank2.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutRight_Rank2.cpp deleted file mode 100644 index d77fb3eb132c3baeafc3f3023269bd8f2bbc8820..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutRight_Rank2.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutRight, LayoutRight, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutRight, LayoutLeft, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutRight, LayoutStride, Serial, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double**, LayoutRight, Serial, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutRight_Rank3.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutRight_Rank3.cpp deleted file mode 100644 index c7ae12e854dd904851ea6cc326135c242ed81524..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutRight_Rank3.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutRight, LayoutRight, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutRight, LayoutLeft, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutRight, LayoutStride, Serial, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double***, LayoutRight, Serial, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutRight_Rank4.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutRight_Rank4.cpp deleted file mode 100644 index 7a6ad9b5789a7ff1cd5ea677a00fb77da6df44ec..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutRight_Rank4.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutRight, LayoutRight, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutRight, LayoutLeft, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutRight, LayoutStride, Serial, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double****, LayoutRight, Serial, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutRight_Rank5.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutRight_Rank5.cpp deleted file mode 100644 index bfe375c6b48f3eb6f56bbb04d0c7e3e449870d23..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutRight_Rank5.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutRight, LayoutRight, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutRight, LayoutLeft, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutRight, LayoutStride, Serial, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double*****, LayoutRight, Serial, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutRight_Rank8.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutRight_Rank8.cpp deleted file mode 100644 index 11c0c4a8136e034132bd82eee62788d6fc2bd2e4..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutRight_Rank8.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutRight, LayoutRight, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutRight, LayoutLeft, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutRight, LayoutStride, Serial, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double********, LayoutRight, Serial, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutStride_Rank1.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutStride_Rank1.cpp deleted file mode 100644 index 8a7323699542da1bcfec5f8177bfb3471fbecd6d..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutStride_Rank1.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutStride, LayoutRight, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutStride, LayoutLeft, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutStride, LayoutStride, Serial, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double*, LayoutStride, Serial, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutStride_Rank2.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutStride_Rank2.cpp deleted file mode 100644 index e2c48e8bb0f66c5a842b91001125a47ceae96a56..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutStride_Rank2.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutStride, LayoutRight, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutStride, LayoutLeft, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutStride, LayoutStride, Serial, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double**, LayoutStride, Serial, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutStride_Rank3.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutStride_Rank3.cpp deleted file mode 100644 index b6a7f488d70ef9209535ff271cee6211c10a0d6c..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutStride_Rank3.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutStride, LayoutRight, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutStride, LayoutLeft, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutStride, LayoutStride, Serial, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double***, LayoutStride, Serial, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutStride_Rank4.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutStride_Rank4.cpp deleted file mode 100644 index 2e3313b6eb0747883da39a550819653c992ac8c9..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutStride_Rank4.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutStride, LayoutRight, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutStride, LayoutLeft, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutStride, LayoutStride, Serial, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double****, LayoutStride, Serial, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutStride_Rank5.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutStride_Rank5.cpp deleted file mode 100644 index dcb760fbf4e9526076b4e45e69f922445ad0e034..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutStride_Rank5.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutStride, LayoutRight, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutStride, LayoutLeft, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutStride, LayoutStride, Serial, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double*****, LayoutStride, Serial, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutStride_Rank8.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutStride_Rank8.cpp deleted file mode 100644 index 9bd7e80e7e8928a078fa1d47e72e2c56e2b01b4f..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutStride_Rank8.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutStride, LayoutRight, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutStride, LayoutLeft, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutStride, LayoutStride, - Serial, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double********, LayoutStride, Serial, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank1.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank1.cpp deleted file mode 100644 index dedbd50d8ec45411ac488904f25d72c0b1e60e14..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank1.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutLeft, LayoutRight, Serial, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutLeft, LayoutLeft, Serial, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutLeft, LayoutStride, Serial, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float*, LayoutLeft, Serial, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank2.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank2.cpp deleted file mode 100644 index 441d4774ccf1a15189129f4890b3a2173ad14818..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank2.cpp +++ /dev/null @@ -1,56 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutLeft, LayoutRight, Serial, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutLeft, LayoutLeft, Serial, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutLeft, LayoutStride, Serial, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float**, LayoutLeft, Serial, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank3.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank3.cpp deleted file mode 100644 index b9013da90a13c07481d5770fcf7f0d0e20fd0bc4..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank3.cpp +++ /dev/null @@ -1,57 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutLeft, LayoutRight, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutLeft, LayoutLeft, Serial, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutLeft, LayoutStride, Serial, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float***, LayoutLeft, Serial, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank4.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank4.cpp deleted file mode 100644 index 0b19e47184fc7809160bbf938d9ba3f403a8112f..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank4.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutLeft, LayoutRight, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutLeft, LayoutLeft, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutLeft, LayoutStride, Serial, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float****, LayoutLeft, Serial, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank5.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank5.cpp deleted file mode 100644 index f901648517e06117f2019e24898dc1ac47006161..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank5.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutLeft, LayoutRight, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutLeft, LayoutLeft, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutLeft, LayoutStride, Serial, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float*****, LayoutLeft, Serial, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank8.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank8.cpp deleted file mode 100644 index b8ad2e78bd56823aae20f1ec91b1994dd15b41dd..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank8.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutLeft, LayoutRight, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutLeft, LayoutLeft, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutLeft, LayoutStride, Serial, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float********, LayoutLeft, Serial, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutRight_Rank1.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutRight_Rank1.cpp deleted file mode 100644 index 7bf4b7e77f59e59db2744790e9ff6343a8e5abe3..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutRight_Rank1.cpp +++ /dev/null @@ -1,56 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutRight, LayoutRight, Serial, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutRight, LayoutLeft, Serial, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutRight, LayoutStride, Serial, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float*, LayoutRight, Serial, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutRight_Rank2.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutRight_Rank2.cpp deleted file mode 100644 index 39e4d3bb6e9cff9de73a0ceb0b76c9f655e46cdf..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutRight_Rank2.cpp +++ /dev/null @@ -1,57 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutRight, LayoutRight, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutRight, LayoutLeft, Serial, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutRight, LayoutStride, Serial, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float**, LayoutRight, Serial, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutRight_Rank3.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutRight_Rank3.cpp deleted file mode 100644 index 4d845c8e1ae53502108513158bba6538cc78b5cb..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutRight_Rank3.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutRight, LayoutRight, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutRight, LayoutLeft, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutRight, LayoutStride, Serial, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float***, LayoutRight, Serial, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutRight_Rank4.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutRight_Rank4.cpp deleted file mode 100644 index b0d8e00fefbb273996239a9fdf381ee8bb7d35aa..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutRight_Rank4.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutRight, LayoutRight, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutRight, LayoutLeft, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutRight, LayoutStride, Serial, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float****, LayoutRight, Serial, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutRight_Rank5.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutRight_Rank5.cpp deleted file mode 100644 index a8972610c96681847fe7de3a2ff5758c3a1d62c8..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutRight_Rank5.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutRight, LayoutRight, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutRight, LayoutLeft, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutRight, LayoutStride, Serial, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float*****, LayoutRight, Serial, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutRight_Rank8.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutRight_Rank8.cpp deleted file mode 100644 index c0db2a928b81e474582dcf7af0478c796adeff52..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutRight_Rank8.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutRight, LayoutRight, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutRight, LayoutLeft, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutRight, LayoutStride, Serial, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float********, LayoutRight, Serial, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutStride_Rank1.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutStride_Rank1.cpp deleted file mode 100644 index 44ef5f0bab7fc8a1b0e4ab82b5eb39b19164ce08..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutStride_Rank1.cpp +++ /dev/null @@ -1,57 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutStride, LayoutRight, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutStride, LayoutLeft, Serial, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutStride, LayoutStride, Serial, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float*, LayoutStride, Serial, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutStride_Rank2.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutStride_Rank2.cpp deleted file mode 100644 index 39d0b58af35025ab877a2168d347351be2e2cb8b..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutStride_Rank2.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutStride, LayoutRight, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutStride, LayoutLeft, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutStride, LayoutStride, Serial, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float**, LayoutStride, Serial, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutStride_Rank3.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutStride_Rank3.cpp deleted file mode 100644 index 1d6eb2fd34da17cb3a5f3de12e58264b056bf5fd..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutStride_Rank3.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutStride, LayoutRight, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutStride, LayoutLeft, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutStride, LayoutStride, Serial, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float***, LayoutStride, Serial, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutStride_Rank4.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutStride_Rank4.cpp deleted file mode 100644 index b38d19b999a57fcf33f65f59f1a188cb95dc2923..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutStride_Rank4.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutStride, LayoutRight, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutStride, LayoutLeft, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutStride, LayoutStride, Serial, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float****, LayoutStride, Serial, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutStride_Rank5.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutStride_Rank5.cpp deleted file mode 100644 index 360c6b4117dea82167074ae4e07d44dddc7b85d4..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutStride_Rank5.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutStride, LayoutRight, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutStride, LayoutLeft, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutStride, LayoutStride, Serial, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float*****, LayoutStride, Serial, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutStride_Rank8.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutStride_Rank8.cpp deleted file mode 100644 index f1f1dcde1743b5b16c83bfdcd6baeb283442eefb..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutStride_Rank8.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutStride, LayoutRight, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutStride, LayoutLeft, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutStride, LayoutStride, Serial, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float********, LayoutStride, Serial, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank1.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank1.cpp deleted file mode 100644 index 6cfb563e75f7cce3791f1cf29dbb83d76ea6db6a..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank1.cpp +++ /dev/null @@ -1,57 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutLeft, LayoutRight, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutLeft, LayoutLeft, Serial, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutLeft, LayoutStride, Serial, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t*, LayoutLeft, Serial, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank2.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank2.cpp deleted file mode 100644 index abe7810be86ecc828f32e562c1bf996abff507cd..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank2.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutLeft, LayoutRight, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutLeft, LayoutLeft, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutLeft, LayoutStride, Serial, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t**, LayoutLeft, Serial, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank3.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank3.cpp deleted file mode 100644 index 1b6b81e8e420a2d14c6e1b00d3bee807b240b9fa..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank3.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutLeft, LayoutRight, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutLeft, LayoutLeft, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutLeft, LayoutStride, Serial, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t***, LayoutLeft, Serial, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank4.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank4.cpp deleted file mode 100644 index 7e50ce7cbce9ced6c486eb3facc14f4f64cc4b2b..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank4.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutLeft, LayoutRight, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutLeft, LayoutLeft, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutLeft, LayoutStride, Serial, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t****, LayoutLeft, Serial, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank5.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank5.cpp deleted file mode 100644 index ea944ba15f55eb8818e37327819fe448833db9fa..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank5.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutLeft, LayoutRight, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutLeft, LayoutLeft, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutLeft, LayoutStride, Serial, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t*****, LayoutLeft, Serial, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank8.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank8.cpp deleted file mode 100644 index d00dd6a3354bba7b92e79fa066d0854a0e33beb9..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank8.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutLeft, LayoutRight, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutLeft, LayoutLeft, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutLeft, LayoutStride, Serial, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t********, LayoutLeft, Serial, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank1.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank1.cpp deleted file mode 100644 index b7cf7d7fce6b51e67cbb16fa5759a4ab42d230d3..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank1.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutRight, LayoutRight, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutRight, LayoutLeft, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutRight, LayoutStride, Serial, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t*, LayoutRight, Serial, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank2.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank2.cpp deleted file mode 100644 index 343dfc96581c097385b43548068dd1f0d1e042c7..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank2.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutRight, LayoutRight, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutRight, LayoutLeft, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutRight, LayoutStride, Serial, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t**, LayoutRight, Serial, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank3.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank3.cpp deleted file mode 100644 index 44050f1421a7d5022558bc0acc14cc34d0aa8920..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank3.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutRight, LayoutRight, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutRight, LayoutLeft, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutRight, LayoutStride, Serial, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t***, LayoutRight, Serial, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank4.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank4.cpp deleted file mode 100644 index 4ab602bc3b6fe69c7992699e90f3e76f09c2f384..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank4.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutRight, LayoutRight, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutRight, LayoutLeft, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutRight, LayoutStride, Serial, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t****, LayoutRight, Serial, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank5.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank5.cpp deleted file mode 100644 index 077314b85e4a0ef7e144c33a7d72810d47c5819c..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank5.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutRight, LayoutRight, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutRight, LayoutLeft, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutRight, LayoutStride, Serial, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t*****, LayoutRight, Serial, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank8.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank8.cpp deleted file mode 100644 index 009d5afcf64c336c74ee75a15656d723a7df2963..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank8.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutRight, LayoutRight, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutRight, LayoutLeft, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutRight, LayoutStride, - Serial, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t********, LayoutRight, Serial, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank1.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank1.cpp deleted file mode 100644 index 24a1e61eb32560c2e7b9d3868adc1e3dfac36867..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank1.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutStride, LayoutRight, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutStride, LayoutLeft, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutStride, LayoutStride, Serial, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t*, LayoutStride, Serial, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank2.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank2.cpp deleted file mode 100644 index bcf66fb1611fdf5ef98e5530206ef82e375c8e8b..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank2.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutStride, LayoutRight, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutStride, LayoutLeft, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutStride, LayoutStride, Serial, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t**, LayoutStride, Serial, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank3.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank3.cpp deleted file mode 100644 index 65c075948fcab8fc89946a3c5c19dfe45e53cfaa..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank3.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutStride, LayoutRight, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutStride, LayoutLeft, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutStride, LayoutStride, Serial, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t***, LayoutStride, Serial, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank4.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank4.cpp deleted file mode 100644 index e301766022a1b81dd5e9760d8680ed5eb64cf19f..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank4.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutStride, LayoutRight, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutStride, LayoutLeft, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutStride, LayoutStride, Serial, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t****, LayoutStride, Serial, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank5.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank5.cpp deleted file mode 100644 index 4ccabe6b3de032b6b22713528cb17d84edfefa36..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank5.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutStride, LayoutRight, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutStride, LayoutLeft, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutStride, LayoutStride, Serial, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t*****, LayoutStride, Serial, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank8.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank8.cpp deleted file mode 100644 index 161cf27c4998fda3b61e539ecb97b242e30e1cd8..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank8.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutStride, LayoutRight, - Serial, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutStride, LayoutLeft, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutStride, LayoutStride, - Serial, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t********, LayoutStride, Serial, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank1.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank1.cpp deleted file mode 100644 index 0a0bb54bfdc2e64008dccdcc35166b7a9b0bbe4e..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank1.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutLeft, LayoutRight, Serial, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutLeft, LayoutLeft, Serial, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutLeft, LayoutStride, Serial, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int*, LayoutLeft, Serial, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank2.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank2.cpp deleted file mode 100644 index 745e67b5bf7511605744305eac94580be61c2bf0..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank2.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutLeft, LayoutRight, Serial, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutLeft, LayoutLeft, Serial, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutLeft, LayoutStride, Serial, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int**, LayoutLeft, Serial, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank3.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank3.cpp deleted file mode 100644 index 40a9d2fe0f193df7fd41a8c2b259446eb5a52555..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank3.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutLeft, LayoutRight, Serial, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutLeft, LayoutLeft, Serial, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutLeft, LayoutStride, Serial, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int***, LayoutLeft, Serial, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank4.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank4.cpp deleted file mode 100644 index 9436c1d9f7b73a3ce93a850139c6ffd6dffd2dae..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank4.cpp +++ /dev/null @@ -1,56 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutLeft, LayoutRight, Serial, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutLeft, LayoutLeft, Serial, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutLeft, LayoutStride, Serial, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int****, LayoutLeft, Serial, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank5.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank5.cpp deleted file mode 100644 index a52db28973f3fffa2e32f56438bb1ba8037ddedb..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank5.cpp +++ /dev/null @@ -1,57 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutLeft, LayoutRight, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutLeft, LayoutLeft, Serial, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutLeft, LayoutStride, Serial, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int*****, LayoutLeft, Serial, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank8.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank8.cpp deleted file mode 100644 index 66e8b8f332211b55601097345fa685b0a886fce7..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank8.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutLeft, LayoutRight, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutLeft, LayoutLeft, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutLeft, LayoutStride, Serial, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int********, LayoutLeft, Serial, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutRight_Rank1.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutRight_Rank1.cpp deleted file mode 100644 index 9a32d30e2a7133458a54235f1657452270c32673..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutRight_Rank1.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutRight, LayoutRight, Serial, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutRight, LayoutLeft, Serial, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutRight, LayoutStride, Serial, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int*, LayoutRight, Serial, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutRight_Rank2.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutRight_Rank2.cpp deleted file mode 100644 index 1ec25b63b5975d992e4281925b2775f0d6783c62..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutRight_Rank2.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutRight, LayoutRight, Serial, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutRight, LayoutLeft, Serial, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutRight, LayoutStride, Serial, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int**, LayoutRight, Serial, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutRight_Rank3.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutRight_Rank3.cpp deleted file mode 100644 index 0c96adece56623457276b9f9dc820c3d46b25d97..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutRight_Rank3.cpp +++ /dev/null @@ -1,56 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutRight, LayoutRight, Serial, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutRight, LayoutLeft, Serial, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutRight, LayoutStride, Serial, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int***, LayoutRight, Serial, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutRight_Rank4.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutRight_Rank4.cpp deleted file mode 100644 index 5771fcf55ee75b15c96f5a713b5010c8ab3dcfe7..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutRight_Rank4.cpp +++ /dev/null @@ -1,57 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutRight, LayoutRight, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutRight, LayoutLeft, Serial, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutRight, LayoutStride, Serial, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int****, LayoutRight, Serial, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutRight_Rank5.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutRight_Rank5.cpp deleted file mode 100644 index b0b918d782d4cfd3b2b66ac54ee5bf38734fc6ac..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutRight_Rank5.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutRight, LayoutRight, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutRight, LayoutLeft, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutRight, LayoutStride, Serial, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int*****, LayoutRight, Serial, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutRight_Rank8.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutRight_Rank8.cpp deleted file mode 100644 index eae13261e9f892b7f5a4f28cc3f50b5a3bf2e505..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutRight_Rank8.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutRight, LayoutRight, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutRight, LayoutLeft, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutRight, LayoutStride, Serial, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int********, LayoutRight, Serial, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutStride_Rank1.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutStride_Rank1.cpp deleted file mode 100644 index 7efc50d457a9d830cdb2d88aee28fbae35f42aac..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutStride_Rank1.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutStride, LayoutRight, Serial, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutStride, LayoutLeft, Serial, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutStride, LayoutStride, Serial, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int*, LayoutStride, Serial, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutStride_Rank2.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutStride_Rank2.cpp deleted file mode 100644 index f6b63e9896a91cc79da0936065ce9941add3e294..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutStride_Rank2.cpp +++ /dev/null @@ -1,56 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutStride, LayoutRight, Serial, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutStride, LayoutLeft, Serial, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutStride, LayoutStride, Serial, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int**, LayoutStride, Serial, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutStride_Rank3.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutStride_Rank3.cpp deleted file mode 100644 index 148ed99027a4843206c09026c310332b37d17602..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutStride_Rank3.cpp +++ /dev/null @@ -1,57 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutStride, LayoutRight, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutStride, LayoutLeft, Serial, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutStride, LayoutStride, Serial, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int***, LayoutStride, Serial, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutStride_Rank5.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutStride_Rank5.cpp deleted file mode 100644 index 30a20055a1d1b920a7cc92fd88c00d160fce74f9..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutStride_Rank5.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutStride, LayoutRight, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutStride, LayoutLeft, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutStride, LayoutStride, Serial, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int*****, LayoutStride, Serial, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutStride_Rank8.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutStride_Rank8.cpp deleted file mode 100644 index fa42ed37b1cd96b872ea681e938c9c685dcc2e2d..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutStride_Rank8.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutStride, LayoutRight, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutStride, LayoutLeft, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutStride, LayoutStride, Serial, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int********, LayoutStride, Serial, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutLeft_Rank1.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutLeft_Rank1.cpp deleted file mode 100644 index 07d809a290dddefd8def4c3ad4395af5c7cf1259..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutLeft_Rank1.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutLeft, LayoutRight, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutLeft, LayoutLeft, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutLeft, LayoutStride, Serial, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double*, LayoutLeft, Serial, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutLeft_Rank2.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutLeft_Rank2.cpp deleted file mode 100644 index e03f4f796671f4b64e7cd7a2416676fbceb2a506..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutLeft_Rank2.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutLeft, LayoutRight, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutLeft, LayoutLeft, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutLeft, LayoutStride, Serial, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double**, LayoutLeft, Serial, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutLeft_Rank3.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutLeft_Rank3.cpp deleted file mode 100644 index 92deaa8a3ebeb4bea8a7fa32009aed96cb981297..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutLeft_Rank3.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutLeft, LayoutRight, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutLeft, LayoutLeft, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutLeft, LayoutStride, Serial, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double***, LayoutLeft, Serial, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutLeft_Rank4.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutLeft_Rank4.cpp deleted file mode 100644 index ec97ca8c53352a62025955ca7559e41bae924c5e..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutLeft_Rank4.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutLeft, LayoutRight, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutLeft, LayoutLeft, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutLeft, LayoutStride, Serial, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double****, LayoutLeft, Serial, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutLeft_Rank5.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutLeft_Rank5.cpp deleted file mode 100644 index 2693928bd8e0f0c473531f8b3abd579d8eb813d3..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutLeft_Rank5.cpp +++ /dev/null @@ -1,56 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutLeft, LayoutRight, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutLeft, LayoutLeft, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutLeft, LayoutStride, Serial, - int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double*****, LayoutLeft, Serial, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutLeft_Rank8.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutLeft_Rank8.cpp deleted file mode 100644 index 968a40079835c0f956fecb9d5dfc4a406ea6c325..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutLeft_Rank8.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutLeft, LayoutRight, Serial, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutLeft, LayoutLeft, Serial, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutLeft, LayoutStride, Serial, - int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double********, LayoutLeft, Serial, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutRight_Rank1.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutRight_Rank1.cpp deleted file mode 100644 index 4d7b8bc7243d08edcd92941b8e4995a30d29dd6b..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutRight_Rank1.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutRight, LayoutRight, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutRight, LayoutLeft, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutRight, LayoutStride, Serial, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double*, LayoutRight, Serial, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutRight_Rank2.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutRight_Rank2.cpp deleted file mode 100644 index 7a97d75c1dbcf88e1390e0e1732058e325741d6c..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutRight_Rank2.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutRight, LayoutRight, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutRight, LayoutLeft, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutRight, LayoutStride, Serial, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double**, LayoutRight, Serial, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutRight_Rank3.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutRight_Rank3.cpp deleted file mode 100644 index 25d9ee82b927b91e9048eccd4d85546c0cb3ff2b..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutRight_Rank3.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutRight, LayoutRight, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutRight, LayoutLeft, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutRight, LayoutStride, Serial, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double***, LayoutRight, Serial, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutRight_Rank4.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutRight_Rank4.cpp deleted file mode 100644 index b830d1a0172025d916a3f0ed6bc6b97bd12f7af8..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutRight_Rank4.cpp +++ /dev/null @@ -1,56 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutRight, LayoutRight, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutRight, LayoutLeft, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutRight, LayoutStride, Serial, - int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double****, LayoutRight, Serial, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutRight_Rank5.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutRight_Rank5.cpp deleted file mode 100644 index 40f690b782ea600f9b250fc921e8f757b38d431c..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutRight_Rank5.cpp +++ /dev/null @@ -1,57 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutRight, LayoutRight, Serial, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutRight, LayoutLeft, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutRight, LayoutStride, Serial, - int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double*****, LayoutRight, Serial, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutRight_Rank8.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutRight_Rank8.cpp deleted file mode 100644 index bf46af97d125ebc75ebca9003e82d2b986822099..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutRight_Rank8.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutRight, LayoutRight, Serial, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutRight, LayoutLeft, Serial, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutRight, LayoutStride, Serial, - int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double********, LayoutRight, Serial, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutStride_Rank1.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutStride_Rank1.cpp deleted file mode 100644 index 8abd7cc80b36c58e08bd0c378ac2e0b603404d4b..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutStride_Rank1.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutStride, LayoutRight, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutStride, LayoutLeft, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutStride, LayoutStride, Serial, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double*, LayoutStride, Serial, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutStride_Rank2.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutStride_Rank2.cpp deleted file mode 100644 index e5472cda7af8f75b8c11197e333690fcf8e93605..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutStride_Rank2.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutStride, LayoutRight, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutStride, LayoutLeft, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutStride, LayoutStride, Serial, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double**, LayoutStride, Serial, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutStride_Rank3.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutStride_Rank3.cpp deleted file mode 100644 index a0c1b4efcdef3334c363339945fa1511c97ae66d..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutStride_Rank3.cpp +++ /dev/null @@ -1,56 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutStride, LayoutRight, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutStride, LayoutLeft, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutStride, LayoutStride, Serial, - int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double***, LayoutStride, Serial, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutStride_Rank4.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutStride_Rank4.cpp deleted file mode 100644 index a5998458122f74e070323815629d2f7aeb172349..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutStride_Rank4.cpp +++ /dev/null @@ -1,57 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutStride, LayoutRight, Serial, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutStride, LayoutLeft, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutStride, LayoutStride, Serial, - int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double****, LayoutStride, Serial, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutStride_Rank5.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutStride_Rank5.cpp deleted file mode 100644 index b750ca88caf840dccc391a202e191559cc18cded..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutStride_Rank5.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutStride, LayoutRight, Serial, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutStride, LayoutLeft, Serial, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutStride, LayoutStride, Serial, - int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double*****, LayoutStride, Serial, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutStride_Rank8.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutStride_Rank8.cpp deleted file mode 100644 index c1223916b1e4cc2440cdfd36ac2933ad065e661f..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutStride_Rank8.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutStride, LayoutRight, Serial, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutStride, LayoutLeft, Serial, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutStride, LayoutStride, - Serial, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double********, LayoutStride, Serial, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutLeft_Rank1.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutLeft_Rank1.cpp deleted file mode 100644 index 453960b508771f63000200498e18c7078d383fab..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutLeft_Rank1.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutLeft, LayoutRight, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutLeft, LayoutLeft, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutLeft, LayoutStride, Serial, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float*, LayoutLeft, Serial, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutLeft_Rank2.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutLeft_Rank2.cpp deleted file mode 100644 index a1c599c76511cbc482c6280a8d111ea6efc9fc75..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutLeft_Rank2.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutLeft, LayoutRight, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutLeft, LayoutLeft, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutLeft, LayoutStride, Serial, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float**, LayoutLeft, Serial, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutLeft_Rank3.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutLeft_Rank3.cpp deleted file mode 100644 index a8f280cf232e0960ab1055a33f9099ed177a4386..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutLeft_Rank3.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutLeft, LayoutRight, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutLeft, LayoutLeft, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutLeft, LayoutStride, Serial, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float***, LayoutLeft, Serial, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutLeft_Rank4.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutLeft_Rank4.cpp deleted file mode 100644 index e9a6a979c3bfc8b9c77bf434bfa8f78725f1b7eb..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutLeft_Rank4.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutLeft, LayoutRight, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutLeft, LayoutLeft, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutLeft, LayoutStride, Serial, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float****, LayoutLeft, Serial, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutLeft_Rank5.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutLeft_Rank5.cpp deleted file mode 100644 index 0cbac14fb670d58441a1a1f207be6766b4473626..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutLeft_Rank5.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutLeft, LayoutRight, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutLeft, LayoutLeft, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutLeft, LayoutStride, Serial, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float*****, LayoutLeft, Serial, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutLeft_Rank8.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutLeft_Rank8.cpp deleted file mode 100644 index 98e182506b9d5d78a213eeb61211272450eb1281..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutLeft_Rank8.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutLeft, LayoutRight, Serial, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutLeft, LayoutLeft, Serial, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutLeft, LayoutStride, Serial, - int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float********, LayoutLeft, Serial, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutRight_Rank1.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutRight_Rank1.cpp deleted file mode 100644 index 0afd110876ab93b9e6686f3d9148a95d8ee51a69..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutRight_Rank1.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutRight, LayoutRight, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutRight, LayoutLeft, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutRight, LayoutStride, Serial, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float*, LayoutRight, Serial, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutRight_Rank3.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutRight_Rank3.cpp deleted file mode 100644 index 76516c19270a534ed4fe1e8a42fe6da7b6fad123..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutRight_Rank3.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutRight, LayoutRight, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutRight, LayoutLeft, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutRight, LayoutStride, Serial, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float***, LayoutRight, Serial, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutRight_Rank4.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutRight_Rank4.cpp deleted file mode 100644 index 3769ea0aac8b0e22d3f7c9a45ef65abc310e9d07..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutRight_Rank4.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutRight, LayoutRight, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutRight, LayoutLeft, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutRight, LayoutStride, Serial, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float****, LayoutRight, Serial, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutRight_Rank5.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutRight_Rank5.cpp deleted file mode 100644 index 106f1b9c67f5ef750a0c2f8082863326486f6cf0..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutRight_Rank5.cpp +++ /dev/null @@ -1,56 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutRight, LayoutRight, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutRight, LayoutLeft, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutRight, LayoutStride, Serial, - int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float*****, LayoutRight, Serial, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutRight_Rank8.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutRight_Rank8.cpp deleted file mode 100644 index 44a362d82c50510fa0f7968e350c97578c1d4315..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutRight_Rank8.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutRight, LayoutRight, Serial, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutRight, LayoutLeft, Serial, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutRight, LayoutStride, Serial, - int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float********, LayoutRight, Serial, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutStride_Rank1.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutStride_Rank1.cpp deleted file mode 100644 index 5184be60701597d7a923eee6cd4408a5f31eb42c..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutStride_Rank1.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutStride, LayoutRight, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutStride, LayoutLeft, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutStride, LayoutStride, Serial, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float*, LayoutStride, Serial, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutStride_Rank2.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutStride_Rank2.cpp deleted file mode 100644 index 50117e94bf89b22c1a40ccee11ceb4ef9c7caced..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutStride_Rank2.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutStride, LayoutRight, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutStride, LayoutLeft, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutStride, LayoutStride, Serial, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float**, LayoutStride, Serial, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutStride_Rank3.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutStride_Rank3.cpp deleted file mode 100644 index 4ddc4a3e40356e0a3d2f7e89682de064780cf23f..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutStride_Rank3.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutStride, LayoutRight, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutStride, LayoutLeft, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutStride, LayoutStride, Serial, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float***, LayoutStride, Serial, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutStride_Rank4.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutStride_Rank4.cpp deleted file mode 100644 index cf48e0caab62c68a51cc7571d29e8140fdb672b5..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutStride_Rank4.cpp +++ /dev/null @@ -1,56 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutStride, LayoutRight, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutStride, LayoutLeft, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutStride, LayoutStride, Serial, - int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float****, LayoutStride, Serial, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutStride_Rank5.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutStride_Rank5.cpp deleted file mode 100644 index b1ab7b66675a697134487df604431c729c77b2de..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutStride_Rank5.cpp +++ /dev/null @@ -1,57 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutStride, LayoutRight, Serial, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutStride, LayoutLeft, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutStride, LayoutStride, Serial, - int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float*****, LayoutStride, Serial, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutStride_Rank8.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutStride_Rank8.cpp deleted file mode 100644 index 02104cfa3711b439af7813822db2bdc9fd7aefaf..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutStride_Rank8.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutStride, LayoutRight, Serial, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutStride, LayoutLeft, Serial, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutStride, LayoutStride, Serial, - int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float********, LayoutStride, Serial, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank1.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank1.cpp deleted file mode 100644 index 81eab82b0479f22cbf7825161da87f04aefe961b..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank1.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutLeft, LayoutRight, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutLeft, LayoutLeft, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutLeft, LayoutStride, Serial, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t*, LayoutLeft, Serial, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank2.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank2.cpp deleted file mode 100644 index d5e45a194d210f40cc08f0320e1a2a5a6f4156ab..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank2.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutLeft, LayoutRight, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutLeft, LayoutLeft, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutLeft, LayoutStride, Serial, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t**, LayoutLeft, Serial, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank3.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank3.cpp deleted file mode 100644 index 7cc00391ac87a2ca803da038ef094bac54707d08..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank3.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutLeft, LayoutRight, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutLeft, LayoutLeft, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutLeft, LayoutStride, Serial, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t***, LayoutLeft, Serial, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank4.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank4.cpp deleted file mode 100644 index 70df317f3e9c87a22a84f763a1745c8b78e9eca5..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank4.cpp +++ /dev/null @@ -1,56 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutLeft, LayoutRight, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutLeft, LayoutLeft, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutLeft, LayoutStride, Serial, - int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t****, LayoutLeft, Serial, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank5.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank5.cpp deleted file mode 100644 index 4c6018db781c86941d06a27abf93dd18608edb7a..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank5.cpp +++ /dev/null @@ -1,57 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutLeft, LayoutRight, Serial, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutLeft, LayoutLeft, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutLeft, LayoutStride, Serial, - int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t*****, LayoutLeft, Serial, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank8.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank8.cpp deleted file mode 100644 index 4d48bb32cccd42d66b49f6117dd9f58c7282b81a..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank8.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutLeft, LayoutRight, Serial, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutLeft, LayoutLeft, Serial, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutLeft, LayoutStride, Serial, - int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t********, LayoutLeft, Serial, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutRight_Rank1.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutRight_Rank1.cpp deleted file mode 100644 index 61b6682ba6d45fbc657fef55ee1be7f035befce0..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutRight_Rank1.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutRight, LayoutRight, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutRight, LayoutLeft, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutRight, LayoutStride, Serial, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t*, LayoutRight, Serial, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutRight_Rank2.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutRight_Rank2.cpp deleted file mode 100644 index dd80db3e20186c2d6a368620dc4be25e238b7a99..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutRight_Rank2.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutRight, LayoutRight, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutRight, LayoutLeft, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutRight, LayoutStride, Serial, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t**, LayoutRight, Serial, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutRight_Rank3.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutRight_Rank3.cpp deleted file mode 100644 index bec7b5d9526ed9c4b7e1b37c18966facb21907c2..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutRight_Rank3.cpp +++ /dev/null @@ -1,56 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutRight, LayoutRight, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutRight, LayoutLeft, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutRight, LayoutStride, Serial, - int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t***, LayoutRight, Serial, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutRight_Rank4.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutRight_Rank4.cpp deleted file mode 100644 index 162915fb2b9ceec2b3b26d1e8f45677c14565e3f..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutRight_Rank4.cpp +++ /dev/null @@ -1,57 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutRight, LayoutRight, Serial, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutRight, LayoutLeft, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutRight, LayoutStride, Serial, - int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t****, LayoutRight, Serial, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutRight_Rank5.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutRight_Rank5.cpp deleted file mode 100644 index 5fe93924d8b3d59b5fa1b38751697799db3f159d..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutRight_Rank5.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutRight, LayoutRight, Serial, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutRight, LayoutLeft, Serial, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutRight, LayoutStride, Serial, - int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t*****, LayoutRight, Serial, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutRight_Rank8.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutRight_Rank8.cpp deleted file mode 100644 index 284b7c7c0304deba3c5a37117465b88012a1216c..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutRight_Rank8.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutRight, LayoutRight, Serial, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutRight, LayoutLeft, Serial, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutRight, LayoutStride, - Serial, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t********, LayoutRight, Serial, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutStride_Rank1.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutStride_Rank1.cpp deleted file mode 100644 index aea75154802466ab072b7368e5ca317817069e25..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutStride_Rank1.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutStride, LayoutRight, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutStride, LayoutLeft, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutStride, LayoutStride, Serial, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t*, LayoutStride, Serial, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutStride_Rank2.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutStride_Rank2.cpp deleted file mode 100644 index 310d949ebcc0b4ce824483f788fd328d1d036c0c..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutStride_Rank2.cpp +++ /dev/null @@ -1,56 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutStride, LayoutRight, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutStride, LayoutLeft, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutStride, LayoutStride, Serial, - int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t**, LayoutStride, Serial, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutStride_Rank3.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutStride_Rank3.cpp deleted file mode 100644 index 2caeee72ae080f29ad9e83d62ca842c83d41935b..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutStride_Rank3.cpp +++ /dev/null @@ -1,57 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutStride, LayoutRight, Serial, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutStride, LayoutLeft, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutStride, LayoutStride, Serial, - int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t***, LayoutStride, Serial, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutStride_Rank4.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutStride_Rank4.cpp deleted file mode 100644 index b914f59ed60a31446b5b01af7c812528ee7203a7..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutStride_Rank4.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutStride, LayoutRight, Serial, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutStride, LayoutLeft, Serial, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutStride, LayoutStride, Serial, - int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t****, LayoutStride, Serial, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutStride_Rank5.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutStride_Rank5.cpp deleted file mode 100644 index 601716c99b4bbba992180083af68c1e7eb97494b..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutStride_Rank5.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutStride, LayoutRight, Serial, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutStride, LayoutLeft, Serial, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutStride, LayoutStride, Serial, - int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t*****, LayoutStride, Serial, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutStride_Rank8.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutStride_Rank8.cpp deleted file mode 100644 index 2c101a3552fc58f80497725d188ca2f534741585..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutStride_Rank8.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutStride, LayoutRight, - Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutStride, LayoutLeft, Serial, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutStride, LayoutStride, - Serial, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t********, LayoutStride, Serial, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutLeft_Rank1.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutLeft_Rank1.cpp deleted file mode 100644 index b69c4263ed5a1b0e6dbcbe1356de3a8940ec80e9..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutLeft_Rank1.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutLeft, LayoutRight, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutLeft, LayoutLeft, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutLeft, LayoutStride, Serial, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int*, LayoutLeft, Serial, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutLeft_Rank2.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutLeft_Rank2.cpp deleted file mode 100644 index ae58660227e2bb7554d5dd552bcc4fa99d7930b7..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutLeft_Rank2.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutLeft, LayoutRight, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutLeft, LayoutLeft, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutLeft, LayoutStride, Serial, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int**, LayoutLeft, Serial, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutLeft_Rank3.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutLeft_Rank3.cpp deleted file mode 100644 index 1c66b5844694e83ee62a483937aa6dede0291a4b..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutLeft_Rank3.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutLeft, LayoutRight, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutLeft, LayoutLeft, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutLeft, LayoutStride, Serial, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int***, LayoutLeft, Serial, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutLeft_Rank4.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutLeft_Rank4.cpp deleted file mode 100644 index 330dc037d089514e58b06e124259ad8a57e12d09..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutLeft_Rank4.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutLeft, LayoutRight, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutLeft, LayoutLeft, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutLeft, LayoutStride, Serial, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int****, LayoutLeft, Serial, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutLeft_Rank5.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutLeft_Rank5.cpp deleted file mode 100644 index 001a67f146b4542fbf1ecca099f68b2b4dd94e08..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutLeft_Rank5.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutLeft, LayoutRight, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutLeft, LayoutLeft, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutLeft, LayoutStride, Serial, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int*****, LayoutLeft, Serial, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutLeft_Rank8.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutLeft_Rank8.cpp deleted file mode 100644 index 247f5a311664875d93b13c26c285798848771058..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutLeft_Rank8.cpp +++ /dev/null @@ -1,56 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutLeft, LayoutRight, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutLeft, LayoutLeft, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutLeft, LayoutStride, Serial, - int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int********, LayoutLeft, Serial, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutRight_Rank1.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutRight_Rank1.cpp deleted file mode 100644 index 3fffcddae5bcc833a528571d284cb759f57b2c1d..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutRight_Rank1.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutRight, LayoutRight, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutRight, LayoutLeft, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutRight, LayoutStride, Serial, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int*, LayoutRight, Serial, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutRight_Rank2.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutRight_Rank2.cpp deleted file mode 100644 index 0df3ae643a45d39e352579abbf587c233b9b942d..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutRight_Rank2.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutRight, LayoutRight, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutRight, LayoutLeft, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutRight, LayoutStride, Serial, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int**, LayoutRight, Serial, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutRight_Rank3.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutRight_Rank3.cpp deleted file mode 100644 index 64440939ac03d215600740492cbc34afb0c28af3..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutRight_Rank3.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutRight, LayoutRight, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutRight, LayoutLeft, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutRight, LayoutStride, Serial, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int***, LayoutRight, Serial, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutRight_Rank4.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutRight_Rank4.cpp deleted file mode 100644 index 9e5ec83642194679e4dc50bf292f698aa6a19b89..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutRight_Rank4.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutRight, LayoutRight, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutRight, LayoutLeft, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutRight, LayoutStride, Serial, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int****, LayoutRight, Serial, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutRight_Rank5.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutRight_Rank5.cpp deleted file mode 100644 index f5731068c8269c64f5af5b0903f026cbec3309ae..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutRight_Rank5.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutRight, LayoutRight, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutRight, LayoutLeft, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutRight, LayoutStride, Serial, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int*****, LayoutRight, Serial, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutRight_Rank8.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutRight_Rank8.cpp deleted file mode 100644 index 4f04907c086b783881a084fc02443908d10e421a..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutRight_Rank8.cpp +++ /dev/null @@ -1,57 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutRight, LayoutRight, Serial, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutRight, LayoutLeft, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutRight, LayoutStride, Serial, - int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int********, LayoutRight, Serial, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutStride_Rank1.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutStride_Rank1.cpp deleted file mode 100644 index b0b2b83a335aff683775b3079895522a3a63e878..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutStride_Rank1.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutStride, LayoutRight, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutStride, LayoutLeft, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutStride, LayoutStride, Serial, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int*, LayoutStride, Serial, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutStride_Rank2.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutStride_Rank2.cpp deleted file mode 100644 index a10911f330dfa1dba8ad4cba6ea91089eff3621e..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutStride_Rank2.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutStride, LayoutRight, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutStride, LayoutLeft, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutStride, LayoutStride, Serial, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int**, LayoutStride, Serial, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutStride_Rank3.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutStride_Rank3.cpp deleted file mode 100644 index 566f8e4f9b1218d82f6de98822604abc96492f7d..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutStride_Rank3.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutStride, LayoutRight, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutStride, LayoutLeft, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutStride, LayoutStride, Serial, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int***, LayoutStride, Serial, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutStride_Rank4.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutStride_Rank4.cpp deleted file mode 100644 index e299d3ab7a236c7566f6a65a822815817e0627f9..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutStride_Rank4.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutStride, LayoutRight, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutStride, LayoutLeft, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutStride, LayoutStride, Serial, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int****, LayoutStride, Serial, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutStride_Rank5.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutStride_Rank5.cpp deleted file mode 100644 index 9a191bf546b1c009108adedbde2d567fac127ea4..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutStride_Rank5.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutStride, LayoutRight, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutStride, LayoutLeft, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutStride, LayoutStride, Serial, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int*****, LayoutStride, Serial, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutStride_Rank8.cpp b/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutStride_Rank8.cpp deleted file mode 100644 index d07e1e8d74609e07f645431c01ddc48427e6fab9..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutStride_Rank8.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutStride, LayoutRight, Serial, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutStride, LayoutLeft, Serial, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutStride, LayoutStride, Serial, - int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int********, LayoutStride, Serial, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Serial/Makefile.eti_Serial b/lib/kokkos/core/src/eti/Serial/Makefile.eti_Serial deleted file mode 100644 index 74b80f98cd1cc352a2f961a1d036640c8dcdf24e..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Serial/Makefile.eti_Serial +++ /dev/null @@ -1,288 +0,0 @@ -Kokkos_Serial_ViewCopyETIInst_int_int_LayoutLeft_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutLeft_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutLeft_Rank1.cpp -Kokkos_Serial_ViewCopyETIInst_int_int_LayoutLeft_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutLeft_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutLeft_Rank2.cpp -Kokkos_Serial_ViewCopyETIInst_int_int_LayoutLeft_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutLeft_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutLeft_Rank3.cpp -Kokkos_Serial_ViewCopyETIInst_int_int_LayoutLeft_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutLeft_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutLeft_Rank4.cpp -Kokkos_Serial_ViewCopyETIInst_int_int_LayoutLeft_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutLeft_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutLeft_Rank5.cpp -Kokkos_Serial_ViewCopyETIInst_int_int_LayoutLeft_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutLeft_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutLeft_Rank8.cpp -Kokkos_Serial_ViewCopyETIInst_int_int_LayoutRight_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutRight_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutRight_Rank1.cpp -Kokkos_Serial_ViewCopyETIInst_int_int_LayoutRight_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutRight_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutRight_Rank2.cpp -Kokkos_Serial_ViewCopyETIInst_int_int_LayoutRight_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutRight_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutRight_Rank3.cpp -Kokkos_Serial_ViewCopyETIInst_int_int_LayoutRight_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutRight_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutRight_Rank4.cpp -Kokkos_Serial_ViewCopyETIInst_int_int_LayoutRight_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutRight_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutRight_Rank5.cpp -Kokkos_Serial_ViewCopyETIInst_int_int_LayoutRight_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutRight_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutRight_Rank8.cpp -Kokkos_Serial_ViewCopyETIInst_int_int_LayoutStride_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutStride_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutStride_Rank1.cpp -Kokkos_Serial_ViewCopyETIInst_int_int_LayoutStride_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutStride_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutStride_Rank2.cpp -Kokkos_Serial_ViewCopyETIInst_int_int_LayoutStride_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutStride_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutStride_Rank3.cpp -Kokkos_Serial_ViewCopyETIInst_int_int_LayoutStride_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutStride_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutStride_Rank4.cpp -Kokkos_Serial_ViewCopyETIInst_int_int_LayoutStride_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutStride_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutStride_Rank5.cpp -Kokkos_Serial_ViewCopyETIInst_int_int_LayoutStride_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutStride_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutStride_Rank8.cpp -Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank1.cpp -Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank2.cpp -Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank3.cpp -Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank4.cpp -Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank5.cpp -Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank8.cpp -Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutRight_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutRight_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutRight_Rank1.cpp -Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutRight_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutRight_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutRight_Rank2.cpp -Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutRight_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutRight_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutRight_Rank3.cpp -Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutRight_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutRight_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutRight_Rank4.cpp -Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutRight_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutRight_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutRight_Rank5.cpp -Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutRight_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutRight_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutRight_Rank8.cpp -Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutStride_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutStride_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutStride_Rank1.cpp -Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutStride_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutStride_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutStride_Rank2.cpp -Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutStride_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutStride_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutStride_Rank3.cpp -Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutStride_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutStride_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutStride_Rank4.cpp -Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutStride_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutStride_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutStride_Rank5.cpp -Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutStride_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutStride_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutStride_Rank8.cpp -Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank1.cpp -Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank2.cpp -Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank3.cpp -Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank4.cpp -Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank5.cpp -Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank8.cpp -Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutRight_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutRight_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutRight_Rank1.cpp -Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutRight_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutRight_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutRight_Rank2.cpp -Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutRight_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutRight_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutRight_Rank3.cpp -Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutRight_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutRight_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutRight_Rank4.cpp -Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutRight_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutRight_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutRight_Rank5.cpp -Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutRight_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutRight_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutRight_Rank8.cpp -Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutStride_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutStride_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutStride_Rank1.cpp -Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutStride_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutStride_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutStride_Rank2.cpp -Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutStride_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutStride_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutStride_Rank3.cpp -Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutStride_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutStride_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutStride_Rank4.cpp -Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutStride_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutStride_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutStride_Rank5.cpp -Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutStride_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutStride_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutStride_Rank8.cpp -Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank1.cpp -Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank2.cpp -Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank3.cpp -Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank4.cpp -Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank5.cpp -Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank8.cpp -Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank1.cpp -Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank2.cpp -Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank3.cpp -Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank4.cpp -Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank5.cpp -Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank8.cpp -Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank1.cpp -Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank2.cpp -Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank3.cpp -Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank4.cpp -Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank5.cpp -Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank8.cpp -Kokkos_Serial_ViewCopyETIInst_int_float_LayoutLeft_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutLeft_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutLeft_Rank1.cpp -Kokkos_Serial_ViewCopyETIInst_int_float_LayoutLeft_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutLeft_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutLeft_Rank2.cpp -Kokkos_Serial_ViewCopyETIInst_int_float_LayoutLeft_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutLeft_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutLeft_Rank3.cpp -Kokkos_Serial_ViewCopyETIInst_int_float_LayoutLeft_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutLeft_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutLeft_Rank4.cpp -Kokkos_Serial_ViewCopyETIInst_int_float_LayoutLeft_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutLeft_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutLeft_Rank5.cpp -Kokkos_Serial_ViewCopyETIInst_int_float_LayoutLeft_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutLeft_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutLeft_Rank8.cpp -Kokkos_Serial_ViewCopyETIInst_int_float_LayoutRight_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutRight_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutRight_Rank1.cpp -Kokkos_Serial_ViewCopyETIInst_int_float_LayoutRight_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutRight_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutRight_Rank2.cpp -Kokkos_Serial_ViewCopyETIInst_int_float_LayoutRight_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutRight_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutRight_Rank3.cpp -Kokkos_Serial_ViewCopyETIInst_int_float_LayoutRight_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutRight_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutRight_Rank4.cpp -Kokkos_Serial_ViewCopyETIInst_int_float_LayoutRight_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutRight_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutRight_Rank5.cpp -Kokkos_Serial_ViewCopyETIInst_int_float_LayoutRight_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutRight_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutRight_Rank8.cpp -Kokkos_Serial_ViewCopyETIInst_int_float_LayoutStride_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutStride_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutStride_Rank1.cpp -Kokkos_Serial_ViewCopyETIInst_int_float_LayoutStride_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutStride_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutStride_Rank2.cpp -Kokkos_Serial_ViewCopyETIInst_int_float_LayoutStride_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutStride_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutStride_Rank3.cpp -Kokkos_Serial_ViewCopyETIInst_int_float_LayoutStride_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutStride_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutStride_Rank4.cpp -Kokkos_Serial_ViewCopyETIInst_int_float_LayoutStride_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutStride_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutStride_Rank5.cpp -Kokkos_Serial_ViewCopyETIInst_int_float_LayoutStride_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutStride_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutStride_Rank8.cpp -Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank1.cpp -Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank2.cpp -Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank3.cpp -Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank4.cpp -Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank5.cpp -Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank8.cpp -Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutRight_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutRight_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutRight_Rank1.cpp -Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutRight_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutRight_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutRight_Rank2.cpp -Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutRight_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutRight_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutRight_Rank3.cpp -Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutRight_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutRight_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutRight_Rank4.cpp -Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutRight_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutRight_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutRight_Rank5.cpp -Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutRight_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutRight_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutRight_Rank8.cpp -Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutStride_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutStride_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutStride_Rank1.cpp -Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutStride_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutStride_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutStride_Rank2.cpp -Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutStride_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutStride_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutStride_Rank3.cpp -Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutStride_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutStride_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutStride_Rank4.cpp -Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutStride_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutStride_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutStride_Rank5.cpp -Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutStride_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutStride_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutStride_Rank8.cpp -Kokkos_Serial_ViewCopyETIInst_int_double_LayoutLeft_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutLeft_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutLeft_Rank1.cpp -Kokkos_Serial_ViewCopyETIInst_int_double_LayoutLeft_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutLeft_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutLeft_Rank2.cpp -Kokkos_Serial_ViewCopyETIInst_int_double_LayoutLeft_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutLeft_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutLeft_Rank3.cpp -Kokkos_Serial_ViewCopyETIInst_int_double_LayoutLeft_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutLeft_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutLeft_Rank4.cpp -Kokkos_Serial_ViewCopyETIInst_int_double_LayoutLeft_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutLeft_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutLeft_Rank5.cpp -Kokkos_Serial_ViewCopyETIInst_int_double_LayoutLeft_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutLeft_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutLeft_Rank8.cpp -Kokkos_Serial_ViewCopyETIInst_int_double_LayoutRight_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutRight_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutRight_Rank1.cpp -Kokkos_Serial_ViewCopyETIInst_int_double_LayoutRight_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutRight_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutRight_Rank2.cpp -Kokkos_Serial_ViewCopyETIInst_int_double_LayoutRight_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutRight_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutRight_Rank3.cpp -Kokkos_Serial_ViewCopyETIInst_int_double_LayoutRight_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutRight_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutRight_Rank4.cpp -Kokkos_Serial_ViewCopyETIInst_int_double_LayoutRight_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutRight_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutRight_Rank5.cpp -Kokkos_Serial_ViewCopyETIInst_int_double_LayoutRight_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutRight_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutRight_Rank8.cpp -Kokkos_Serial_ViewCopyETIInst_int_double_LayoutStride_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutStride_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutStride_Rank1.cpp -Kokkos_Serial_ViewCopyETIInst_int_double_LayoutStride_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutStride_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutStride_Rank2.cpp -Kokkos_Serial_ViewCopyETIInst_int_double_LayoutStride_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutStride_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutStride_Rank3.cpp -Kokkos_Serial_ViewCopyETIInst_int_double_LayoutStride_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutStride_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutStride_Rank4.cpp -Kokkos_Serial_ViewCopyETIInst_int_double_LayoutStride_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutStride_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutStride_Rank5.cpp -Kokkos_Serial_ViewCopyETIInst_int_double_LayoutStride_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutStride_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutStride_Rank8.cpp -Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank1.cpp -Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank2.cpp -Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank3.cpp -Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank4.cpp -Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank5.cpp -Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank8.cpp -Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutRight_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutRight_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutRight_Rank1.cpp -Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutRight_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutRight_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutRight_Rank2.cpp -Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutRight_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutRight_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutRight_Rank3.cpp -Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutRight_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutRight_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutRight_Rank4.cpp -Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutRight_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutRight_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutRight_Rank5.cpp -Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutRight_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutRight_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutRight_Rank8.cpp -Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutStride_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutStride_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutStride_Rank1.cpp -Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutStride_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutStride_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutStride_Rank2.cpp -Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutStride_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutStride_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutStride_Rank3.cpp -Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutStride_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutStride_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutStride_Rank4.cpp -Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutStride_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutStride_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutStride_Rank5.cpp -Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutStride_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutStride_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutStride_Rank8.cpp diff --git a/lib/kokkos/core/src/eti/Threads/CMakeLists.txt b/lib/kokkos/core/src/eti/Threads/CMakeLists.txt deleted file mode 100644 index 27e8e3584106345f6f04b52a45a79d8b212f6938..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/CMakeLists.txt +++ /dev/null @@ -1,148 +0,0 @@ -set(D "${CMAKE_CURRENT_SOURCE_DIR}") -set(ETI_SOURCES -${ETI_SOURCES} -Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank1.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank2.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank3.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank4.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank5.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank8.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutRight_Rank1.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutRight_Rank2.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutRight_Rank3.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutRight_Rank4.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutRight_Rank5.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutRight_Rank8.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutStride_Rank1.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutStride_Rank2.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutStride_Rank3.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutStride_Rank4.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutStride_Rank5.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutStride_Rank8.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank1.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank2.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank3.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank4.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank5.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank8.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutRight_Rank1.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutRight_Rank2.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutRight_Rank3.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutRight_Rank4.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutRight_Rank5.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutRight_Rank8.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutStride_Rank1.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutStride_Rank2.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutStride_Rank3.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutStride_Rank4.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutStride_Rank5.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutStride_Rank8.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank1.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank2.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank3.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank4.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank5.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank8.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank1.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank2.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank3.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank4.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank5.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank8.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank1.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank2.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank3.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank4.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank5.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank8.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank1.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank2.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank3.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank4.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank5.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank8.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutRight_Rank1.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutRight_Rank2.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutRight_Rank3.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutRight_Rank4.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutRight_Rank5.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutRight_Rank8.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutStride_Rank1.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutStride_Rank2.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutStride_Rank3.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutStride_Rank4.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutStride_Rank5.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutStride_Rank8.cpp -Kokkos_Threads_ViewCopyETIInst_int_double_LayoutLeft_Rank1.cpp -Kokkos_Threads_ViewCopyETIInst_int_double_LayoutLeft_Rank2.cpp -Kokkos_Threads_ViewCopyETIInst_int_double_LayoutLeft_Rank3.cpp -Kokkos_Threads_ViewCopyETIInst_int_double_LayoutLeft_Rank4.cpp -Kokkos_Threads_ViewCopyETIInst_int_double_LayoutLeft_Rank5.cpp -Kokkos_Threads_ViewCopyETIInst_int_double_LayoutLeft_Rank8.cpp -Kokkos_Threads_ViewCopyETIInst_int_double_LayoutRight_Rank1.cpp -Kokkos_Threads_ViewCopyETIInst_int_double_LayoutRight_Rank2.cpp -Kokkos_Threads_ViewCopyETIInst_int_double_LayoutRight_Rank3.cpp -Kokkos_Threads_ViewCopyETIInst_int_double_LayoutRight_Rank4.cpp -Kokkos_Threads_ViewCopyETIInst_int_double_LayoutRight_Rank5.cpp -Kokkos_Threads_ViewCopyETIInst_int_double_LayoutRight_Rank8.cpp -Kokkos_Threads_ViewCopyETIInst_int_double_LayoutStride_Rank1.cpp -Kokkos_Threads_ViewCopyETIInst_int_double_LayoutStride_Rank2.cpp -Kokkos_Threads_ViewCopyETIInst_int_double_LayoutStride_Rank3.cpp -Kokkos_Threads_ViewCopyETIInst_int_double_LayoutStride_Rank4.cpp -Kokkos_Threads_ViewCopyETIInst_int_double_LayoutStride_Rank5.cpp -Kokkos_Threads_ViewCopyETIInst_int_double_LayoutStride_Rank8.cpp -Kokkos_Threads_ViewCopyETIInst_int_float_LayoutLeft_Rank1.cpp -Kokkos_Threads_ViewCopyETIInst_int_float_LayoutLeft_Rank2.cpp -Kokkos_Threads_ViewCopyETIInst_int_float_LayoutLeft_Rank3.cpp -Kokkos_Threads_ViewCopyETIInst_int_float_LayoutLeft_Rank4.cpp -Kokkos_Threads_ViewCopyETIInst_int_float_LayoutLeft_Rank5.cpp -Kokkos_Threads_ViewCopyETIInst_int_float_LayoutLeft_Rank8.cpp -Kokkos_Threads_ViewCopyETIInst_int_float_LayoutRight_Rank1.cpp -Kokkos_Threads_ViewCopyETIInst_int_float_LayoutRight_Rank2.cpp -Kokkos_Threads_ViewCopyETIInst_int_float_LayoutRight_Rank3.cpp -Kokkos_Threads_ViewCopyETIInst_int_float_LayoutRight_Rank4.cpp -Kokkos_Threads_ViewCopyETIInst_int_float_LayoutRight_Rank5.cpp -Kokkos_Threads_ViewCopyETIInst_int_float_LayoutRight_Rank8.cpp -Kokkos_Threads_ViewCopyETIInst_int_float_LayoutStride_Rank1.cpp -Kokkos_Threads_ViewCopyETIInst_int_float_LayoutStride_Rank2.cpp -Kokkos_Threads_ViewCopyETIInst_int_float_LayoutStride_Rank3.cpp -Kokkos_Threads_ViewCopyETIInst_int_float_LayoutStride_Rank4.cpp -Kokkos_Threads_ViewCopyETIInst_int_float_LayoutStride_Rank5.cpp -Kokkos_Threads_ViewCopyETIInst_int_float_LayoutStride_Rank8.cpp -Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank1.cpp -Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank2.cpp -Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank3.cpp -Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank4.cpp -Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank5.cpp -Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank8.cpp -Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutRight_Rank1.cpp -Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutRight_Rank2.cpp -Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutRight_Rank3.cpp -Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutRight_Rank4.cpp -Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutRight_Rank5.cpp -Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutRight_Rank8.cpp -Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutStride_Rank1.cpp -Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutStride_Rank2.cpp -Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutStride_Rank3.cpp -Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutStride_Rank4.cpp -Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutStride_Rank5.cpp -Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutStride_Rank8.cpp -Kokkos_Threads_ViewCopyETIInst_int_int_LayoutLeft_Rank1.cpp -Kokkos_Threads_ViewCopyETIInst_int_int_LayoutLeft_Rank2.cpp -Kokkos_Threads_ViewCopyETIInst_int_int_LayoutLeft_Rank3.cpp -Kokkos_Threads_ViewCopyETIInst_int_int_LayoutLeft_Rank4.cpp -Kokkos_Threads_ViewCopyETIInst_int_int_LayoutLeft_Rank5.cpp -Kokkos_Threads_ViewCopyETIInst_int_int_LayoutLeft_Rank8.cpp -Kokkos_Threads_ViewCopyETIInst_int_int_LayoutRight_Rank1.cpp -Kokkos_Threads_ViewCopyETIInst_int_int_LayoutRight_Rank2.cpp -Kokkos_Threads_ViewCopyETIInst_int_int_LayoutRight_Rank3.cpp -Kokkos_Threads_ViewCopyETIInst_int_int_LayoutRight_Rank4.cpp -Kokkos_Threads_ViewCopyETIInst_int_int_LayoutRight_Rank5.cpp -Kokkos_Threads_ViewCopyETIInst_int_int_LayoutRight_Rank8.cpp -Kokkos_Threads_ViewCopyETIInst_int_int_LayoutStride_Rank1.cpp -Kokkos_Threads_ViewCopyETIInst_int_int_LayoutStride_Rank2.cpp -Kokkos_Threads_ViewCopyETIInst_int_int_LayoutStride_Rank3.cpp -Kokkos_Threads_ViewCopyETIInst_int_int_LayoutStride_Rank4.cpp -Kokkos_Threads_ViewCopyETIInst_int_int_LayoutStride_Rank5.cpp -Kokkos_Threads_ViewCopyETIInst_int_int_LayoutStride_Rank8.cpp -PARENT_SCOPE) diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank1.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank1.cpp deleted file mode 100644 index 7c84605ed9b3b2b6736052455c1a00a2957ee4f7..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank1.cpp +++ /dev/null @@ -1,57 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutLeft, LayoutRight, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutLeft, LayoutLeft, Threads, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutLeft, LayoutStride, Threads, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double*, LayoutLeft, Threads, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank2.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank2.cpp deleted file mode 100644 index 3d7313a54fa2f76157099fd004492d6b4a0b9dba..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank2.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutLeft, LayoutRight, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutLeft, LayoutLeft, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutLeft, LayoutStride, Threads, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double**, LayoutLeft, Threads, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank3.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank3.cpp deleted file mode 100644 index 72895035bb344819fead22eb8e4686a22a9ccc29..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank3.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutLeft, LayoutRight, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutLeft, LayoutLeft, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutLeft, LayoutStride, Threads, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double***, LayoutLeft, Threads, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank4.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank4.cpp deleted file mode 100644 index 69673d51e03ea4bc71789bd3915ff6b04f6ae925..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank4.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutLeft, LayoutRight, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutLeft, LayoutLeft, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutLeft, LayoutStride, Threads, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double****, LayoutLeft, Threads, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank5.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank5.cpp deleted file mode 100644 index d1aff7b82f370cd73f0616d1789ade928b3312d2..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank5.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutLeft, LayoutRight, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutLeft, LayoutLeft, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutLeft, LayoutStride, Threads, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double*****, LayoutLeft, Threads, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank8.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank8.cpp deleted file mode 100644 index e617e19b44b29209c39ef971bcda447b63779b51..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank8.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutLeft, LayoutRight, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutLeft, LayoutLeft, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutLeft, LayoutStride, Threads, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double********, LayoutLeft, Threads, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutRight_Rank1.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutRight_Rank1.cpp deleted file mode 100644 index 855e99e06b0a8ef9c6769068a8422967ea2b310b..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutRight_Rank1.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutRight, LayoutRight, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutRight, LayoutLeft, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutRight, LayoutStride, Threads, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double*, LayoutRight, Threads, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutRight_Rank2.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutRight_Rank2.cpp deleted file mode 100644 index b9ffb82a5d051462e15db8e6a73c2bda61a2939a..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutRight_Rank2.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutRight, LayoutRight, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutRight, LayoutLeft, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutRight, LayoutStride, Threads, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double**, LayoutRight, Threads, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutRight_Rank3.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutRight_Rank3.cpp deleted file mode 100644 index 85a46839742478c775dd3a5ba6554f99a04b3d44..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutRight_Rank3.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutRight, LayoutRight, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutRight, LayoutLeft, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutRight, LayoutStride, Threads, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double***, LayoutRight, Threads, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutRight_Rank4.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutRight_Rank4.cpp deleted file mode 100644 index ba658e7b718a9e57ccd37d6098ed634753de7cf5..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutRight_Rank4.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutRight, LayoutRight, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutRight, LayoutLeft, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutRight, LayoutStride, Threads, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double****, LayoutRight, Threads, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutRight_Rank5.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutRight_Rank5.cpp deleted file mode 100644 index 8d413bcb392296f77f8316375f7ceadfb34a2e4b..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutRight_Rank5.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutRight, LayoutRight, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutRight, LayoutLeft, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutRight, LayoutStride, Threads, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double*****, LayoutRight, Threads, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutRight_Rank8.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutRight_Rank8.cpp deleted file mode 100644 index 8a2a06649ffe1ff1477214871190c938d55bb674..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutRight_Rank8.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutRight, LayoutRight, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutRight, LayoutLeft, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutRight, LayoutStride, - Threads, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double********, LayoutRight, Threads, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutStride_Rank1.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutStride_Rank1.cpp deleted file mode 100644 index 3a376b91a905c3adf82383de4e489692dafc0d98..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutStride_Rank1.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutStride, LayoutRight, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutStride, LayoutLeft, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutStride, LayoutStride, Threads, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double*, LayoutStride, Threads, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutStride_Rank2.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutStride_Rank2.cpp deleted file mode 100644 index 7a3ca29f43ed8b6a361bf54639a8d59ca3021a7d..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutStride_Rank2.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutStride, LayoutRight, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutStride, LayoutLeft, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutStride, LayoutStride, Threads, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double**, LayoutStride, Threads, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutStride_Rank3.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutStride_Rank3.cpp deleted file mode 100644 index 44bf3df6a60768d4f1d7e62a5541eed878207e64..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutStride_Rank3.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutStride, LayoutRight, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutStride, LayoutLeft, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutStride, LayoutStride, Threads, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double***, LayoutStride, Threads, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutStride_Rank4.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutStride_Rank4.cpp deleted file mode 100644 index 943a00325f8a2025a200a9ea474a0fa4fde6f643..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutStride_Rank4.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutStride, LayoutRight, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutStride, LayoutLeft, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutStride, LayoutStride, Threads, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double****, LayoutStride, Threads, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutStride_Rank5.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutStride_Rank5.cpp deleted file mode 100644 index b12da7c5b926b8c805faef65abdc57af29eec128..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutStride_Rank5.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutStride, LayoutRight, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutStride, LayoutLeft, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutStride, LayoutStride, Threads, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double*****, LayoutStride, Threads, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutStride_Rank8.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutStride_Rank8.cpp deleted file mode 100644 index a859379df6a923488513ab535c5cb6401908cdad..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutStride_Rank8.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutStride, LayoutRight, - Threads, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutStride, LayoutLeft, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutStride, LayoutStride, - Threads, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double********, LayoutStride, Threads, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank1.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank1.cpp deleted file mode 100644 index b11ec7758d8d00001e06cfa2d105b0711d7d9209..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank1.cpp +++ /dev/null @@ -1,56 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutLeft, LayoutRight, Threads, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutLeft, LayoutLeft, Threads, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutLeft, LayoutStride, Threads, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float*, LayoutLeft, Threads, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank2.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank2.cpp deleted file mode 100644 index e7fee1b9e30cf7f815223353aab85510d0898b4e..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank2.cpp +++ /dev/null @@ -1,57 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutLeft, LayoutRight, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutLeft, LayoutLeft, Threads, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutLeft, LayoutStride, Threads, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float**, LayoutLeft, Threads, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank3.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank3.cpp deleted file mode 100644 index f82b4a92bae841ba6f6f1e958775801962054ec1..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank3.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutLeft, LayoutRight, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutLeft, LayoutLeft, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutLeft, LayoutStride, Threads, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float***, LayoutLeft, Threads, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank4.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank4.cpp deleted file mode 100644 index 3904c4cb03ca7a77e4743fc22f42a677066f5a91..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank4.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutLeft, LayoutRight, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutLeft, LayoutLeft, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutLeft, LayoutStride, Threads, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float****, LayoutLeft, Threads, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank5.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank5.cpp deleted file mode 100644 index 77d46acfddda05b2223f5e00c7d0a8e6049ba874..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank5.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutLeft, LayoutRight, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutLeft, LayoutLeft, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutLeft, LayoutStride, Threads, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float*****, LayoutLeft, Threads, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank8.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank8.cpp deleted file mode 100644 index 006fce3cfc7dbf9be8b1b44668344341b82d7bef..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank8.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutLeft, LayoutRight, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutLeft, LayoutLeft, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutLeft, LayoutStride, Threads, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float********, LayoutLeft, Threads, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutRight_Rank1.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutRight_Rank1.cpp deleted file mode 100644 index 91256cd69ba3433b1175bb5aeeb02f02fd53cc41..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutRight_Rank1.cpp +++ /dev/null @@ -1,57 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutRight, LayoutRight, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutRight, LayoutLeft, Threads, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutRight, LayoutStride, Threads, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float*, LayoutRight, Threads, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutRight_Rank2.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutRight_Rank2.cpp deleted file mode 100644 index d29fbfe795ec7497797af8c967227586cddbb6a8..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutRight_Rank2.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutRight, LayoutRight, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutRight, LayoutLeft, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutRight, LayoutStride, Threads, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float**, LayoutRight, Threads, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutRight_Rank3.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutRight_Rank3.cpp deleted file mode 100644 index bdf866f3baf050267fd942daecb042d3b386af0c..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutRight_Rank3.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutRight, LayoutRight, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutRight, LayoutLeft, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutRight, LayoutStride, Threads, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float***, LayoutRight, Threads, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutRight_Rank4.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutRight_Rank4.cpp deleted file mode 100644 index aaa00a6f6d88ce008a5f584bb57ec7e49abba8d7..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutRight_Rank4.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutRight, LayoutRight, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutRight, LayoutLeft, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutRight, LayoutStride, Threads, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float****, LayoutRight, Threads, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutRight_Rank5.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutRight_Rank5.cpp deleted file mode 100644 index db2ab88d287f76b6b473e58a1834b743a84e2e8c..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutRight_Rank5.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutRight, LayoutRight, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutRight, LayoutLeft, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutRight, LayoutStride, Threads, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float*****, LayoutRight, Threads, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutRight_Rank8.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutRight_Rank8.cpp deleted file mode 100644 index 3024e4e00469d260651e985af42d7247f92567c0..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutRight_Rank8.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutRight, LayoutRight, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutRight, LayoutLeft, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutRight, LayoutStride, Threads, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float********, LayoutRight, Threads, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutStride_Rank1.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutStride_Rank1.cpp deleted file mode 100644 index e6e66d7bb84f6f85e81ea66e367db3063c8c60b9..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutStride_Rank1.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutStride, LayoutRight, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutStride, LayoutLeft, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutStride, LayoutStride, Threads, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float*, LayoutStride, Threads, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutStride_Rank2.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutStride_Rank2.cpp deleted file mode 100644 index 28ed80254fbf58930ff444b91075f8fa4ce6c52a..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutStride_Rank2.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutStride, LayoutRight, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutStride, LayoutLeft, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutStride, LayoutStride, Threads, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float**, LayoutStride, Threads, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutStride_Rank3.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutStride_Rank3.cpp deleted file mode 100644 index 4863866aa71a55855a09d77bb66b58cee912cf6f..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutStride_Rank3.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutStride, LayoutRight, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutStride, LayoutLeft, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutStride, LayoutStride, Threads, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float***, LayoutStride, Threads, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutStride_Rank4.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutStride_Rank4.cpp deleted file mode 100644 index e24e9e022a017962d4f09976d22357006c35457c..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutStride_Rank4.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutStride, LayoutRight, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutStride, LayoutLeft, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutStride, LayoutStride, Threads, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float****, LayoutStride, Threads, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutStride_Rank5.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutStride_Rank5.cpp deleted file mode 100644 index 047c078bce56e93a1cc5268d8b89354a73a7fb44..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutStride_Rank5.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutStride, LayoutRight, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutStride, LayoutLeft, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutStride, LayoutStride, Threads, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float*****, LayoutStride, Threads, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutStride_Rank8.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutStride_Rank8.cpp deleted file mode 100644 index 78c7496b7cd76dfc10b28446ecdaa14a30adf377..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutStride_Rank8.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutStride, LayoutRight, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutStride, LayoutLeft, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutStride, LayoutStride, - Threads, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float********, LayoutStride, Threads, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank1.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank1.cpp deleted file mode 100644 index 33ee5008135c8013831549899a3bb96da03ce6d1..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank1.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutLeft, LayoutRight, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutLeft, LayoutLeft, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutLeft, LayoutStride, Threads, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t*, LayoutLeft, Threads, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank2.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank2.cpp deleted file mode 100644 index 4c1d4bb58c09f1fe18a5310ae78872ad1bbb23ad..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank2.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutLeft, LayoutRight, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutLeft, LayoutLeft, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutLeft, LayoutStride, Threads, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t**, LayoutLeft, Threads, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank3.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank3.cpp deleted file mode 100644 index 75e4bc4e3e6123cf96d1dd1c11d5e7585526eed1..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank3.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutLeft, LayoutRight, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutLeft, LayoutLeft, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutLeft, LayoutStride, Threads, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t***, LayoutLeft, Threads, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank4.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank4.cpp deleted file mode 100644 index 3007a4db6fe2e8b4cca46a7aa21ef66d62fb1aac..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank4.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutLeft, LayoutRight, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutLeft, LayoutLeft, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutLeft, LayoutStride, Threads, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t****, LayoutLeft, Threads, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank5.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank5.cpp deleted file mode 100644 index 198e54631b53fcf027574950eb8cc3d47440ac90..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank5.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutLeft, LayoutRight, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutLeft, LayoutLeft, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutLeft, LayoutStride, Threads, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t*****, LayoutLeft, Threads, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank8.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank8.cpp deleted file mode 100644 index c12fa4e7bdd5e7e25f7e5993f9c841bfc28dd343..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank8.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutLeft, LayoutRight, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutLeft, LayoutLeft, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutLeft, LayoutStride, - Threads, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t********, LayoutLeft, Threads, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank1.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank1.cpp deleted file mode 100644 index 82f782ce575401071d9733137c922f95fc8177eb..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank1.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutRight, LayoutRight, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutRight, LayoutLeft, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutRight, LayoutStride, Threads, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t*, LayoutRight, Threads, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank2.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank2.cpp deleted file mode 100644 index d11bf3dd27bd3059ee65fa2a63e0a1ae480e8d02..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank2.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutRight, LayoutRight, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutRight, LayoutLeft, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutRight, LayoutStride, Threads, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t**, LayoutRight, Threads, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank3.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank3.cpp deleted file mode 100644 index 53bd8056d03d4cc856fe8f2b279d91352c524908..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank3.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutRight, LayoutRight, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutRight, LayoutLeft, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutRight, LayoutStride, Threads, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t***, LayoutRight, Threads, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank4.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank4.cpp deleted file mode 100644 index 44e78041be4696375eb6885565cae184e325d4e7..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank4.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutRight, LayoutRight, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutRight, LayoutLeft, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutRight, LayoutStride, Threads, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t****, LayoutRight, Threads, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank5.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank5.cpp deleted file mode 100644 index 6f54702d24fca0ae6d263014081ec19d5d2a3b41..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank5.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutRight, LayoutRight, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutRight, LayoutLeft, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutRight, LayoutStride, Threads, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t*****, LayoutRight, Threads, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank8.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank8.cpp deleted file mode 100644 index 141b79110e43a6288f3e2a846a4df8e0720eedb2..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank8.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutRight, LayoutRight, - Threads, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutRight, LayoutLeft, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutRight, LayoutStride, - Threads, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t********, LayoutRight, Threads, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank1.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank1.cpp deleted file mode 100644 index e23e6092eb91474f187568ea9af8536307dec3b1..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank1.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutStride, LayoutRight, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutStride, LayoutLeft, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutStride, LayoutStride, Threads, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t*, LayoutStride, Threads, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank2.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank2.cpp deleted file mode 100644 index f5db8f744ed45bcdf6335d1709747afff526b6a0..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank2.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutStride, LayoutRight, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutStride, LayoutLeft, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutStride, LayoutStride, Threads, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t**, LayoutStride, Threads, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank3.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank3.cpp deleted file mode 100644 index 44ce223183001b754ecef781fd9a8ef72d8ffd25..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank3.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutStride, LayoutRight, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutStride, LayoutLeft, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutStride, LayoutStride, Threads, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t***, LayoutStride, Threads, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank4.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank4.cpp deleted file mode 100644 index 55fca111839c4bcf4ffeca40cb4b4a84a5fee81e..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank4.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutStride, LayoutRight, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutStride, LayoutLeft, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutStride, LayoutStride, Threads, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t****, LayoutStride, Threads, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank5.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank5.cpp deleted file mode 100644 index 31b952913e0d982b61dc899246bdb139fbbb7228..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank5.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutStride, LayoutRight, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutStride, LayoutLeft, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutStride, LayoutStride, Threads, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t*****, LayoutStride, Threads, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank8.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank8.cpp deleted file mode 100644 index 887bfb4c094322817cf6d54061b2e319f35d1f80..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank8.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutStride, LayoutRight, - Threads, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutStride, LayoutLeft, - Threads, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutStride, LayoutStride, - Threads, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t********, LayoutStride, Threads, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank1.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank1.cpp deleted file mode 100644 index 71625e0d8178b3d5b96864cc0ebabed4d07b2887..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank1.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutLeft, LayoutRight, Threads, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutLeft, LayoutLeft, Threads, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutLeft, LayoutStride, Threads, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int*, LayoutLeft, Threads, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank2.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank2.cpp deleted file mode 100644 index cd045703ff15330e18808b4fce493f425345d050..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank2.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutLeft, LayoutRight, Threads, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutLeft, LayoutLeft, Threads, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutLeft, LayoutStride, Threads, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int**, LayoutLeft, Threads, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank3.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank3.cpp deleted file mode 100644 index abbd0f8429f8b3749325c9d67e86800ea3aa1325..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank3.cpp +++ /dev/null @@ -1,56 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutLeft, LayoutRight, Threads, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutLeft, LayoutLeft, Threads, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutLeft, LayoutStride, Threads, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int***, LayoutLeft, Threads, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank4.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank4.cpp deleted file mode 100644 index 5ac12d8648bd07d309bdb584f8770f6c234c979e..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank4.cpp +++ /dev/null @@ -1,57 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutLeft, LayoutRight, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutLeft, LayoutLeft, Threads, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutLeft, LayoutStride, Threads, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int****, LayoutLeft, Threads, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank5.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank5.cpp deleted file mode 100644 index 50ed4f48c381176751cbfcffcc76494a2ec29581..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank5.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutLeft, LayoutRight, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutLeft, LayoutLeft, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutLeft, LayoutStride, Threads, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int*****, LayoutLeft, Threads, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank8.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank8.cpp deleted file mode 100644 index f83f5faa20f42822055c56e0a2bc6db99cfc58cd..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank8.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutLeft, LayoutRight, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutLeft, LayoutLeft, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutLeft, LayoutStride, Threads, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int********, LayoutLeft, Threads, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutRight_Rank1.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutRight_Rank1.cpp deleted file mode 100644 index c99684ef901cc61e7c28430b07b6fdbaacf355d5..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutRight_Rank1.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutRight, LayoutRight, Threads, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutRight, LayoutLeft, Threads, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutRight, LayoutStride, Threads, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int*, LayoutRight, Threads, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutRight_Rank2.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutRight_Rank2.cpp deleted file mode 100644 index c0c1bb9c813353852715e8ae67ca56c3d63fd349..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutRight_Rank2.cpp +++ /dev/null @@ -1,56 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutRight, LayoutRight, Threads, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutRight, LayoutLeft, Threads, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutRight, LayoutStride, Threads, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int**, LayoutRight, Threads, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutRight_Rank3.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutRight_Rank3.cpp deleted file mode 100644 index cfef96b18a1641e6f7a331d21ae33d68200c1337..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutRight_Rank3.cpp +++ /dev/null @@ -1,57 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutRight, LayoutRight, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutRight, LayoutLeft, Threads, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutRight, LayoutStride, Threads, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int***, LayoutRight, Threads, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutRight_Rank4.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutRight_Rank4.cpp deleted file mode 100644 index c16e1893522e19d629be0a1c3412a0ef99aeddad..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutRight_Rank4.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutRight, LayoutRight, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutRight, LayoutLeft, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutRight, LayoutStride, Threads, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int****, LayoutRight, Threads, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutRight_Rank5.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutRight_Rank5.cpp deleted file mode 100644 index 3b404d2411fa743a572ccd833afa0b437a78729b..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutRight_Rank5.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutRight, LayoutRight, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutRight, LayoutLeft, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutRight, LayoutStride, Threads, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int*****, LayoutRight, Threads, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutRight_Rank8.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutRight_Rank8.cpp deleted file mode 100644 index 21148463c70aa3f2aa4befb97bde62800c5a54fb..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutRight_Rank8.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutRight, LayoutRight, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutRight, LayoutLeft, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutRight, LayoutStride, Threads, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int********, LayoutRight, Threads, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutStride_Rank1.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutStride_Rank1.cpp deleted file mode 100644 index 8d5eed4f8e0233381c8626279c1fdc9419d06034..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutStride_Rank1.cpp +++ /dev/null @@ -1,56 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutStride, LayoutRight, Threads, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutStride, LayoutLeft, Threads, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutStride, LayoutStride, Threads, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int*, LayoutStride, Threads, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutStride_Rank2.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutStride_Rank2.cpp deleted file mode 100644 index 7a590129d56d013ddfc8a11d035667572e3e9155..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutStride_Rank2.cpp +++ /dev/null @@ -1,57 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutStride, LayoutRight, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutStride, LayoutLeft, Threads, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutStride, LayoutStride, Threads, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int**, LayoutStride, Threads, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutStride_Rank3.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutStride_Rank3.cpp deleted file mode 100644 index 7ad5bfa4dcd12e2197696a07fb0d142b7ba8850e..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutStride_Rank3.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutStride, LayoutRight, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutStride, LayoutLeft, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutStride, LayoutStride, Threads, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int***, LayoutStride, Threads, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutStride_Rank4.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutStride_Rank4.cpp deleted file mode 100644 index be7a7cb21cc667f687f9f425f20b8c5c95a5a81d..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutStride_Rank4.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutStride, LayoutRight, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutStride, LayoutLeft, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutStride, LayoutStride, Threads, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int****, LayoutStride, Threads, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutStride_Rank5.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutStride_Rank5.cpp deleted file mode 100644 index df2d4b176776d03d1d17e65fa0b906720d414d7b..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutStride_Rank5.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutStride, LayoutRight, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutStride, LayoutLeft, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutStride, LayoutStride, Threads, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int*****, LayoutStride, Threads, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutStride_Rank8.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutStride_Rank8.cpp deleted file mode 100644 index 29b3cc8ee978e09128e97fb28f2eb3ae2d9ecaca..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutStride_Rank8.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutStride, LayoutRight, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutStride, LayoutLeft, Threads, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutStride, LayoutStride, Threads, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int********, LayoutStride, Threads, int64_t) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutLeft_Rank1.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutLeft_Rank1.cpp deleted file mode 100644 index 1bbc8c414c6bed2df5e75f8e6126d373302f16c7..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutLeft_Rank1.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutLeft, LayoutRight, Threads, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutLeft, LayoutLeft, Threads, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutLeft, LayoutStride, Threads, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double*, LayoutLeft, Threads, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutLeft_Rank2.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutLeft_Rank2.cpp deleted file mode 100644 index e04cee2c2a26e34b4f81b3c5b1a72086f62f6998..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutLeft_Rank2.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutLeft, LayoutRight, Threads, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutLeft, LayoutLeft, Threads, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutLeft, LayoutStride, Threads, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double**, LayoutLeft, Threads, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutLeft_Rank3.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutLeft_Rank3.cpp deleted file mode 100644 index 0849086c3a7155852b8d9b37654a6e2fa043e45a..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutLeft_Rank3.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutLeft, LayoutRight, Threads, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutLeft, LayoutLeft, Threads, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutLeft, LayoutStride, Threads, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double***, LayoutLeft, Threads, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutLeft_Rank4.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutLeft_Rank4.cpp deleted file mode 100644 index 6b50b7ca7db14d12bef8bfdb2b8d59d79a6295e7..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutLeft_Rank4.cpp +++ /dev/null @@ -1,56 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutLeft, LayoutRight, Threads, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutLeft, LayoutLeft, Threads, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutLeft, LayoutStride, Threads, - int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double****, LayoutLeft, Threads, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutLeft_Rank5.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutLeft_Rank5.cpp deleted file mode 100644 index a3592cabaca5e85e61d8d09c956067e1500713e6..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutLeft_Rank5.cpp +++ /dev/null @@ -1,57 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutLeft, LayoutRight, Threads, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutLeft, LayoutLeft, Threads, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutLeft, LayoutStride, Threads, - int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double*****, LayoutLeft, Threads, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutLeft_Rank8.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutLeft_Rank8.cpp deleted file mode 100644 index ce16f2a705040f01ac48ed8c87b420bfba72353e..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutLeft_Rank8.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutLeft, LayoutRight, Threads, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutLeft, LayoutLeft, Threads, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutLeft, LayoutStride, Threads, - int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double********, LayoutLeft, Threads, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutRight_Rank1.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutRight_Rank1.cpp deleted file mode 100644 index 29c6670a874ab164d060b63d3589ea4138212bc3..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutRight_Rank1.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutRight, LayoutRight, Threads, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutRight, LayoutLeft, Threads, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutRight, LayoutStride, Threads, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double*, LayoutRight, Threads, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutRight_Rank2.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutRight_Rank2.cpp deleted file mode 100644 index aa343fcb8d83e4289021f9546258845d98a4ce3e..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutRight_Rank2.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutRight, LayoutRight, Threads, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutRight, LayoutLeft, Threads, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutRight, LayoutStride, Threads, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double**, LayoutRight, Threads, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutRight_Rank3.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutRight_Rank3.cpp deleted file mode 100644 index 1043a55fd6a1f4ef53e9057efda70e76d6c1b835..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutRight_Rank3.cpp +++ /dev/null @@ -1,56 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutRight, LayoutRight, Threads, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutRight, LayoutLeft, Threads, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutRight, LayoutStride, Threads, - int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double***, LayoutRight, Threads, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutRight_Rank4.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutRight_Rank4.cpp deleted file mode 100644 index 9f2d095653c5e66e3e8ce19a9689ef8e8152ffbc..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutRight_Rank4.cpp +++ /dev/null @@ -1,57 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutRight, LayoutRight, Threads, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutRight, LayoutLeft, Threads, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutRight, LayoutStride, Threads, - int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double****, LayoutRight, Threads, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutRight_Rank5.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutRight_Rank5.cpp deleted file mode 100644 index 02b4d108743911dd4f003cee8e1fe38ca1f1e701..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutRight_Rank5.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutRight, LayoutRight, Threads, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutRight, LayoutLeft, Threads, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutRight, LayoutStride, Threads, - int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double*****, LayoutRight, Threads, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutRight_Rank8.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutRight_Rank8.cpp deleted file mode 100644 index c83fe0bfb9db2b5687bb2a9b4c00ab927ca9fd0a..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutRight_Rank8.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutRight, LayoutRight, Threads, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutRight, LayoutLeft, Threads, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutRight, LayoutStride, - Threads, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double********, LayoutRight, Threads, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutStride_Rank1.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutStride_Rank1.cpp deleted file mode 100644 index d97cb633f90042be94a020bc1adceb7537cb93ce..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutStride_Rank1.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutStride, LayoutRight, Threads, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutStride, LayoutLeft, Threads, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*, LayoutStride, LayoutStride, Threads, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double*, LayoutStride, Threads, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutStride_Rank2.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutStride_Rank2.cpp deleted file mode 100644 index 988dd30917faa18bf8bec0ad9cbd612df0e982ef..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutStride_Rank2.cpp +++ /dev/null @@ -1,56 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutStride, LayoutRight, Threads, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutStride, LayoutLeft, Threads, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double**, LayoutStride, LayoutStride, Threads, - int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double**, LayoutStride, Threads, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutStride_Rank3.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutStride_Rank3.cpp deleted file mode 100644 index b537f31ec235997684f7a2ba90575e947d6fef7d..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutStride_Rank3.cpp +++ /dev/null @@ -1,57 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutStride, LayoutRight, Threads, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutStride, LayoutLeft, Threads, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double***, LayoutStride, LayoutStride, Threads, - int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double***, LayoutStride, Threads, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutStride_Rank4.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutStride_Rank4.cpp deleted file mode 100644 index 4163489a3124e43f19a68e0f58cf70cc0159bce0..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutStride_Rank4.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutStride, LayoutRight, Threads, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutStride, LayoutLeft, Threads, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double****, LayoutStride, LayoutStride, Threads, - int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double****, LayoutStride, Threads, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutStride_Rank5.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutStride_Rank5.cpp deleted file mode 100644 index e954a0b03725bd4220c7f91cdb490557e7459087..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutStride_Rank5.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutStride, LayoutRight, Threads, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutStride, LayoutLeft, Threads, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double*****, LayoutStride, LayoutStride, Threads, - int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double*****, LayoutStride, Threads, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutStride_Rank8.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutStride_Rank8.cpp deleted file mode 100644 index 7f56eb8d210a926cf17829da2e5d8b3811eafdcc..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutStride_Rank8.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutStride, LayoutRight, - Threads, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutStride, LayoutLeft, Threads, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(double********, LayoutStride, LayoutStride, - Threads, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(double********, LayoutStride, Threads, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutLeft_Rank1.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutLeft_Rank1.cpp deleted file mode 100644 index be9a665fb960f761477c14c2cc137e376e239309..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutLeft_Rank1.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutLeft, LayoutRight, Threads, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutLeft, LayoutLeft, Threads, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutLeft, LayoutStride, Threads, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float*, LayoutLeft, Threads, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutLeft_Rank2.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutLeft_Rank2.cpp deleted file mode 100644 index c82e8d12a2855a7cc4fb17527df8c57038235f2f..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutLeft_Rank2.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutLeft, LayoutRight, Threads, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutLeft, LayoutLeft, Threads, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutLeft, LayoutStride, Threads, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float**, LayoutLeft, Threads, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutLeft_Rank3.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutLeft_Rank3.cpp deleted file mode 100644 index 0789ace2e2d63b5e3e36f0f353564600565d39ed..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutLeft_Rank3.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutLeft, LayoutRight, Threads, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutLeft, LayoutLeft, Threads, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutLeft, LayoutStride, Threads, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float***, LayoutLeft, Threads, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutLeft_Rank4.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutLeft_Rank4.cpp deleted file mode 100644 index 1b9f8a61597cbfc72cb90353492cdaf079777e41..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutLeft_Rank4.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutLeft, LayoutRight, Threads, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutLeft, LayoutLeft, Threads, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutLeft, LayoutStride, Threads, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float****, LayoutLeft, Threads, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutLeft_Rank5.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutLeft_Rank5.cpp deleted file mode 100644 index 92ae8f9a98d7ef91d75ce76fe9a0f59edc658616..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutLeft_Rank5.cpp +++ /dev/null @@ -1,56 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutLeft, LayoutRight, Threads, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutLeft, LayoutLeft, Threads, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutLeft, LayoutStride, Threads, - int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float*****, LayoutLeft, Threads, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutLeft_Rank8.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutLeft_Rank8.cpp deleted file mode 100644 index 1cf105fe536f0b9b75d7109314ff78ccb222a8ae..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutLeft_Rank8.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutLeft, LayoutRight, Threads, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutLeft, LayoutLeft, Threads, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutLeft, LayoutStride, Threads, - int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float********, LayoutLeft, Threads, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutRight_Rank2.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutRight_Rank2.cpp deleted file mode 100644 index 7e66193302b4c31ed6f928d839b30c3bd4f32fd6..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutRight_Rank2.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutRight, LayoutRight, Threads, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutRight, LayoutLeft, Threads, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutRight, LayoutStride, Threads, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float**, LayoutRight, Threads, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutRight_Rank3.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutRight_Rank3.cpp deleted file mode 100644 index c347f77004b5eb63fcf43b3b6f4853306a5e291e..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutRight_Rank3.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutRight, LayoutRight, Threads, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutRight, LayoutLeft, Threads, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutRight, LayoutStride, Threads, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float***, LayoutRight, Threads, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutRight_Rank4.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutRight_Rank4.cpp deleted file mode 100644 index 607eeed51c9960d1b3e442102b8dfa24c2d072d5..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutRight_Rank4.cpp +++ /dev/null @@ -1,56 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutRight, LayoutRight, Threads, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutRight, LayoutLeft, Threads, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutRight, LayoutStride, Threads, - int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float****, LayoutRight, Threads, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutRight_Rank5.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutRight_Rank5.cpp deleted file mode 100644 index 86ce1f81ad23db21d613741e11ee090e2718a734..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutRight_Rank5.cpp +++ /dev/null @@ -1,57 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutRight, LayoutRight, Threads, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutRight, LayoutLeft, Threads, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutRight, LayoutStride, Threads, - int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float*****, LayoutRight, Threads, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutRight_Rank8.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutRight_Rank8.cpp deleted file mode 100644 index 38edea565bc6a22dc6b7e84d14280e8eb299403d..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutRight_Rank8.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutRight, LayoutRight, Threads, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutRight, LayoutLeft, Threads, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutRight, LayoutStride, Threads, - int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float********, LayoutRight, Threads, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutStride_Rank1.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutStride_Rank1.cpp deleted file mode 100644 index c11ba480b61ec46087c5a9ee4a416f4685a1e868..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutStride_Rank1.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutStride, LayoutRight, Threads, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutStride, LayoutLeft, Threads, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutStride, LayoutStride, Threads, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float*, LayoutStride, Threads, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutStride_Rank2.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutStride_Rank2.cpp deleted file mode 100644 index 12973de44d561586e6e72e3bfb9065dadb2ef1e0..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutStride_Rank2.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutStride, LayoutRight, Threads, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutStride, LayoutLeft, Threads, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutStride, LayoutStride, Threads, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float**, LayoutStride, Threads, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutStride_Rank3.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutStride_Rank3.cpp deleted file mode 100644 index 57f00f62bfe3d17ae63448e15ac2122950985f39..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutStride_Rank3.cpp +++ /dev/null @@ -1,56 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutStride, LayoutRight, Threads, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutStride, LayoutLeft, Threads, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float***, LayoutStride, LayoutStride, Threads, - int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float***, LayoutStride, Threads, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutStride_Rank4.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutStride_Rank4.cpp deleted file mode 100644 index 5a73ab7e96625f0a0691171556bc3d00258b86d6..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutStride_Rank4.cpp +++ /dev/null @@ -1,57 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutStride, LayoutRight, Threads, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutStride, LayoutLeft, Threads, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float****, LayoutStride, LayoutStride, Threads, - int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float****, LayoutStride, Threads, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutStride_Rank5.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutStride_Rank5.cpp deleted file mode 100644 index 1b928f18f405d2df712ee7deea80f8a5196ce106..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutStride_Rank5.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutStride, LayoutRight, Threads, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutStride, LayoutLeft, Threads, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*****, LayoutStride, LayoutStride, Threads, - int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float*****, LayoutStride, Threads, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutStride_Rank8.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutStride_Rank8.cpp deleted file mode 100644 index c3b3949d82bfc8b5611f7463761a9bfcd2520270..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutStride_Rank8.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutStride, LayoutRight, Threads, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutStride, LayoutLeft, Threads, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float********, LayoutStride, LayoutStride, - Threads, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float********, LayoutStride, Threads, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank1.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank1.cpp deleted file mode 100644 index c9736ad22a2ddf3bd68dccfc18aa068066553cc8..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank1.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutLeft, LayoutRight, Threads, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutLeft, LayoutLeft, Threads, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutLeft, LayoutStride, Threads, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t*, LayoutLeft, Threads, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank2.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank2.cpp deleted file mode 100644 index 93d7a16c98ef3b280a913dfb8d8f59706a546327..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank2.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutLeft, LayoutRight, Threads, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutLeft, LayoutLeft, Threads, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutLeft, LayoutStride, Threads, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t**, LayoutLeft, Threads, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank3.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank3.cpp deleted file mode 100644 index ad9546fa6743a190882eb627a4f8ccf1a69c86c9..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank3.cpp +++ /dev/null @@ -1,56 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutLeft, LayoutRight, Threads, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutLeft, LayoutLeft, Threads, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutLeft, LayoutStride, Threads, - int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t***, LayoutLeft, Threads, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank4.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank4.cpp deleted file mode 100644 index a62946d97aeb2301da109df97ed548b30fdd3e8f..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank4.cpp +++ /dev/null @@ -1,57 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutLeft, LayoutRight, Threads, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutLeft, LayoutLeft, Threads, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutLeft, LayoutStride, Threads, - int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t****, LayoutLeft, Threads, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank5.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank5.cpp deleted file mode 100644 index 20826a0378bdf4d646da3912e49691cf3a7275c5..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank5.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutLeft, LayoutRight, Threads, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutLeft, LayoutLeft, Threads, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutLeft, LayoutStride, Threads, - int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t*****, LayoutLeft, Threads, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank8.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank8.cpp deleted file mode 100644 index 9d629f9ff643059adde068d88ada9a1c66ad440e..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank8.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutLeft, LayoutRight, Threads, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutLeft, LayoutLeft, Threads, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutLeft, LayoutStride, - Threads, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t********, LayoutLeft, Threads, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutRight_Rank1.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutRight_Rank1.cpp deleted file mode 100644 index 39a7dbef812e1d800e42c8dc045c82e8f2543c1e..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutRight_Rank1.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutRight, LayoutRight, Threads, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutRight, LayoutLeft, Threads, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutRight, LayoutStride, Threads, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t*, LayoutRight, Threads, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutRight_Rank2.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutRight_Rank2.cpp deleted file mode 100644 index 33bb9f577cf6bbfb714ad14aa6f679b69337879d..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutRight_Rank2.cpp +++ /dev/null @@ -1,56 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutRight, LayoutRight, Threads, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutRight, LayoutLeft, Threads, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutRight, LayoutStride, Threads, - int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t**, LayoutRight, Threads, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutRight_Rank3.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutRight_Rank3.cpp deleted file mode 100644 index 1d052babb47013378213d347e6707281dd311026..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutRight_Rank3.cpp +++ /dev/null @@ -1,57 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutRight, LayoutRight, Threads, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutRight, LayoutLeft, Threads, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutRight, LayoutStride, Threads, - int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t***, LayoutRight, Threads, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutRight_Rank4.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutRight_Rank4.cpp deleted file mode 100644 index 6533f33f56ece8c3b72a1c610982d3038fcc1370..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutRight_Rank4.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutRight, LayoutRight, Threads, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutRight, LayoutLeft, Threads, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutRight, LayoutStride, Threads, - int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t****, LayoutRight, Threads, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutRight_Rank5.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutRight_Rank5.cpp deleted file mode 100644 index a8b7a9615ca61b7fb434b99fd1a8e30569fd3c6b..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutRight_Rank5.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutRight, LayoutRight, Threads, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutRight, LayoutLeft, Threads, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutRight, LayoutStride, Threads, - int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t*****, LayoutRight, Threads, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutRight_Rank8.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutRight_Rank8.cpp deleted file mode 100644 index 33517ed85c3e59b7ae1a4811a3e4ed7a2d5d93cc..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutRight_Rank8.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutRight, LayoutRight, - Threads, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutRight, LayoutLeft, Threads, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutRight, LayoutStride, - Threads, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t********, LayoutRight, Threads, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutStride_Rank1.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutStride_Rank1.cpp deleted file mode 100644 index 2bd62e5607f81c2a391ecfa941bc6bac437184a0..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutStride_Rank1.cpp +++ /dev/null @@ -1,56 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutStride, LayoutRight, Threads, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutStride, LayoutLeft, Threads, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*, LayoutStride, LayoutStride, Threads, - int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t*, LayoutStride, Threads, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutStride_Rank2.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutStride_Rank2.cpp deleted file mode 100644 index fd1bb8862fd2035706be5e1eed27d85f1e32ded6..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutStride_Rank2.cpp +++ /dev/null @@ -1,57 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutStride, LayoutRight, Threads, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutStride, LayoutLeft, Threads, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t**, LayoutStride, LayoutStride, Threads, - int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t**, LayoutStride, Threads, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutStride_Rank3.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutStride_Rank3.cpp deleted file mode 100644 index 33a23913e6b19862664f8688ac8294b67f577fce..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutStride_Rank3.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutStride, LayoutRight, Threads, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutStride, LayoutLeft, Threads, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t***, LayoutStride, LayoutStride, Threads, - int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t***, LayoutStride, Threads, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutStride_Rank4.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutStride_Rank4.cpp deleted file mode 100644 index 1bcab4c1305524165b10b520b10faf8cace116ed..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutStride_Rank4.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutStride, LayoutRight, Threads, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutStride, LayoutLeft, Threads, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t****, LayoutStride, LayoutStride, Threads, - int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t****, LayoutStride, Threads, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutStride_Rank5.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutStride_Rank5.cpp deleted file mode 100644 index 0a8d0676d48ce110f448b99517e6dced2f224e8d..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutStride_Rank5.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutStride, LayoutRight, Threads, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutStride, LayoutLeft, Threads, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t*****, LayoutStride, LayoutStride, Threads, - int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t*****, LayoutStride, Threads, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutStride_Rank8.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutStride_Rank8.cpp deleted file mode 100644 index 47ccf94a8a04b4a8b7f8a39ec9c70219392ea92b..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutStride_Rank8.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutStride, LayoutRight, - Threads, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutStride, LayoutLeft, - Threads, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int64_t********, LayoutStride, LayoutStride, - Threads, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int64_t********, LayoutStride, Threads, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutLeft_Rank1.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutLeft_Rank1.cpp deleted file mode 100644 index acc4187d91f08cb37ab254226382ee206f2f6cf8..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutLeft_Rank1.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutLeft, LayoutRight, Threads, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutLeft, LayoutLeft, Threads, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutLeft, LayoutStride, Threads, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int*, LayoutLeft, Threads, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutLeft_Rank2.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutLeft_Rank2.cpp deleted file mode 100644 index 01a0fd28e4da10dc3a41aa0d71627c27662a70d6..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutLeft_Rank2.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutLeft, LayoutRight, Threads, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutLeft, LayoutLeft, Threads, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutLeft, LayoutStride, Threads, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int**, LayoutLeft, Threads, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutLeft_Rank3.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutLeft_Rank3.cpp deleted file mode 100644 index b31813ca3dfd5dc61ab705b8107931782a6b058b..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutLeft_Rank3.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutLeft, LayoutRight, Threads, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutLeft, LayoutLeft, Threads, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutLeft, LayoutStride, Threads, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int***, LayoutLeft, Threads, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutLeft_Rank4.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutLeft_Rank4.cpp deleted file mode 100644 index bf52b9f938f564d0850572e2e8a18ff3ba1ac79d..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutLeft_Rank4.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutLeft, LayoutRight, Threads, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutLeft, LayoutLeft, Threads, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutLeft, LayoutStride, Threads, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int****, LayoutLeft, Threads, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutLeft_Rank5.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutLeft_Rank5.cpp deleted file mode 100644 index 61e5dc06a641d730ed7693d1a813c360c7e68c44..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutLeft_Rank5.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutLeft, LayoutRight, Threads, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutLeft, LayoutLeft, Threads, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutLeft, LayoutStride, Threads, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int*****, LayoutLeft, Threads, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutLeft_Rank8.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutLeft_Rank8.cpp deleted file mode 100644 index cb6906991ed958e75ca191374b141bf6d9f5c874..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutLeft_Rank8.cpp +++ /dev/null @@ -1,57 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutLeft, LayoutRight, Threads, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutLeft, LayoutLeft, Threads, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutLeft, LayoutStride, Threads, - int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int********, LayoutLeft, Threads, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutRight_Rank1.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutRight_Rank1.cpp deleted file mode 100644 index b3afb8f5a4014fd39054dd553e27a96c7be4baa7..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutRight_Rank1.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutRight, LayoutRight, Threads, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutRight, LayoutLeft, Threads, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutRight, LayoutStride, Threads, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int*, LayoutRight, Threads, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutRight_Rank2.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutRight_Rank2.cpp deleted file mode 100644 index f742ae330b0933888e8c5dd99b487570ce2bfc26..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutRight_Rank2.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutRight, LayoutRight, Threads, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutRight, LayoutLeft, Threads, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutRight, LayoutStride, Threads, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int**, LayoutRight, Threads, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutRight_Rank3.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutRight_Rank3.cpp deleted file mode 100644 index 44b77241865966567bdb1cf8473eae6e6e0eafd8..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutRight_Rank3.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutRight, LayoutRight, Threads, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutRight, LayoutLeft, Threads, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutRight, LayoutStride, Threads, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int***, LayoutRight, Threads, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutRight_Rank4.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutRight_Rank4.cpp deleted file mode 100644 index 2a08a72d8af813d66b075c9ad83a56d7d8741d43..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutRight_Rank4.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutRight, LayoutRight, Threads, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutRight, LayoutLeft, Threads, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutRight, LayoutStride, Threads, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int****, LayoutRight, Threads, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutRight_Rank5.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutRight_Rank5.cpp deleted file mode 100644 index 5e9bd50d162b461120a8c8fa844aca566b51055d..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutRight_Rank5.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutRight, LayoutRight, Threads, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutRight, LayoutLeft, Threads, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutRight, LayoutStride, Threads, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int*****, LayoutRight, Threads, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutRight_Rank8.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutRight_Rank8.cpp deleted file mode 100644 index 9d3ebb948af7a7c48e721cd6a810b72e538b66b6..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutRight_Rank8.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutRight, LayoutRight, Threads, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutRight, LayoutLeft, Threads, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutRight, LayoutStride, Threads, - int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int********, LayoutRight, Threads, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutStride_Rank1.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutStride_Rank1.cpp deleted file mode 100644 index f77e685c77908706fe6905a5de9f1c26f5a32006..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutStride_Rank1.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutStride, LayoutRight, Threads, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutStride, LayoutLeft, Threads, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*, LayoutStride, LayoutStride, Threads, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int*, LayoutStride, Threads, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutStride_Rank2.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutStride_Rank2.cpp deleted file mode 100644 index 57ae0a1fd5a112db7da97ea7f76dcc42f187e204..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutStride_Rank2.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutStride, LayoutRight, Threads, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutStride, LayoutLeft, Threads, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int**, LayoutStride, LayoutStride, Threads, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int**, LayoutStride, Threads, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutStride_Rank3.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutStride_Rank3.cpp deleted file mode 100644 index d86407b2c686aab362def8a3d88147a251cdeba5..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutStride_Rank3.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutStride, LayoutRight, Threads, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutStride, LayoutLeft, Threads, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutStride, LayoutStride, Threads, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int***, LayoutStride, Threads, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutStride_Rank4.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutStride_Rank4.cpp deleted file mode 100644 index 0abf26b47804406c5363843112bbfd910cac5826..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutStride_Rank4.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutStride, LayoutRight, Threads, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutStride, LayoutLeft, Threads, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutStride, LayoutStride, Threads, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int****, LayoutStride, Threads, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutStride_Rank5.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutStride_Rank5.cpp deleted file mode 100644 index 6e8cd9f288a3e8b524c3fccb906cb69c36a306f1..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutStride_Rank5.cpp +++ /dev/null @@ -1,56 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutStride, LayoutRight, Threads, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutStride, LayoutLeft, Threads, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int*****, LayoutStride, LayoutStride, Threads, - int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int*****, LayoutStride, Threads, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutStride_Rank8.cpp b/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutStride_Rank8.cpp deleted file mode 100644 index ff91ded36f604481aed613465278094ffb01a1cf..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutStride_Rank8.cpp +++ /dev/null @@ -1,58 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Kokkos is licensed under 3-clause BSD terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER - -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutStride, LayoutRight, Threads, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutStride, LayoutLeft, Threads, - int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int********, LayoutStride, LayoutStride, Threads, - int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int********, LayoutStride, Threads, int) - -} // namespace Impl -} // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/Threads/Makefile.eti_Threads b/lib/kokkos/core/src/eti/Threads/Makefile.eti_Threads deleted file mode 100644 index 26d0ce2809a0d0d329331b502d615c99b9c4baeb..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/Threads/Makefile.eti_Threads +++ /dev/null @@ -1,288 +0,0 @@ -Kokkos_Threads_ViewCopyETIInst_int_int_LayoutLeft_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutLeft_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutLeft_Rank1.cpp -Kokkos_Threads_ViewCopyETIInst_int_int_LayoutLeft_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutLeft_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutLeft_Rank2.cpp -Kokkos_Threads_ViewCopyETIInst_int_int_LayoutLeft_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutLeft_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutLeft_Rank3.cpp -Kokkos_Threads_ViewCopyETIInst_int_int_LayoutLeft_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutLeft_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutLeft_Rank4.cpp -Kokkos_Threads_ViewCopyETIInst_int_int_LayoutLeft_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutLeft_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutLeft_Rank5.cpp -Kokkos_Threads_ViewCopyETIInst_int_int_LayoutLeft_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutLeft_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutLeft_Rank8.cpp -Kokkos_Threads_ViewCopyETIInst_int_int_LayoutRight_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutRight_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutRight_Rank1.cpp -Kokkos_Threads_ViewCopyETIInst_int_int_LayoutRight_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutRight_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutRight_Rank2.cpp -Kokkos_Threads_ViewCopyETIInst_int_int_LayoutRight_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutRight_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutRight_Rank3.cpp -Kokkos_Threads_ViewCopyETIInst_int_int_LayoutRight_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutRight_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutRight_Rank4.cpp -Kokkos_Threads_ViewCopyETIInst_int_int_LayoutRight_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutRight_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutRight_Rank5.cpp -Kokkos_Threads_ViewCopyETIInst_int_int_LayoutRight_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutRight_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutRight_Rank8.cpp -Kokkos_Threads_ViewCopyETIInst_int_int_LayoutStride_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutStride_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutStride_Rank1.cpp -Kokkos_Threads_ViewCopyETIInst_int_int_LayoutStride_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutStride_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutStride_Rank2.cpp -Kokkos_Threads_ViewCopyETIInst_int_int_LayoutStride_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutStride_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutStride_Rank3.cpp -Kokkos_Threads_ViewCopyETIInst_int_int_LayoutStride_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutStride_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutStride_Rank4.cpp -Kokkos_Threads_ViewCopyETIInst_int_int_LayoutStride_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutStride_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutStride_Rank5.cpp -Kokkos_Threads_ViewCopyETIInst_int_int_LayoutStride_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutStride_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutStride_Rank8.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank1.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank2.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank3.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank4.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank5.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank8.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutRight_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutRight_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutRight_Rank1.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutRight_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutRight_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutRight_Rank2.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutRight_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutRight_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutRight_Rank3.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutRight_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutRight_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutRight_Rank4.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutRight_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutRight_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutRight_Rank5.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutRight_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutRight_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutRight_Rank8.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutStride_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutStride_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutStride_Rank1.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutStride_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutStride_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutStride_Rank2.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutStride_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutStride_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutStride_Rank3.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutStride_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutStride_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutStride_Rank4.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutStride_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutStride_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutStride_Rank5.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutStride_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutStride_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutStride_Rank8.cpp -Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank1.cpp -Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank2.cpp -Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank3.cpp -Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank4.cpp -Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank5.cpp -Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank8.cpp -Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutRight_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutRight_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutRight_Rank1.cpp -Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutRight_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutRight_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutRight_Rank2.cpp -Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutRight_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutRight_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutRight_Rank3.cpp -Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutRight_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutRight_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutRight_Rank4.cpp -Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutRight_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutRight_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutRight_Rank5.cpp -Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutRight_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutRight_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutRight_Rank8.cpp -Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutStride_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutStride_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutStride_Rank1.cpp -Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutStride_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutStride_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutStride_Rank2.cpp -Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutStride_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutStride_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutStride_Rank3.cpp -Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutStride_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutStride_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutStride_Rank4.cpp -Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutStride_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutStride_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutStride_Rank5.cpp -Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutStride_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutStride_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutStride_Rank8.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank1.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank2.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank3.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank4.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank5.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank8.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank1.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank2.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank3.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank4.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank5.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank8.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank1.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank2.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank3.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank4.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank5.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank8.cpp -Kokkos_Threads_ViewCopyETIInst_int_float_LayoutLeft_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutLeft_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutLeft_Rank1.cpp -Kokkos_Threads_ViewCopyETIInst_int_float_LayoutLeft_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutLeft_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutLeft_Rank2.cpp -Kokkos_Threads_ViewCopyETIInst_int_float_LayoutLeft_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutLeft_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutLeft_Rank3.cpp -Kokkos_Threads_ViewCopyETIInst_int_float_LayoutLeft_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutLeft_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutLeft_Rank4.cpp -Kokkos_Threads_ViewCopyETIInst_int_float_LayoutLeft_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutLeft_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutLeft_Rank5.cpp -Kokkos_Threads_ViewCopyETIInst_int_float_LayoutLeft_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutLeft_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutLeft_Rank8.cpp -Kokkos_Threads_ViewCopyETIInst_int_float_LayoutRight_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutRight_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutRight_Rank1.cpp -Kokkos_Threads_ViewCopyETIInst_int_float_LayoutRight_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutRight_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutRight_Rank2.cpp -Kokkos_Threads_ViewCopyETIInst_int_float_LayoutRight_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutRight_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutRight_Rank3.cpp -Kokkos_Threads_ViewCopyETIInst_int_float_LayoutRight_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutRight_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutRight_Rank4.cpp -Kokkos_Threads_ViewCopyETIInst_int_float_LayoutRight_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutRight_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutRight_Rank5.cpp -Kokkos_Threads_ViewCopyETIInst_int_float_LayoutRight_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutRight_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutRight_Rank8.cpp -Kokkos_Threads_ViewCopyETIInst_int_float_LayoutStride_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutStride_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutStride_Rank1.cpp -Kokkos_Threads_ViewCopyETIInst_int_float_LayoutStride_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutStride_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutStride_Rank2.cpp -Kokkos_Threads_ViewCopyETIInst_int_float_LayoutStride_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutStride_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutStride_Rank3.cpp -Kokkos_Threads_ViewCopyETIInst_int_float_LayoutStride_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutStride_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutStride_Rank4.cpp -Kokkos_Threads_ViewCopyETIInst_int_float_LayoutStride_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutStride_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutStride_Rank5.cpp -Kokkos_Threads_ViewCopyETIInst_int_float_LayoutStride_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutStride_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutStride_Rank8.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank1.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank2.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank3.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank4.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank5.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank8.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutRight_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutRight_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutRight_Rank1.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutRight_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutRight_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutRight_Rank2.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutRight_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutRight_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutRight_Rank3.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutRight_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutRight_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutRight_Rank4.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutRight_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutRight_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutRight_Rank5.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutRight_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutRight_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutRight_Rank8.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutStride_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutStride_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutStride_Rank1.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutStride_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutStride_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutStride_Rank2.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutStride_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutStride_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutStride_Rank3.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutStride_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutStride_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutStride_Rank4.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutStride_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutStride_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutStride_Rank5.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutStride_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutStride_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutStride_Rank8.cpp -Kokkos_Threads_ViewCopyETIInst_int_double_LayoutLeft_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutLeft_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutLeft_Rank1.cpp -Kokkos_Threads_ViewCopyETIInst_int_double_LayoutLeft_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutLeft_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutLeft_Rank2.cpp -Kokkos_Threads_ViewCopyETIInst_int_double_LayoutLeft_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutLeft_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutLeft_Rank3.cpp -Kokkos_Threads_ViewCopyETIInst_int_double_LayoutLeft_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutLeft_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutLeft_Rank4.cpp -Kokkos_Threads_ViewCopyETIInst_int_double_LayoutLeft_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutLeft_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutLeft_Rank5.cpp -Kokkos_Threads_ViewCopyETIInst_int_double_LayoutLeft_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutLeft_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutLeft_Rank8.cpp -Kokkos_Threads_ViewCopyETIInst_int_double_LayoutRight_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutRight_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutRight_Rank1.cpp -Kokkos_Threads_ViewCopyETIInst_int_double_LayoutRight_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutRight_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutRight_Rank2.cpp -Kokkos_Threads_ViewCopyETIInst_int_double_LayoutRight_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutRight_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutRight_Rank3.cpp -Kokkos_Threads_ViewCopyETIInst_int_double_LayoutRight_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutRight_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutRight_Rank4.cpp -Kokkos_Threads_ViewCopyETIInst_int_double_LayoutRight_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutRight_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutRight_Rank5.cpp -Kokkos_Threads_ViewCopyETIInst_int_double_LayoutRight_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutRight_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutRight_Rank8.cpp -Kokkos_Threads_ViewCopyETIInst_int_double_LayoutStride_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutStride_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutStride_Rank1.cpp -Kokkos_Threads_ViewCopyETIInst_int_double_LayoutStride_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutStride_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutStride_Rank2.cpp -Kokkos_Threads_ViewCopyETIInst_int_double_LayoutStride_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutStride_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutStride_Rank3.cpp -Kokkos_Threads_ViewCopyETIInst_int_double_LayoutStride_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutStride_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutStride_Rank4.cpp -Kokkos_Threads_ViewCopyETIInst_int_double_LayoutStride_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutStride_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutStride_Rank5.cpp -Kokkos_Threads_ViewCopyETIInst_int_double_LayoutStride_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutStride_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutStride_Rank8.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank1.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank2.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank3.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank4.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank5.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank8.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutRight_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutRight_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutRight_Rank1.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutRight_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutRight_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutRight_Rank2.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutRight_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutRight_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutRight_Rank3.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutRight_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutRight_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutRight_Rank4.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutRight_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutRight_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutRight_Rank5.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutRight_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutRight_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutRight_Rank8.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutStride_Rank1.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutStride_Rank1.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutStride_Rank1.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutStride_Rank2.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutStride_Rank2.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutStride_Rank2.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutStride_Rank3.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutStride_Rank3.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutStride_Rank3.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutStride_Rank4.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutStride_Rank4.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutStride_Rank4.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutStride_Rank5.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutStride_Rank5.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutStride_Rank5.cpp -Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutStride_Rank8.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutStride_Rank8.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_ETI_PATH)/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutStride_Rank8.cpp diff --git a/lib/kokkos/core/src/eti/common/Kokkos_ViewFillCopyETIAvail_Macros.hpp b/lib/kokkos/core/src/eti/common/Kokkos_ViewFillCopyETIAvail_Macros.hpp deleted file mode 100644 index 6196dbf35591c08d6f48ba3be14c82d50a0908e3..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/common/Kokkos_ViewFillCopyETIAvail_Macros.hpp +++ /dev/null @@ -1,1440 +0,0 @@ -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int*, LayoutLeft, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int*, LayoutLeft, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int*, LayoutLeft, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(int*, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int**, LayoutLeft, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int**, LayoutLeft, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int**, LayoutLeft, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(int**, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int***, LayoutLeft, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int***, LayoutLeft, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int***, LayoutLeft, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(int***, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int****, LayoutLeft, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int****, LayoutLeft, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int****, LayoutLeft, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(int****, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int*****, LayoutLeft, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int*****, LayoutLeft, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int*****, LayoutLeft, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(int*****, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int********, LayoutLeft, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int********, LayoutLeft, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int********, LayoutLeft, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(int********, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int*, LayoutRight, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int*, LayoutRight, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int*, LayoutRight, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(int*, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int**, LayoutRight, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int**, LayoutRight, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int**, LayoutRight, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(int**, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int***, LayoutRight, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int***, LayoutRight, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int***, LayoutRight, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(int***, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int****, LayoutRight, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int****, LayoutRight, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int****, LayoutRight, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(int****, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int*****, LayoutRight, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int*****, LayoutRight, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int*****, LayoutRight, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(int*****, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int********, LayoutRight, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int********, LayoutRight, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int********, LayoutRight, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(int********, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int*, LayoutStride, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int*, LayoutStride, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int*, LayoutStride, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(int*, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int**, LayoutStride, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int**, LayoutStride, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int**, LayoutStride, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(int**, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int***, LayoutStride, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int***, LayoutStride, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int***, LayoutStride, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(int***, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int****, LayoutStride, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int****, LayoutStride, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int****, LayoutStride, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(int****, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int*****, LayoutStride, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int*****, LayoutStride, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int*****, LayoutStride, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(int*****, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int********, LayoutStride, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int********, LayoutStride, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int********, LayoutStride, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(int********, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int*, LayoutLeft, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int*, LayoutLeft, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int*, LayoutLeft, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(int*, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int**, LayoutLeft, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int**, LayoutLeft, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int**, LayoutLeft, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(int**, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int***, LayoutLeft, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int***, LayoutLeft, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int***, LayoutLeft, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(int***, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int****, LayoutLeft, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int****, LayoutLeft, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int****, LayoutLeft, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(int****, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int*****, LayoutLeft, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int*****, LayoutLeft, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int*****, LayoutLeft, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(int*****, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int********, LayoutLeft, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int********, LayoutLeft, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int********, LayoutLeft, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(int********, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int*, LayoutRight, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int*, LayoutRight, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int*, LayoutRight, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(int*, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int**, LayoutRight, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int**, LayoutRight, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int**, LayoutRight, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(int**, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int***, LayoutRight, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int***, LayoutRight, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int***, LayoutRight, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(int***, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int****, LayoutRight, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int****, LayoutRight, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int****, LayoutRight, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(int****, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int*****, LayoutRight, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int*****, LayoutRight, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int*****, LayoutRight, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(int*****, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int********, LayoutRight, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int********, LayoutRight, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int********, LayoutRight, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(int********, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int*, LayoutStride, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int*, LayoutStride, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int*, LayoutStride, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(int*, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int**, LayoutStride, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int**, LayoutStride, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int**, LayoutStride, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(int**, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int***, LayoutStride, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int***, LayoutStride, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int***, LayoutStride, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(int***, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int****, LayoutStride, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int****, LayoutStride, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int****, LayoutStride, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(int****, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int*****, LayoutStride, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int*****, LayoutStride, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int*****, LayoutStride, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(int*****, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int********, LayoutStride, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int********, LayoutStride, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int********, LayoutStride, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(int********, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t*, LayoutLeft, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t*, LayoutLeft, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t*, LayoutLeft, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(int64_t*, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t**, LayoutLeft, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t**, LayoutLeft, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t**, LayoutLeft, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(int64_t**, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t***, LayoutLeft, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t***, LayoutLeft, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t***, LayoutLeft, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(int64_t***, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t****, LayoutLeft, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t****, LayoutLeft, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t****, LayoutLeft, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(int64_t****, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t*****, LayoutLeft, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t*****, LayoutLeft, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t*****, LayoutLeft, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(int64_t*****, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t********, LayoutLeft, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t********, LayoutLeft, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t********, LayoutLeft, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(int64_t********, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t*, LayoutRight, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t*, LayoutRight, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t*, LayoutRight, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(int64_t*, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t**, LayoutRight, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t**, LayoutRight, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t**, LayoutRight, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(int64_t**, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t***, LayoutRight, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t***, LayoutRight, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t***, LayoutRight, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(int64_t***, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t****, LayoutRight, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t****, LayoutRight, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t****, LayoutRight, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(int64_t****, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t*****, LayoutRight, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t*****, LayoutRight, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t*****, LayoutRight, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(int64_t*****, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t********, LayoutRight, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t********, LayoutRight, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t********, LayoutRight, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(int64_t********, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t*, LayoutStride, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t*, LayoutStride, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t*, LayoutStride, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(int64_t*, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t**, LayoutStride, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t**, LayoutStride, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t**, LayoutStride, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(int64_t**, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t***, LayoutStride, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t***, LayoutStride, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t***, LayoutStride, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(int64_t***, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t****, LayoutStride, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t****, LayoutStride, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t****, LayoutStride, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(int64_t****, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t*****, LayoutStride, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t*****, LayoutStride, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t*****, LayoutStride, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(int64_t*****, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t********, LayoutStride, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t********, LayoutStride, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t********, LayoutStride, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(int64_t********, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t*, LayoutLeft, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t*, LayoutLeft, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t*, LayoutLeft, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(int64_t*, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t**, LayoutLeft, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t**, LayoutLeft, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t**, LayoutLeft, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(int64_t**, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t***, LayoutLeft, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t***, LayoutLeft, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t***, LayoutLeft, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(int64_t***, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t****, LayoutLeft, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t****, LayoutLeft, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t****, LayoutLeft, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(int64_t****, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t*****, LayoutLeft, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t*****, LayoutLeft, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t*****, LayoutLeft, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(int64_t*****, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t********, LayoutLeft, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t********, LayoutLeft, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t********, LayoutLeft, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(int64_t********, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t*, LayoutRight, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t*, LayoutRight, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t*, LayoutRight, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(int64_t*, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t**, LayoutRight, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t**, LayoutRight, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t**, LayoutRight, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(int64_t**, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t***, LayoutRight, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t***, LayoutRight, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t***, LayoutRight, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(int64_t***, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t****, LayoutRight, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t****, LayoutRight, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t****, LayoutRight, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(int64_t****, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t*****, LayoutRight, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t*****, LayoutRight, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t*****, LayoutRight, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(int64_t*****, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t********, LayoutRight, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t********, LayoutRight, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t********, LayoutRight, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(int64_t********, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t*, LayoutStride, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t*, LayoutStride, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t*, LayoutStride, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(int64_t*, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t**, LayoutStride, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t**, LayoutStride, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t**, LayoutStride, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(int64_t**, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t***, LayoutStride, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t***, LayoutStride, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t***, LayoutStride, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(int64_t***, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t****, LayoutStride, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t****, LayoutStride, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t****, LayoutStride, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(int64_t****, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t*****, LayoutStride, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t*****, LayoutStride, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t*****, LayoutStride, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(int64_t*****, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t********, LayoutStride, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t********, LayoutStride, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(int64_t********, LayoutStride, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(int64_t********, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float*, LayoutLeft, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float*, LayoutLeft, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float*, LayoutLeft, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(float*, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float**, LayoutLeft, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float**, LayoutLeft, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float**, LayoutLeft, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(float**, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float***, LayoutLeft, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float***, LayoutLeft, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float***, LayoutLeft, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(float***, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float****, LayoutLeft, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float****, LayoutLeft, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float****, LayoutLeft, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(float****, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float*****, LayoutLeft, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float*****, LayoutLeft, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float*****, LayoutLeft, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(float*****, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float********, LayoutLeft, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float********, LayoutLeft, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float********, LayoutLeft, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(float********, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float*, LayoutRight, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float*, LayoutRight, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float*, LayoutRight, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(float*, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float**, LayoutRight, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float**, LayoutRight, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float**, LayoutRight, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(float**, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float***, LayoutRight, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float***, LayoutRight, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float***, LayoutRight, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(float***, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float****, LayoutRight, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float****, LayoutRight, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float****, LayoutRight, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(float****, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float*****, LayoutRight, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float*****, LayoutRight, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float*****, LayoutRight, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(float*****, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float********, LayoutRight, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float********, LayoutRight, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float********, LayoutRight, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(float********, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float*, LayoutStride, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float*, LayoutStride, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float*, LayoutStride, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(float*, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float**, LayoutStride, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float**, LayoutStride, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float**, LayoutStride, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(float**, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float***, LayoutStride, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float***, LayoutStride, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float***, LayoutStride, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(float***, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float****, LayoutStride, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float****, LayoutStride, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float****, LayoutStride, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(float****, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float*****, LayoutStride, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float*****, LayoutStride, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float*****, LayoutStride, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(float*****, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float********, LayoutStride, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float********, LayoutStride, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float********, LayoutStride, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(float********, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float*, LayoutLeft, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float*, LayoutLeft, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float*, LayoutLeft, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(float*, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float**, LayoutLeft, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float**, LayoutLeft, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float**, LayoutLeft, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(float**, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float***, LayoutLeft, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float***, LayoutLeft, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float***, LayoutLeft, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(float***, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float****, LayoutLeft, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float****, LayoutLeft, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float****, LayoutLeft, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(float****, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float*****, LayoutLeft, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float*****, LayoutLeft, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float*****, LayoutLeft, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(float*****, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float********, LayoutLeft, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float********, LayoutLeft, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float********, LayoutLeft, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(float********, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float*, LayoutRight, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float*, LayoutRight, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float*, LayoutRight, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(float*, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float**, LayoutRight, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float**, LayoutRight, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float**, LayoutRight, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(float**, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float***, LayoutRight, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float***, LayoutRight, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float***, LayoutRight, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(float***, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float****, LayoutRight, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float****, LayoutRight, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float****, LayoutRight, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(float****, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float*****, LayoutRight, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float*****, LayoutRight, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float*****, LayoutRight, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(float*****, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float********, LayoutRight, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float********, LayoutRight, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float********, LayoutRight, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(float********, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float*, LayoutStride, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float*, LayoutStride, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float*, LayoutStride, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(float*, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float**, LayoutStride, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float**, LayoutStride, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float**, LayoutStride, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(float**, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float***, LayoutStride, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float***, LayoutStride, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float***, LayoutStride, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(float***, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float****, LayoutStride, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float****, LayoutStride, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float****, LayoutStride, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(float****, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float*****, LayoutStride, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float*****, LayoutStride, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float*****, LayoutStride, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(float*****, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float********, LayoutStride, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float********, LayoutStride, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(float********, LayoutStride, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(float********, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double*, LayoutLeft, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double*, LayoutLeft, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double*, LayoutLeft, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(double*, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double**, LayoutLeft, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double**, LayoutLeft, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double**, LayoutLeft, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(double**, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double***, LayoutLeft, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double***, LayoutLeft, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double***, LayoutLeft, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(double***, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double****, LayoutLeft, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double****, LayoutLeft, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double****, LayoutLeft, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(double****, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double*****, LayoutLeft, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double*****, LayoutLeft, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double*****, LayoutLeft, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(double*****, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double********, LayoutLeft, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double********, LayoutLeft, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double********, LayoutLeft, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(double********, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double*, LayoutRight, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double*, LayoutRight, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double*, LayoutRight, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(double*, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double**, LayoutRight, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double**, LayoutRight, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double**, LayoutRight, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(double**, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double***, LayoutRight, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double***, LayoutRight, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double***, LayoutRight, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(double***, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double****, LayoutRight, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double****, LayoutRight, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double****, LayoutRight, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(double****, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double*****, LayoutRight, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double*****, LayoutRight, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double*****, LayoutRight, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(double*****, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double********, LayoutRight, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double********, LayoutRight, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double********, LayoutRight, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(double********, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double*, LayoutStride, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double*, LayoutStride, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double*, LayoutStride, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(double*, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double**, LayoutStride, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double**, LayoutStride, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double**, LayoutStride, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(double**, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double***, LayoutStride, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double***, LayoutStride, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double***, LayoutStride, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(double***, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double****, LayoutStride, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double****, LayoutStride, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double****, LayoutStride, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(double****, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double*****, LayoutStride, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double*****, LayoutStride, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double*****, LayoutStride, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(double*****, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double********, LayoutStride, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double********, LayoutStride, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double********, LayoutStride, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(double********, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double*, LayoutLeft, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double*, LayoutLeft, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double*, LayoutLeft, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(double*, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double**, LayoutLeft, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double**, LayoutLeft, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double**, LayoutLeft, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(double**, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double***, LayoutLeft, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double***, LayoutLeft, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double***, LayoutLeft, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(double***, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double****, LayoutLeft, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double****, LayoutLeft, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double****, LayoutLeft, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(double****, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double*****, LayoutLeft, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double*****, LayoutLeft, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double*****, LayoutLeft, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(double*****, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double********, LayoutLeft, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double********, LayoutLeft, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double********, LayoutLeft, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(double********, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double*, LayoutRight, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double*, LayoutRight, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double*, LayoutRight, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(double*, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double**, LayoutRight, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double**, LayoutRight, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double**, LayoutRight, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(double**, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double***, LayoutRight, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double***, LayoutRight, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double***, LayoutRight, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(double***, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double****, LayoutRight, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double****, LayoutRight, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double****, LayoutRight, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(double****, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double*****, LayoutRight, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double*****, LayoutRight, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double*****, LayoutRight, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(double*****, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double********, LayoutRight, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double********, LayoutRight, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double********, LayoutRight, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(double********, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double*, LayoutStride, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double*, LayoutStride, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double*, LayoutStride, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(double*, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double**, LayoutStride, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double**, LayoutStride, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double**, LayoutStride, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(double**, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double***, LayoutStride, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double***, LayoutStride, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double***, LayoutStride, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(double***, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double****, LayoutStride, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double****, LayoutStride, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double****, LayoutStride, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(double****, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double*****, LayoutStride, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double*****, LayoutStride, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double*****, LayoutStride, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(double*****, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double********, LayoutStride, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double********, LayoutStride, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(double********, LayoutStride, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(double********, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, - int64_t) diff --git a/lib/kokkos/core/src/eti/common/Kokkos_ViewFillCopyETIDecl_Macros.hpp b/lib/kokkos/core/src/eti/common/Kokkos_ViewFillCopyETIDecl_Macros.hpp deleted file mode 100644 index 98d9791eebb55dc6d9864a564099c0d61c1b6b59..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/eti/common/Kokkos_ViewFillCopyETIDecl_Macros.hpp +++ /dev/null @@ -1,1152 +0,0 @@ -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int*, LayoutLeft, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int*, LayoutLeft, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int*, LayoutLeft, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(int*, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int**, LayoutLeft, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int**, LayoutLeft, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int**, LayoutLeft, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(int**, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int***, LayoutLeft, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int***, LayoutLeft, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int***, LayoutLeft, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(int***, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int****, LayoutLeft, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int****, LayoutLeft, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int****, LayoutLeft, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(int****, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int*****, LayoutLeft, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int*****, LayoutLeft, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int*****, LayoutLeft, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(int*****, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int********, LayoutLeft, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int********, LayoutLeft, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int********, LayoutLeft, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(int********, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int*, LayoutRight, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int*, LayoutRight, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int*, LayoutRight, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(int*, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int**, LayoutRight, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int**, LayoutRight, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int**, LayoutRight, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(int**, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int***, LayoutRight, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int***, LayoutRight, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int***, LayoutRight, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(int***, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int****, LayoutRight, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int****, LayoutRight, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int****, LayoutRight, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(int****, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int*****, LayoutRight, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int*****, LayoutRight, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int*****, LayoutRight, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(int*****, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int********, LayoutRight, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int********, LayoutRight, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int********, LayoutRight, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(int********, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int*, LayoutStride, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int*, LayoutStride, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int*, LayoutStride, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(int*, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int**, LayoutStride, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int**, LayoutStride, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int**, LayoutStride, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(int**, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int***, LayoutStride, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int***, LayoutStride, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int***, LayoutStride, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(int***, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int****, LayoutStride, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int****, LayoutStride, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int****, LayoutStride, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(int****, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int*****, LayoutStride, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int*****, LayoutStride, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int*****, LayoutStride, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(int*****, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int********, LayoutStride, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int********, LayoutStride, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int********, LayoutStride, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(int********, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int*, LayoutLeft, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int*, LayoutLeft, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int*, LayoutLeft, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(int*, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int**, LayoutLeft, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int**, LayoutLeft, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int**, LayoutLeft, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(int**, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int***, LayoutLeft, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int***, LayoutLeft, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int***, LayoutLeft, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(int***, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int****, LayoutLeft, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int****, LayoutLeft, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int****, LayoutLeft, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(int****, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int*****, LayoutLeft, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int*****, LayoutLeft, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int*****, LayoutLeft, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(int*****, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int********, LayoutLeft, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int********, LayoutLeft, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int********, LayoutLeft, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(int********, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int*, LayoutRight, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int*, LayoutRight, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int*, LayoutRight, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(int*, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int**, LayoutRight, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int**, LayoutRight, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int**, LayoutRight, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(int**, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int***, LayoutRight, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int***, LayoutRight, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int***, LayoutRight, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(int***, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int****, LayoutRight, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int****, LayoutRight, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int****, LayoutRight, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(int****, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int*****, LayoutRight, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int*****, LayoutRight, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int*****, LayoutRight, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(int*****, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int********, LayoutRight, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int********, LayoutRight, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int********, LayoutRight, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(int********, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int*, LayoutStride, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int*, LayoutStride, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int*, LayoutStride, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(int*, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int**, LayoutStride, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int**, LayoutStride, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int**, LayoutStride, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(int**, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int***, LayoutStride, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int***, LayoutStride, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int***, LayoutStride, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(int***, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int****, LayoutStride, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int****, LayoutStride, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int****, LayoutStride, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(int****, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int*****, LayoutStride, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int*****, LayoutStride, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int*****, LayoutStride, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(int*****, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int********, LayoutStride, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int********, LayoutStride, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int********, LayoutStride, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(int********, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t*, LayoutLeft, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t*, LayoutLeft, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t*, LayoutLeft, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(int64_t*, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t**, LayoutLeft, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t**, LayoutLeft, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t**, LayoutLeft, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(int64_t**, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t***, LayoutLeft, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t***, LayoutLeft, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t***, LayoutLeft, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(int64_t***, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t****, LayoutLeft, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t****, LayoutLeft, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t****, LayoutLeft, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(int64_t****, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t*****, LayoutLeft, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t*****, LayoutLeft, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t*****, LayoutLeft, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(int64_t*****, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t********, LayoutLeft, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t********, LayoutLeft, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t********, LayoutLeft, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(int64_t********, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t*, LayoutRight, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t*, LayoutRight, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t*, LayoutRight, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(int64_t*, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t**, LayoutRight, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t**, LayoutRight, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t**, LayoutRight, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(int64_t**, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t***, LayoutRight, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t***, LayoutRight, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t***, LayoutRight, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(int64_t***, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t****, LayoutRight, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t****, LayoutRight, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t****, LayoutRight, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(int64_t****, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t*****, LayoutRight, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t*****, LayoutRight, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t*****, LayoutRight, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(int64_t*****, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t********, LayoutRight, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t********, LayoutRight, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t********, LayoutRight, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(int64_t********, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t*, LayoutStride, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t*, LayoutStride, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t*, LayoutStride, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(int64_t*, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t**, LayoutStride, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t**, LayoutStride, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t**, LayoutStride, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(int64_t**, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t***, LayoutStride, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t***, LayoutStride, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t***, LayoutStride, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(int64_t***, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t****, LayoutStride, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t****, LayoutStride, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t****, LayoutStride, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(int64_t****, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t*****, LayoutStride, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t*****, LayoutStride, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t*****, LayoutStride, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(int64_t*****, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t********, LayoutStride, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t********, LayoutStride, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t********, LayoutStride, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(int64_t********, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t*, LayoutLeft, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t*, LayoutLeft, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t*, LayoutLeft, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(int64_t*, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t**, LayoutLeft, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t**, LayoutLeft, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t**, LayoutLeft, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(int64_t**, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t***, LayoutLeft, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t***, LayoutLeft, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t***, LayoutLeft, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(int64_t***, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t****, LayoutLeft, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t****, LayoutLeft, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t****, LayoutLeft, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(int64_t****, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t*****, LayoutLeft, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t*****, LayoutLeft, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t*****, LayoutLeft, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(int64_t*****, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t********, LayoutLeft, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t********, LayoutLeft, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t********, LayoutLeft, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(int64_t********, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t*, LayoutRight, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t*, LayoutRight, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t*, LayoutRight, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(int64_t*, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t**, LayoutRight, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t**, LayoutRight, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t**, LayoutRight, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(int64_t**, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t***, LayoutRight, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t***, LayoutRight, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t***, LayoutRight, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(int64_t***, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t****, LayoutRight, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t****, LayoutRight, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t****, LayoutRight, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(int64_t****, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t*****, LayoutRight, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t*****, LayoutRight, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t*****, LayoutRight, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(int64_t*****, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t********, LayoutRight, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t********, LayoutRight, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t********, LayoutRight, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(int64_t********, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t*, LayoutStride, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t*, LayoutStride, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t*, LayoutStride, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(int64_t*, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t**, LayoutStride, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t**, LayoutStride, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t**, LayoutStride, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(int64_t**, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t***, LayoutStride, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t***, LayoutStride, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t***, LayoutStride, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(int64_t***, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t****, LayoutStride, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t****, LayoutStride, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t****, LayoutStride, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(int64_t****, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t*****, LayoutStride, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t*****, LayoutStride, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t*****, LayoutStride, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(int64_t*****, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t********, LayoutStride, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t********, LayoutStride, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(int64_t********, LayoutStride, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(int64_t********, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float*, LayoutLeft, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float*, LayoutLeft, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float*, LayoutLeft, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(float*, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float**, LayoutLeft, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float**, LayoutLeft, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float**, LayoutLeft, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(float**, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float***, LayoutLeft, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float***, LayoutLeft, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float***, LayoutLeft, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(float***, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float****, LayoutLeft, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float****, LayoutLeft, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float****, LayoutLeft, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(float****, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float*****, LayoutLeft, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float*****, LayoutLeft, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float*****, LayoutLeft, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(float*****, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float********, LayoutLeft, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float********, LayoutLeft, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float********, LayoutLeft, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(float********, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float*, LayoutRight, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float*, LayoutRight, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float*, LayoutRight, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(float*, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float**, LayoutRight, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float**, LayoutRight, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float**, LayoutRight, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(float**, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float***, LayoutRight, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float***, LayoutRight, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float***, LayoutRight, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(float***, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float****, LayoutRight, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float****, LayoutRight, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float****, LayoutRight, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(float****, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float*****, LayoutRight, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float*****, LayoutRight, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float*****, LayoutRight, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(float*****, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float********, LayoutRight, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float********, LayoutRight, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float********, LayoutRight, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(float********, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float*, LayoutStride, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float*, LayoutStride, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float*, LayoutStride, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(float*, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float**, LayoutStride, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float**, LayoutStride, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float**, LayoutStride, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(float**, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float***, LayoutStride, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float***, LayoutStride, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float***, LayoutStride, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(float***, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float****, LayoutStride, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float****, LayoutStride, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float****, LayoutStride, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(float****, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float*****, LayoutStride, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float*****, LayoutStride, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float*****, LayoutStride, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(float*****, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float********, LayoutStride, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float********, LayoutStride, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float********, LayoutStride, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(float********, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float*, LayoutLeft, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float*, LayoutLeft, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float*, LayoutLeft, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(float*, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float**, LayoutLeft, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float**, LayoutLeft, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float**, LayoutLeft, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(float**, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float***, LayoutLeft, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float***, LayoutLeft, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float***, LayoutLeft, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(float***, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float****, LayoutLeft, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float****, LayoutLeft, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float****, LayoutLeft, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(float****, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float*****, LayoutLeft, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float*****, LayoutLeft, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float*****, LayoutLeft, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(float*****, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float********, LayoutLeft, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float********, LayoutLeft, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float********, LayoutLeft, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(float********, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float*, LayoutRight, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float*, LayoutRight, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float*, LayoutRight, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(float*, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float**, LayoutRight, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float**, LayoutRight, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float**, LayoutRight, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(float**, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float***, LayoutRight, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float***, LayoutRight, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float***, LayoutRight, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(float***, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float****, LayoutRight, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float****, LayoutRight, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float****, LayoutRight, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(float****, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float*****, LayoutRight, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float*****, LayoutRight, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float*****, LayoutRight, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(float*****, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float********, LayoutRight, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float********, LayoutRight, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float********, LayoutRight, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(float********, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float*, LayoutStride, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float*, LayoutStride, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float*, LayoutStride, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(float*, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float**, LayoutStride, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float**, LayoutStride, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float**, LayoutStride, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(float**, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float***, LayoutStride, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float***, LayoutStride, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float***, LayoutStride, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(float***, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float****, LayoutStride, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float****, LayoutStride, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float****, LayoutStride, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(float****, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float*****, LayoutStride, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float*****, LayoutStride, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float*****, LayoutStride, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(float*****, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float********, LayoutStride, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float********, LayoutStride, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(float********, LayoutStride, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(float********, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double*, LayoutLeft, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double*, LayoutLeft, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double*, LayoutLeft, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(double*, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double**, LayoutLeft, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double**, LayoutLeft, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double**, LayoutLeft, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(double**, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double***, LayoutLeft, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double***, LayoutLeft, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double***, LayoutLeft, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(double***, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double****, LayoutLeft, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double****, LayoutLeft, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double****, LayoutLeft, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(double****, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double*****, LayoutLeft, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double*****, LayoutLeft, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double*****, LayoutLeft, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(double*****, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double********, LayoutLeft, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double********, LayoutLeft, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double********, LayoutLeft, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(double********, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double*, LayoutRight, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double*, LayoutRight, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double*, LayoutRight, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(double*, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double**, LayoutRight, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double**, LayoutRight, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double**, LayoutRight, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(double**, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double***, LayoutRight, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double***, LayoutRight, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double***, LayoutRight, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(double***, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double****, LayoutRight, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double****, LayoutRight, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double****, LayoutRight, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(double****, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double*****, LayoutRight, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double*****, LayoutRight, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double*****, LayoutRight, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(double*****, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double********, LayoutRight, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double********, LayoutRight, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double********, LayoutRight, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(double********, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double*, LayoutStride, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double*, LayoutStride, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double*, LayoutStride, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(double*, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double**, LayoutStride, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double**, LayoutStride, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double**, LayoutStride, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(double**, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double***, LayoutStride, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double***, LayoutStride, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double***, LayoutStride, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(double***, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double****, LayoutStride, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double****, LayoutStride, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double****, LayoutStride, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(double****, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double*****, LayoutStride, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double*****, LayoutStride, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double*****, LayoutStride, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(double*****, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double********, LayoutStride, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double********, LayoutStride, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double********, LayoutStride, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(double********, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double*, LayoutLeft, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double*, LayoutLeft, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double*, LayoutLeft, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(double*, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double**, LayoutLeft, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double**, LayoutLeft, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double**, LayoutLeft, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(double**, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double***, LayoutLeft, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double***, LayoutLeft, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double***, LayoutLeft, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(double***, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double****, LayoutLeft, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double****, LayoutLeft, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double****, LayoutLeft, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(double****, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double*****, LayoutLeft, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double*****, LayoutLeft, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double*****, LayoutLeft, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(double*****, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double********, LayoutLeft, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double********, LayoutLeft, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double********, LayoutLeft, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(double********, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double*, LayoutRight, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double*, LayoutRight, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double*, LayoutRight, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(double*, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double**, LayoutRight, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double**, LayoutRight, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double**, LayoutRight, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(double**, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double***, LayoutRight, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double***, LayoutRight, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double***, LayoutRight, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(double***, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double****, LayoutRight, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double****, LayoutRight, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double****, LayoutRight, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(double****, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double*****, LayoutRight, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double*****, LayoutRight, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double*****, LayoutRight, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(double*****, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double********, LayoutRight, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double********, LayoutRight, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double********, LayoutRight, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(double********, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double*, LayoutStride, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double*, LayoutStride, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double*, LayoutStride, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(double*, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double**, LayoutStride, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double**, LayoutStride, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double**, LayoutStride, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(double**, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double***, LayoutStride, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double***, LayoutStride, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double***, LayoutStride, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(double***, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double****, LayoutStride, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double****, LayoutStride, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double****, LayoutStride, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(double****, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double*****, LayoutStride, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double*****, LayoutStride, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double*****, LayoutStride, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(double*****, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double********, LayoutStride, LayoutRight, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double********, LayoutStride, LayoutLeft, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_DECL(double********, LayoutStride, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_DECL(double********, LayoutStride, - KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE, int64_t) diff --git a/lib/kokkos/core/src/impl/CMakeLists.txt b/lib/kokkos/core/src/impl/CMakeLists.txt index 361a85b7381a2f337e7916e2905a3cc62bedcfb9..9ff02a2eae84ba86f5c825b9054798f0b7218f61 100644 --- a/lib/kokkos/core/src/impl/CMakeLists.txt +++ b/lib/kokkos/core/src/impl/CMakeLists.txt @@ -2,7 +2,7 @@ SET(HEADERS "") SET(SOURCES "") -FILE(GLOB HEADERS *.hpp) +FILE(GLOB HEADERS *.hpp *.h) FILE(GLOB SOURCES *.cpp) TRIBITS_ADD_LIBRARY( diff --git a/lib/kokkos/core/src/impl/KokkosExp_Host_IterateTile.hpp b/lib/kokkos/core/src/impl/KokkosExp_Host_IterateTile.hpp index 09ed79a5fd7f6d7e35d8a0419b53cf47a55cec04..d9f02b47acaac5a0611878c180bcb93bcc0d57c6 100644 --- a/lib/kokkos/core/src/impl/KokkosExp_Host_IterateTile.hpp +++ b/lib/kokkos/core/src/impl/KokkosExp_Host_IterateTile.hpp @@ -57,9 +57,7 @@ #define KOKKOS_ENABLE_IVDEP_MDRANGE #endif -#include #include -#include namespace Kokkos { namespace Impl { @@ -1574,7 +1572,7 @@ struct HostIterateTile< template struct RankTag { - typedef RankTag type; + using type = RankTag; enum { value = (int)Rank }; }; @@ -1995,7 +1993,7 @@ struct HostIterateTile< template struct RankTag { - typedef RankTag type; + using type = RankTag; enum { value = (int)Rank }; }; @@ -2418,7 +2416,7 @@ struct HostIterateTile< template struct RankTag { - typedef RankTag type; + using type = RankTag; enum { value = (int)Rank }; }; @@ -2793,111 +2791,6 @@ struct HostIterateTile< // ------------------------------------------------------------------ // -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE -// MDFunctor - wraps the range_policy and functor to pass to IterateTile -// Used for md_parallel_{for,reduce} with Serial, Threads, OpenMP -// Cuda uses DeviceIterateTile directly within md_parallel_for -// TODO Once md_parallel_{for,reduce} removed, this can be removed - -namespace Experimental { - -// ParallelReduce - scalar reductions -template -struct MDFunctor { - using range_policy = MDRange; - using functor_type = Functor; - using value_type = ValueType; - using work_tag = typename range_policy::work_tag; - using index_type = typename range_policy::index_type; - using iterate_type = - typename Kokkos::Impl::HostIterateTile; - - inline MDFunctor(MDRange const& range, Functor const& f) - : m_range(range), m_func(f) {} - - inline MDFunctor(MDFunctor const&) = default; - - inline MDFunctor& operator=(MDFunctor const&) = default; - - inline MDFunctor(MDFunctor&&) = default; - - inline MDFunctor& operator=(MDFunctor&&) = default; - - inline void operator()(index_type t, value_type& v) const { - iterate_type(m_range, m_func, v)(t); - } - - MDRange m_range; - Functor m_func; -}; - -// ParallelReduce - array reductions -template -struct MDFunctor { - using range_policy = MDRange; - using functor_type = Functor; - using value_type = ValueType[]; - using work_tag = typename range_policy::work_tag; - using index_type = typename range_policy::index_type; - using iterate_type = - typename Kokkos::Impl::HostIterateTile; - - inline MDFunctor(MDRange const& range, Functor const& f) - : m_range(range), m_func(f), value_count(f.value_count) {} - - inline MDFunctor(MDFunctor const&) = default; - - inline MDFunctor& operator=(MDFunctor const&) = default; - - inline MDFunctor(MDFunctor&&) = default; - - inline MDFunctor& operator=(MDFunctor&&) = default; - - // FIXME Init and Join, as defined in m_func, are not working through the - // MDFunctor Best path forward is to eliminate need for MDFunctor, directly - // use MDRangePolicy within Parallel{For,Reduce} ?? - inline void operator()(index_type t, value_type v) const { - iterate_type(m_range, m_func, v)(t); - } - - MDRange m_range; - Functor m_func; - size_t value_count; -}; - -// ParallelFor -template -struct MDFunctor { - using range_policy = MDRange; - using functor_type = Functor; - using work_tag = typename range_policy::work_tag; - using index_type = typename range_policy::index_type; - using iterate_type = - typename Kokkos::Impl::HostIterateTile; - - inline MDFunctor(MDRange const& range, Functor const& f) - : m_range(range), m_func(f) {} - - inline MDFunctor(MDFunctor const&) = default; - - inline MDFunctor& operator=(MDFunctor const&) = default; - - inline MDFunctor(MDFunctor&&) = default; - - inline MDFunctor& operator=(MDFunctor&&) = default; - - inline void operator()(index_type t) const { - iterate_type(m_range, m_func)(t); - } - - MDRange m_range; - Functor m_func; -}; - -} // end namespace Experimental -#endif #undef KOKKOS_ENABLE_NEW_LOOP_MACROS } // namespace Impl diff --git a/lib/kokkos/core/src/impl/Kokkos_Atomic_Compare_Exchange_Strong.hpp b/lib/kokkos/core/src/impl/Kokkos_Atomic_Compare_Exchange_Strong.hpp index c25b80a825b22bb635afc63d252164c9cd9621c8..c61aa3be321e94b1e22f00b604692e0e4f7cd25e 100644 --- a/lib/kokkos/core/src/impl/Kokkos_Atomic_Compare_Exchange_Strong.hpp +++ b/lib/kokkos/core/src/impl/Kokkos_Atomic_Compare_Exchange_Strong.hpp @@ -103,7 +103,7 @@ __inline__ __device__ T atomic_compare_exchange( typename std::enable_if::type val) { - typedef unsigned long long int type; + using type = unsigned long long int; const type tmp = atomicCAS((type*)dest, *((type*)&compare), *((type*)&val)); return *((T*)&tmp); } @@ -126,8 +126,10 @@ __inline__ __device__ T atomic_compare_exchange( while (active != done_active) { if (!done) { if (Impl::lock_address_cuda_space((void*)dest)) { + Kokkos::memory_fence(); return_val = *dest; if (return_val == compare) *dest = val; + Kokkos::memory_fence(); Impl::unlock_address_cuda_space((void*)dest); done = 1; } @@ -263,6 +265,7 @@ inline T atomic_compare_exchange( while (!Impl::lock_address_host_space((void*)dest)) ; + Kokkos::memory_fence(); T return_val = *dest; if (return_val == compare) { // Don't use the following line of code here: @@ -279,6 +282,7 @@ inline T atomic_compare_exchange( #ifndef KOKKOS_COMPILER_CLANG (void)tmp; #endif + Kokkos::memory_fence(); } Impl::unlock_address_host_space((void*)dest); return return_val; diff --git a/lib/kokkos/core/src/impl/Kokkos_Atomic_Compare_Exchange_Weak.hpp b/lib/kokkos/core/src/impl/Kokkos_Atomic_Compare_Exchange_Weak.hpp index e3fd1c53db3e9fdbc91a044104726c3de9dfc0b7..638b8e573e5ed65886dfb974f93252806277a3fa 100644 --- a/lib/kokkos/core/src/impl/Kokkos_Atomic_Compare_Exchange_Weak.hpp +++ b/lib/kokkos/core/src/impl/Kokkos_Atomic_Compare_Exchange_Weak.hpp @@ -343,6 +343,7 @@ inline T atomic_compare_exchange( while (!Impl::lock_address_host_space((void*)dest)) ; + Kokkos::memory_fence(); T return_val = *dest; if (return_val == compare) { // Don't use the following line of code here: @@ -359,6 +360,7 @@ inline T atomic_compare_exchange( #ifndef KOKKOS_COMPILER_CLANG (void)tmp; #endif + Kokkos::memory_fence(); } Impl::unlock_address_host_space((void*)dest); return return_val; diff --git a/lib/kokkos/core/src/impl/Kokkos_Atomic_Exchange.hpp b/lib/kokkos/core/src/impl/Kokkos_Atomic_Exchange.hpp index 4a9a786df4dccdb11a4a8db026fbd651ffcbd177..8ed130d15fcabb443dbb693ce6240ffb2ab7dd58 100644 --- a/lib/kokkos/core/src/impl/Kokkos_Atomic_Exchange.hpp +++ b/lib/kokkos/core/src/impl/Kokkos_Atomic_Exchange.hpp @@ -100,7 +100,7 @@ __inline__ __device__ T atomic_exchange( typename std::enable_if::type val) { - typedef unsigned long long int type; + using type = unsigned long long int; #if defined(KOKKOS_ENABLE_RFO_PREFETCH) _mm_prefetch((const char*)dest, _MM_HINT_ET0); @@ -133,8 +133,10 @@ atomic_exchange(volatile T* const dest, while (active != done_active) { if (!done) { if (Impl::lock_address_cuda_space((void*)dest)) { + Kokkos::memory_fence(); return_val = *dest; *dest = val; + Kokkos::memory_fence(); Impl::unlock_address_cuda_space((void*)dest); done = 1; } @@ -162,7 +164,7 @@ __inline__ __device__ void atomic_assign( typename std::enable_if::type val) { - typedef unsigned long long int type; + using type = unsigned long long int; // (void) __ullAtomicExch( (type*) dest , *((type*)&val) ); (void)atomicExch(((type*)dest), *((type*)&val)); } @@ -189,8 +191,8 @@ inline T atomic_exchange(volatile T* const dest, typename std::enable_if::type val) { - typedef typename Kokkos::Impl::if_c::type - type; + using type = + typename Kokkos::Impl::if_c::type; #if defined(KOKKOS_ENABLE_RFO_PREFETCH) _mm_prefetch((const char*)dest, _MM_HINT_ET0); #endif @@ -257,6 +259,7 @@ inline T atomic_exchange( const T>::type& val) { while (!Impl::lock_address_host_space((void*)dest)) ; + Kokkos::memory_fence(); T return_val = *dest; // Don't use the following line of code here: // @@ -272,6 +275,7 @@ inline T atomic_exchange( #ifndef KOKKOS_COMPILER_CLANG (void)tmp; #endif + Kokkos::memory_fence(); Impl::unlock_address_host_space((void*)dest); return return_val; } @@ -281,8 +285,8 @@ inline void atomic_assign(volatile T* const dest, typename std::enable_if::type val) { - typedef typename Kokkos::Impl::if_c::type - type; + using type = + typename Kokkos::Impl::if_c::type; #if defined(KOKKOS_ENABLE_RFO_PREFETCH) _mm_prefetch((const char*)dest, _MM_HINT_ET0); @@ -343,6 +347,7 @@ inline void atomic_assign( const T>::type& val) { while (!Impl::lock_address_host_space((void*)dest)) ; + Kokkos::memory_fence(); // This is likely an aggregate type with a defined // 'volatile T & operator = ( const T & ) volatile' // member. The volatile return value implicitly defines a @@ -350,7 +355,7 @@ inline void atomic_assign( // Suppress warning by casting return to void. //(void)( *dest = val ); *dest = val; - + Kokkos::memory_fence(); Impl::unlock_address_host_space((void*)dest); } //---------------------------------------------------------------------------- diff --git a/lib/kokkos/core/src/impl/Kokkos_Atomic_Fetch_Add.hpp b/lib/kokkos/core/src/impl/Kokkos_Atomic_Fetch_Add.hpp index 0a6900f84092defac80166544d44b85642a54837..131beb94f0c7004efe74958847071189a04b6930 100644 --- a/lib/kokkos/core/src/impl/Kokkos_Atomic_Fetch_Add.hpp +++ b/lib/kokkos/core/src/impl/Kokkos_Atomic_Fetch_Add.hpp @@ -160,8 +160,10 @@ atomic_fetch_add(volatile T* const dest, if (!done) { bool locked = Impl::lock_address_cuda_space((void*)dest); if (locked) { + Kokkos::memory_fence(); return_val = *dest; *dest = return_val + val; + Kokkos::memory_fence(); Impl::unlock_address_cuda_space((void*)dest); done = 1; } @@ -329,6 +331,7 @@ inline T atomic_fetch_add( const T>::type& val) { while (!Impl::lock_address_host_space((void*)dest)) ; + Kokkos::memory_fence(); T return_val = *dest; // Don't use the following line of code here: @@ -343,6 +346,7 @@ inline T atomic_fetch_add( *dest = return_val + val; const T tmp = *dest; (void)tmp; + Kokkos::memory_fence(); Impl::unlock_address_host_space((void*)dest); return return_val; diff --git a/lib/kokkos/core/src/impl/Kokkos_Atomic_Fetch_Sub.hpp b/lib/kokkos/core/src/impl/Kokkos_Atomic_Fetch_Sub.hpp index c14749f1b73c871613ce2fbd4dc3eda9f0b3abed..1acdfa4483bd8078bf123a99ba96dae34d714aef 100644 --- a/lib/kokkos/core/src/impl/Kokkos_Atomic_Fetch_Sub.hpp +++ b/lib/kokkos/core/src/impl/Kokkos_Atomic_Fetch_Sub.hpp @@ -154,8 +154,10 @@ atomic_fetch_sub(volatile T* const dest, while (active != done_active) { if (!done) { if (Impl::lock_address_cuda_space((void*)dest)) { + Kokkos::memory_fence(); return_val = *dest; *dest = return_val - val; + Kokkos::memory_fence(); Impl::unlock_address_cuda_space((void*)dest); done = 1; } @@ -274,8 +276,10 @@ inline T atomic_fetch_sub( while (!Impl::lock_address_host_space((void*)dest)) ; + Kokkos::memory_fence(); T return_val = *dest; *dest = return_val - val; + Kokkos::memory_fence(); Impl::unlock_address_host_space((void*)dest); return return_val; } diff --git a/lib/kokkos/core/src/impl/Kokkos_Atomic_Generic.hpp b/lib/kokkos/core/src/impl/Kokkos_Atomic_Generic.hpp index 49ee86b2c45b44e7a6dcfdcc567b94704caa716a..8092c5de1868b9bd0b7ae0c3435bf6ef353280ac 100644 --- a/lib/kokkos/core/src/impl/Kokkos_Atomic_Generic.hpp +++ b/lib/kokkos/core/src/impl/Kokkos_Atomic_Generic.hpp @@ -250,8 +250,10 @@ KOKKOS_INLINE_FUNCTION T atomic_fetch_oper( #ifdef KOKKOS_ACTIVE_EXECUTION_MEMORY_SPACE_HOST while (!Impl::lock_address_host_space((void*)dest)) ; + Kokkos::memory_fence(); T return_val = *dest; *dest = op.apply(return_val, val); + Kokkos::memory_fence(); Impl::unlock_address_host_space((void*)dest); return return_val; #elif defined(KOKKOS_ACTIVE_EXECUTION_MEMORY_SPACE_CUDA) @@ -268,8 +270,10 @@ KOKKOS_INLINE_FUNCTION T atomic_fetch_oper( while (active != done_active) { if (!done) { if (Impl::lock_address_cuda_space((void*)dest)) { + Kokkos::memory_fence(); return_val = *dest; *dest = op.apply(return_val, val); + Kokkos::memory_fence(); Impl::unlock_address_cuda_space((void*)dest); done = 1; } @@ -318,8 +322,10 @@ atomic_oper_fetch(const Oper& op, volatile T* const dest, #ifdef KOKKOS_ACTIVE_EXECUTION_MEMORY_SPACE_HOST while (!Impl::lock_address_host_space((void*)dest)) ; + Kokkos::memory_fence(); T return_val = op.apply(*dest, val); *dest = return_val; + Kokkos::memory_fence(); Impl::unlock_address_host_space((void*)dest); return return_val; #elif defined(KOKKOS_ACTIVE_EXECUTION_MEMORY_SPACE_CUDA) @@ -336,8 +342,10 @@ atomic_oper_fetch(const Oper& op, volatile T* const dest, while (active != done_active) { if (!done) { if (Impl::lock_address_cuda_space((void*)dest)) { + Kokkos::memory_fence(); return_val = op.apply(*dest, val); *dest = return_val; + Kokkos::memory_fence(); Impl::unlock_address_cuda_space((void*)dest); done = 1; } diff --git a/lib/kokkos/core/src/impl/Kokkos_Atomic_Generic_Secondary.hpp b/lib/kokkos/core/src/impl/Kokkos_Atomic_Generic_Secondary.hpp index 9d0172b653798f468fa6d7092a221789ba786234..7ab6358434e1c0129672fcf04a7d5eba83e61e87 100644 --- a/lib/kokkos/core/src/impl/Kokkos_Atomic_Generic_Secondary.hpp +++ b/lib/kokkos/core/src/impl/Kokkos_Atomic_Generic_Secondary.hpp @@ -72,5 +72,15 @@ KOKKOS_INLINE_FUNCTION void atomic_sub(volatile T* const dest, const T val) { (void)atomic_fetch_sub(dest, val); } +template +KOKKOS_INLINE_FUNCTION void atomic_mul(volatile T* const dest, const T val) { + (void)atomic_fetch_mul(dest, val); +} + +template +KOKKOS_INLINE_FUNCTION void atomic_div(volatile T* const dest, const T val) { + (void)atomic_fetch_div(dest, val); +} + } // namespace Kokkos #endif diff --git a/lib/kokkos/core/src/impl/Kokkos_Atomic_View.hpp b/lib/kokkos/core/src/impl/Kokkos_Atomic_View.hpp index c3719bed229ccfd95b0b34cff3e6bb967900a7d9..3916a1b03d58ba718ce9492b5270b071bcc4b55b 100644 --- a/lib/kokkos/core/src/impl/Kokkos_Atomic_View.hpp +++ b/lib/kokkos/core/src/impl/Kokkos_Atomic_View.hpp @@ -57,9 +57,9 @@ struct AtomicViewConstTag {}; template class AtomicDataElement { public: - typedef typename ViewTraits::value_type value_type; - typedef typename ViewTraits::const_value_type const_value_type; - typedef typename ViewTraits::non_const_value_type non_const_value_type; + using value_type = typename ViewTraits::value_type; + using const_value_type = typename ViewTraits::const_value_type; + using non_const_value_type = typename ViewTraits::non_const_value_type; volatile value_type* const ptr; KOKKOS_INLINE_FUNCTION @@ -367,12 +367,12 @@ struct Kokkos_Atomic_is_only_allowed_with_32bit_and_64bit_scalars; template <> struct Kokkos_Atomic_is_only_allowed_with_32bit_and_64bit_scalars<4> { - typedef int type; + using type = int; }; template <> struct Kokkos_Atomic_is_only_allowed_with_32bit_and_64bit_scalars<8> { - typedef int64_t type; + using type = int64_t; }; } // namespace Impl diff --git a/lib/kokkos/core/src/impl/Kokkos_Atomic_Windows.hpp b/lib/kokkos/core/src/impl/Kokkos_Atomic_Windows.hpp index c5d3466c6c1b59a56019a24e5f94256d75f012bd..9be58a3edce8fb6964c6559af1cf0d09b35891a0 100644 --- a/lib/kokkos/core/src/impl/Kokkos_Atomic_Windows.hpp +++ b/lib/kokkos/core/src/impl/Kokkos_Atomic_Windows.hpp @@ -73,8 +73,9 @@ __attribute__((aligned(16))) ; } // namespace Impl +#ifndef __CUDA_ARCH__ template -KOKKOS_INLINE_FUNCTION T atomic_compare_exchange( +inline T atomic_compare_exchange( volatile T* const dest, const T& compare, typename std::enable_if::type val) { union U { @@ -89,7 +90,7 @@ KOKKOS_INLINE_FUNCTION T atomic_compare_exchange( } template -KOKKOS_INLINE_FUNCTION T atomic_compare_exchange( +inline T atomic_compare_exchange( volatile T* const dest, const T& compare, typename std::enable_if::type val) { union U { @@ -104,7 +105,7 @@ KOKKOS_INLINE_FUNCTION T atomic_compare_exchange( } template -KOKKOS_INLINE_FUNCTION T atomic_compare_exchange( +inline T atomic_compare_exchange( volatile T* const dest, const T& compare, typename std::enable_if::type val) { union U { @@ -119,7 +120,7 @@ KOKKOS_INLINE_FUNCTION T atomic_compare_exchange( } template -KOKKOS_INLINE_FUNCTION T atomic_compare_exchange( +inline T atomic_compare_exchange( volatile T* const dest, const T& compare, typename std::enable_if::type val) { @@ -135,7 +136,7 @@ KOKKOS_INLINE_FUNCTION T atomic_compare_exchange( } template -KOKKOS_INLINE_FUNCTION T atomic_compare_exchange( +inline T atomic_compare_exchange( volatile T* const dest, const T& compare, typename std::enable_if::type val) { @@ -153,12 +154,11 @@ KOKKOS_INLINE_FUNCTION T atomic_compare_exchange( } template -KOKKOS_INLINE_FUNCTION T atomic_compare_exchange_strong(volatile T* const dest, - const T& compare, - const T& val) { +inline T atomic_compare_exchange_strong(volatile T* const dest, + const T& compare, const T& val) { return atomic_compare_exchange(dest, compare, val); } - +#endif } // namespace Kokkos #endif #endif diff --git a/lib/kokkos/core/src/impl/Kokkos_BitOps.hpp b/lib/kokkos/core/src/impl/Kokkos_BitOps.hpp index 7d2cdf0d4af43fc1b0c2b0f96654cc78bbe1e324..59011e66752850aa8dc1d27057adf6b48c0dc193 100644 --- a/lib/kokkos/core/src/impl/Kokkos_BitOps.hpp +++ b/lib/kokkos/core/src/impl/Kokkos_BitOps.hpp @@ -53,19 +53,13 @@ #include #endif -#if defined(__HCC_ACCELERATOR__) -#include -#endif - namespace Kokkos { KOKKOS_FORCEINLINE_FUNCTION int log2(unsigned i) { enum : int { shift = sizeof(unsigned) * CHAR_BIT - 1 }; -#if defined(__CUDA_ARCH__) +#if defined(__CUDA_ARCH__) || defined(__HIP_DEVICE_COMPILE__) return shift - __clz(i); -#elif defined(__HCC_ACCELERATOR__) - return (int)hc::__firstbit_u32_u32(i); #elif defined(KOKKOS_COMPILER_INTEL) return _bit_scan_reverse(i); #elif defined(KOKKOS_COMPILER_IBM) @@ -94,10 +88,8 @@ KOKKOS_FORCEINLINE_FUNCTION int bit_first_zero(unsigned i) noexcept { enum : unsigned { full = ~0u }; -#if defined(__CUDA_ARCH__) +#if defined(__CUDA_ARCH__) || defined(__HIP_DEVICE_COMPILE__) return full != i ? __ffs(~i) - 1 : -1; -#elif defined(__HCC_ACCELERATOR__) - return full != i ? (int)hc::__firstbit_u32_u32(~i) : -1; #elif defined(KOKKOS_COMPILER_INTEL) return full != i ? _bit_scan_forward(~i) : -1; #elif defined(KOKKOS_COMPILER_IBM) @@ -118,10 +110,8 @@ int bit_first_zero(unsigned i) noexcept { KOKKOS_FORCEINLINE_FUNCTION int bit_scan_forward(unsigned i) { -#if defined(__CUDA_ARCH__) +#if defined(__CUDA_ARCH__) || defined(__HIP_DEVICE_COMPILE__) return __ffs(i) - 1; -#elif defined(__HCC_ACCELERATOR__) - return (int)hc::__firstbit_u32_u32(i); #elif defined(KOKKOS_COMPILER_INTEL) return _bit_scan_forward(i); #elif defined(KOKKOS_COMPILER_IBM) @@ -143,10 +133,8 @@ int bit_scan_forward(unsigned i) { /// Count the number of bits set. KOKKOS_FORCEINLINE_FUNCTION int bit_count(unsigned i) { -#if defined(__CUDA_ARCH__) +#if defined(__CUDA_ARCH__) || defined(__HIP_DEVICE_COMPILE__) return __popc(i); -#elif defined(__HCC_ACCELERATOR__) - return (int)hc::__popcount_u32_b32(i); #elif defined(__INTEL_COMPILER) return _popcnt32(i); #elif defined(KOKKOS_COMPILER_IBM) diff --git a/lib/kokkos/core/src/impl/Kokkos_CPUDiscovery.cpp b/lib/kokkos/core/src/impl/Kokkos_CPUDiscovery.cpp index 3b003f84eb2cc9b1e51e8bf25a3475178b16c4ec..3251cb0f5c8c5daa3e6693d8bda536a9a3de8d0f 100644 --- a/lib/kokkos/core/src/impl/Kokkos_CPUDiscovery.cpp +++ b/lib/kokkos/core/src/impl/Kokkos_CPUDiscovery.cpp @@ -45,13 +45,17 @@ #ifdef _WIN32 #define WIN32_LEAN_AND_MEAN #include -#elif !defined(__APPLE__) +#elif defined(__APPLE__) +#include +#include +#else #include #endif #include #include #include #include +#include namespace Kokkos { namespace Impl { @@ -64,6 +68,16 @@ int processors_per_node() { return -1; } return num_procs; +#elif defined(__APPLE__) + int ncpu; + int activecpu; + size_t size = sizeof(int); + sysctlbyname("hw.ncpu", &ncpu, &size, nullptr, 0); + sysctlbyname("hw.activecpu", &activecpu, &size, nullptr, 0); + if (ncpu < 1 || activecpu < 1) + return -1; + else + return activecpu; #else return -1; #endif @@ -73,15 +87,15 @@ int mpi_ranks_per_node() { char *str; int ppn = 1; // if ((str = getenv("SLURM_TASKS_PER_NODE"))) { - // ppn = atoi(str); + // ppn = std::stoi(str); // if(ppn<=0) ppn = 1; //} if ((str = getenv("MV2_COMM_WORLD_LOCAL_SIZE"))) { - ppn = atoi(str); + ppn = std::stoi(str); if (ppn <= 0) ppn = 1; } if ((str = getenv("OMPI_COMM_WORLD_LOCAL_SIZE"))) { - ppn = atoi(str); + ppn = std::stoi(str); if (ppn <= 0) ppn = 1; } return ppn; @@ -91,13 +105,13 @@ int mpi_local_rank_on_node() { char *str; int local_rank = 0; // if ((str = getenv("SLURM_LOCALID"))) { - // local_rank = atoi(str); + // local_rank = std::stoi(str); //} if ((str = getenv("MV2_COMM_WORLD_LOCAL_RANK"))) { - local_rank = atoi(str); + local_rank = std::stoi(str); } if ((str = getenv("OMPI_COMM_WORLD_LOCAL_RANK"))) { - local_rank = atoi(str); + local_rank = std::stoi(str); } return local_rank; } diff --git a/lib/kokkos/core/src/impl/Kokkos_ClockTic.hpp b/lib/kokkos/core/src/impl/Kokkos_ClockTic.hpp index 386b5918d03c4d88b2a87341f4da23e3120f863f..ab83f0aabdb1abb67cbceacf08d9fc40b924ba4c 100644 --- a/lib/kokkos/core/src/impl/Kokkos_ClockTic.hpp +++ b/lib/kokkos/core/src/impl/Kokkos_ClockTic.hpp @@ -48,6 +48,9 @@ #include #include #include +#ifdef KOKKOS_ENABLE_OPENMPTARGET +#include +#endif namespace Kokkos { namespace Impl { @@ -64,9 +67,10 @@ namespace Impl { * concurrent threads will have high likelihood of * having different index-seed values. */ + KOKKOS_FORCEINLINE_FUNCTION uint64_t clock_tic(void) noexcept { -#if defined(__CUDA_ARCH__) +#if defined(__CUDA_ARCH__) || defined(__HIP_DEVICE_COMPILE__) // Return value of 64-bit hi-res clock register. @@ -76,9 +80,7 @@ uint64_t clock_tic(void) noexcept { // Get clock register return hc::__clock_u64(); #elif defined(KOKKOS_ENABLE_OPENMPTARGET) - return (uint64_t)std::chrono::high_resolution_clock::now() - .time_since_epoch() - .count(); + return uint64_t(omp_get_wtime() * 1.e9); #elif defined(__i386__) || defined(__x86_64) // Return value of 64-bit hi-res clock register. diff --git a/lib/kokkos/core/src/impl/Kokkos_Combined_Reducer.hpp b/lib/kokkos/core/src/impl/Kokkos_Combined_Reducer.hpp new file mode 100644 index 0000000000000000000000000000000000000000..093ce70d882000faa448e8feb10e66965f4269ab --- /dev/null +++ b/lib/kokkos/core/src/impl/Kokkos_Combined_Reducer.hpp @@ -0,0 +1,689 @@ +/* +//@HEADER +// ************************************************************************ +// +// Kokkos v. 3.0 +// Copyright (2020) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). +// +// Under the terms of Contract DE-NA0003525 with NTESS, +// the U.S. Government retains certain rights in this software. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// +// 3. Neither the name of the Corporation nor the names of the +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY +// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE +// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// +// Questions? Contact Christian R. Trott (crtrott@sandia.gov) +// +// ************************************************************************ +//@HEADER +*/ + +#ifndef KOKKOS_COMBINED_REDUCER_HPP +#define KOKKOS_COMBINED_REDUCER_HPP + +#include +#include + +#include +#include +#include + +namespace Kokkos { +namespace Impl { + +// TODO move this to a more general backporting facilities file + +// acts like void for comma fold emulation +struct _fold_comma_emulation_return {}; + +template +KOKKOS_INLINE_FUNCTION void emulate_fold_comma_operator(Ts&&...) noexcept {} + +//============================================================================== +// {{{1 + +// Note: the index is only to avoid repeating the same base class multiple times +template +struct CombinedReducerValueItemImpl { + public: + using value_type = ValueType; + + private: + value_type m_value; + + public: + KOKKOS_DEFAULTED_FUNCTION constexpr CombinedReducerValueItemImpl() = default; + KOKKOS_DEFAULTED_FUNCTION constexpr CombinedReducerValueItemImpl( + CombinedReducerValueItemImpl const&) = default; + KOKKOS_DEFAULTED_FUNCTION constexpr CombinedReducerValueItemImpl( + CombinedReducerValueItemImpl&&) = default; + KOKKOS_DEFAULTED_FUNCTION KOKKOS_CONSTEXPR_14 CombinedReducerValueItemImpl& + operator=(CombinedReducerValueItemImpl const&) = default; + KOKKOS_DEFAULTED_FUNCTION KOKKOS_CONSTEXPR_14 CombinedReducerValueItemImpl& + operator=(CombinedReducerValueItemImpl&&) = default; + KOKKOS_DEFAULTED_FUNCTION + ~CombinedReducerValueItemImpl() = default; + explicit KOKKOS_FUNCTION CombinedReducerValueItemImpl(value_type arg_value) + : m_value(std::move(arg_value)) {} + + KOKKOS_FORCEINLINE_FUNCTION + KOKKOS_CONSTEXPR_14 value_type& ref() & noexcept { return m_value; } + KOKKOS_FORCEINLINE_FUNCTION + constexpr value_type const& ref() const& noexcept { return m_value; } + KOKKOS_FORCEINLINE_FUNCTION + value_type volatile& ref() volatile& noexcept { return m_value; } + KOKKOS_FORCEINLINE_FUNCTION + value_type const volatile& ref() const volatile& noexcept { return m_value; } +}; + +//============================================================================== + +template +struct CombinedReducerValueImpl; + +template +struct CombinedReducerValueImpl, + ValueTypes...> + : CombinedReducerValueItemImpl... { + public: + KOKKOS_DEFAULTED_FUNCTION + constexpr CombinedReducerValueImpl() = default; + KOKKOS_DEFAULTED_FUNCTION + constexpr CombinedReducerValueImpl(CombinedReducerValueImpl const&) = default; + KOKKOS_DEFAULTED_FUNCTION + constexpr CombinedReducerValueImpl(CombinedReducerValueImpl&&) = default; + KOKKOS_DEFAULTED_FUNCTION + KOKKOS_CONSTEXPR_14 CombinedReducerValueImpl& operator=( + CombinedReducerValueImpl const&) = default; + KOKKOS_DEFAULTED_FUNCTION + KOKKOS_CONSTEXPR_14 CombinedReducerValueImpl& operator=( + CombinedReducerValueImpl&&) = default; + KOKKOS_DEFAULTED_FUNCTION + ~CombinedReducerValueImpl() = default; + + KOKKOS_FUNCTION + explicit CombinedReducerValueImpl(ValueTypes... arg_values) + : CombinedReducerValueItemImpl( + std::move(arg_values))... {} + + template + KOKKOS_INLINE_FUNCTION ValueType& get() & noexcept { + return this->CombinedReducerValueItemImpl::ref(); + } + template + KOKKOS_INLINE_FUNCTION ValueType const& get() const& noexcept { + return this->CombinedReducerValueItemImpl::ref(); + } + template + KOKKOS_INLINE_FUNCTION ValueType volatile& get() volatile& noexcept { + return this->CombinedReducerValueItemImpl::ref(); + } + template + KOKKOS_INLINE_FUNCTION ValueType const volatile& get() const + volatile& noexcept { + return this->CombinedReducerValueItemImpl::ref(); + } +}; + +//============================================================================== + +// TODO Empty base optmization? +template +// requires Kokkos::is_reducer +struct CombinedReducerStorageImpl { + public: + using value_type = typename Reducer::value_type; + + private: + Reducer m_reducer; + + public: + KOKKOS_INLINE_FUNCTION + explicit constexpr CombinedReducerStorageImpl(Reducer arg_reducer) + : m_reducer(std::move(arg_reducer)) {} + + // Leading underscores to make it clear that this class is not intended to + // model Reducer + + KOKKOS_INLINE_FUNCTION + KOKKOS_CONSTEXPR_14 _fold_comma_emulation_return + _init(value_type& val) const { + m_reducer.init(val); + return _fold_comma_emulation_return{}; + } + + KOKKOS_INLINE_FUNCTION KOKKOS_CONSTEXPR_14 _fold_comma_emulation_return + _join(value_type& dest, value_type const& src) const { + m_reducer.join(dest, src); + return _fold_comma_emulation_return{}; + } + + KOKKOS_INLINE_FUNCTION KOKKOS_CONSTEXPR_14 _fold_comma_emulation_return + _join(value_type volatile& dest, value_type const volatile& src) const { + m_reducer.join(dest, src); + return _fold_comma_emulation_return{}; + } +}; + +// end CombinedReducerStorage }}}1 +//============================================================================== + +//============================================================================== +// {{{1 + +struct _construct_combined_reducer_from_args_tag {}; + +template +KOKKOS_INLINE_FUNCTION auto _get_value_from_combined_reducer_ctor_arg( + T&& arg) noexcept -> + typename std::enable_if< + !is_view::type>::value && + !is_reducer::type>::value, + typename std::decay::type>::type { + return arg; +} + +template +KOKKOS_INLINE_FUNCTION auto _get_value_from_combined_reducer_ctor_arg( + T&& arg) noexcept -> + typename std::enable_if::type>::value, + typename std::decay::type>::type::value_type { + return arg(); +} + +template +KOKKOS_INLINE_FUNCTION auto _get_value_from_combined_reducer_ctor_arg( + T&& arg) noexcept -> + typename std::enable_if::type>::value, + typename std::decay::type>::type::value_type { + return arg.reference(); +} + +template +struct CombinedReducerImpl; + +template +struct CombinedReducerImpl, Space, + Reducers...> + : private CombinedReducerStorageImpl... { + public: + using reducer = CombinedReducerImpl, Space, + Reducers...>; + using value_type = CombinedReducerValueImpl, + typename Reducers::value_type...>; + using result_view_type = + Kokkos::View; + + private: + result_view_type m_value_view; + + public: + KOKKOS_DEFAULTED_FUNCTION constexpr CombinedReducerImpl() = default; + KOKKOS_DEFAULTED_FUNCTION constexpr CombinedReducerImpl( + CombinedReducerImpl const&) = default; + KOKKOS_DEFAULTED_FUNCTION constexpr CombinedReducerImpl( + CombinedReducerImpl&&) = default; + KOKKOS_DEFAULTED_FUNCTION KOKKOS_CONSTEXPR_14 CombinedReducerImpl& operator=( + CombinedReducerImpl const&) = default; + KOKKOS_DEFAULTED_FUNCTION KOKKOS_CONSTEXPR_14 CombinedReducerImpl& operator=( + CombinedReducerImpl&&) = default; + + KOKKOS_DEFAULTED_FUNCTION ~CombinedReducerImpl() = default; + + template + KOKKOS_FUNCTION constexpr explicit CombinedReducerImpl( + value_type& value, ReducersDeduced&&... reducers) noexcept + : CombinedReducerStorageImpl((ReducersDeduced &&) + reducers)..., + m_value_view(&value) {} + + KOKKOS_FUNCTION KOKKOS_CONSTEXPR_14 void join(value_type& dest, + value_type const& src) const + noexcept { + emulate_fold_comma_operator( + this->CombinedReducerStorageImpl::_join( + dest.template get(), + src.template get())...); + } + + KOKKOS_FUNCTION void join(value_type volatile& dest, + value_type const volatile& src) const noexcept { + emulate_fold_comma_operator( + this->CombinedReducerStorageImpl::_join( + dest.template get(), + src.template get())...); + } + + KOKKOS_FUNCTION KOKKOS_CONSTEXPR_14 void init(value_type& dest) const + noexcept { + emulate_fold_comma_operator( + this->CombinedReducerStorageImpl::_init( + dest.template get())...); + } + + // TODO figure out if we also need to call through to final + + KOKKOS_FUNCTION + constexpr bool references_scalar() const noexcept { + // For now, always pretend that we reference a scalar since we need to + // block to do the write-back because the references may not be contiguous + // in memory and the backends currently assume this and just do a single + // deep copy back to a chunk of memory associated with the output argument + return true; + } + + KOKKOS_FUNCTION + constexpr result_view_type const& view() const noexcept { + return m_value_view; + } + + KOKKOS_FUNCTION + KOKKOS_CONSTEXPR_14 static void write_value_back_to_original_references( + value_type const& value, + Reducers const&... reducers_that_reference_original_values) noexcept { + emulate_fold_comma_operator( + (reducers_that_reference_original_values.view()() = + value.template get())...); + } +}; + +// Apparently this can't be an alias template because of a bug/unimplemented +// feature in GCC's name mangler. But in this case, this amounts to the same +// thing. +template +struct CombinedReducer + : CombinedReducerImpl, Space, + Reducers...> { + using base_t = CombinedReducerImpl, + Space, Reducers...>; + using base_t::base_t; + using reducer = CombinedReducer; +}; + +// end CombinedReducer }}}1 +//============================================================================== + +//============================================================================== +// {{{1 + +template +struct CombinedReductionFunctorWrapperImpl; + +template +struct CombinedReductionFunctorWrapperImpl, + Functor, Space, Reducers...> { + private: + Functor m_functor; + + public: + //------------------------------------------------------------------------------ + // {{{2 + + using reducer_type = CombinedReducer; + + // Prevent Kokkos from attempting to deduce value_type + using value_type = typename reducer_type::value_type; + + // end type aliases }}}2 + //------------------------------------------------------------------------------ + + //---------------------------------------------------------------------------- + // {{{2 + + KOKKOS_DEFAULTED_FUNCTION + constexpr CombinedReductionFunctorWrapperImpl() noexcept = default; + KOKKOS_DEFAULTED_FUNCTION + constexpr CombinedReductionFunctorWrapperImpl( + CombinedReductionFunctorWrapperImpl const&) = default; + KOKKOS_DEFAULTED_FUNCTION + constexpr CombinedReductionFunctorWrapperImpl( + CombinedReductionFunctorWrapperImpl&&) = default; + KOKKOS_DEFAULTED_FUNCTION + KOKKOS_CONSTEXPR_14 CombinedReductionFunctorWrapperImpl& operator=( + CombinedReductionFunctorWrapperImpl const&) = default; + KOKKOS_DEFAULTED_FUNCTION + KOKKOS_CONSTEXPR_14 CombinedReductionFunctorWrapperImpl& operator=( + CombinedReductionFunctorWrapperImpl&&) = default; + KOKKOS_DEFAULTED_FUNCTION + ~CombinedReductionFunctorWrapperImpl() = default; + + KOKKOS_INLINE_FUNCTION + constexpr explicit CombinedReductionFunctorWrapperImpl(Functor arg_functor) + : m_functor(std::move(arg_functor)) {} + + // end Ctors, destructor, and assignment }}}2 + //---------------------------------------------------------------------------- + + //---------------------------------------------------------------------------- + // {{{2 + + template + KOKKOS_FUNCTION void operator()(IndexOrMemberType&& arg_first, + value_type& out) const { + m_functor((IndexOrMemberType &&) arg_first, + out.template get()...); + } + + // Tagged version + template + KOKKOS_FUNCTION void operator()(Tag&& arg_tag, IndexOrMemberType&& arg_first, + value_type& out) const { + m_functor((Tag &&) arg_tag, (IndexOrMemberType &&) arg_first, + out.template get()...); + } + + // end call operator }}}2 + //---------------------------------------------------------------------------- + + // These are things that need to be done if we decide to ever support + // functor-customized join/init/final hooks with combined reducers. For now, + // they are explicitly not supported. + // TODO: forward join() function to user functor hook, or just ignore it? + // TODO: forward init() function to user functor hook, or just ignore it? + // TODO: forward final() function to user functor hook, or just ignore it? +}; + +template +struct CombinedReductionFunctorWrapper + : CombinedReductionFunctorWrapperImpl< + make_index_sequence, Functor, Space, + Reducers...> { + using base_t = CombinedReductionFunctorWrapperImpl< + make_index_sequence, Functor, Space, Reducers...>; + using base_t::base_t; +}; + +// end CombinedReductionFunctorWrapper }}}1 +//============================================================================== + +//------------------------------------------------------------------------------ +// {{{2 + +template +KOKKOS_INLINE_FUNCTION constexpr typename std::enable_if< + Kokkos::is_reducer::type>::value, + typename std::decay::type>::type +_make_reducer_from_arg(Reducer&& arg_reducer) noexcept { + return arg_reducer; +} + +// Two purposes: SFINAE-safety for the `View` case and laziness for the return +// value otherwise to prevent extra instantiations of the Kokkos::Sum template +template +struct _wrap_with_kokkos_sum { + using type = Kokkos::Sum; +}; + +template +struct _wrap_with_kokkos_sum< + Space, T, typename std::enable_if::value>::type> { + using type = Kokkos::Sum; +}; + +// TODO better error message for the case when a const& to a scalar is passed in +// (this is needed in general, though) +template +KOKKOS_INLINE_FUNCTION constexpr typename std::enable_if< + !Kokkos::is_reducer::type>::value, + _wrap_with_kokkos_sum::type>>::type::type +_make_reducer_from_arg(T&& arg_scalar) noexcept { + return + typename _wrap_with_kokkos_sum::type>::type{ + arg_scalar}; +} + +// This can't be an alias template because GCC doesn't know how to mangle +// decltype expressions in return statements (and, even though every compiler +// is supposed to, GCC is the only one that does dependent alias template +// substitution correctly and tries to do the mangling, aparently). +template +struct _reducer_from_arg { + using type = decltype(Impl::_make_reducer_from_arg( + std::declval())); +}; +template +using _reducer_from_arg_t = + typename _reducer_from_arg::type; + +// end _make_reducer_from_arg }}}2 +//------------------------------------------------------------------------------ + +template +KOKKOS_INLINE_FUNCTION constexpr CombinedReducerValueImpl< + make_index_sequence, + typename _reducer_from_arg_t::value_type...> +make_combined_reducer_value(ReferencesOrViewsOrReducers&&... args) { + //---------------------------------------- + // This is a bit round-about and we should make sure it doesn't have + // any performance implications. Basically, we make a reducer out of anything + // just to get the value back out here (for the sake of uniformity). Most + // compilers should figure out what's going on, but we should double-check + // that. + return CombinedReducerValueImpl< + make_index_sequence, + typename _reducer_from_arg_t::value_type...>{ + // This helper function is now poorly named after refactoring. + _get_value_from_combined_reducer_ctor_arg((ReferencesOrViewsOrReducers &&) + args)...}; + //---------------------------------------- +} + +template +KOKKOS_INLINE_FUNCTION constexpr CombinedReducer< + Space, _reducer_from_arg_t...> +make_combined_reducer(ValueType& value, ReferencesOrViewsOrReducers&&... args) { + //---------------------------------------- + // This is doing more or less the same thing of making every argument into + // a reducer, just in a different place than in `make_combined_reducer_value`, + // so we should probably eventually make this read a little more similarly + using reducer_type = CombinedReducer< + Space, _reducer_from_arg_t...>; + return reducer_type(value, + _reducer_from_arg_t{ + (ReferencesOrViewsOrReducers &&) args}...); + //---------------------------------------- +} + +template +KOKKOS_INLINE_FUNCTION constexpr CombinedReductionFunctorWrapper< + Functor, Space, _reducer_from_arg_t...> +make_wrapped_combined_functor(Functor const& functor, Space, + ReferencesOrViewsOrReducers&&...) { + //---------------------------------------- + return CombinedReductionFunctorWrapper< + Functor, Space, + _reducer_from_arg_t...>(functor); + //---------------------------------------- +} + +} // end namespace Impl + +//============================================================================== +// {{{1 + +// These need to be forwarding references so that we can deduce const-ness, +// but none of them should be forwarded (and, indeed, none of them should be +// rvalue references) +template +auto parallel_reduce(std::string const& label, PolicyType const& policy, + Functor const& functor, ReturnType1&& returnType1, + ReturnType2&& returnType2, + ReturnTypes&&... returnTypes) noexcept -> + typename std::enable_if< + Kokkos::Impl::is_execution_policy::value>::type { + //---------------------------------------- + // Since we don't support asynchronous combined reducers yet for various + // reasons, we actually just want to work with the pointers and references + // directly + using space_type = Kokkos::DefaultHostExecutionSpace::memory_space; + + auto value = Impl::make_combined_reducer_value( + returnType1, returnType2, returnTypes...); + + using combined_reducer_type = Impl::CombinedReducer< + space_type, Impl::_reducer_from_arg_t, + Impl::_reducer_from_arg_t, + Impl::_reducer_from_arg_t...>; + auto combined_reducer = Impl::make_combined_reducer( + value, returnType1, returnType2, returnTypes...); + + auto combined_functor = Impl::make_wrapped_combined_functor( + functor, space_type{}, returnType1, returnType2, returnTypes...); + + using combined_functor_type = decltype(combined_functor); + static_assert( + Impl::FunctorDeclaresValueType::value, + "value_type not properly detected"); + using reduce_adaptor_t = + Impl::ParallelReduceAdaptor; + + reduce_adaptor_t::execute(label, policy, combined_functor, combined_reducer); + Impl::ParallelReduceFence::fence(policy.space(), + combined_reducer); + combined_reducer.write_value_back_to_original_references( + value, Impl::_make_reducer_from_arg(returnType1), + Impl::_make_reducer_from_arg(returnType2), + Impl::_make_reducer_from_arg(returnTypes)...); + //---------------------------------------- +} + +template +auto parallel_reduce(PolicyType const& policy, Functor const& functor, + ReturnType1&& returnType1, ReturnType2&& returnType2, + ReturnTypes&&... returnTypes) noexcept -> + typename std::enable_if< + Kokkos::Impl::is_execution_policy::value>::type { + //---------------------------------------- + Kokkos::parallel_reduce("", policy, functor, + std::forward(returnType1), + std::forward(returnType2), + std::forward(returnTypes)...); + //---------------------------------------- +} + +template +void parallel_reduce(std::string const& label, size_t n, Functor const& functor, + ReturnType1&& returnType1, ReturnType2&& returnType2, + ReturnTypes&&... returnTypes) noexcept { + Kokkos::parallel_reduce(label, + RangePolicy(0, n), + functor, std::forward(returnType1), + std::forward(returnType2), + std::forward(returnTypes)...); +} + +template +void parallel_reduce(size_t n, Functor const& functor, + ReturnType1&& returnType1, ReturnType2&& returnType2, + ReturnTypes&&... returnTypes) noexcept { + Kokkos::parallel_reduce("", n, functor, + std::forward(returnType1), + std::forward(returnType2), + std::forward(returnTypes)...); +} + +//------------------------------------------------------------------------------ +// {{{2 + +// Copied three times because that's the best way we have right now to match +// Impl::TeamThreadRangeBoundariesStruct, +// Impl::ThreadVectorRangeBoundariesStruct, and +// Impl::TeamVectorRangeBoundariesStruct. +// TODO make these work after restructuring + +// template +// KOKKOS_INLINE_FUNCTION void parallel_reduce( +// std::string const& label, +// Impl::TeamThreadRangeBoundariesStruct const& +// boundaries, Functor const& functor, ReturnType1&& returnType1, +// ReturnType2&& returnType2, ReturnTypes&&... returnTypes) noexcept { +// const auto combined_reducer = +// Impl::make_combined_reducer( +// returnType1, returnType2, returnTypes...); +// +// auto combined_functor = Impl::make_wrapped_combined_functor( +// functor, Kokkos::AnonymousSpace{}, returnType1, returnType2, +// returnTypes...); +// +// parallel_reduce(label, boundaries, combined_functor, combined_reducer); +//} +// +// template +// KOKKOS_INLINE_FUNCTION void parallel_reduce( +// std::string const& label, +// Impl::ThreadVectorRangeBoundariesStruct const& +// boundaries, +// Functor const& functor, ReturnType1&& returnType1, +// ReturnType2&& returnType2, ReturnTypes&&... returnTypes) noexcept { +// const auto combined_reducer = +// Impl::make_combined_reducer( +// returnType1, returnType2, returnTypes...); +// +// auto combined_functor = Impl::make_wrapped_combined_functor( +// functor, Kokkos::AnonymousSpace{}, returnType1, returnType2, +// returnTypes...); +// +// parallel_reduce(label, boundaries, combined_functor, combined_reducer); +//} + +// template +// KOKKOS_INLINE_FUNCTION void parallel_reduce( +// std::string const& label, +// Impl::TeamVectorRangeBoundariesStruct const& +// boundaries, Functor const& functor, ReturnType1&& returnType1, +// ReturnType2&& returnType2, ReturnTypes&&... returnTypes) noexcept { +// const auto combined_reducer = +// Impl::make_combined_reducer( +// returnType1, returnType2, returnTypes...); +// +// auto combined_functor = Impl::make_wrapped_combined_functor( +// functor, Kokkos::AnonymousSpace{}, returnType1, returnType2, +// returnTypes...); +// +// parallel_reduce(label, boundaries, combined_functor, combined_reducer); +//} + +// end Team overloads }}}2 +//------------------------------------------------------------------------------ + +// end Overloads of parallel_reduce for multiple outputs }}}1 +//============================================================================== + +} // namespace Kokkos + +#endif // KOKKOS_COMBINED_REDUCER_HPP diff --git a/lib/kokkos/core/src/impl/Kokkos_ConcurrentBitset.hpp b/lib/kokkos/core/src/impl/Kokkos_ConcurrentBitset.hpp index 4f10fb141e18a40f6210126ad53d602ba72212ce..9cdc888e33d25666079eedbb954bfc7dcbd0bd30 100644 --- a/lib/kokkos/core/src/impl/Kokkos_ConcurrentBitset.hpp +++ b/lib/kokkos/core/src/impl/Kokkos_ConcurrentBitset.hpp @@ -123,7 +123,7 @@ struct concurrent_bitset { , uint32_t const state_header = 0 /* optional header */ ) noexcept { - typedef Kokkos::pair type; + using type = Kokkos::pair; const uint32_t bit_bound = 1 << bit_bound_lg2; const uint32_t word_count = bit_bound >> bits_per_int_lg2; @@ -208,7 +208,7 @@ struct concurrent_bitset { , uint32_t const state_header = 0 /* optional header */ ) noexcept { - typedef Kokkos::pair type; + using type = Kokkos::pair; if ((max_bit_count < bit_bound) || (state_header & ~state_header_mask) || (bit_bound <= bit)) { diff --git a/lib/kokkos/core/src/impl/Kokkos_Core.cpp b/lib/kokkos/core/src/impl/Kokkos_Core.cpp index 9640e0fccb7595c884ace5a9097cbb09026400ce..27f89bca8a7295f4ee2d00eb9170d5cc24ab8e09 100644 --- a/lib/kokkos/core/src/impl/Kokkos_Core.cpp +++ b/lib/kokkos/core/src/impl/Kokkos_Core.cpp @@ -91,8 +91,8 @@ int get_ctest_gpu(const char* local_rank_str) { } // Make sure rank is within bounds of resource groups specified by CTest - auto resource_group_count = std::atoi(ctest_resource_group_count_str); - auto local_rank = std::atoi(local_rank_str); + auto resource_group_count = std::stoi(ctest_resource_group_count_str); + auto local_rank = std::stoi(local_rank_str); if (local_rank >= resource_group_count) { std::ostringstream ss; ss << "Error: local rank " << local_rank @@ -163,42 +163,18 @@ int get_ctest_gpu(const char* local_rank_str) { } std::string id(resource_str + 3, comma - resource_str - 3); - return std::atoi(id.c_str()); + return std::stoi(id.c_str()); } namespace { -bool is_unsigned_int(const char* str) { - const size_t len = strlen(str); - for (size_t i = 0; i < len; ++i) { - if (!isdigit(str[i])) { - return false; - } - } - return true; -} - -void initialize_backends(const InitArguments& args) { -// This is an experimental setting -// For KNL in Flat mode this variable should be set, so that -// memkind allocates high bandwidth memory correctly. -#ifdef KOKKOS_ENABLE_HBWSPACE - setenv("MEMKIND_HBW_NODES", "1", 0); -#endif - - // Protect declarations, to prevent "unused variable" warnings. -#if defined(KOKKOS_ENABLE_OPENMP) || defined(KOKKOS_ENABLE_THREADS) || \ - defined(KOKKOS_ENABLE_OPENMPTARGET) || defined(KOKKOS_ENABLE_HPX) - const int num_threads = args.num_threads; -#endif -#if defined(KOKKOS_ENABLE_THREADS) || defined(KOKKOS_ENABLE_OPENMPTARGET) - const int use_numa = args.num_numa; -#endif #if defined(KOKKOS_ENABLE_CUDA) || defined(KOKKOS_ENABLE_ROCM) || \ defined(KOKKOS_ENABLE_HIP) +int get_gpu(const InitArguments& args) { int use_gpu = args.device_id; const int ndevices = args.ndevices; const int skip_device = args.skip_device; + // if the exact device is not set, but ndevices was given, assign round-robin // using on-node MPI rank if (use_gpu < 0) { @@ -220,7 +196,7 @@ void initialize_backends(const InitArguments& args) { } else if (ndevices >= 0) { // Use the device assigned by the rank if (local_rank_str) { - auto local_rank = std::atoi(local_rank_str); + auto local_rank = std::stoi(local_rank_str); use_gpu = local_rank % ndevices; } else { // user only gave use ndevices, but the MPI environment variable wasn't @@ -231,16 +207,45 @@ void initialize_backends(const InitArguments& args) { // shift assignments over by one so no one is assigned to "skip_device" if (use_gpu >= skip_device) ++use_gpu; } + return use_gpu; +} +#endif // KOKKOS_ENABLE_CUDA || KOKKOS_ENABLE_ROCM || KOKKOS_ENABLE_HIP + +bool is_unsigned_int(const char* str) { + const size_t len = strlen(str); + for (size_t i = 0; i < len; ++i) { + if (!isdigit(str[i])) { + return false; + } + } + return true; +} + +void initialize_backends(const InitArguments& args) { +// This is an experimental setting +// For KNL in Flat mode this variable should be set, so that +// memkind allocates high bandwidth memory correctly. +#ifdef KOKKOS_ENABLE_HBWSPACE + setenv("MEMKIND_HBW_NODES", "1", 0); +#endif + + // Protect declarations, to prevent "unused variable" warnings. +#if defined(KOKKOS_ENABLE_OPENMP) || defined(KOKKOS_ENABLE_THREADS) || \ + defined(KOKKOS_ENABLE_OPENMPTARGET) || defined(KOKKOS_ENABLE_HPX) + const int num_threads = args.num_threads; +#endif +#if defined(KOKKOS_ENABLE_THREADS) || defined(KOKKOS_ENABLE_OPENMPTARGET) + const int use_numa = args.num_numa; +#endif +#if defined(KOKKOS_ENABLE_CUDA) || defined(KOKKOS_ENABLE_ROCM) || \ + defined(KOKKOS_ENABLE_HIP) + int use_gpu = get_gpu(args); #endif // defined( KOKKOS_ENABLE_CUDA ) #if defined(KOKKOS_ENABLE_OPENMP) if (std::is_same::value || std::is_same::value) { -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - Kokkos::OpenMP::initialize(num_threads); -#else Kokkos::OpenMP::impl_initialize(num_threads); -#endif } else { // std::cout << "Kokkos::initialize() fyi: OpenMP enabled but not // initialized" << std::endl ; @@ -251,17 +256,6 @@ void initialize_backends(const InitArguments& args) { if (std::is_same::value || std::is_same::value) { -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - if (num_threads > 0) { - if (use_numa > 0) { - Kokkos::Threads::initialize(num_threads, use_numa); - } else { - Kokkos::Threads::initialize(num_threads); - } - } else { - Kokkos::Threads::initialize(); - } -#else if (num_threads > 0) { if (use_numa > 0) { Kokkos::Threads::impl_initialize(num_threads, use_numa); @@ -271,7 +265,6 @@ void initialize_backends(const InitArguments& args) { } else { Kokkos::Threads::impl_initialize(); } -#endif // std::cout << "Kokkos::initialize() fyi: Pthread enabled and initialized" // << std::endl ; } else { @@ -305,12 +298,8 @@ void initialize_backends(const InitArguments& args) { (void)args; // Always initialize Serial if it is configure time enabled -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - Kokkos::Serial::initialize(); -#else Kokkos::Serial::impl_initialize(); #endif -#endif #if defined(KOKKOS_ENABLE_OPENMPTARGET) if (std::is_same::value || 0 < use_gpu) { if (use_gpu > -1) { -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - Kokkos::Cuda::initialize(Kokkos::Cuda::SelectDevice(use_gpu)); -#else Kokkos::Cuda::impl_initialize(Kokkos::Cuda::SelectDevice(use_gpu)); -#endif } else { -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - Kokkos::Cuda::initialize(); -#else Kokkos::Cuda::impl_initialize(); -#endif } // std::cout << "Kokkos::initialize() fyi: Cuda enabled and initialized" << // std::endl ; @@ -370,22 +351,12 @@ void initialize_backends(const InitArguments& args) { } else { Kokkos::Experimental::HIP::impl_initialize(); } - std::cout << "Kokkos::initialize() fyi: HIP enabled and initialized" - << std::endl; } #endif } void initialize_profiling(const InitArguments&) { -#if defined(KOKKOS_ENABLE_PROFILING) Kokkos::Profiling::initialize(); -#else - if (getenv("KOKKOS_PROFILE_LIBRARY") != nullptr) { - std::cerr << "Kokkos::initialize() warning: Requested Kokkos Profiling, " - "but Kokkos was built without Profiling support" - << std::endl; - } -#endif } void pre_initialize_internal(const InitArguments& args) { @@ -431,18 +402,12 @@ void finalize_internal(const bool all_spaces = false) { ++numSuccessfulCalls; } -#if defined(KOKKOS_ENABLE_PROFILING) Kokkos::Profiling::finalize(); -#endif #if defined(KOKKOS_ENABLE_CUDA) if (std::is_same::value || all_spaces) { -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - if (Kokkos::Cuda::is_initialized()) Kokkos::Cuda::finalize(); -#else if (Kokkos::Cuda::impl_is_initialized()) Kokkos::Cuda::impl_finalize(); -#endif } #else (void)all_spaces; @@ -478,11 +443,7 @@ void finalize_internal(const bool all_spaces = false) { if (std::is_same::value || std::is_same::value || all_spaces) { -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - if (Kokkos::OpenMP::is_initialized()) Kokkos::OpenMP::finalize(); -#else if (Kokkos::OpenMP::impl_is_initialized()) Kokkos::OpenMP::impl_finalize(); -#endif } #endif @@ -502,21 +463,13 @@ void finalize_internal(const bool all_spaces = false) { std::is_same::value || all_spaces) { -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - if (Kokkos::Threads::is_initialized()) Kokkos::Threads::finalize(); -#else if (Kokkos::Threads::impl_is_initialized()) Kokkos::Threads::impl_finalize(); -#endif } #endif #if defined(KOKKOS_ENABLE_SERIAL) -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - if (Kokkos::Serial::is_initialized()) Kokkos::Serial::finalize(); -#else if (Kokkos::Serial::impl_is_initialized()) Kokkos::Serial::impl_finalize(); -#endif #endif g_is_initialized = false; @@ -533,7 +486,7 @@ void fence_internal() { #endif #if defined(KOKKOS_ENABLE_HIP) - Kokkos::Experimental::HIP().fence(); + Kokkos::Experimental::HIP::impl_static_fence(); #endif #if defined(KOKKOS_ENABLE_OPENMP) @@ -541,7 +494,7 @@ void fence_internal() { #endif #if defined(KOKKOS_ENABLE_HPX) - Kokkos::Experimental::HPX::impl_static_fence(); + Kokkos::Experimental::HPX().fence(); #endif #if defined(KOKKOS_ENABLE_THREADS) @@ -577,7 +530,7 @@ bool check_int_arg(char const* arg, char const* expected, int* value) { if (arg_len == exp_len || arg[exp_len] != '=') okay = false; char const* number = arg + exp_len + 1; if (!Impl::is_unsigned_int(number) || strlen(number) == 0) okay = false; - *value = std::atoi(number); + *value = std::stoi(number); if (!okay) { std::ostringstream ss; ss << "Error: expecting an '=INT' after command line argument '" << expected @@ -614,10 +567,10 @@ void parse_command_line_arguments(int& narg, char* arg[], auto& skip_device = arguments.skip_device; auto& disable_warnings = arguments.disable_warnings; - int kokkos_threads_found = 0; - int kokkos_numa_found = 0; - int kokkos_device_found = 0; - int kokkos_ndevices_found = 0; + bool kokkos_threads_found = false; + bool kokkos_numa_found = false; + bool kokkos_device_found = false; + bool kokkos_ndevices_found = false; int iarg = 0; @@ -626,7 +579,7 @@ void parse_command_line_arguments(int& narg, char* arg[], for (int k = iarg; k < narg - 1; k++) { arg[k] = arg[k + 1]; } - kokkos_threads_found = 1; + kokkos_threads_found = true; narg--; } else if (!kokkos_threads_found && check_int_arg(arg[iarg], "--threads", &num_threads)) { @@ -635,7 +588,7 @@ void parse_command_line_arguments(int& narg, char* arg[], for (int k = iarg; k < narg - 1; k++) { arg[k] = arg[k + 1]; } - kokkos_numa_found = 1; + kokkos_numa_found = true; narg--; } else if (!kokkos_numa_found && check_int_arg(arg[iarg], "--numa", &numa)) { @@ -649,7 +602,7 @@ void parse_command_line_arguments(int& narg, char* arg[], for (int k = iarg; k < narg - 1; k++) { arg[k] = arg[k + 1]; } - kokkos_device_found = 1; + kokkos_device_found = true; narg--; } else if (!kokkos_device_found && (check_int_arg(arg[iarg], "--device-id", &device) || @@ -694,7 +647,7 @@ void parse_command_line_arguments(int& narg, char* arg[], } if (check_arg(arg[iarg], "--kokkos-num-devices") || check_arg(arg[iarg], "--kokkos-ndevices") || !kokkos_ndevices_found) - ndevices = atoi(num1_only); + ndevices = std::stoi(num1_only); delete[] num1_only; if (num2 != nullptr) { @@ -706,7 +659,7 @@ void parse_command_line_arguments(int& narg, char* arg[], if (check_arg(arg[iarg], "--kokkos-num-devices") || check_arg(arg[iarg], "--kokkos-ndevices") || !kokkos_ndevices_found) - skip_device = atoi(num2 + 1); + skip_device = std::stoi(num2 + 1); } // Remove the --kokkos-num-devices argument from the list but leave @@ -716,7 +669,7 @@ void parse_command_line_arguments(int& narg, char* arg[], for (int k = iarg; k < narg - 1; k++) { arg[k] = arg[k + 1]; } - kokkos_ndevices_found = 1; + kokkos_ndevices_found = true; narg--; } else { iarg++; @@ -1237,12 +1190,6 @@ void print_configuration(std::ostream& out, const bool detail) { #else msg << "no" << std::endl; #endif - msg << " KOKKOS_ENABLE_PROFILING: "; -#ifdef KOKKOS_ENABLE_PROFILING - msg << "yes" << std::endl; -#else - msg << "no" << std::endl; -#endif #ifdef KOKKOS_ENABLE_CUDA msg << "Cuda Options:" << std::endl; diff --git a/lib/kokkos/core/src/impl/Kokkos_Error.cpp b/lib/kokkos/core/src/impl/Kokkos_Error.cpp index a42b916f8053ba94cd599657e0ddd799deb6e260..fd372b8e5e5194823c0d6adae31e62321da3db40 100644 --- a/lib/kokkos/core/src/impl/Kokkos_Error.cpp +++ b/lib/kokkos/core/src/impl/Kokkos_Error.cpp @@ -51,6 +51,7 @@ #include #include #include +#include //---------------------------------------------------------------------------- //---------------------------------------------------------------------------- @@ -156,4 +157,19 @@ void traceback_callstack(std::ostream &msg) { } } // namespace Impl + +#ifdef KOKKOS_ENABLE_CUDA +namespace Experimental { + +void CudaRawMemoryAllocationFailure::append_additional_error_information( + std::ostream &o) const { + if (m_error_code != cudaSuccess) { + o << " The Cuda allocation returned the error code \"\"" + << cudaGetErrorName(m_error_code) << "\"."; + } +} + +} // end namespace Experimental +#endif + } // namespace Kokkos diff --git a/lib/kokkos/core/src/impl/Kokkos_Error.hpp b/lib/kokkos/core/src/impl/Kokkos_Error.hpp index 41be6737e7b61bbccbd412360af04625387335b9..48be687d4b8bde6b95c20fc30fdc842794cac461 100644 --- a/lib/kokkos/core/src/impl/Kokkos_Error.hpp +++ b/lib/kokkos/core/src/impl/Kokkos_Error.hpp @@ -62,7 +62,7 @@ namespace Kokkos { namespace Impl { -void host_abort(const char *const); +[[noreturn]] void host_abort(const char *const); void throw_runtime_exception(const std::string &); @@ -164,9 +164,32 @@ class RawMemoryAllocationFailure : public std::bad_alloc { //---------------------------------------------------------------------------- //---------------------------------------------------------------------------- +#if defined(KOKKOS_ENABLE_CUDA) && defined(__CUDA_ARCH__) + +#if defined(__APPLE__) || defined(KOKKOS_ENABLE_DEBUG_BOUNDS_CHECK) +// cuda_abort does not abort when building for macOS. +// required to workaround failures in random number generator unit tests with +// pre-volta architectures +#define KOKKOS_IMPL_ABORT_NORETURN +#else +// cuda_abort aborts when building for other platforms than macOS +#define KOKKOS_IMPL_ABORT_NORETURN [[noreturn]] +#endif + +#elif defined(KOKKOS_ENABLE_HIP) && defined(__HIP_DEVICE_COMPILE__) +// HIP aborts +#define KOKKOS_IMPL_ABORT_NORETURN [[noreturn]] +#elif !defined(KOKKOS_ENABLE_OPENMPTARGET) && !defined(__HCC_ACCELERATOR__) +// Host aborts +#define KOKKOS_IMPL_ABORT_NORETURN [[noreturn]] +#else +// Everything else does not abort +#define KOKKOS_IMPL_ABORT_NORETURN +#endif + namespace Kokkos { -KOKKOS_INLINE_FUNCTION -void abort(const char *const message) { +KOKKOS_IMPL_ABORT_NORETURN KOKKOS_INLINE_FUNCTION void abort( + const char *const message) { #if defined(KOKKOS_ENABLE_CUDA) && defined(__CUDA_ARCH__) Kokkos::Impl::cuda_abort(message); #elif defined(KOKKOS_ENABLE_HIP) && defined(__HIP_DEVICE_COMPILE__) diff --git a/lib/kokkos/core/src/impl/Kokkos_ExecPolicy.cpp b/lib/kokkos/core/src/impl/Kokkos_ExecPolicy.cpp index eada15fe9984bf13f24858a2ea875a21856737b9..1c337b9575fadaa34f4d97028eac92ea886fcf2d 100644 --- a/lib/kokkos/core/src/impl/Kokkos_ExecPolicy.cpp +++ b/lib/kokkos/core/src/impl/Kokkos_ExecPolicy.cpp @@ -43,6 +43,8 @@ */ #include +#include + namespace Kokkos { namespace Impl { PerTeamValue::PerTeamValue(int arg) : value(arg) {} @@ -56,4 +58,13 @@ Impl::PerThreadValue PerThread(const int& arg) { return Impl::PerThreadValue(arg); } +void team_policy_check_valid_storage_level_argument(int level) { + if (!(level == 0 || level == 1)) { + std::stringstream ss; + ss << "TeamPolicy::set_scratch_size(/*level*/ " << level + << ", ...) storage level argument must be 0 or 1 to be valid\n"; + Impl::throw_runtime_exception(ss.str()); + } +} + } // namespace Kokkos diff --git a/lib/kokkos/core/src/impl/Kokkos_FunctorAdapter.hpp b/lib/kokkos/core/src/impl/Kokkos_FunctorAdapter.hpp index b777dac02178b0229e5db5f600c96aff617eb8a6..b5e01e33a1822d93e8dd83a14a4c6ad585296897 100644 --- a/lib/kokkos/core/src/impl/Kokkos_FunctorAdapter.hpp +++ b/lib/kokkos/core/src/impl/Kokkos_FunctorAdapter.hpp @@ -61,48 +61,99 @@ struct ReduceFunctorHasInit { enum { value = false }; }; +// The else clause idiom failed with NVCC+MSVC, causing some symbols not being +// compiled for the device. The code in there is anyway sketchy, and likely not +// standard compliant (just happens to work on all compilers we ever used) +// We intend to replace all of this long term with proper detection idiom. +#if defined(KOKKOS_COMPILER_MSVC) || defined(KOKKOS_IMPL_WINDOWS_CUDA) +template +using impl_void_t_workaround = void; + +template +using init_archetype = decltype(&F::init); + +template +struct ReduceFunctorHasInit< + FunctorType, impl_void_t_workaround>> { + enum { value = true }; +}; +#else template struct ReduceFunctorHasInit< FunctorType, typename std::enable_if<0 < sizeof(&FunctorType::init)>::type> { enum { value = true }; }; +#endif template struct ReduceFunctorHasJoin { enum { value = false }; }; +#if defined(KOKKOS_COMPILER_MSVC) || defined(KOKKOS_IMPL_WINDOWS_CUDA) +template +using join_archetype = decltype(&F::join); + +template +struct ReduceFunctorHasJoin< + FunctorType, impl_void_t_workaround>> { + enum { value = true }; +}; +#else template struct ReduceFunctorHasJoin< FunctorType, typename std::enable_if<0 < sizeof(&FunctorType::join)>::type> { enum { value = true }; }; +#endif template struct ReduceFunctorHasFinal { enum { value = false }; }; +#if defined(KOKKOS_COMPILER_MSVC) || defined(KOKKOS_IMPL_WINDOWS_CUDA) +template +using final_archetype = decltype(&F::final); + +template +struct ReduceFunctorHasFinal< + FunctorType, impl_void_t_workaround>> { + enum { value = true }; +}; +#else template struct ReduceFunctorHasFinal< FunctorType, typename std::enable_if<0 < sizeof(&FunctorType::final)>::type> { enum { value = true }; }; +#endif template struct ReduceFunctorHasShmemSize { enum { value = false }; }; +#if defined(KOKKOS_COMPILER_MSVC) || defined(KOKKOS_IMPL_WINDOWS_CUDA) +template +using shmemsize_archetype = decltype(&F::team_shmem_size); + +template +struct ReduceFunctorHasShmemSize< + FunctorType, impl_void_t_workaround>> { + enum { value = true }; +}; +#else template struct ReduceFunctorHasShmemSize< FunctorType, typename std::enable_if<0 < sizeof(&FunctorType::team_shmem_size)>::type> { enum { value = true }; }; +#endif template struct FunctorDeclaresValueType : public std::false_type {}; @@ -136,10 +187,10 @@ struct IsNonTrivialReduceFunctor { template ::value> struct FunctorValueTraits { - typedef void value_type; - typedef void pointer_type; - typedef void reference_type; - typedef void functor_type; + using value_type = void; + using pointer_type = void; + using reference_type = void; + using functor_type = void; enum { StaticValueSize = 0 }; @@ -154,10 +205,10 @@ struct FunctorValueTraits { template struct FunctorValueTraits { - typedef void value_type; - typedef void pointer_type; - typedef void reference_type; - typedef void functor_type; + using value_type = void; + using pointer_type = void; + using reference_type = void; + using functor_type = void; }; /** \brief FunctorType::value_type is explicitly declared so use it. @@ -165,18 +216,18 @@ struct FunctorValueTraits { * Two options for declaration * * 1) A plain-old-data (POD) type - * typedef {pod_type} value_type ; + * using value_type = {pod_type}; * * 2) An array of POD of a runtime specified count. - * typedef {pod_type} value_type[] ; + * using value_type = {pod_type}[]; * const unsigned value_count ; */ template struct FunctorValueTraits { - typedef typename std::remove_extent::type - value_type; - typedef FunctorType functor_type; + using value_type = + typename std::remove_extent::type; + using functor_type = FunctorType; static_assert((sizeof(value_type) < sizeof(int)) || 0 == (sizeof(value_type) % sizeof(int)), @@ -192,13 +243,13 @@ struct FunctorValueTraits::type - reference_type; + using reference_type = + typename Impl::if_c::type; // Number of values if single value template @@ -236,8 +287,8 @@ struct FunctorValueTraits::value, VOIDTAG, - ArgTag>::type tag_type; + using tag_type = typename Impl::if_c::value, + VOIDTAG, ArgTag>::type; //---------------------------------------- // parallel_for operator without a tag: @@ -1271,20 +1322,20 @@ struct FunctorValueTraits::value }; enum { IS_REJECT = std::is_same::value }; public: - typedef typename Impl::if_c::type - value_type; - typedef typename Impl::if_c::type - pointer_type; - typedef typename Impl::if_c::type - reference_type; - typedef FunctorType functor_type; + using value_type = + typename Impl::if_c::type; + using pointer_type = + typename Impl::if_c::type; + using reference_type = + typename Impl::if_c::type; + using functor_type = FunctorType; static_assert( IS_VOID || IS_REJECT || 0 == (sizeof(ValueType) % sizeof(int)), @@ -1316,8 +1367,8 @@ namespace Impl { */ template struct FunctorValueInitFunction { - typedef typename FunctorValueTraits::reference_type - reference_type; + using reference_type = + typename FunctorValueTraits::reference_type; KOKKOS_INLINE_FUNCTION static void enable_if( void (FunctorType::*)(ArgTag, reference_type) const); @@ -1334,8 +1385,8 @@ struct FunctorValueInitFunction { */ template struct FunctorValueInitFunction { - typedef typename FunctorValueTraits::reference_type - reference_type; + using reference_type = + typename FunctorValueTraits::reference_type; KOKKOS_INLINE_FUNCTION static void enable_if( void (FunctorType::*)(reference_type) const); @@ -1455,11 +1506,11 @@ template ::StaticValueSize> struct FunctorValueJoinFunction { - typedef - typename FunctorValueTraits::value_type value_type; + using value_type = + typename FunctorValueTraits::value_type; - typedef volatile value_type& vref_type; - typedef const volatile value_type& cvref_type; + using vref_type = volatile value_type&; + using cvref_type = const volatile value_type&; KOKKOS_INLINE_FUNCTION static void enable_if( void (FunctorType::*)(ArgTag, vref_type, cvref_type) const); @@ -1474,11 +1525,11 @@ struct FunctorValueJoinFunction { // Signatures for compatible FunctorType::join with tag and is an array template struct FunctorValueJoinFunction { - typedef - typename FunctorValueTraits::value_type value_type; + using value_type = + typename FunctorValueTraits::value_type; - typedef volatile value_type* vptr_type; - typedef const volatile value_type* cvptr_type; + using vptr_type = volatile value_type*; + using cvptr_type = const volatile value_type*; KOKKOS_INLINE_FUNCTION static void enable_if( void (FunctorType::*)(ArgTag, vptr_type, cvptr_type) const); @@ -1493,10 +1544,10 @@ struct FunctorValueJoinFunction { // Signatures for compatible FunctorType::join without tag and not an array template struct FunctorValueJoinFunction { - typedef typename FunctorValueTraits::value_type value_type; + using value_type = typename FunctorValueTraits::value_type; - typedef volatile value_type& vref_type; - typedef const volatile value_type& cvref_type; + using vref_type = volatile value_type&; + using cvref_type = const volatile value_type&; KOKKOS_INLINE_FUNCTION static void enable_if(void (FunctorType::*)(vref_type, cvref_type) @@ -1507,10 +1558,10 @@ struct FunctorValueJoinFunction { // Signatures for compatible FunctorType::join without tag and is an array template struct FunctorValueJoinFunction { - typedef typename FunctorValueTraits::value_type value_type; + using value_type = typename FunctorValueTraits::value_type; - typedef volatile value_type* vptr_type; - typedef const volatile value_type* cvptr_type; + using vptr_type = volatile value_type*; + using cvptr_type = const volatile value_type*; KOKKOS_INLINE_FUNCTION static void enable_if(void (FunctorType::*)(vptr_type, cvptr_type) @@ -1701,7 +1752,7 @@ namespace Impl { template struct JoinLambdaAdapter { - typedef ValueType value_type; + using value_type = ValueType; const JoinOp& lambda; KOKKOS_INLINE_FUNCTION JoinLambdaAdapter(const JoinOp& lambda_) : lambda(lambda_) {} @@ -1730,7 +1781,7 @@ template struct JoinLambdaAdapter::enable_if(&JoinOp::join))> { - typedef ValueType value_type; + using value_type = ValueType; static_assert( std::is_same::value, "JoinLambdaAdapter static_assert Fail: ValueType != JoinOp::value_type"); @@ -1763,7 +1814,7 @@ struct JoinLambdaAdapter struct JoinAdd { - typedef ValueType value_type; + using value_type = ValueType; KOKKOS_DEFAULTED_FUNCTION JoinAdd() = default; @@ -1839,8 +1890,8 @@ template ::StaticValueSize> struct FunctorFinalFunction { - typedef - typename FunctorValueTraits::value_type value_type; + using value_type = + typename FunctorValueTraits::value_type; KOKKOS_INLINE_FUNCTION static void enable_if( void (FunctorType::*)(ArgTag, value_type&) const); @@ -1893,8 +1944,8 @@ struct FunctorFinalFunction { // Compatible functions for 'final' function and value_type is an array template struct FunctorFinalFunction { - typedef - typename FunctorValueTraits::value_type value_type; + using value_type = + typename FunctorValueTraits::value_type; KOKKOS_INLINE_FUNCTION static void enable_if( void (FunctorType::*)(ArgTag, value_type*) const); @@ -1946,7 +1997,7 @@ struct FunctorFinalFunction { template struct FunctorFinalFunction { - typedef typename FunctorValueTraits::value_type value_type; + using value_type = typename FunctorValueTraits::value_type; KOKKOS_INLINE_FUNCTION static void enable_if( void (FunctorType::*)(value_type&) const); @@ -1963,7 +2014,7 @@ struct FunctorFinalFunction { template struct FunctorFinalFunction { - typedef typename FunctorValueTraits::value_type value_type; + using value_type = typename FunctorValueTraits::value_type; KOKKOS_INLINE_FUNCTION static void enable_if( void (FunctorType::*)(value_type*) const); diff --git a/lib/kokkos/core/src/impl/Kokkos_FunctorAnalysis.hpp b/lib/kokkos/core/src/impl/Kokkos_FunctorAnalysis.hpp index 827a9f346d36c41b433914773e7d4202563b0b0b..1d7b9809bb026193238642f4a20bfde43eddb022 100644 --- a/lib/kokkos/core/src/impl/Kokkos_FunctorAnalysis.hpp +++ b/lib/kokkos/core/src/impl/Kokkos_FunctorAnalysis.hpp @@ -391,8 +391,8 @@ struct FunctorAnalysis { template struct has_join_function { - typedef volatile ValueType& vref_type; - typedef volatile const ValueType& cvref_type; + using vref_type = volatile ValueType&; + using cvref_type = const volatile ValueType&; KOKKOS_INLINE_FUNCTION static void enable_if(void (F::*)(vref_type, cvref_type) const); @@ -409,8 +409,8 @@ struct FunctorAnalysis { template struct has_join_function { - typedef volatile ValueType* vref_type; - typedef volatile const ValueType* cvref_type; + using vref_type = volatile ValueType*; + using cvref_type = const volatile ValueType*; KOKKOS_INLINE_FUNCTION static void enable_if(void (F::*)(vref_type, cvref_type) const); @@ -427,8 +427,8 @@ struct FunctorAnalysis { template struct has_join_function { - typedef volatile ValueType& vref_type; - typedef volatile const ValueType& cvref_type; + using vref_type = volatile ValueType&; + using cvref_type = const volatile ValueType&; KOKKOS_INLINE_FUNCTION static void enable_if(void (F::*)(WTag, vref_type, cvref_type) const); @@ -453,8 +453,8 @@ struct FunctorAnalysis { template struct has_join_function { - typedef volatile ValueType* vref_type; - typedef volatile const ValueType* cvref_type; + using vref_type = volatile ValueType*; + using cvref_type = const volatile ValueType*; KOKKOS_INLINE_FUNCTION static void enable_if(void (F::*)(WTag, vref_type, cvref_type) const); diff --git a/lib/kokkos/core/src/impl/Kokkos_HBWSpace.cpp b/lib/kokkos/core/src/impl/Kokkos_HBWSpace.cpp index 9b5bee227912b9bb0ad3ed22cf86d9234677b77a..fad36c02f1f57b78f566f0a1e28e88d86c2a3b5d 100644 --- a/lib/kokkos/core/src/impl/Kokkos_HBWSpace.cpp +++ b/lib/kokkos/core/src/impl/Kokkos_HBWSpace.cpp @@ -62,9 +62,7 @@ #include #endif -#if defined(KOKKOS_ENABLE_PROFILING) -#include -#endif +#include //---------------------------------------------------------------------------- //---------------------------------------------------------------------------- @@ -93,6 +91,10 @@ HBWSpace::HBWSpace(const HBWSpace::AllocationMechanism &arg_alloc_mech) } void *HBWSpace::allocate(const size_t arg_alloc_size) const { + return allocate("[unlabeled]", arg_alloc_size); +} +void *HBWSpace::allocate(const char *arg_label, const size_t arg_alloc_size, + const size_t arg_logical_size) const { static_assert(sizeof(void *) == sizeof(uintptr_t), "Error sizeof(void*) != sizeof(uintptr_t)"); @@ -147,13 +149,30 @@ void *HBWSpace::allocate(const size_t arg_alloc_size) const { Kokkos::Impl::throw_runtime_exception(msg.str()); } + if (Kokkos::Profiling::profileLibraryLoaded()) { + const size_t reported_size = + (arg_logical_size > 0) ? arg_logical_size : arg_alloc_size; + Kokkos::Profiling::allocateData(name(), arg_label, ptr, reported_size); + } return ptr; } void HBWSpace::deallocate(void *const arg_alloc_ptr, const size_t arg_alloc_size) const { + deallocate("[unlabeled]", arg_alloc_ptr, arg_alloc_size); +} +void HBWSpace::deallocate(const char *arg_label, void *const arg_alloc_ptr, + const size_t arg_alloc_size, + const size_t arg_logical_size) const { if (arg_alloc_ptr) { + if (Kokkos::Profiling::profileLibraryLoaded()) { + const size_t reported_size = + (arg_logical_size > 0) ? arg_logical_size : arg_alloc_size; + Kokkos::Profiling::deallocateData(name(), arg_label, arg_alloc_ptr, + reported_size); + } + if (m_alloc_mech == STD_MALLOC) { void *alloc_ptr = *(reinterpret_cast(arg_alloc_ptr) - 1); memkind_free(MEMKIND_TYPE, alloc_ptr); @@ -187,16 +206,12 @@ SharedAllocationRecordm_label, data(), size()); - } -#endif - m_space.deallocate(SharedAllocationRecord::m_alloc_ptr, - SharedAllocationRecord::m_alloc_size); + m_space.deallocate(RecordBase::m_alloc_ptr->m_label, + SharedAllocationRecord::m_alloc_ptr, + SharedAllocationRecord::m_alloc_size, + (SharedAllocationRecord::m_alloc_size - + sizeof(SharedAllocationHeader))); } SharedAllocationRecord:: @@ -215,14 +230,6 @@ SharedAllocationRecord:: arg_alloc_size), sizeof(SharedAllocationHeader) + arg_alloc_size, arg_dealloc), m_space(arg_space) { -#if defined(KOKKOS_ENABLE_PROFILING) - if (Kokkos::Profiling::profileLibraryLoaded()) { - Kokkos::Profiling::allocateData( - Kokkos::Profiling::SpaceHandle(arg_space.name()), arg_label, data(), - arg_alloc_size); - } -#endif - // Fill in the Header information RecordBase::m_alloc_ptr->m_record = static_cast *>(this); @@ -279,9 +286,9 @@ void *SharedAllocationRecord:: SharedAllocationRecord *SharedAllocationRecord::get_record( void *alloc_ptr) { - typedef SharedAllocationHeader Header; - typedef SharedAllocationRecord - RecordHost; + using Header = SharedAllocationHeader; + using RecordHost = + SharedAllocationRecord; SharedAllocationHeader const *const head = alloc_ptr ? Header::get_header(alloc_ptr) : (SharedAllocationHeader *)0; diff --git a/lib/kokkos/core/src/impl/Kokkos_HostSpace.cpp b/lib/kokkos/core/src/impl/Kokkos_HostSpace.cpp index 59d14e539220d27615402150efd9d77e0903ee05..2a4539cb843dfbf7c29340c007905533f4f2a73d 100644 --- a/lib/kokkos/core/src/impl/Kokkos_HostSpace.cpp +++ b/lib/kokkos/core/src/impl/Kokkos_HostSpace.cpp @@ -47,9 +47,7 @@ #include #include #include -#if defined(KOKKOS_ENABLE_PROFILING) -#include -#endif +#include /*--------------------------------------------------------------------------*/ @@ -166,6 +164,14 @@ HostSpace::HostSpace(const HostSpace::AllocationMechanism &arg_alloc_mech) } void *HostSpace::allocate(const size_t arg_alloc_size) const { + return allocate("[unlabeled]", arg_alloc_size); +} +void *HostSpace::allocate(const char *arg_label, const size_t arg_alloc_size, + const size_t + + arg_logical_size) const { + const size_t reported_size = + (arg_logical_size > 0) ? arg_logical_size : arg_alloc_size; static_assert(sizeof(void *) == sizeof(uintptr_t), "Error sizeof(void*) != sizeof(uintptr_t)"); @@ -274,16 +280,32 @@ void *HostSpace::allocate(const size_t arg_alloc_size) const { throw Kokkos::Experimental::RawMemoryAllocationFailure( arg_alloc_size, alignment, failure_mode, alloc_mec); } - + if (Kokkos::Profiling::profileLibraryLoaded()) { + Kokkos::Profiling::allocateData( + Kokkos::Profiling::make_space_handle(name()), arg_label, ptr, + reported_size); + } return ptr; } -void HostSpace::deallocate(void *const arg_alloc_ptr, const size_t -#if defined(KOKKOS_IMPL_POSIX_MMAP_FLAGS) - arg_alloc_size -#endif - ) const { +void HostSpace::deallocate(void *const arg_alloc_ptr, + const size_t arg_alloc_size) const { + deallocate("[unlabeled]", arg_alloc_ptr, arg_alloc_size); +} + +void HostSpace::deallocate(const char *arg_label, void *const arg_alloc_ptr, + const size_t arg_alloc_size, + const size_t + + arg_logical_size) const { if (arg_alloc_ptr) { + size_t reported_size = + (arg_logical_size > 0) ? arg_logical_size : arg_alloc_size; + if (Kokkos::Profiling::profileLibraryLoaded()) { + Kokkos::Profiling::deallocateData( + Kokkos::Profiling::make_space_handle(name()), arg_label, + arg_alloc_ptr, reported_size); + } if (m_alloc_mech == STD_MALLOC) { void *alloc_ptr = *(reinterpret_cast(arg_alloc_ptr) - 1); free(alloc_ptr); @@ -332,16 +354,12 @@ SharedAllocationRecord::~SharedAllocationRecord() noexcept #endif { -#if defined(KOKKOS_ENABLE_PROFILING) - if (Kokkos::Profiling::profileLibraryLoaded()) { - Kokkos::Profiling::deallocateData( - Kokkos::Profiling::SpaceHandle(Kokkos::HostSpace::name()), - RecordBase::m_alloc_ptr->m_label, data(), size()); - } -#endif - m_space.deallocate(SharedAllocationRecord::m_alloc_ptr, - SharedAllocationRecord::m_alloc_size); + m_space.deallocate(RecordBase::m_alloc_ptr->m_label, + SharedAllocationRecord::m_alloc_ptr, + SharedAllocationRecord::m_alloc_size, + (SharedAllocationRecord::m_alloc_size - + sizeof(SharedAllocationHeader))); } SharedAllocationHeader *_do_allocation(Kokkos::HostSpace const &space, @@ -380,13 +398,6 @@ SharedAllocationRecord::SharedAllocationRecord( arg_alloc_size), sizeof(SharedAllocationHeader) + arg_alloc_size, arg_dealloc), m_space(arg_space) { -#if defined(KOKKOS_ENABLE_PROFILING) - if (Kokkos::Profiling::profileLibraryLoaded()) { - Kokkos::Profiling::allocateData( - Kokkos::Profiling::SpaceHandle(arg_space.name()), arg_label, data(), - arg_alloc_size); - } -#endif // Fill in the Header information RecordBase::m_alloc_ptr->m_record = static_cast *>(this); @@ -439,8 +450,8 @@ void *SharedAllocationRecord::reallocate_tracked( SharedAllocationRecord * SharedAllocationRecord::get_record(void *alloc_ptr) { - typedef SharedAllocationHeader Header; - typedef SharedAllocationRecord RecordHost; + using Header = SharedAllocationHeader; + using RecordHost = SharedAllocationRecord; SharedAllocationHeader const *const head = alloc_ptr ? Header::get_header(alloc_ptr) : nullptr; diff --git a/lib/kokkos/core/src/impl/Kokkos_HostSpace_deepcopy.cpp b/lib/kokkos/core/src/impl/Kokkos_HostSpace_deepcopy.cpp index 35eee40ab7b95ea28bb5a3817435ae6fb7b2b321..b86670346c6466b4c4cff860b8e4873bbb540ce8 100644 --- a/lib/kokkos/core/src/impl/Kokkos_HostSpace_deepcopy.cpp +++ b/lib/kokkos/core/src/impl/Kokkos_HostSpace_deepcopy.cpp @@ -60,7 +60,7 @@ void hostspace_parallel_deepcopy(void* dst, const void* src, ptrdiff_t n) { return; } - typedef Kokkos::RangePolicy policy_t; + using policy_t = Kokkos::RangePolicy; // Both src and dst are aligned the same way with respect to 8 byte words if (reinterpret_cast(src) % 8 == diff --git a/lib/kokkos/core/src/impl/Kokkos_MemoryPool.cpp b/lib/kokkos/core/src/impl/Kokkos_MemoryPool.cpp index d48368f761b5f24de595f9048bedbb9e88d99390..889d821bb1ced124c06f7c41f3604baa9d3bf782 100644 --- a/lib/kokkos/core/src/impl/Kokkos_MemoryPool.cpp +++ b/lib/kokkos/core/src/impl/Kokkos_MemoryPool.cpp @@ -42,9 +42,10 @@ //@HEADER */ +#include + #include #include -#include //---------------------------------------------------------------------------- //---------------------------------------------------------------------------- @@ -106,5 +107,29 @@ void memory_pool_bounds_verification(size_t min_block_alloc_size, } } +// This has way too many parameters, but it is entirely for moving the iostream +// inclusion out of the header file with as few changes as possible +void _print_memory_pool_state(std::ostream& s, uint32_t const* sb_state_ptr, + int32_t sb_count, uint32_t sb_size_lg2, + uint32_t sb_state_size, uint32_t state_shift, + uint32_t state_used_mask) { + s << "pool_size(" << (size_t(sb_count) << sb_size_lg2) << ")" + << " superblock_size(" << (1LU << sb_size_lg2) << ")" << std::endl; + + for (int32_t i = 0; i < sb_count; ++i, sb_state_ptr += sb_state_size) { + if (*sb_state_ptr) { + const uint32_t block_count_lg2 = (*sb_state_ptr) >> state_shift; + const uint32_t block_size_lg2 = sb_size_lg2 - block_count_lg2; + const uint32_t block_count = 1u << block_count_lg2; + const uint32_t block_used = (*sb_state_ptr) & state_used_mask; + + s << "Superblock[ " << i << " / " << sb_count << " ] {" + << " block_size(" << (1 << block_size_lg2) << ")" + << " block_count( " << block_used << " / " << block_count << " )" + << std::endl; + } + } +} + } // namespace Impl } // namespace Kokkos diff --git a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank3.cpp b/lib/kokkos/core/src/impl/Kokkos_MemorySpace.cpp similarity index 53% rename from lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank3.cpp rename to lib/kokkos/core/src/impl/Kokkos_MemorySpace.cpp index 5a52ee9e869ca0b21207c8d45bbfdb35bb5cd6f9..ec2e573c0450c6d81db64334db65102bd59f2ae1 100644 --- a/lib/kokkos/core/src/eti/ROCm/Kokkos_ROCm_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank3.cpp +++ b/lib/kokkos/core/src/impl/Kokkos_MemorySpace.cpp @@ -1,15 +1,13 @@ +/* //@HEADER // ************************************************************************ // // Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). +// Copyright (2019) Sandia Corporation // // Under the terms of Contract DE-NA0003525 with NTESS, // the U.S. Government retains certain rights in this software. // -// Kokkos is licensed under 3-clause BSD terms of use: -// // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are // met: @@ -41,18 +39,57 @@ // // ************************************************************************ //@HEADER +*/ + +/** @file Kokkos_MemorySpace.cpp + * + * Operations common to memory space instances, or at least default + * implementations thereof. + */ + +#include + +#include +#include +#include -#define KOKKOS_IMPL_COMPILING_LIBRARY true -#include namespace Kokkos { namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutLeft, LayoutRight, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutLeft, LayoutLeft, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutLeft, LayoutStride, - Experimental::ROCm, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int***, LayoutLeft, Experimental::ROCm, int64_t) -} // namespace Impl -} // namespace Kokkos +void safe_throw_allocation_with_header_failure( + std::string const& space_name, std::string const& label, + Kokkos::Experimental::RawMemoryAllocationFailure const& failure) { + auto generate_failure_message = [&](std::ostream& o) { + o << "Kokkos failed to allocate memory for label \"" << label + << "\". Allocation using MemorySpace named \"" << space_name + << "\" failed with the following error: "; + failure.print_error_message(o); + if (failure.failure_mode() == + Kokkos::Experimental::RawMemoryAllocationFailure::FailureMode:: + AllocationNotAligned) { + // TODO: delete the misaligned memory? + o << "Warning: Allocation failed due to misalignment; memory may " + "be leaked.\n"; + } + o.flush(); + }; + try { + std::ostringstream sstr; + generate_failure_message(sstr); + Kokkos::Impl::throw_runtime_exception(sstr.str()); + } catch (std::bad_alloc const&) { + // Probably failed to allocate the string because we're so close to out + // of memory. Try printing to std::cerr instead + try { + generate_failure_message(std::cerr); + } catch (std::bad_alloc const&) { + // oh well, we tried... + } + Kokkos::Impl::throw_runtime_exception( + "Kokkos encountered an allocation failure, then another allocation " + "failure while trying to create the error message."); + } +} + +} // end namespace Impl +} // end namespace Kokkos diff --git a/lib/kokkos/core/src/impl/Kokkos_MemorySpace.hpp b/lib/kokkos/core/src/impl/Kokkos_MemorySpace.hpp index 650cf8a70cab81e043b97b7fcafa3c5db8816a5d..5b3764686f517066194f142fbca68e270cdd1b8f 100644 --- a/lib/kokkos/core/src/impl/Kokkos_MemorySpace.hpp +++ b/lib/kokkos/core/src/impl/Kokkos_MemorySpace.hpp @@ -55,51 +55,25 @@ #include #include -#include -#include namespace Kokkos { namespace Impl { +// Defined in implementation file to avoid having to include iostream +void safe_throw_allocation_with_header_failure( + std::string const &space_name, std::string const &label, + Kokkos::Experimental::RawMemoryAllocationFailure const &failure); + template SharedAllocationHeader *checked_allocation_with_header(MemorySpace const &space, std::string const &label, size_t alloc_size) { try { - return reinterpret_cast( - space.allocate(alloc_size + sizeof(SharedAllocationHeader))); + return reinterpret_cast(space.allocate( + label.c_str(), alloc_size + sizeof(SharedAllocationHeader), + alloc_size)); } catch (Kokkos::Experimental::RawMemoryAllocationFailure const &failure) { - auto generate_failure_message = [&](std::ostream &o) { - o << "Kokkos failed to allocate memory for label \"" << label - << "\". Allocation using MemorySpace named \"" << space.name() - << "\" failed with the following error: "; - failure.print_error_message(o); - if (failure.failure_mode() == - Kokkos::Experimental::RawMemoryAllocationFailure::FailureMode:: - AllocationNotAligned) { - // TODO: delete the misaligned memory? - o << "Warning: Allocation failed due to misalignment; memory may " - "be leaked." - << std::endl; - } - o.flush(); - }; - try { - std::ostringstream sstr; - generate_failure_message(sstr); - Kokkos::Impl::throw_runtime_exception(sstr.str()); - } catch (std::bad_alloc const &) { - // Probably failed to allocate the string because we're so close to out - // of memory. Try printing to std::cerr instead - try { - generate_failure_message(std::cerr); - } catch (std::bad_alloc const &) { - // oh well, we tried... - } - Kokkos::Impl::throw_runtime_exception( - "Kokkos encountered an allocation failure, then another allocation " - "failure while trying to create the error message."); - } + safe_throw_allocation_with_header_failure(space.name(), label, failure); } return nullptr; // unreachable } diff --git a/lib/kokkos/core/src/impl/Kokkos_Memory_Fence.hpp b/lib/kokkos/core/src/impl/Kokkos_Memory_Fence.hpp index eae14a92d581876f96dad75d7f9c727dfccdf074..a7f0830a68f2b499392a3ed23c672d5f900f210c 100644 --- a/lib/kokkos/core/src/impl/Kokkos_Memory_Fence.hpp +++ b/lib/kokkos/core/src/impl/Kokkos_Memory_Fence.hpp @@ -53,9 +53,11 @@ KOKKOS_FORCEINLINE_FUNCTION void memory_fence() { #if defined(__CUDA_ARCH__) __threadfence(); +#elif defined(KOKKOS_ENABLE_OPENMPTARGET) +#pragma omp flush #elif defined(KOKKOS_ENABLE_ROCM_ATOMICS) amp_barrier(CLK_LOCAL_MEM_FENCE | CLK_GLOBAL_MEM_FENCE); -#elif defined(KOKKOS_ENABLE_HIP_ATOMICS) +#elif defined(__HIP_DEVICE_COMPILE__) __threadfence(); #elif defined(KOKKOS_ENABLE_ASM) && defined(KOKKOS_ENABLE_ISA_X86_64) asm volatile("mfence" ::: "memory"); diff --git a/lib/kokkos/core/src/impl/Kokkos_OldMacros.hpp b/lib/kokkos/core/src/impl/Kokkos_OldMacros.hpp deleted file mode 100644 index fbb921d7f260aa291591459e1a165b307b7ce96f..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/impl/Kokkos_OldMacros.hpp +++ /dev/null @@ -1,526 +0,0 @@ -/* -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER -*/ - -#ifndef KOKKOS_IMPL_OLD_MACROS_HPP -#define KOKKOS_IMPL_OLD_MACROS_HPP - -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - -#ifdef KOKKOS_ATOMICS_USE_CUDA -#ifndef KOKKOS_ENABLE_CUDA_ATOMICS -#define KOKKOS_ENABLE_CUDA_ATOMICS KOKKOS_ATOMICS_USE_CUDA -#endif -#endif - -#ifdef KOKKOS_ATOMICS_USE_GCC -#ifndef KOKKOS_ENABLE_GNU_ATOMICS -#define KOKKOS_ENABLE_GNU_ATOMICS KOKKOS_ATOMICS_USE_GCC -#endif -#endif - -#ifdef KOKKOS_ATOMICS_USE_GNU -#ifndef KOKKOS_ENABLE_GNU_ATOMICS -#define KOKKOS_ENABLE_GNU_ATOMICS KOKKOS_ATOMICS_USE_GNU -#endif -#endif - -#ifdef KOKKOS_ATOMICS_USE_INTEL -#ifndef KOKKOS_ENABLE_INTEL_ATOMICS -#define KOKKOS_ENABLE_INTEL_ATOMICS KOKKOS_ATOMICS_USE_INTEL -#endif -#endif - -#ifdef KOKKOS_ATOMICS_USE_OMP31 -#ifndef KOKKOS_ENABLE_OPENMP_ATOMICS -#define KOKKOS_ENABLE_OPENMP_ATOMICS KOKKOS_ATOMICS_USE_OMP31 -#endif -#endif - -#ifdef KOKKOS_ATOMICS_USE_OPENMP31 -#ifndef KOKKOS_ENABLE_OPENMP_ATOMICS -#define KOKKOS_ENABLE_OPENMP_ATOMICS KOKKOS_ATOMICS_USE_OPENMP31 -#endif -#endif - -#ifdef KOKKOS_ATOMICS_USE_WINDOWS -#ifndef KOKKOS_ENABLE_WINDOWS_ATOMICS -#define KOKKOS_ENABLE_WINDOWS_ATOMICS KOKKOS_ATOMICS_USE_WINDOWS -#endif -#endif - -#ifdef KOKKOS_CUDA_CLANG_WORKAROUND -#ifndef KOKKOS_IMPL_CUDA_CLANG_WORKAROUND -#define KOKKOS_IMPL_CUDA_CLANG_WORKAROUND KOKKOS_CUDA_CLANG_WORKAROUND -#endif -#endif - -#ifdef KOKKOS_CUDA_USE_LAMBDA -#ifndef KOKKOS_ENABLE_CUDA_LAMBDA -#define KOKKOS_ENABLE_CUDA_LAMBDA KOKKOS_CUDA_USE_LAMBDA -#endif -#endif - -#ifdef KOKKOS_CUDA_USE_LDG_INTRINSIC -#ifndef KOKKOS_ENABLE_CUDA_LDG_INTRINSIC -#define KOKKOS_ENABLE_CUDA_LDG_INTRINSIC KOKKOS_CUDA_USE_LDG_INTRINSIC -#endif -#endif - -#ifdef KOKKOS_CUDA_USE_RELOCATABLE_DEVICE_CODE -#ifndef KOKKOS_ENABLE_CUDA_RELOCATABLE_DEVICE_CODE -#define KOKKOS_ENABLE_CUDA_RELOCATABLE_DEVICE_CODE \ - KOKKOS_CUDA_USE_RELOCATABLE_DEVICE_CODE -#endif -#endif - -#ifdef KOKKOS_CUDA_USE_UVM -#ifndef KOKKOS_ENABLE_CUDA_UVM -#define KOKKOS_ENABLE_CUDA_UVM KOKKOS_CUDA_USE_UVM -#endif -#endif - -#ifdef KOKKOS_HAVE_CUDA -#ifndef KOKKOS_ENABLE_CUDA -#define KOKKOS_ENABLE_CUDA KOKKOS_HAVE_CUDA -#endif -#endif - -#ifdef KOKKOS_HAVE_CUDA_LAMBDA -#ifndef KOKKOS_ENABLE_CUDA_LAMBDA -#define KOKKOS_ENABLE_CUDA_LAMBDA KOKKOS_HAVE_CUDA_LAMBDA -#endif -#endif - -#ifdef KOKKOS_HAVE_CUDA_RDC -#ifndef KOKKOS_ENABLE_CUDA_RELOCATABLE_DEVICE_CODE -#define KOKKOS_ENABLE_CUDA_RELOCATABLE_DEVICE_CODE KOKKOS_HAVE_CUDA_RDC -#endif -#endif - -#ifdef KOKKOS_HAVE_CUSPARSE -#ifndef KOKKOS_ENABLE_CUSPARSE -#define KOKKOS_ENABLE_CUSPARSE KOKKOS_HAVE_CUSPARSE -#endif -#endif - -#if defined(KOKKOS_HAVE_CXX1Z) || defined(KOKKOS_ENABLE_CXX17) -#ifndef KOKKOS_ENABLE_CXX1Z -#define KOKKOS_ENABLE_CXX1Z KOKKOS_HAVE_CXX1Z -#endif -#endif - -#ifdef KOKKOS_HAVE_DEFAULT_DEVICE_TYPE_CUDA -#ifndef KOKKOS_ENABLE_DEFAULT_DEVICE_TYPE_CUDA -#define KOKKOS_ENABLE_DEFAULT_DEVICE_TYPE_CUDA \ - KOKKOS_HAVE_DEFAULT_DEVICE_TYPE_CUDA -#endif -#endif - -#ifdef KOKKOS_HAVE_DEFAULT_DEVICE_TYPE_OPENMP -#ifndef KOKKOS_ENABLE_DEFAULT_DEVICE_TYPE_OPENMP -#define KOKKOS_ENABLE_DEFAULT_DEVICE_TYPE_OPENMP \ - KOKKOS_HAVE_DEFAULT_DEVICE_TYPE_OPENMP -#endif -#endif - -#ifdef KOKKOS_HAVE_DEFAULT_DEVICE_TYPE_SERIAL -#ifndef KOKKOS_ENABLE_DEFAULT_DEVICE_TYPE_SERIAL -#define KOKKOS_ENABLE_DEFAULT_DEVICE_TYPE_SERIAL \ - KOKKOS_HAVE_DEFAULT_DEVICE_TYPE_SERIAL -#endif -#endif - -#ifdef KOKKOS_HAVE_DEFAULT_DEVICE_TYPE_THREADS -#ifndef KOKKOS_ENABLE_DEFAULT_DEVICE_TYPE_THREADS -#define KOKKOS_ENABLE_DEFAULT_DEVICE_TYPE_THREADS \ - KOKKOS_HAVE_DEFAULT_DEVICE_TYPE_THREADS -#endif -#endif - -#ifdef KOKKOS_HAVE_HBWSPACE -#ifndef KOKKOS_ENABLE_HBWSPACE -#define KOKKOS_ENABLE_HBWSPACE KOKKOS_HAVE_HBWSPACE -#endif -#endif - -#ifdef KOKKOS_HAVE_HWLOC -#ifndef KOKKOS_ENABLE_HWLOC -#define KOKKOS_ENABLE_HWLOC KOKKOS_HAVE_HWLOC -#endif -#endif - -#ifdef KOKKOS_HAVE_MPI -#ifndef KOKKOS_ENABLE_MPI -#define KOKKOS_ENABLE_MPI KOKKOS_HAVE_MPI -#endif -#endif - -#ifdef KOKKOS_HAVE_OPENMP -#ifndef KOKKOS_ENABLE_OPENMP -#define KOKKOS_ENABLE_OPENMP KOKKOS_HAVE_OPENMP -#endif -#endif - -#ifdef KOKKOS_HAVE_PRAGMA_IVDEP -#ifndef KOKKOS_ENABLE_PRAGMA_IVDEP -#define KOKKOS_ENABLE_PRAGMA_IVDEP KOKKOS_HAVE_PRAGMA_IVDEP -#endif -#endif - -#ifdef KOKKOS_OPT_RANGE_AGGRESSIVE_VECTORIZATION -#ifndef KOKKOS_ENABLE_AGGRESSIVE_VECTORIZATION -#define KOKKOS_ENABLE_AGGRESSIVE_VECTORIZATION \ - KOKKOS_OPT_RANGE_AGGRESSIVE_VECTORIZATION -#endif -#endif - -#ifdef KOKKOS_HAVE_PRAGMA_LOOPCOUNT -#ifndef KOKKOS_ENABLE_PRAGMA_LOOPCOUNT -#define KOKKOS_ENABLE_PRAGMA_LOOPCOUNT KOKKOS_HAVE_PRAGMA_LOOPCOUNT -#endif -#endif - -#ifdef KOKKOS_HAVE_PRAGMA_SIMD -#ifndef KOKKOS_ENABLE_PRAGMA_SIMD -#define KOKKOS_ENABLE_PRAGMA_SIMD KOKKOS_HAVE_PRAGMA_SIMD -#endif -#endif - -#ifdef KOKKOS_HAVE_PRAGMA_UNROLL -#ifndef KOKKOS_ENABLE_PRAGMA_UNROLL -#define KOKKOS_ENABLE_PRAGMA_UNROLL KOKKOS_HAVE_PRAGMA_UNROLL -#endif -#endif - -#ifdef KOKKOS_HAVE_PRAGMA_VECTOR -#ifndef KOKKOS_ENABLE_PRAGMA_VECTOR -#define KOKKOS_ENABLE_PRAGMA_VECTOR KOKKOS_HAVE_PRAGMA_VECTOR -#endif -#endif - -#ifdef KOKKOS_HAVE_PTHREAD -#ifndef KOKKOS_ENABLE_PTHREAD -#define KOKKOS_ENABLE_PTHREAD KOKKOS_HAVE_PTHREAD -#endif -#endif - -#ifdef KOKKOS_HAVE_SERIAL -#ifndef KOKKOS_ENABLE_SERIAL -#define KOKKOS_ENABLE_SERIAL KOKKOS_HAVE_SERIAL -#endif -#endif - -#ifdef KOKKOS_HAVE_TYPE -#ifndef KOKKOS_IMPL_HAS_TYPE -#define KOKKOS_IMPL_HAS_TYPE KOKKOS_HAVE_TYPE -#endif -#endif - -#ifdef KOKKOS_HAVE_WINTHREAD -#ifndef KOKKOS_ENABLE_WINTHREAD -#define KOKKOS_ENABLE_WINTHREAD KOKKOS_HAVE_WINTHREAD -#endif -#endif - -#ifdef KOKKOS_HAVE_Winthread -#ifndef KOKKOS_ENABLE_WINTHREAD -#define KOKKOS_ENABLE_WINTHREAD KOKKOS_HAVE_Winthread -#endif -#endif - -#ifdef KOKKOS_INTEL_MM_ALLOC_AVAILABLE -#ifndef KOKKOS_ENABLE_INTEL_MM_ALLOC -#define KOKKOS_ENABLE_INTEL_MM_ALLOC KOKKOS_INTEL_MM_ALLOC_AVAILABLE -#endif -#endif - -#ifdef KOKKOS_MACRO_IMPL_TO_STRING -#ifndef KOKKOS_IMPL_MACRO_TO_STRING -#define KOKKOS_IMPL_MACRO_TO_STRING KOKKOS_MACRO_IMPL_TO_STRING -#endif -#endif - -#ifdef KOKKOS_MACRO_TO_STRING -#ifndef KOKKOS_MACRO_TO_STRING -#define KOKKOS_MACRO_TO_STRING KOKKOS_MACRO_TO_STRING -#endif -#endif - -#ifdef KOKKOS_MAY_ALIAS -#ifndef KOKKOS_IMPL_MAY_ALIAS -#define KOKKOS_IMPL_MAY_ALIAS KOKKOS_MAY_ALIAS -#endif -#endif - -#ifdef KOKKOS_MDRANGE_IVDEP -#ifndef KOKKOS_IMPL_MDRANGE_IVDEP -#define KOKKOS_IMPL_MDRANGE_IVDEP KOKKOS_MDRANGE_IVDEP -#endif -#endif - -#ifdef KOKKOS_MEMPOOL_PRINTERR -#ifndef KOKKOS_ENABLE_MEMPOOL_PRINTERR -#define KOKKOS_ENABLE_MEMPOOL_PRINTERR KOKKOS_MEMPOOL_PRINTERR -#endif -#endif - -#ifdef KOKKOS_MEMPOOL_PRINT_ACTIVE_SUPERBLOCKS -#ifndef KOKKOS_ENABLE_MEMPOOL_PRINT_ACTIVE_SUPERBLOCKS -#define KOKKOS_ENABLE_MEMPOOL_PRINT_ACTIVE_SUPERBLOCKS \ - KOKKOS_MEMPOOL_PRINT_ACTIVE_SUPERBLOCKS -#endif -#endif - -#ifdef KOKKOS_MEMPOOL_PRINT_BLOCKSIZE_INFO -#ifndef KOKKOS_ENABLE_MEMPOOL_PRINT_BLOCKSIZE_INFO -#define KOKKOS_ENABLE_MEMPOOL_PRINT_BLOCKSIZE_INFO \ - KOKKOS_MEMPOOL_PRINT_BLOCKSIZE_INFO -#endif -#endif - -#ifdef KOKKOS_MEMPOOL_PRINT_CONSTRUCTOR_INFO -#ifndef KOKKOS_ENABLE_MEMPOOL_PRINT_CONSTRUCTOR_INFO -#define KOKKOS_ENABLE_MEMPOOL_PRINT_CONSTRUCTOR_INFO \ - KOKKOS_MEMPOOL_PRINT_CONSTRUCTOR_INFO -#endif -#endif - -#ifdef KOKKOS_MEMPOOL_PRINT_INDIVIDUAL_PAGE_INFO -#ifndef KOKKOS_ENABLE_MEMPOOL_PRINT_INDIVIDUAL_PAGE_INFO -#define KOKKOS_ENABLE_MEMPOOL_PRINT_INDIVIDUAL_PAGE_INFO \ - KOKKOS_MEMPOOL_PRINT_INDIVIDUAL_PAGE_INFO -#endif -#endif - -#ifdef KOKKOS_MEMPOOL_PRINT_INFO -#ifndef KOKKOS_ENABLE_MEMPOOL_PRINT_INFO -#define KOKKOS_ENABLE_MEMPOOL_PRINT_INFO KOKKOS_MEMPOOL_PRINT_INFO -#endif -#endif - -#ifdef KOKKOS_MEMPOOL_PRINT_PAGE_INFO -#ifndef KOKKOS_ENABLE_MEMPOOL_PRINT_PAGE_INFO -#define KOKKOS_ENABLE_MEMPOOL_PRINT_PAGE_INFO KOKKOS_MEMPOOL_PRINT_PAGE_INFO -#endif -#endif - -#ifdef KOKKOS_MEMPOOL_PRINT_SUPERBLOCK_INFO -#ifndef KOKKOS_ENABLE_MEMPOOL_PRINT_SUPERBLOCK_INFO -#define KOKKOS_ENABLE_MEMPOOL_PRINT_SUPERBLOCK_INFO \ - KOKKOS_MEMPOOL_PRINT_SUPERBLOCK_INFO -#endif -#endif - -#ifdef KOKKOS_POSIX_MEMALIGN_AVAILABLE -#ifndef KOKKOS_ENABLE_POSIX_MEMALIGN -#define KOKKOS_ENABLE_POSIX_MEMALIGN KOKKOS_POSIX_MEMALIGN_AVAILABLE -#endif -#endif - -#ifdef KOKKOS_POSIX_MMAP_FLAGS -#ifndef KOKKOS_IMPL_POSIX_MMAP_FLAGS -#define KOKKOS_IMPL_POSIX_MMAP_FLAGS KOKKOS_POSIX_MMAP_FLAGS -#endif -#endif - -#ifdef KOKKOS_POSIX_MMAP_FLAGS_HUGE -#ifndef KOKKOS_IMPL_POSIX_MMAP_FLAGS_HUGE -#define KOKKOS_IMPL_POSIX_MMAP_FLAGS_HUGE KOKKOS_POSIX_MMAP_FLAGS_HUGE -#endif -#endif - -#ifdef KOKKOS_SHARED_ALLOCATION_TRACKER_DECREMENT -#ifndef KOKKOS_IMPL_SHARED_ALLOCATION_TRACKER_DECREMENT -#define KOKKOS_IMPL_SHARED_ALLOCATION_TRACKER_DECREMENT \ - KOKKOS_SHARED_ALLOCATION_TRACKER_DECREMENT -#endif -#endif - -#ifdef KOKKOS_SHARED_ALLOCATION_TRACKER_ENABLED -#ifndef KOKKOS_IMPL_SHARED_ALLOCATION_TRACKER_ENABLED -#define KOKKOS_IMPL_SHARED_ALLOCATION_TRACKER_ENABLED \ - KOKKOS_SHARED_ALLOCATION_TRACKER_ENABLED -#endif -#endif - -#ifdef KOKKOS_SHARED_ALLOCATION_TRACKER_INCREMENT -#ifndef KOKKOS_IMPL_SHARED_ALLOCATION_TRACKER_INCREMENT -#define KOKKOS_IMPL_SHARED_ALLOCATION_TRACKER_INCREMENT \ - KOKKOS_SHARED_ALLOCATION_TRACKER_INCREMENT -#endif -#endif - -#ifdef KOKKOS_USE_CUDA_UVM -#ifndef KOKKOS_ENABLE_CUDA_UVM -#define KOKKOS_ENABLE_CUDA_UVM KOKKOS_USE_CUDA_UVM -#endif -#endif - -#ifdef KOKKOS_USE_ISA_KNC -#ifndef KOKKOS_ENABLE_ISA_KNC -#define KOKKOS_ENABLE_ISA_KNC KOKKOS_USE_ISA_KNC -#endif -#endif - -#ifdef KOKKOS_USE_ISA_POWERPCLE -#ifndef KOKKOS_ENABLE_ISA_POWERPCLE -#define KOKKOS_ENABLE_ISA_POWERPCLE KOKKOS_USE_ISA_POWERPCLE -#endif -#endif - -#ifdef KOKKOS_USE_ISA_X86_64 -#ifndef KOKKOS_ENABLE_ISA_X86_64 -#define KOKKOS_ENABLE_ISA_X86_64 KOKKOS_USE_ISA_X86_64 -#endif -#endif - -#ifdef KOKKOS_USE_LIBRT -#ifndef KOKKOS_ENABLE_LIBRT -#define KOKKOS_ENABLE_LIBRT KOKKOS_USE_LIBRT -#endif -#endif - -#ifdef KOKKOS_VIEW_OPERATOR_VERIFY -#ifndef KOKKOS_IMPL_VIEW_OPERATOR_VERIFY -#define KOKKOS_IMPL_VIEW_OPERATOR_VERIFY KOKKOS_VIEW_OPERATOR_VERIFY -#endif -#endif - -#if defined(KOKKOS_ENABLE_PTHREAD) || defined(KOKKOS_ENABLE_WINTHREAD) -#ifndef KOKKOS_ENABLE_THREADS -#define KOKKOS_ENABLE_THREADS -#endif -#endif - -//------------------------------------------------------------------------------ -// Deprecated macros -//------------------------------------------------------------------------------ -#ifdef KOKKOS_HAVE_CXX11 -#undef KOKKOS_HAVE_CXX11 -#endif -#ifdef KOKKOS_ENABLE_CXX11 -#undef KOKKOS_ENABLE_CXX11 -#endif -#ifdef KOKKOS_USING_EXP_VIEW -#undef KOKKOS_USING_EXP_VIEW -#endif -#ifdef KOKKOS_USING_EXPERIMENTAL_VIEW -#undef KOKKOS_USING_EXPERIMENTAL_VIEW -#endif - -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_CXX11 1 -#define KOKKOS_USING_EXP_VIEW 1 -#define KOKKOS_USING_EXPERIMENTAL_VIEW 1 - -// backwards compatibility of no-longer-defined HAVE macros -// https://github.com/kokkos/kokkos/pull/1576/files -#if (!defined(KOKKOS_HAVE_CUDA)) && defined(KOKKOS_ENABLE_CUDA) -#define KOKKOS_HAVE_CUDA 1 -#endif - -#if (!defined(KOKKOS_HAVE_OPENMP)) && defined(KOKKOS_ENABLE_OPENMP) -#define KOKKOS_HAVE_OPENMP 1 -#endif - -#if (!defined(KOKKOS_HAVE_PTHREAD)) && defined(KOKKOS_ENABLE_THREADS) -#define KOKKOS_HAVE_PTHREAD 1 -#endif - -#if (!defined(KOKKOS_HAVE_SERIAL)) && defined(KOKKOS_ENABLE_SERIAL) -#define KOKKOS_HAVE_SERIAL 1 -#endif - -#if (!defined(KOKKOS_HAVE_CXX1Z)) && defined(KOKKOS_ENABLE_CXX1Z) -#define KOKKOS_HAVE_CXX1Z 1 -#endif - -#if (!defined(KOKKOS_HAVE_DEBUG)) && defined(KOKKOS_ENABLE_DEBUG) -#define KOKKOS_HAVE_DEBUG 1 -#endif - -#ifdef KOKKOS_HAVE_DEBUG -#ifndef KOKKOS_DEBUG -#define KOKKOS_DEBUG KOKKOS_HAVE_DEBUG -#endif -#endif - -#if (!defined(KOKKOS_HAVE_HWLOC)) && defined(KOKKOS_ENABLE_HWLOC) -#define KOKKOS_HAVE_HWLOC 1 -#endif - -#if (!defined(KOKKOS_HAVE_HBWSPACE)) && defined(KOKKOS_ENABLE_HBWSPACE) -#define KOKKOS_HAVE_HBWSPACE 1 -#endif - -#if (!defined(KOKKOS_CUDA_USE_LDG_INTRINSIC)) && \ - defined(KOKKOS_ENABLE_CUDA_LDG_INTRINSIC) -#define KOKKOS_CUDA_USE_LDG_INTRINSIC 1 -#endif - -#if (!defined(KOKKOS_CUDA_USE_UVM)) && defined(KOKKOS_ENABLE_CUDA_UVM) -#define KOKKOS_CUDA_USE_UVM 1 -#endif - -#if (!defined(KOKKOS_CUDA_USE_RELOCATABLE_DEVICE_CODE)) && \ - defined(KOKKOS_ENABLE_CUDA_RELOCATABLE_DEVICE_CODE) -#define KOKKOS_CUDA_USE_RELOCATABLE_DEVICE_CODE 1 -#endif - -#if (!defined(KOKKOS_CUDA_USE_LAMBDA)) && defined(KOKKOS_ENABLE_CUDA_LAMBDA) -#define KOKKOS_CUDA_USE_LAMBDA 1 -#endif - -#if (!defined(KOKKOS_CUDA_CLANG_WORKAROUND)) && \ - defined(KOKKOS_IMPL_CUDA_CLANG_WORKAROUND) -#define KOKKOS_CUDA_CLANG_WORKAROUND 1 -#endif - -#if (!defined(KOKKOS_HAVE_MPI)) && defined(KOKKOS_ENABLE_MPI) -#define KOKKOS_HAVE_MPI 1 -#endif - -#endif // KOKKOS_ENABLE_DEPRECATED_CODE - -#endif // KOKKOS_IMPL_OLD_MACROS_HPP diff --git a/lib/kokkos/core/src/impl/Kokkos_Profiling.cpp b/lib/kokkos/core/src/impl/Kokkos_Profiling.cpp new file mode 100644 index 0000000000000000000000000000000000000000..2a996f279fc6a26af67b48fe515c8c4b6c24182f --- /dev/null +++ b/lib/kokkos/core/src/impl/Kokkos_Profiling.cpp @@ -0,0 +1,893 @@ +/* +//@HEADER +// ************************************************************************ +// +// Kokkos v. 3.0 +// Copyright (2020) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). +// +// Under the terms of Contract DE-NA0003525 with NTESS, +// the U.S. Government retains certain rights in this software. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// +// 3. Neither the name of the Corporation nor the names of the +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY +// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE +// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// +// Questions? Contact Christian R. Trott (crtrott@sandia.gov) +// +// ************************************************************************ +//@HEADER +*/ + +#include +#include +#if defined(KOKKOS_ENABLE_LIBDL) +#include +#endif + +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Kokkos { + +namespace Tools { + +namespace Experimental { +#ifdef KOKKOS_ENABLE_TUNING +static size_t kernel_name_context_variable_id; +static size_t kernel_type_context_variable_id; +static std::unordered_map> + features_per_context; +static std::unordered_set active_features; +static std::unordered_map feature_values; +static std::unordered_map variable_metadata; +#endif + +static EventSet current_callbacks; +static EventSet backup_callbacks; +static EventSet no_profiling; + +bool eventSetsEqual(const EventSet& l, const EventSet& r) { + return l.init == r.init && l.finalize == r.finalize && + l.begin_parallel_for == r.begin_parallel_for && + l.end_parallel_for == r.end_parallel_for && + l.begin_parallel_reduce == r.begin_parallel_reduce && + l.end_parallel_reduce == r.end_parallel_reduce && + l.begin_parallel_scan == r.begin_parallel_scan && + l.end_parallel_scan == r.end_parallel_scan && + l.push_region == r.push_region && l.pop_region == r.pop_region && + l.allocate_data == r.allocate_data && + l.deallocate_data == r.deallocate_data && + l.create_profile_section == r.create_profile_section && + l.start_profile_section == r.start_profile_section && + l.stop_profile_section == r.stop_profile_section && + l.destroy_profile_section == r.destroy_profile_section && + l.profile_event == r.profile_event && + l.begin_deep_copy == r.begin_deep_copy && + l.end_deep_copy == r.end_deep_copy && + l.declare_input_type == r.declare_input_type && + l.declare_output_type == r.declare_output_type && + l.end_tuning_context == r.end_tuning_context && + l.begin_tuning_context == r.begin_tuning_context && + l.request_output_values == r.request_output_values && + l.declare_optimization_goal == r.declare_optimization_goal; +} +} // namespace Experimental +bool profileLibraryLoaded() { + return !Experimental::eventSetsEqual(Experimental::current_callbacks, + Experimental::no_profiling); +} + +void beginParallelFor(const std::string& kernelPrefix, const uint32_t devID, + uint64_t* kernelID) { + if (Experimental::current_callbacks.begin_parallel_for != nullptr) { + Kokkos::fence(); + (*Experimental::current_callbacks.begin_parallel_for)(kernelPrefix.c_str(), + devID, kernelID); +#ifdef KOKKOS_ENABLE_TUNING + auto context_id = Experimental::get_new_context_id(); + Experimental::begin_context(context_id); + Experimental::VariableValue contextValues[] = { + Experimental::make_variable_value( + Experimental::kernel_name_context_variable_id, kernelPrefix), + Experimental::make_variable_value( + Experimental::kernel_type_context_variable_id, "parallel_for")}; + Experimental::set_input_values(context_id, 2, contextValues); +#endif + } +} + +void endParallelFor(const uint64_t kernelID) { + if (Experimental::current_callbacks.end_parallel_for != nullptr) { + Kokkos::fence(); + (*Experimental::current_callbacks.end_parallel_for)(kernelID); +#ifdef KOKKOS_ENABLE_TUNING + Experimental::end_context(Experimental::get_current_context_id()); +#endif + } +} + +void beginParallelScan(const std::string& kernelPrefix, const uint32_t devID, + uint64_t* kernelID) { + if (Experimental::current_callbacks.begin_parallel_scan != nullptr) { + Kokkos::fence(); + (*Experimental::current_callbacks.begin_parallel_scan)(kernelPrefix.c_str(), + devID, kernelID); +#ifdef KOKKOS_ENABLE_TUNING + auto context_id = Experimental::get_new_context_id(); + Experimental::begin_context(context_id); + Experimental::VariableValue contextValues[] = { + Experimental::make_variable_value( + Experimental::kernel_name_context_variable_id, kernelPrefix), + Experimental::make_variable_value( + Experimental::kernel_type_context_variable_id, "parallel_for")}; + Experimental::set_input_values(context_id, 2, contextValues); +#endif + } +} + +void endParallelScan(const uint64_t kernelID) { + if (Experimental::current_callbacks.end_parallel_scan != nullptr) { + Kokkos::fence(); + (*Experimental::current_callbacks.end_parallel_scan)(kernelID); +#ifdef KOKKOS_ENABLE_TUNING + Experimental::end_context(Experimental::get_current_context_id()); +#endif + } +} + +void beginParallelReduce(const std::string& kernelPrefix, const uint32_t devID, + uint64_t* kernelID) { + if (Experimental::current_callbacks.begin_parallel_reduce != nullptr) { + Kokkos::fence(); + (*Experimental::current_callbacks.begin_parallel_reduce)( + kernelPrefix.c_str(), devID, kernelID); +#ifdef KOKKOS_ENABLE_TUNING + auto context_id = Experimental::get_new_context_id(); + Experimental::begin_context(context_id); + Experimental::VariableValue contextValues[] = { + Experimental::make_variable_value( + Experimental::kernel_name_context_variable_id, kernelPrefix), + Experimental::make_variable_value( + Experimental::kernel_type_context_variable_id, "parallel_for")}; + Experimental::set_input_values(context_id, 2, contextValues); +#endif + } +} + +void endParallelReduce(const uint64_t kernelID) { + if (Experimental::current_callbacks.end_parallel_reduce != nullptr) { + Kokkos::fence(); + (*Experimental::current_callbacks.end_parallel_reduce)(kernelID); +#ifdef KOKKOS_ENABLE_TUNING + Experimental::end_context(Experimental::get_current_context_id()); +#endif + } +} + +void pushRegion(const std::string& kName) { + if (Experimental::current_callbacks.push_region != nullptr) { + Kokkos::fence(); + (*Experimental::current_callbacks.push_region)(kName.c_str()); + } +} + +void popRegion() { + if (Experimental::current_callbacks.pop_region != nullptr) { + Kokkos::fence(); + (*Experimental::current_callbacks.pop_region)(); + } +} + +void allocateData(const SpaceHandle space, const std::string label, + const void* ptr, const uint64_t size) { + if (Experimental::current_callbacks.allocate_data != nullptr) { + (*Experimental::current_callbacks.allocate_data)(space, label.c_str(), ptr, + size); + } +} + +void deallocateData(const SpaceHandle space, const std::string label, + const void* ptr, const uint64_t size) { + if (Experimental::current_callbacks.deallocate_data != nullptr) { + (*Experimental::current_callbacks.deallocate_data)(space, label.c_str(), + ptr, size); + } +} + +void beginDeepCopy(const SpaceHandle dst_space, const std::string dst_label, + const void* dst_ptr, const SpaceHandle src_space, + const std::string src_label, const void* src_ptr, + const uint64_t size) { + if (Experimental::current_callbacks.begin_deep_copy != nullptr) { + (*Experimental::current_callbacks.begin_deep_copy)( + dst_space, dst_label.c_str(), dst_ptr, src_space, src_label.c_str(), + src_ptr, size); +#ifdef KOKKOS_ENABLE_TUNING + auto context_id = Experimental::get_new_context_id(); + Experimental::begin_context(context_id); + Experimental::VariableValue contextValues[] = { + Experimental::make_variable_value( + Experimental::kernel_name_context_variable_id, "deep_copy_kernel"), + Experimental::make_variable_value( + Experimental::kernel_type_context_variable_id, "deep_copy")}; + Experimental::set_input_values(context_id, 2, contextValues); +#endif + } +} + +void endDeepCopy() { + if (Experimental::current_callbacks.end_deep_copy != nullptr) { + (*Experimental::current_callbacks.end_deep_copy)(); +#ifdef KOKKOS_ENABLE_TUNING + Experimental::end_context(Experimental::get_current_context_id()); +#endif + } +} + +void createProfileSection(const std::string& sectionName, uint32_t* secID) { + if (Experimental::current_callbacks.create_profile_section != nullptr) { + (*Experimental::current_callbacks.create_profile_section)( + sectionName.c_str(), secID); + } +} + +void startSection(const uint32_t secID) { + if (Experimental::current_callbacks.start_profile_section != nullptr) { + (*Experimental::current_callbacks.start_profile_section)(secID); + } +} + +void stopSection(const uint32_t secID) { + if (Experimental::current_callbacks.stop_profile_section != nullptr) { + (*Experimental::current_callbacks.stop_profile_section)(secID); + } +} + +void destroyProfileSection(const uint32_t secID) { + if (Experimental::current_callbacks.destroy_profile_section != nullptr) { + (*Experimental::current_callbacks.destroy_profile_section)(secID); + } +} + +void markEvent(const std::string& eventName) { + if (Experimental::current_callbacks.profile_event != nullptr) { + (*Experimental::current_callbacks.profile_event)(eventName.c_str()); + } +} + +SpaceHandle make_space_handle(const char* space_name) { + SpaceHandle handle; + strncpy(handle.name, space_name, 63); + return handle; +} + +void initialize() { + // Make sure initialize calls happens only once + static int is_initialized = 0; + if (is_initialized) return; + is_initialized = 1; + +#ifdef KOKKOS_ENABLE_LIBDL + void* firstProfileLibrary = nullptr; + + char* envProfileLibrary = getenv("KOKKOS_PROFILE_LIBRARY"); + + // If we do not find a profiling library in the environment then exit + // early. + if (envProfileLibrary == nullptr) { + return; + } + + char* envProfileCopy = + (char*)malloc(sizeof(char) * (strlen(envProfileLibrary) + 1)); + sprintf(envProfileCopy, "%s", envProfileLibrary); + + char* profileLibraryName = strtok(envProfileCopy, ";"); + + if ((profileLibraryName != nullptr) && + (strcmp(profileLibraryName, "") != 0)) { + firstProfileLibrary = dlopen(profileLibraryName, RTLD_NOW | RTLD_GLOBAL); + + if (firstProfileLibrary == nullptr) { + std::cerr << "Error: Unable to load KokkosP library: " + << profileLibraryName << std::endl; + std::cerr << "dlopen(" << profileLibraryName + << ", RTLD_NOW | RTLD_GLOBAL) failed with " << dlerror() + << '\n'; + } else { +#ifdef KOKKOS_ENABLE_PROFILING_LOAD_PRINT + std::cout << "KokkosP: Library Loaded: " << profileLibraryName + << std::endl; +#endif + // dlsym returns a pointer to an object, while we want to assign to + // pointer to function A direct cast will give warnings hence, we have to + // workaround the issue by casting pointer to pointers. + auto p1 = dlsym(firstProfileLibrary, "kokkosp_begin_parallel_for"); + Experimental::set_begin_parallel_for_callback( + *reinterpret_cast(&p1)); + auto p2 = dlsym(firstProfileLibrary, "kokkosp_begin_parallel_scan"); + Experimental::set_begin_parallel_scan_callback( + *reinterpret_cast(&p2)); + auto p3 = dlsym(firstProfileLibrary, "kokkosp_begin_parallel_reduce"); + Experimental::set_begin_parallel_reduce_callback( + *reinterpret_cast(&p3)); + + auto p4 = dlsym(firstProfileLibrary, "kokkosp_end_parallel_scan"); + Experimental::set_end_parallel_scan_callback( + *reinterpret_cast(&p4)); + auto p5 = dlsym(firstProfileLibrary, "kokkosp_end_parallel_for"); + Experimental::set_end_parallel_for_callback( + *reinterpret_cast(&p5)); + auto p6 = dlsym(firstProfileLibrary, "kokkosp_end_parallel_reduce"); + Experimental::set_end_parallel_reduce_callback( + *reinterpret_cast(&p6)); + + auto p7 = dlsym(firstProfileLibrary, "kokkosp_init_library"); + Experimental::set_init_callback(*reinterpret_cast(&p7)); + auto p8 = dlsym(firstProfileLibrary, "kokkosp_finalize_library"); + Experimental::set_finalize_callback( + *reinterpret_cast(&p8)); + + auto p9 = dlsym(firstProfileLibrary, "kokkosp_push_profile_region"); + Experimental::set_push_region_callback( + *reinterpret_cast(&p9)); + auto p10 = dlsym(firstProfileLibrary, "kokkosp_pop_profile_region"); + Experimental::set_pop_region_callback( + *reinterpret_cast(&p10)); + + auto p11 = dlsym(firstProfileLibrary, "kokkosp_allocate_data"); + Experimental::set_allocate_data_callback( + *reinterpret_cast(&p11)); + auto p12 = dlsym(firstProfileLibrary, "kokkosp_deallocate_data"); + Experimental::set_deallocate_data_callback( + *reinterpret_cast(&p12)); + + auto p13 = dlsym(firstProfileLibrary, "kokkosp_begin_deep_copy"); + Experimental::set_begin_deep_copy_callback( + *reinterpret_cast(&p13)); + auto p14 = dlsym(firstProfileLibrary, "kokkosp_end_deep_copy"); + Experimental::set_end_deep_copy_callback( + *reinterpret_cast(&p14)); + + auto p15 = dlsym(firstProfileLibrary, "kokkosp_create_profile_section"); + Experimental::set_create_profile_section_callback( + *(reinterpret_cast(&p15))); + auto p16 = dlsym(firstProfileLibrary, "kokkosp_start_profile_section"); + Experimental::set_start_profile_section_callback( + *reinterpret_cast(&p16)); + auto p17 = dlsym(firstProfileLibrary, "kokkosp_stop_profile_section"); + Experimental::set_stop_profile_section_callback( + *reinterpret_cast(&p17)); + auto p18 = dlsym(firstProfileLibrary, "kokkosp_destroy_profile_section"); + Experimental::set_destroy_profile_section_callback( + *(reinterpret_cast(&p18))); + + auto p19 = dlsym(firstProfileLibrary, "kokkosp_profile_event"); + Experimental::set_profile_event_callback( + *reinterpret_cast(&p19)); + +#ifdef KOKKOS_ENABLE_TUNING + auto p20 = dlsym(firstProfileLibrary, "kokkosp_declare_output_type"); + Experimental::set_declare_output_type_callback( + *reinterpret_cast( + &p20)); + + auto p21 = dlsym(firstProfileLibrary, "kokkosp_declare_input_type"); + Experimental::set_declare_input_type_callback( + *reinterpret_cast(&p21)); + auto p22 = dlsym(firstProfileLibrary, "kokkosp_request_values"); + Experimental::set_request_output_values_callback( + *reinterpret_cast(&p22)); + auto p23 = dlsym(firstProfileLibrary, "kokkosp_end_context"); + Experimental::set_end_context_callback( + *reinterpret_cast(&p23)); + auto p24 = dlsym(firstProfileLibrary, "kokkosp_begin_context"); + Experimental::set_begin_context_callback( + *reinterpret_cast(&p24)); + auto p25 = + dlsym(firstProfileLibrary, "kokkosp_declare_optimization_goal"); + Experimental::set_declare_optimization_goal_callback( + *reinterpret_cast( + &p25)); +#endif // KOKKOS_ENABLE_TUNING + } + } +#endif // KOKKOS_ENABLE_LIBDL + if (Experimental::current_callbacks.init != nullptr) { + (*Experimental::current_callbacks.init)( + 0, (uint64_t)KOKKOSP_INTERFACE_VERSION, (uint32_t)0, nullptr); + } + +#ifdef KOKKOS_ENABLE_TUNING + Experimental::VariableInfo kernel_name; + kernel_name.type = Experimental::ValueType::kokkos_value_string; + kernel_name.category = + Experimental::StatisticalCategory::kokkos_value_categorical; + kernel_name.valueQuantity = + Experimental::CandidateValueType::kokkos_value_unbounded; + + std::array candidate_values = { + "parallel_for", + "parallel_reduce", + "parallel_scan", + "parallel_copy", + }; + + Experimental::SetOrRange kernel_type_variable_candidates = + Experimental::make_candidate_set(4, candidate_values.data()); + + Experimental::kernel_name_context_variable_id = + Experimental::declare_input_type("kokkos.kernel_name", kernel_name); + + Experimental::VariableInfo kernel_type; + kernel_type.type = Experimental::ValueType::kokkos_value_string; + kernel_type.category = + Experimental::StatisticalCategory::kokkos_value_categorical; + kernel_type.valueQuantity = + Experimental::CandidateValueType::kokkos_value_set; + kernel_type.candidates = kernel_type_variable_candidates; + Experimental::kernel_type_context_variable_id = + Experimental::declare_input_type("kokkos.kernel_type", kernel_type); + +#endif + + Experimental::no_profiling.init = nullptr; + Experimental::no_profiling.finalize = nullptr; + + Experimental::no_profiling.begin_parallel_for = nullptr; + Experimental::no_profiling.begin_parallel_scan = nullptr; + Experimental::no_profiling.begin_parallel_reduce = nullptr; + Experimental::no_profiling.end_parallel_scan = nullptr; + Experimental::no_profiling.end_parallel_for = nullptr; + Experimental::no_profiling.end_parallel_reduce = nullptr; + + Experimental::no_profiling.push_region = nullptr; + Experimental::no_profiling.pop_region = nullptr; + Experimental::no_profiling.allocate_data = nullptr; + Experimental::no_profiling.deallocate_data = nullptr; + + Experimental::no_profiling.begin_deep_copy = nullptr; + Experimental::no_profiling.end_deep_copy = nullptr; + + Experimental::no_profiling.create_profile_section = nullptr; + Experimental::no_profiling.start_profile_section = nullptr; + Experimental::no_profiling.stop_profile_section = nullptr; + Experimental::no_profiling.destroy_profile_section = nullptr; + + Experimental::no_profiling.profile_event = nullptr; + + Experimental::no_profiling.declare_input_type = nullptr; + Experimental::no_profiling.declare_output_type = nullptr; + Experimental::no_profiling.request_output_values = nullptr; + Experimental::no_profiling.end_tuning_context = nullptr; +#ifdef KOKKOS_ENABLE_LIBDL + free(envProfileCopy); +#endif +} + +void finalize() { + // Make sure finalize calls happens only once + static int is_finalized = 0; + if (is_finalized) return; + is_finalized = 1; + + if (Experimental::current_callbacks.finalize != nullptr) { + (*Experimental::current_callbacks.finalize)(); + + Experimental::pause_tools(); + } +#ifdef KOKKOS_ENABLE_TUNING + // clean up string candidate set + for (auto& metadata_pair : Experimental::variable_metadata) { + auto metadata = metadata_pair.second; + if ((metadata.type == Experimental::ValueType::kokkos_value_string) && + (metadata.valueQuantity == + Experimental::CandidateValueType::kokkos_value_set)) { + auto candidate_set = metadata.candidates.set; + delete[] candidate_set.values.string_value; + } + } +#endif +} + +} // namespace Tools + +namespace Tools { +namespace Experimental { +void set_init_callback(initFunction callback) { + current_callbacks.init = callback; +} +void set_finalize_callback(finalizeFunction callback) { + current_callbacks.finalize = callback; +} +void set_begin_parallel_for_callback(beginFunction callback) { + current_callbacks.begin_parallel_for = callback; +} +void set_end_parallel_for_callback(endFunction callback) { + current_callbacks.end_parallel_for = callback; +} +void set_begin_parallel_reduce_callback(beginFunction callback) { + current_callbacks.begin_parallel_reduce = callback; +} +void set_end_parallel_reduce_callback(endFunction callback) { + current_callbacks.end_parallel_reduce = callback; +} +void set_begin_parallel_scan_callback(beginFunction callback) { + current_callbacks.begin_parallel_scan = callback; +} +void set_end_parallel_scan_callback(endFunction callback) { + current_callbacks.end_parallel_scan = callback; +} +void set_push_region_callback(pushFunction callback) { + current_callbacks.push_region = callback; +} +void set_pop_region_callback(popFunction callback) { + current_callbacks.pop_region = callback; +} +void set_allocate_data_callback(allocateDataFunction callback) { + current_callbacks.allocate_data = callback; +} +void set_deallocate_data_callback(deallocateDataFunction callback) { + current_callbacks.deallocate_data = callback; +} +void set_create_profile_section_callback( + createProfileSectionFunction callback) { + current_callbacks.create_profile_section = callback; +} +void set_start_profile_section_callback(startProfileSectionFunction callback) { + current_callbacks.start_profile_section = callback; +} +void set_stop_profile_section_callback(stopProfileSectionFunction callback) { + current_callbacks.stop_profile_section = callback; +} +void set_destroy_profile_section_callback( + destroyProfileSectionFunction callback) { + current_callbacks.destroy_profile_section = callback; +} +void set_profile_event_callback(profileEventFunction callback) { + current_callbacks.profile_event = callback; +} +void set_begin_deep_copy_callback(beginDeepCopyFunction callback) { + current_callbacks.begin_deep_copy = callback; +} +void set_end_deep_copy_callback(endDeepCopyFunction callback) { + current_callbacks.end_deep_copy = callback; +} + +void set_declare_output_type_callback(outputTypeDeclarationFunction callback) { + current_callbacks.declare_output_type = callback; +} +void set_declare_input_type_callback(inputTypeDeclarationFunction callback) { + current_callbacks.declare_input_type = callback; +} +void set_request_output_values_callback(requestValueFunction callback) { + current_callbacks.request_output_values = callback; +} +void set_end_context_callback(contextEndFunction callback) { + current_callbacks.end_tuning_context = callback; +} +void set_begin_context_callback(contextBeginFunction callback) { + current_callbacks.begin_tuning_context = callback; +} +void set_declare_optimization_goal_callback( + optimizationGoalDeclarationFunction callback) { + current_callbacks.declare_optimization_goal = callback; +} + +void pause_tools() { + backup_callbacks = current_callbacks; + current_callbacks = no_profiling; +} + +void resume_tools() { current_callbacks = backup_callbacks; } + +EventSet get_callbacks() { return current_callbacks; } +void set_callbacks(EventSet new_events) { current_callbacks = new_events; } +} // namespace Experimental +} // namespace Tools + +namespace Profiling { +bool profileLibraryLoaded() { return Kokkos::Tools::profileLibraryLoaded(); } + +void beginParallelFor(const std::string& kernelPrefix, const uint32_t devID, + uint64_t* kernelID) { + Kokkos::Tools::beginParallelFor(kernelPrefix, devID, kernelID); +} +void beginParallelReduce(const std::string& kernelPrefix, const uint32_t devID, + uint64_t* kernelID) { + Kokkos::Tools::beginParallelReduce(kernelPrefix, devID, kernelID); +} +void beginParallelScan(const std::string& kernelPrefix, const uint32_t devID, + uint64_t* kernelID) { + Kokkos::Tools::beginParallelScan(kernelPrefix, devID, kernelID); +} +void endParallelFor(const uint64_t kernelID) { + Kokkos::Tools::endParallelFor(kernelID); +} +void endParallelReduce(const uint64_t kernelID) { + Kokkos::Tools::endParallelReduce(kernelID); +} +void endParallelScan(const uint64_t kernelID) { + Kokkos::Tools::endParallelScan(kernelID); +} + +void pushRegion(const std::string& kName) { Kokkos::Tools::pushRegion(kName); } +void popRegion() { Kokkos::Tools::popRegion(); } + +void createProfileSection(const std::string& sectionName, uint32_t* secID) { + Kokkos::Tools::createProfileSection(sectionName, secID); +} +void destroyProfileSection(const uint32_t secID) { + Kokkos::Tools::destroyProfileSection(secID); +} + +void startSection(const uint32_t secID) { Kokkos::Tools::startSection(secID); } + +void stopSection(const uint32_t secID) { Kokkos::Tools::stopSection(secID); } + +void markEvent(const std::string& eventName) { + Kokkos::Tools::markEvent(eventName); +} +void allocateData(const SpaceHandle handle, const std::string name, + const void* data, const uint64_t size) { + Kokkos::Tools::allocateData(handle, name, data, size); +} +void deallocateData(const SpaceHandle space, const std::string label, + const void* ptr, const uint64_t size) { + Kokkos::Tools::deallocateData(space, label, ptr, size); +} + +void beginDeepCopy(const SpaceHandle dst_space, const std::string dst_label, + const void* dst_ptr, const SpaceHandle src_space, + const std::string src_label, const void* src_ptr, + const uint64_t size) { + Kokkos::Tools::beginDeepCopy(dst_space, dst_label, dst_ptr, src_space, + src_label, src_ptr, size); +} +void endDeepCopy() { Kokkos::Tools::endDeepCopy(); } + +void finalize() { Kokkos::Tools::finalize(); } +void initialize() { Kokkos::Tools::initialize(); } + +SpaceHandle make_space_handle(const char* space_name) { + return Kokkos::Tools::make_space_handle(space_name); +} +} // namespace Profiling + +} // namespace Kokkos + +// Tuning + +namespace Kokkos { +namespace Tools { +namespace Experimental { +static size_t& get_context_counter() { + static size_t x; + return x; +} +static size_t& get_variable_counter() { + static size_t x; + return ++x; +} + +size_t get_new_context_id() { return ++get_context_counter(); } +size_t get_current_context_id() { return get_context_counter(); } +void decrement_current_context_id() { --get_context_counter(); } +size_t get_new_variable_id() { return get_variable_counter(); } + +size_t declare_output_type(const std::string& variableName, VariableInfo info) { + size_t variableId = get_new_variable_id(); +#ifdef KOKKOS_ENABLE_TUNING + if (Experimental::current_callbacks.declare_output_type != nullptr) { + (*Experimental::current_callbacks.declare_output_type)(variableName.c_str(), + variableId, &info); + } + variable_metadata[variableId] = info; +#else + (void)variableName; + (void)info; +#endif + return variableId; +} + +size_t declare_input_type(const std::string& variableName, VariableInfo info) { + size_t variableId = get_new_variable_id(); +#ifdef KOKKOS_ENABLE_TUNING + if (Experimental::current_callbacks.declare_input_type != nullptr) { + (*Experimental::current_callbacks.declare_input_type)(variableName.c_str(), + variableId, &info); + } + variable_metadata[variableId] = info; +#else + (void)variableName; + (void)info; +#endif + return variableId; +} + +void set_input_values(size_t contextId, size_t count, VariableValue* values) { +#ifdef KOKKOS_ENABLE_TUNING + if (features_per_context.find(contextId) == features_per_context.end()) { + features_per_context[contextId] = std::unordered_set(); + } + for (size_t x = 0; x < count; ++x) { + values[x].metadata = &variable_metadata[values[x].type_id]; + features_per_context[contextId].insert(values[x].type_id); + active_features.insert(values[x].type_id); + feature_values[values[x].type_id] = values[x]; + } +#else + (void)contextId; + (void)count; + (void)values; +#endif +} +#include +void request_output_values(size_t contextId, size_t count, + VariableValue* values) { +#ifdef KOKKOS_ENABLE_TUNING + std::vector context_ids; + std::vector context_values; + for (auto id : active_features) { + context_values.push_back(feature_values[id]); + } + if (Experimental::current_callbacks.request_output_values != nullptr) { + for (size_t x = 0; x < count; ++x) { + values[x].metadata = &variable_metadata[values[x].type_id]; + } + (*Experimental::current_callbacks.request_output_values)( + contextId, context_values.size(), context_values.data(), count, values); + } +#else + (void)contextId; + (void)count; + (void)values; +#endif +} + +static std::unordered_map optimization_goals; + +void begin_context(size_t contextId) { + if (Experimental::current_callbacks.begin_tuning_context != nullptr) { + (*Experimental::current_callbacks.begin_tuning_context)(contextId); + } +} +void end_context(size_t contextId) { +#ifdef KOKKOS_ENABLE_TUNING + for (auto id : features_per_context[contextId]) { + active_features.erase(id); + } + if (Experimental::current_callbacks.end_tuning_context != nullptr) { + (*Experimental::current_callbacks.end_tuning_context)( + contextId, feature_values[optimization_goals[contextId]]); + } + optimization_goals.erase(contextId); + decrement_current_context_id(); +#else + (void)contextId; +#endif +} + +bool have_tuning_tool() { +#ifdef KOKKOS_ENABLE_TUNING + return (Experimental::current_callbacks.request_output_values != nullptr); +#else + return false; +#endif +} + +VariableValue make_variable_value(size_t id, int64_t val) { + VariableValue variable_value; + variable_value.type_id = id; + variable_value.value.int_value = val; + return variable_value; +} +VariableValue make_variable_value(size_t id, double val) { + VariableValue variable_value; + variable_value.type_id = id; + variable_value.value.double_value = val; + return variable_value; +} +VariableValue make_variable_value(size_t id, const std::string& val) { + VariableValue variable_value; + variable_value.type_id = id; + strncpy(variable_value.value.string_value, val.c_str(), + KOKKOS_TOOLS_TUNING_STRING_LENGTH - 1); + return variable_value; +} +SetOrRange make_candidate_set(size_t size, std::string* data) { + SetOrRange value_set; + value_set.set.values.string_value = new TuningString[size]; + for (size_t x = 0; x < size; ++x) { + strncpy(value_set.set.values.string_value[x], data[x].c_str(), + KOKKOS_TOOLS_TUNING_STRING_LENGTH - 1); + } + value_set.set.size = size; + return value_set; +} +SetOrRange make_candidate_set(size_t size, int64_t* data) { + SetOrRange value_set; + value_set.set.size = size; + value_set.set.values.int_value = data; + return value_set; +} +SetOrRange make_candidate_set(size_t size, double* data) { + SetOrRange value_set; + value_set.set.size = size; + value_set.set.values.double_value = data; + return value_set; +} +SetOrRange make_candidate_range(double lower, double upper, double step, + bool openLower = false, + bool openUpper = false) { + SetOrRange value_range; + value_range.range.lower.double_value = lower; + value_range.range.upper.double_value = upper; + value_range.range.step.double_value = step; + value_range.range.openLower = openLower; + value_range.range.openUpper = openUpper; + return value_range; +} + +SetOrRange make_candidate_range(int64_t lower, int64_t upper, int64_t step, + bool openLower = false, + bool openUpper = false) { + SetOrRange value_range; + value_range.range.lower.int_value = lower; + value_range.range.upper.int_value = upper; + value_range.range.step.int_value = step; + value_range.range.openLower = openLower; + value_range.range.openUpper = openUpper; + return value_range; +} + +size_t get_new_context_id(); +size_t get_current_context_id(); +void decrement_current_context_id(); +size_t get_new_variable_id(); +void declare_optimization_goal(const size_t context, + const OptimizationGoal& goal) { +#ifdef KOKKOS_ENABLE_TUNING + if (Experimental::current_callbacks.declare_optimization_goal != nullptr) { + (*Experimental::current_callbacks.declare_optimization_goal)(context, goal); + } + optimization_goals[context] = goal.type_id; +#else + (void)context; + (void)goal; +#endif +} +} // end namespace Experimental +} // end namespace Tools + +} // end namespace Kokkos diff --git a/lib/kokkos/core/src/impl/Kokkos_Profiling.hpp b/lib/kokkos/core/src/impl/Kokkos_Profiling.hpp new file mode 100644 index 0000000000000000000000000000000000000000..4cc1df80414d02fd6df81e2af68a5f821f20a515 --- /dev/null +++ b/lib/kokkos/core/src/impl/Kokkos_Profiling.hpp @@ -0,0 +1,244 @@ +/* +//@HEADER +// ************************************************************************ +// +// Kokkos v. 3.0 +// Copyright (2020) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). +// +// Under the terms of Contract DE-NA0003525 with NTESS, +// the U.S. Government retains certain rights in this software. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// +// 3. Neither the name of the Corporation nor the names of the +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY +// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE +// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// +// Questions? Contact Christian R. Trott (crtrott@sandia.gov) +// +// ************************************************************************ +//@HEADER +*/ + +#ifndef KOKKOS_IMPL_KOKKOS_PROFILING_HPP +#define KOKKOS_IMPL_KOKKOS_PROFILING_HPP + +#include +#include +#include + +#include + +namespace Kokkos { +namespace Tools { + +bool profileLibraryLoaded(); + +void beginParallelFor(const std::string& kernelPrefix, const uint32_t devID, + uint64_t* kernelID); +void endParallelFor(const uint64_t kernelID); +void beginParallelScan(const std::string& kernelPrefix, const uint32_t devID, + uint64_t* kernelID); +void endParallelScan(const uint64_t kernelID); +void beginParallelReduce(const std::string& kernelPrefix, const uint32_t devID, + uint64_t* kernelID); +void endParallelReduce(const uint64_t kernelID); + +void pushRegion(const std::string& kName); +void popRegion(); + +void createProfileSection(const std::string& sectionName, uint32_t* secID); +void startSection(const uint32_t secID); +void stopSection(const uint32_t secID); +void destroyProfileSection(const uint32_t secID); + +void markEvent(const std::string& evName); + +void allocateData(const SpaceHandle space, const std::string label, + const void* ptr, const uint64_t size); +void deallocateData(const SpaceHandle space, const std::string label, + const void* ptr, const uint64_t size); + +void beginDeepCopy(const SpaceHandle dst_space, const std::string dst_label, + const void* dst_ptr, const SpaceHandle src_space, + const std::string src_label, const void* src_ptr, + const uint64_t size); +void endDeepCopy(); + +void initialize(); +void finalize(); + +Kokkos_Profiling_SpaceHandle make_space_handle(const char* space_name); + +namespace Experimental { + +void set_init_callback(initFunction callback); +void set_finalize_callback(finalizeFunction callback); +void set_begin_parallel_for_callback(beginFunction callback); +void set_end_parallel_for_callback(endFunction callback); +void set_begin_parallel_reduce_callback(beginFunction callback); +void set_end_parallel_reduce_callback(endFunction callback); +void set_begin_parallel_scan_callback(beginFunction callback); +void set_end_parallel_scan_callback(endFunction callback); +void set_push_region_callback(pushFunction callback); +void set_pop_region_callback(popFunction callback); +void set_allocate_data_callback(allocateDataFunction callback); +void set_deallocate_data_callback(deallocateDataFunction callback); +void set_create_profile_section_callback(createProfileSectionFunction callback); +void set_start_profile_section_callback(startProfileSectionFunction callback); +void set_stop_profile_section_callback(stopProfileSectionFunction callback); +void set_destroy_profile_section_callback( + destroyProfileSectionFunction callback); +void set_profile_event_callback(profileEventFunction callback); +void set_begin_deep_copy_callback(beginDeepCopyFunction callback); +void set_end_deep_copy_callback(endDeepCopyFunction callback); + +void set_declare_output_type_callback(outputTypeDeclarationFunction callback); +void set_declare_input_type_callback(inputTypeDeclarationFunction callback); +void set_request_output_values_callback(requestValueFunction callback); +void set_declare_optimization_goal_callback( + optimizationGoalDeclarationFunction callback); +void set_end_context_callback(contextEndFunction callback); +void set_begin_context_callback(contextBeginFunction callback); + +void pause_tools(); +void resume_tools(); + +EventSet get_callbacks(); +void set_callbacks(EventSet new_events); +} // namespace Experimental +} // namespace Tools +namespace Profiling { + +bool profileLibraryLoaded(); + +void beginParallelFor(const std::string& kernelPrefix, const uint32_t devID, + uint64_t* kernelID); +void beginParallelReduce(const std::string& kernelPrefix, const uint32_t devID, + uint64_t* kernelID); +void beginParallelScan(const std::string& kernelPrefix, const uint32_t devID, + uint64_t* kernelID); +void endParallelFor(const uint64_t kernelID); +void endParallelReduce(const uint64_t kernelID); +void endParallelScan(const uint64_t kernelID); +void pushRegion(const std::string& kName); +void popRegion(); + +void createProfileSection(const std::string& sectionName, uint32_t* secID); +void destroyProfileSection(const uint32_t secID); +void startSection(const uint32_t secID); + +void stopSection(const uint32_t secID); + +void markEvent(const std::string& eventName); +void allocateData(const SpaceHandle handle, const std::string name, + const void* data, const uint64_t size); +void deallocateData(const SpaceHandle space, const std::string label, + const void* ptr, const uint64_t size); +void beginDeepCopy(const SpaceHandle dst_space, const std::string dst_label, + const void* dst_ptr, const SpaceHandle src_space, + const std::string src_label, const void* src_ptr, + const uint64_t size); +void endDeepCopy(); + +void finalize(); +void initialize(); +SpaceHandle make_space_handle(const char* space_name); + +namespace Experimental { +using Kokkos::Tools::Experimental::set_allocate_data_callback; +using Kokkos::Tools::Experimental::set_begin_deep_copy_callback; +using Kokkos::Tools::Experimental::set_begin_parallel_for_callback; +using Kokkos::Tools::Experimental::set_begin_parallel_reduce_callback; +using Kokkos::Tools::Experimental::set_begin_parallel_scan_callback; +using Kokkos::Tools::Experimental::set_create_profile_section_callback; +using Kokkos::Tools::Experimental::set_deallocate_data_callback; +using Kokkos::Tools::Experimental::set_destroy_profile_section_callback; +using Kokkos::Tools::Experimental::set_end_deep_copy_callback; +using Kokkos::Tools::Experimental::set_end_parallel_for_callback; +using Kokkos::Tools::Experimental::set_end_parallel_reduce_callback; +using Kokkos::Tools::Experimental::set_end_parallel_scan_callback; +using Kokkos::Tools::Experimental::set_finalize_callback; +using Kokkos::Tools::Experimental::set_init_callback; +using Kokkos::Tools::Experimental::set_pop_region_callback; +using Kokkos::Tools::Experimental::set_profile_event_callback; +using Kokkos::Tools::Experimental::set_push_region_callback; +using Kokkos::Tools::Experimental::set_start_profile_section_callback; +using Kokkos::Tools::Experimental::set_stop_profile_section_callback; + +using Kokkos::Tools::Experimental::EventSet; + +using Kokkos::Tools::Experimental::pause_tools; +using Kokkos::Tools::Experimental::resume_tools; + +using Kokkos::Tools::Experimental::get_callbacks; +using Kokkos::Tools::Experimental::set_callbacks; + +} // namespace Experimental +} // namespace Profiling + +namespace Tools { +namespace Experimental { + +VariableValue make_variable_value(size_t id, int64_t val); +VariableValue make_variable_value(size_t id, double val); +VariableValue make_variable_value(size_t id, const std::string& val); + +SetOrRange make_candidate_set(size_t size, std::string* data); +SetOrRange make_candidate_set(size_t size, int64_t* data); +SetOrRange make_candidate_set(size_t size, double* data); +SetOrRange make_candidate_range(double lower, double upper, double step, + bool openLower, bool openUpper); + +SetOrRange make_candidate_range(int64_t lower, int64_t upper, int64_t step, + bool openLower, bool openUpper); + +void declare_optimization_goal(const size_t context, + const OptimizationGoal& goal); + +size_t declare_output_type(const std::string& typeName, VariableInfo info); + +size_t declare_input_type(const std::string& typeName, VariableInfo info); + +void set_input_values(size_t contextId, size_t count, VariableValue* values); + +void end_context(size_t contextId); +void begin_context(size_t contextId); + +void request_output_values(size_t contextId, size_t count, + VariableValue* values); + +bool have_tuning_tool(); + +size_t get_new_context_id(); +size_t get_current_context_id(); + +size_t get_new_variable_id(); +} // namespace Experimental +} // namespace Tools + +} // namespace Kokkos + +#endif diff --git a/lib/kokkos/core/src/impl/Kokkos_Profiling_C_Interface.h b/lib/kokkos/core/src/impl/Kokkos_Profiling_C_Interface.h new file mode 100644 index 0000000000000000000000000000000000000000..04189d5268a8994c4b1a989cc20bdbfd2369ce61 --- /dev/null +++ b/lib/kokkos/core/src/impl/Kokkos_Profiling_C_Interface.h @@ -0,0 +1,244 @@ +/* +//@HEADER +// ************************************************************************ +// +// Kokkos v. 3.0 +// Copyright (2020) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). +// +// Under the terms of Contract DE-NA0003525 with NTESS, +// the U.S. Government retains certain rights in this software. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// +// 3. Neither the name of the Corporation nor the names of the +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY +// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE +// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// +// Questions? Contact Christian R. Trott (crtrott@sandia.gov) +// +// ************************************************************************ +//@HEADER +*/ + +#ifndef KOKKOS_PROFILING_C_INTERFACE_HPP +#define KOKKOS_PROFILING_C_INTERFACE_HPP + +#ifdef __cplusplus +#include +#include +#else +#include +#include +#include +#endif + +#define KOKKOSP_INTERFACE_VERSION 20200625 + +// Profiling + +struct Kokkos_Profiling_KokkosPDeviceInfo { + size_t deviceID; +}; + +struct Kokkos_Profiling_SpaceHandle { + char name[64]; +}; + +// NOLINTNEXTLINE(modernize-use-using): C compatibility +typedef void (*Kokkos_Profiling_initFunction)( + const int, const uint64_t, const uint32_t, + struct Kokkos_Profiling_KokkosPDeviceInfo*); +// NOLINTNEXTLINE(modernize-use-using): C compatibility +typedef void (*Kokkos_Profiling_finalizeFunction)(); +// NOLINTNEXTLINE(modernize-use-using): C compatibility +typedef void (*Kokkos_Profiling_beginFunction)(const char*, const uint32_t, + uint64_t*); +// NOLINTNEXTLINE(modernize-use-using): C compatibility +typedef void (*Kokkos_Profiling_endFunction)(uint64_t); + +// NOLINTNEXTLINE(modernize-use-using): C compatibility +typedef void (*Kokkos_Profiling_pushFunction)(const char*); +// NOLINTNEXTLINE(modernize-use-using): C compatibility +typedef void (*Kokkos_Profiling_popFunction)(); + +// NOLINTNEXTLINE(modernize-use-using): C compatibility +typedef void (*Kokkos_Profiling_allocateDataFunction)( + const struct Kokkos_Profiling_SpaceHandle, const char*, const void*, + const uint64_t); +// NOLINTNEXTLINE(modernize-use-using): C compatibility +typedef void (*Kokkos_Profiling_deallocateDataFunction)( + const struct Kokkos_Profiling_SpaceHandle, const char*, const void*, + const uint64_t); + +// NOLINTNEXTLINE(modernize-use-using): C compatibility +typedef void (*Kokkos_Profiling_createProfileSectionFunction)(const char*, + uint32_t*); +// NOLINTNEXTLINE(modernize-use-using): C compatibility +typedef void (*Kokkos_Profiling_startProfileSectionFunction)(const uint32_t); +// NOLINTNEXTLINE(modernize-use-using): C compatibility +typedef void (*Kokkos_Profiling_stopProfileSectionFunction)(const uint32_t); +// NOLINTNEXTLINE(modernize-use-using): C compatibility +typedef void (*Kokkos_Profiling_destroyProfileSectionFunction)(const uint32_t); + +// NOLINTNEXTLINE(modernize-use-using): C compatibility +typedef void (*Kokkos_Profiling_profileEventFunction)(const char*); + +// NOLINTNEXTLINE(modernize-use-using): C compatibility +typedef void (*Kokkos_Profiling_beginDeepCopyFunction)( + struct Kokkos_Profiling_SpaceHandle, const char*, const void*, + struct Kokkos_Profiling_SpaceHandle, const char*, const void*, uint64_t); +// NOLINTNEXTLINE(modernize-use-using): C compatibility +typedef void (*Kokkos_Profiling_endDeepCopyFunction)(); + +// Tuning + +#define KOKKOS_TOOLS_TUNING_STRING_LENGTH 64 +typedef char Kokkos_Tools_Tuning_String[KOKKOS_TOOLS_TUNING_STRING_LENGTH]; +union Kokkos_Tools_VariableValue_ValueUnion { + int64_t int_value; + double double_value; + Kokkos_Tools_Tuning_String string_value; +}; + +union Kokkos_Tools_VariableValue_ValueUnionSet { + int64_t* int_value; + double* double_value; + Kokkos_Tools_Tuning_String* string_value; +}; + +struct Kokkos_Tools_ValueSet { + size_t size; + union Kokkos_Tools_VariableValue_ValueUnionSet values; +}; + +enum Kokkos_Tools_OptimizationType { + Kokkos_Tools_Minimize, + Kokkos_Tools_Maximize +}; + +struct Kokkos_Tools_OptimzationGoal { + size_t type_id; + enum Kokkos_Tools_OptimizationType goal; +}; + +struct Kokkos_Tools_ValueRange { + union Kokkos_Tools_VariableValue_ValueUnion lower; + union Kokkos_Tools_VariableValue_ValueUnion upper; + union Kokkos_Tools_VariableValue_ValueUnion step; + bool openLower; + bool openUpper; +}; + +enum Kokkos_Tools_VariableInfo_ValueType { + kokkos_value_double, + kokkos_value_int64, + kokkos_value_string, +}; + +enum Kokkos_Tools_VariableInfo_StatisticalCategory { + kokkos_value_categorical, // unordered distinct objects + kokkos_value_ordinal, // ordered distinct objects + kokkos_value_interval, // ordered distinct objects for which distance matters + kokkos_value_ratio // ordered distinct objects for which distance matters, + // division matters, and the concept of zero exists +}; + +enum Kokkos_Tools_VariableInfo_CandidateValueType { + kokkos_value_set, // I am one of [2,3,4,5] + kokkos_value_range, // I am somewhere in [2,12) + kokkos_value_unbounded // I am [text/int/float], but we don't know at + // declaration time what values are appropriate. Only + // valid for Context Variables +}; + +union Kokkos_Tools_VariableInfo_SetOrRange { + struct Kokkos_Tools_ValueSet set; + struct Kokkos_Tools_ValueRange range; +}; + +struct Kokkos_Tools_VariableInfo { + enum Kokkos_Tools_VariableInfo_ValueType type; + enum Kokkos_Tools_VariableInfo_StatisticalCategory category; + enum Kokkos_Tools_VariableInfo_CandidateValueType valueQuantity; + union Kokkos_Tools_VariableInfo_SetOrRange candidates; + void* toolProvidedInfo; +}; + +struct Kokkos_Tools_VariableValue { + size_t type_id; + union Kokkos_Tools_VariableValue_ValueUnion value; + struct Kokkos_Tools_VariableInfo* metadata; +}; + +typedef void (*Kokkos_Tools_outputTypeDeclarationFunction)( + const char*, const size_t, struct Kokkos_Tools_VariableInfo* info); +typedef void (*Kokkos_Tools_inputTypeDeclarationFunction)( + const char*, const size_t, struct Kokkos_Tools_VariableInfo* info); + +typedef void (*Kokkos_Tools_requestValueFunction)( + const size_t, const size_t, const struct Kokkos_Tools_VariableValue*, + const size_t count, struct Kokkos_Tools_VariableValue*); +typedef void (*Kokkos_Tools_contextBeginFunction)(const size_t); +typedef void (*Kokkos_Tools_contextEndFunction)( + const size_t, struct Kokkos_Tools_VariableValue); +typedef void (*Kokkos_Tools_optimizationGoalDeclarationFunction)( + const size_t, const struct Kokkos_Tools_OptimzationGoal goal); + +typedef void (*function_pointer)(); + +struct Kokkos_Profiling_EventSet { + Kokkos_Profiling_initFunction init; + Kokkos_Profiling_finalizeFunction finalize; + Kokkos_Profiling_beginFunction begin_parallel_for; + Kokkos_Profiling_endFunction end_parallel_for; + Kokkos_Profiling_beginFunction begin_parallel_reduce; + Kokkos_Profiling_endFunction end_parallel_reduce; + Kokkos_Profiling_beginFunction begin_parallel_scan; + Kokkos_Profiling_endFunction end_parallel_scan; + Kokkos_Profiling_pushFunction push_region; + Kokkos_Profiling_popFunction pop_region; + Kokkos_Profiling_allocateDataFunction allocate_data; + Kokkos_Profiling_deallocateDataFunction deallocate_data; + Kokkos_Profiling_createProfileSectionFunction create_profile_section; + Kokkos_Profiling_startProfileSectionFunction start_profile_section; + Kokkos_Profiling_stopProfileSectionFunction stop_profile_section; + Kokkos_Profiling_destroyProfileSectionFunction destroy_profile_section; + Kokkos_Profiling_profileEventFunction profile_event; + Kokkos_Profiling_beginDeepCopyFunction begin_deep_copy; + Kokkos_Profiling_endDeepCopyFunction end_deep_copy; + char profiling_padding[16 * sizeof(function_pointer)]; + Kokkos_Tools_outputTypeDeclarationFunction declare_output_type; + Kokkos_Tools_inputTypeDeclarationFunction declare_input_type; + Kokkos_Tools_requestValueFunction request_output_values; + Kokkos_Tools_contextBeginFunction begin_tuning_context; + Kokkos_Tools_contextEndFunction end_tuning_context; + Kokkos_Tools_optimizationGoalDeclarationFunction declare_optimization_goal; + char padding[234 * + sizeof(function_pointer)]; // allows us to add another 256 + // events to the Tools interface + // without changing struct layout +}; + +#endif // KOKKOS_PROFILING_C_INTERFACE_HPP diff --git a/lib/kokkos/core/src/impl/Kokkos_Profiling_DeviceInfo.hpp b/lib/kokkos/core/src/impl/Kokkos_Profiling_DeviceInfo.hpp index 51d1446ef5cde325eac33af8fb923288218676dc..be6f756d0c2fc71976d48df2a76570b58ea8ee1b 100644 --- a/lib/kokkos/core/src/impl/Kokkos_Profiling_DeviceInfo.hpp +++ b/lib/kokkos/core/src/impl/Kokkos_Profiling_DeviceInfo.hpp @@ -46,14 +46,10 @@ #define KOKKOSP_DEVICE_INFO_HPP #include - +#include namespace Kokkos { namespace Profiling { - -struct KokkosPDeviceInfo { - uint32_t deviceID; -}; - +using KokkosPDeviceInfo = Kokkos_Profiling_KokkosPDeviceInfo; } // namespace Profiling } // namespace Kokkos diff --git a/lib/kokkos/core/src/impl/Kokkos_Profiling_Interface.cpp b/lib/kokkos/core/src/impl/Kokkos_Profiling_Interface.cpp deleted file mode 100644 index cf52caea90582f6f4aea85a2e8f1e991c94bde4e..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/impl/Kokkos_Profiling_Interface.cpp +++ /dev/null @@ -1,387 +0,0 @@ -/* - //@HEADER - // ************************************************************************ - // - // Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). - // - // Under the terms of Contract DE-NA0003525 with NTESS, - // the U.S. Government retains certain rights in this software. - // - // Redistribution and use in source and binary forms, with or without - // modification, are permitted provided that the following conditions are - // met: - // - // 1. Redistributions of source code must retain the above copyright - // notice, this list of conditions and the following disclaimer. - // - // 2. Redistributions in binary form must reproduce the above copyright - // notice, this list of conditions and the following disclaimer in the - // documentation and/or other materials provided with the distribution. - // - // 3. Neither the name of the Corporation nor the names of the - // contributors may be used to endorse or promote products derived from - // this software without specific prior written permission. - // - // THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY - // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - // PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE - // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR - // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF - // LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - // NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - // - // Questions? Contact Christian R. Trott (crtrott@sandia.gov) - // - // ************************************************************************ - //@HEADER - */ - -#include - -#if defined(KOKKOS_ENABLE_PROFILING) - -#include -#include - -namespace Kokkos { -namespace Profiling { - -static initFunction initProfileLibrary = nullptr; -static finalizeFunction finalizeProfileLibrary = nullptr; - -static beginFunction beginForCallee = nullptr; -static beginFunction beginScanCallee = nullptr; -static beginFunction beginReduceCallee = nullptr; -static endFunction endForCallee = nullptr; -static endFunction endScanCallee = nullptr; -static endFunction endReduceCallee = nullptr; - -static pushFunction pushRegionCallee = nullptr; -static popFunction popRegionCallee = nullptr; - -static allocateDataFunction allocateDataCallee = nullptr; -static deallocateDataFunction deallocateDataCallee = nullptr; - -static beginDeepCopyFunction beginDeepCopyCallee = nullptr; -static endDeepCopyFunction endDeepCopyCallee = nullptr; - -static createProfileSectionFunction createSectionCallee = nullptr; -static startProfileSectionFunction startSectionCallee = nullptr; -static stopProfileSectionFunction stopSectionCallee = nullptr; -static destroyProfileSectionFunction destroySectionCallee = nullptr; - -static profileEventFunction profileEventCallee = nullptr; - -SpaceHandle::SpaceHandle(const char* space_name) { - strncpy(name, space_name, 64); -} - -bool profileLibraryLoaded() { return (nullptr != initProfileLibrary); } - -void beginParallelFor(const std::string& kernelPrefix, const uint32_t devID, - uint64_t* kernelID) { - if (nullptr != beginForCallee) { - Kokkos::fence(); - (*beginForCallee)(kernelPrefix.c_str(), devID, kernelID); - } -} - -void endParallelFor(const uint64_t kernelID) { - if (nullptr != endForCallee) { - Kokkos::fence(); - (*endForCallee)(kernelID); - } -} - -void beginParallelScan(const std::string& kernelPrefix, const uint32_t devID, - uint64_t* kernelID) { - if (nullptr != beginScanCallee) { - Kokkos::fence(); - (*beginScanCallee)(kernelPrefix.c_str(), devID, kernelID); - } -} - -void endParallelScan(const uint64_t kernelID) { - if (nullptr != endScanCallee) { - Kokkos::fence(); - (*endScanCallee)(kernelID); - } -} - -void beginParallelReduce(const std::string& kernelPrefix, const uint32_t devID, - uint64_t* kernelID) { - if (nullptr != beginReduceCallee) { - Kokkos::fence(); - (*beginReduceCallee)(kernelPrefix.c_str(), devID, kernelID); - } -} - -void endParallelReduce(const uint64_t kernelID) { - if (nullptr != endReduceCallee) { - Kokkos::fence(); - (*endReduceCallee)(kernelID); - } -} - -void pushRegion(const std::string& kName) { - if (nullptr != pushRegionCallee) { - Kokkos::fence(); - (*pushRegionCallee)(kName.c_str()); - } -} - -void popRegion() { - if (nullptr != popRegionCallee) { - Kokkos::fence(); - (*popRegionCallee)(); - } -} - -void allocateData(const SpaceHandle space, const std::string label, - const void* ptr, const uint64_t size) { - if (nullptr != allocateDataCallee) { - (*allocateDataCallee)(space, label.c_str(), ptr, size); - } -} - -void deallocateData(const SpaceHandle space, const std::string label, - const void* ptr, const uint64_t size) { - if (nullptr != deallocateDataCallee) { - (*deallocateDataCallee)(space, label.c_str(), ptr, size); - } -} - -void beginDeepCopy(const SpaceHandle dst_space, const std::string dst_label, - const void* dst_ptr, const SpaceHandle src_space, - const std::string src_label, const void* src_ptr, - const uint64_t size) { - if (nullptr != beginDeepCopyCallee) { - (*beginDeepCopyCallee)(dst_space, dst_label.c_str(), dst_ptr, src_space, - src_label.c_str(), src_ptr, size); - } -} - -void endDeepCopy() { - if (nullptr != endDeepCopyCallee) { - (*endDeepCopyCallee)(); - } -} - -void createProfileSection(const std::string& sectionName, uint32_t* secID) { - if (nullptr != createSectionCallee) { - (*createSectionCallee)(sectionName.c_str(), secID); - } -} - -void startSection(const uint32_t secID) { - if (nullptr != startSectionCallee) { - (*startSectionCallee)(secID); - } -} - -void stopSection(const uint32_t secID) { - if (nullptr != stopSectionCallee) { - (*stopSectionCallee)(secID); - } -} - -void destroyProfileSection(const uint32_t secID) { - if (nullptr != destroySectionCallee) { - (*destroySectionCallee)(secID); - } -} - -void markEvent(const std::string& eventName) { - if (nullptr != profileEventCallee) { - (*profileEventCallee)(eventName.c_str()); - } -} - -void initialize() { - // Make sure initialize calls happens only once - static int is_initialized = 0; - if (is_initialized) return; - is_initialized = 1; - - void* firstProfileLibrary; - - char* envProfileLibrary = getenv("KOKKOS_PROFILE_LIBRARY"); - - // If we do not find a profiling library in the environment then exit - // early. - if (nullptr == envProfileLibrary) { - return; - } - - char* envProfileCopy = - (char*)malloc(sizeof(char) * (strlen(envProfileLibrary) + 1)); - sprintf(envProfileCopy, "%s", envProfileLibrary); - - char* profileLibraryName = strtok(envProfileCopy, ";"); - - if ((nullptr != profileLibraryName) && - (strcmp(profileLibraryName, "") != 0)) { - firstProfileLibrary = dlopen(profileLibraryName, RTLD_NOW | RTLD_GLOBAL); - - if (nullptr == firstProfileLibrary) { - std::cerr << "Error: Unable to load KokkosP library: " - << profileLibraryName << std::endl; - std::cerr << "dlopen(" << profileLibraryName - << ", RTLD_NOW | RTLD_GLOBAL) failed with " << dlerror() - << '\n'; - } else { -#ifdef KOKKOS_ENABLE_PROFILING_LOAD_PRINT - std::cout << "KokkosP: Library Loaded: " << profileLibraryName - << std::endl; -#endif - - // dlsym returns a pointer to an object, while we want to assign to - // pointer to function A direct cast will give warnings hence, we have to - // workaround the issue by casting pointer to pointers. - auto p1 = dlsym(firstProfileLibrary, "kokkosp_begin_parallel_for"); - beginForCallee = *((beginFunction*)&p1); - auto p2 = dlsym(firstProfileLibrary, "kokkosp_begin_parallel_scan"); - beginScanCallee = *((beginFunction*)&p2); - auto p3 = dlsym(firstProfileLibrary, "kokkosp_begin_parallel_reduce"); - beginReduceCallee = *((beginFunction*)&p3); - - auto p4 = dlsym(firstProfileLibrary, "kokkosp_end_parallel_scan"); - endScanCallee = *((endFunction*)&p4); - auto p5 = dlsym(firstProfileLibrary, "kokkosp_end_parallel_for"); - endForCallee = *((endFunction*)&p5); - auto p6 = dlsym(firstProfileLibrary, "kokkosp_end_parallel_reduce"); - endReduceCallee = *((endFunction*)&p6); - - auto p7 = dlsym(firstProfileLibrary, "kokkosp_init_library"); - initProfileLibrary = *((initFunction*)&p7); - auto p8 = dlsym(firstProfileLibrary, "kokkosp_finalize_library"); - finalizeProfileLibrary = *((finalizeFunction*)&p8); - - auto p9 = dlsym(firstProfileLibrary, "kokkosp_push_profile_region"); - pushRegionCallee = *((pushFunction*)&p9); - auto p10 = dlsym(firstProfileLibrary, "kokkosp_pop_profile_region"); - popRegionCallee = *((popFunction*)&p10); - - auto p11 = dlsym(firstProfileLibrary, "kokkosp_allocate_data"); - allocateDataCallee = *((allocateDataFunction*)&p11); - auto p12 = dlsym(firstProfileLibrary, "kokkosp_deallocate_data"); - deallocateDataCallee = *((deallocateDataFunction*)&p12); - - auto p13 = dlsym(firstProfileLibrary, "kokkosp_begin_deep_copy"); - beginDeepCopyCallee = *((beginDeepCopyFunction*)&p13); - auto p14 = dlsym(firstProfileLibrary, "kokkosp_end_deep_copy"); - endDeepCopyCallee = *((endDeepCopyFunction*)&p14); - - auto p15 = dlsym(firstProfileLibrary, "kokkosp_create_profile_section"); - createSectionCallee = *((createProfileSectionFunction*)&p15); - auto p16 = dlsym(firstProfileLibrary, "kokkosp_start_profile_section"); - startSectionCallee = *((startProfileSectionFunction*)&p16); - auto p17 = dlsym(firstProfileLibrary, "kokkosp_stop_profile_section"); - stopSectionCallee = *((stopProfileSectionFunction*)&p17); - auto p18 = dlsym(firstProfileLibrary, "kokkosp_destroy_profile_section"); - destroySectionCallee = *((destroyProfileSectionFunction*)&p18); - - auto p19 = dlsym(firstProfileLibrary, "kokkosp_profile_event"); - profileEventCallee = *((profileEventFunction*)&p19); - } - } - - if (nullptr != initProfileLibrary) { - (*initProfileLibrary)(0, (uint64_t)KOKKOSP_INTERFACE_VERSION, (uint32_t)0, - nullptr); - } - - free(envProfileCopy); -} - -void finalize() { - // Make sure finalize calls happens only once - static int is_finalized = 0; - if (is_finalized) return; - is_finalized = 1; - - if (nullptr != finalizeProfileLibrary) { - (*finalizeProfileLibrary)(); - - // Set all profile hooks to nullptr to prevent - // any additional calls. Once we are told to - // finalize, we mean it - initProfileLibrary = nullptr; - finalizeProfileLibrary = nullptr; - - beginForCallee = nullptr; - beginScanCallee = nullptr; - beginReduceCallee = nullptr; - endScanCallee = nullptr; - endForCallee = nullptr; - endReduceCallee = nullptr; - - pushRegionCallee = nullptr; - popRegionCallee = nullptr; - - allocateDataCallee = nullptr; - deallocateDataCallee = nullptr; - - beginDeepCopyCallee = nullptr; - endDeepCopyCallee = nullptr; - - createSectionCallee = nullptr; - startSectionCallee = nullptr; - stopSectionCallee = nullptr; - destroySectionCallee = nullptr; - - profileEventCallee = nullptr; - } -} -} // namespace Profiling -} // namespace Kokkos - -#else - -#include -#include - -namespace Kokkos { -namespace Profiling { - -bool profileLibraryLoaded() { return false; } - -void beginParallelFor(const std::string&, const uint32_t, uint64_t*) {} -void endParallelFor(const uint64_t) {} -void beginParallelScan(const std::string&, const uint32_t, uint64_t*) {} -void endParallelScan(const uint64_t) {} -void beginParallelReduce(const std::string&, const uint32_t, uint64_t*) {} -void endParallelReduce(const uint64_t) {} - -void pushRegion(const std::string&) {} -void popRegion() {} -void createProfileSection(const std::string&, uint32_t*) {} -void startSection(const uint32_t) {} -void stopSection(const uint32_t) {} -void destroyProfileSection(const uint32_t) {} - -void markEvent(const std::string&) {} - -void allocateData(const SpaceHandle, const std::string, const void*, - const uint64_t) {} -void deallocateData(const SpaceHandle, const std::string, const void*, - const uint64_t) {} - -void beginDeepCopy(const SpaceHandle, const std::string, const void*, - const SpaceHandle, const std::string, const void*, - const uint64_t) {} -void endDeepCopy() {} - -void initialize() {} -void finalize() {} - -} // namespace Profiling -} // namespace Kokkos - -#endif diff --git a/lib/kokkos/core/src/impl/Kokkos_Profiling_Interface.hpp b/lib/kokkos/core/src/impl/Kokkos_Profiling_Interface.hpp index df17501ff40af1801962a1dfb1f4d1cd177e2e8c..5e0ba8f3d6a872d85c1ff47698ffd7f66d9c51a2 100644 --- a/lib/kokkos/core/src/impl/Kokkos_Profiling_Interface.hpp +++ b/lib/kokkos/core/src/impl/Kokkos_Profiling_Interface.hpp @@ -45,20 +45,16 @@ #ifndef KOKKOSP_INTERFACE_HPP #define KOKKOSP_INTERFACE_HPP -#include #include #include -#include -#include -#include #include // NOTE: in this Kokkos::Profiling block, do not define anything that shouldn't // exist should Profiling be disabled namespace Kokkos { -namespace Profiling { +namespace Tools { namespace Experimental { enum struct DeviceType { Serial, @@ -80,132 +76,121 @@ inline uint32_t device_id(ExecutionSpace const& space) noexcept { return (device_id << instance_bits) + space.impl_instance_id(); } } // namespace Experimental -} // namespace Profiling +} // namespace Tools } // end namespace Kokkos -#if defined(KOKKOS_ENABLE_PROFILING) +#if defined(KOKKOS_ENABLE_LIBDL) // We check at configure time that libdl is available. #include +#endif #include - -#define KOKKOSP_INTERFACE_VERSION 20171029 +#include namespace Kokkos { -namespace Profiling { - -struct SpaceHandle { - SpaceHandle(const char* space_name); - char name[64]; -}; - -typedef void (*initFunction)(const int, const uint64_t, const uint32_t, - KokkosPDeviceInfo*); -typedef void (*finalizeFunction)(); -typedef void (*beginFunction)(const char*, const uint32_t, uint64_t*); -typedef void (*endFunction)(uint64_t); +namespace Tools { -typedef void (*pushFunction)(const char*); -typedef void (*popFunction)(); +using SpaceHandle = Kokkos_Profiling_SpaceHandle; -typedef void (*allocateDataFunction)(const SpaceHandle, const char*, - const void*, const uint64_t); -typedef void (*deallocateDataFunction)(const SpaceHandle, const char*, - const void*, const uint64_t); +} // namespace Tools -typedef void (*createProfileSectionFunction)(const char*, uint32_t*); -typedef void (*startProfileSectionFunction)(const uint32_t); -typedef void (*stopProfileSectionFunction)(const uint32_t); -typedef void (*destroyProfileSectionFunction)(const uint32_t); +namespace Tools { -typedef void (*profileEventFunction)(const char*); +namespace Experimental { +using EventSet = Kokkos_Profiling_EventSet; +static_assert(sizeof(EventSet) / sizeof(function_pointer) == 275, + "sizeof EventSet has changed, this is an error on the part of a " + "Kokkos developer"); +} // namespace Experimental +using initFunction = Kokkos_Profiling_initFunction; +using finalizeFunction = Kokkos_Profiling_finalizeFunction; +using beginFunction = Kokkos_Profiling_beginFunction; +using endFunction = Kokkos_Profiling_endFunction; +using pushFunction = Kokkos_Profiling_pushFunction; +using popFunction = Kokkos_Profiling_popFunction; +using allocateDataFunction = Kokkos_Profiling_allocateDataFunction; +using deallocateDataFunction = Kokkos_Profiling_deallocateDataFunction; +using createProfileSectionFunction = + Kokkos_Profiling_createProfileSectionFunction; +using startProfileSectionFunction = + Kokkos_Profiling_startProfileSectionFunction; +using stopProfileSectionFunction = Kokkos_Profiling_stopProfileSectionFunction; +using destroyProfileSectionFunction = + Kokkos_Profiling_destroyProfileSectionFunction; +using profileEventFunction = Kokkos_Profiling_profileEventFunction; +using beginDeepCopyFunction = Kokkos_Profiling_beginDeepCopyFunction; +using endDeepCopyFunction = Kokkos_Profiling_endDeepCopyFunction; + +} // namespace Tools -typedef void (*beginDeepCopyFunction)(SpaceHandle, const char*, const void*, - SpaceHandle, const char*, const void*, - uint64_t); -typedef void (*endDeepCopyFunction)(); +} // namespace Kokkos -bool profileLibraryLoaded(); +// Profiling -void beginParallelFor(const std::string& kernelPrefix, const uint32_t devID, - uint64_t* kernelID); -void endParallelFor(const uint64_t kernelID); -void beginParallelScan(const std::string& kernelPrefix, const uint32_t devID, - uint64_t* kernelID); -void endParallelScan(const uint64_t kernelID); -void beginParallelReduce(const std::string& kernelPrefix, const uint32_t devID, - uint64_t* kernelID); -void endParallelReduce(const uint64_t kernelID); +namespace Kokkos { -void pushRegion(const std::string& kName); -void popRegion(); +namespace Profiling { -void createProfileSection(const std::string& sectionName, uint32_t* secID); -void startSection(const uint32_t secID); -void stopSection(const uint32_t secID); -void destroyProfileSection(const uint32_t secID); +/** The Profiling namespace is being renamed to Tools. + * This is reexposing the contents of what used to be the Profiling + * Interface with their original names, to avoid breaking old code + */ -void markEvent(const std::string* evName); +namespace Experimental { -void allocateData(const SpaceHandle space, const std::string label, - const void* ptr, const uint64_t size); -void deallocateData(const SpaceHandle space, const std::string label, - const void* ptr, const uint64_t size); +using Kokkos::Tools::Experimental::device_id; +using Kokkos::Tools::Experimental::DeviceType; +using Kokkos::Tools::Experimental::DeviceTypeTraits; -void beginDeepCopy(const SpaceHandle dst_space, const std::string dst_label, - const void* dst_ptr, const SpaceHandle src_space, - const std::string src_label, const void* src_ptr, - const uint64_t size); -void endDeepCopy(); +} // namespace Experimental -void initialize(); -void finalize(); +using Kokkos::Tools::allocateDataFunction; +using Kokkos::Tools::beginDeepCopyFunction; +using Kokkos::Tools::beginFunction; +using Kokkos::Tools::createProfileSectionFunction; +using Kokkos::Tools::deallocateDataFunction; +using Kokkos::Tools::destroyProfileSectionFunction; +using Kokkos::Tools::endDeepCopyFunction; +using Kokkos::Tools::endFunction; +using Kokkos::Tools::finalizeFunction; +using Kokkos::Tools::initFunction; +using Kokkos::Tools::popFunction; +using Kokkos::Tools::profileEventFunction; +using Kokkos::Tools::pushFunction; +using Kokkos::Tools::SpaceHandle; +using Kokkos::Tools::startProfileSectionFunction; +using Kokkos::Tools::stopProfileSectionFunction; } // namespace Profiling } // namespace Kokkos -#else -namespace Kokkos { -namespace Profiling { - -struct SpaceHandle { - SpaceHandle(const char* space_name); - char name[64]; -}; - -bool profileLibraryLoaded(); - -void beginParallelFor(const std::string&, const uint32_t, uint64_t*); -void endParallelFor(const uint64_t); -void beginParallelScan(const std::string&, const uint32_t, uint64_t*); -void endParallelScan(const uint64_t); -void beginParallelReduce(const std::string&, const uint32_t, uint64_t*); -void endParallelReduce(const uint64_t); - -void pushRegion(const std::string&); -void popRegion(); -void createProfileSection(const std::string&, uint32_t*); -void startSection(const uint32_t); -void stopSection(const uint32_t); -void destroyProfileSection(const uint32_t); - -void markEvent(const std::string&); +// Tuning -void allocateData(const SpaceHandle, const std::string, const void*, - const uint64_t); -void deallocateData(const SpaceHandle, const std::string, const void*, - const uint64_t); - -void beginDeepCopy(const SpaceHandle, const std::string, const void*, - const SpaceHandle, const std::string, const void*, - const uint64_t); -void endDeepCopy(); - -void initialize(); -void finalize(); +namespace Kokkos { +namespace Tools { +namespace Experimental { +using ValueSet = Kokkos_Tools_ValueSet; +using ValueRange = Kokkos_Tools_ValueRange; +using StatisticalCategory = Kokkos_Tools_VariableInfo_StatisticalCategory; +using ValueType = Kokkos_Tools_VariableInfo_ValueType; +using CandidateValueType = Kokkos_Tools_VariableInfo_CandidateValueType; +using SetOrRange = Kokkos_Tools_VariableInfo_SetOrRange; +using VariableInfo = Kokkos_Tools_VariableInfo; +using OptimizationGoal = Kokkos_Tools_OptimzationGoal; +using TuningString = Kokkos_Tools_Tuning_String; +using VariableValue = Kokkos_Tools_VariableValue; + +using outputTypeDeclarationFunction = + Kokkos_Tools_outputTypeDeclarationFunction; +using inputTypeDeclarationFunction = Kokkos_Tools_inputTypeDeclarationFunction; +using requestValueFunction = Kokkos_Tools_requestValueFunction; +using contextBeginFunction = Kokkos_Tools_contextBeginFunction; +using contextEndFunction = Kokkos_Tools_contextEndFunction; +using optimizationGoalDeclarationFunction = + Kokkos_Tools_optimizationGoalDeclarationFunction; +} // end namespace Experimental +} // end namespace Tools -} // namespace Profiling -} // namespace Kokkos +} // end namespace Kokkos #endif -#endif diff --git a/lib/kokkos/core/src/impl/Kokkos_Serial.cpp b/lib/kokkos/core/src/impl/Kokkos_Serial.cpp index b39f9dfeea9dca5e94062e635d6cd6ce6d3036a8..76ffd0db35e9c047c83d33e41508f70ff469b5b2 100644 --- a/lib/kokkos/core/src/impl/Kokkos_Serial.cpp +++ b/lib/kokkos/core/src/impl/Kokkos_Serial.cpp @@ -94,7 +94,8 @@ void serial_resize_thread_team_data(size_t pool_reduce_bytes, g_serial_thread_team_data.disband_team(); g_serial_thread_team_data.disband_pool(); - space.deallocate(g_serial_thread_team_data.scratch_buffer(), + space.deallocate("Kokkos::Serial::scratch_mem", + g_serial_thread_team_data.scratch_buffer(), g_serial_thread_team_data.scratch_bytes()); } @@ -117,7 +118,7 @@ void serial_resize_thread_team_data(size_t pool_reduce_bytes, void* ptr = nullptr; try { - ptr = space.allocate(alloc_bytes); + ptr = space.allocate("Kokkos::Serial::scratch_mem", alloc_bytes); } catch (Kokkos::Experimental::RawMemoryAllocationFailure const& failure) { // For now, just rethrow the error message the existing way Kokkos::Impl::throw_runtime_exception(failure.get_error_message()); @@ -145,44 +146,18 @@ HostThreadTeamData* serial_get_thread_team_data() { namespace Kokkos { -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE -bool Serial::is_initialized() -#else -bool Serial::impl_is_initialized() -#endif -{ - return Impl::g_serial_is_initialized; -} +bool Serial::impl_is_initialized() { return Impl::g_serial_is_initialized; } -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE -void Serial::initialize(unsigned threads_count, unsigned use_numa_count, - unsigned use_cores_per_numa, - bool allow_asynchronous_threadpool) { - (void)threads_count; - (void)use_numa_count; - (void)use_cores_per_numa; - (void)allow_asynchronous_threadpool; -#else void Serial::impl_initialize() { -#endif - Impl::SharedAllocationRecord::tracking_enable(); // Init the array of locks used for arbitrarily sized atomics Impl::init_lock_array_host_space(); -#if defined(KOKKOS_ENABLE_DEPRECATED_CODE) && defined(KOKKOS_ENABLE_PROFILING) - Kokkos::Profiling::initialize(); -#endif Impl::g_serial_is_initialized = true; } -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE -void Serial::finalize() -#else -void Serial::impl_finalize() -#endif -{ +void Serial::impl_finalize() { if (Impl::g_serial_thread_team_data.scratch_buffer()) { Impl::g_serial_thread_team_data.disband_team(); Impl::g_serial_thread_team_data.disband_pool(); @@ -195,9 +170,7 @@ void Serial::impl_finalize() Impl::g_serial_thread_team_data.scratch_assign(nullptr, 0, 0, 0, 0, 0); } -#if defined(KOKKOS_ENABLE_PROFILING) Kokkos::Profiling::finalize(); -#endif Impl::g_serial_is_initialized = false; } diff --git a/lib/kokkos/core/src/impl/Kokkos_Serial_WorkGraphPolicy.hpp b/lib/kokkos/core/src/impl/Kokkos_Serial_WorkGraphPolicy.hpp index 4e26e0b138934fe3e8a2371fce29726e85313d89..0f6ad5cb0354a3d467a686603f72869990f8380c 100644 --- a/lib/kokkos/core/src/impl/Kokkos_Serial_WorkGraphPolicy.hpp +++ b/lib/kokkos/core/src/impl/Kokkos_Serial_WorkGraphPolicy.hpp @@ -52,7 +52,7 @@ template class ParallelFor, Kokkos::Serial> { private: - typedef Kokkos::WorkGraphPolicy Policy; + using Policy = Kokkos::WorkGraphPolicy; Policy m_policy; FunctorType m_functor; diff --git a/lib/kokkos/core/src/impl/Kokkos_SharedAlloc.cpp b/lib/kokkos/core/src/impl/Kokkos_SharedAlloc.cpp index 6a054f73a19f265a6abcdcb094638f126020ba63..a9a27788131d40e90d20f7c6eefe9175a57bb97d 100644 --- a/lib/kokkos/core/src/impl/Kokkos_SharedAlloc.cpp +++ b/lib/kokkos/core/src/impl/Kokkos_SharedAlloc.cpp @@ -240,13 +240,7 @@ SharedAllocationRecord* SharedAllocationRecord< ss << arg_record->get_label(); ss << "\" is being deallocated after Kokkos::finalize was called\n"; auto s = ss.str(); -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - std::cerr << s; - std::cerr << "This behavior is incorrect Kokkos usage, and will crash in " - "future releases\n"; -#else Kokkos::Impl::throw_runtime_exception(s); -#endif } #ifdef KOKKOS_DEBUG diff --git a/lib/kokkos/core/src/impl/Kokkos_SharedAlloc.hpp b/lib/kokkos/core/src/impl/Kokkos_SharedAlloc.hpp index 6e954e8f2710f4390efa23f1ab962dae607c308f..dcff5be8357e1fea61a676d96a9396997afeb7e9 100644 --- a/lib/kokkos/core/src/impl/Kokkos_SharedAlloc.hpp +++ b/lib/kokkos/core/src/impl/Kokkos_SharedAlloc.hpp @@ -48,6 +48,18 @@ #include #include +// undefined at end of file +#if defined(KOKKOS_ENABLE_OPENMPTARGET) +#if defined(KOKKOS_COMPILER_PGI) +#define KOKKOS_IMPL_IF_ON_HOST if (!__builtin_is_device_code()) +#else +// Note: OpenMPTarget enforces C++17 at configure time +#define KOKKOS_IMPL_IF_ON_HOST if constexpr (omp_is_initial_device()) +#endif +#else +#define KOKKOS_IMPL_IF_ON_HOST if (true) +#endif + namespace Kokkos { namespace Impl { @@ -56,7 +68,7 @@ class SharedAllocationRecord; class SharedAllocationHeader { private: - typedef SharedAllocationRecord Record; + using Record = SharedAllocationRecord; static constexpr unsigned maximum_label_length = (1u << 7 /* 128 */) - sizeof(Record*); @@ -120,17 +132,33 @@ class SharedAllocationRecord { public: virtual std::string get_label() const { return std::string("Unmanaged"); } - static int tracking_enabled() { return t_tracking_enabled; } +#ifdef KOKKOS_IMPL_ENABLE_OVERLOAD_HOST_DEVICE + /* Device tracking_enabled -- always disabled */ + KOKKOS_IMPL_DEVICE_FUNCTION + static int tracking_enabled() { return 0; } +#endif + + KOKKOS_IMPL_HOST_FUNCTION + static int tracking_enabled() { + KOKKOS_IMPL_IF_ON_HOST { return t_tracking_enabled; } + else { + return 0; + } + } /**\brief A host process thread claims and disables the * shared allocation tracking flag. */ - static void tracking_disable() { t_tracking_enabled = 0; } + static void tracking_disable() { + KOKKOS_IMPL_IF_ON_HOST { t_tracking_enabled = 0; } + } /**\brief A host process thread releases and enables the * shared allocation tracking flag. */ - static void tracking_enable() { t_tracking_enabled = 1; } + static void tracking_enable() { + KOKKOS_IMPL_IF_ON_HOST { t_tracking_enabled = 1; } + } virtual ~SharedAllocationRecord() = default; @@ -164,11 +192,25 @@ class SharedAllocationRecord { /* Cannot be 'constexpr' because 'm_count' is volatile */ int use_count() const { return *static_cast(&m_count); } +#ifdef KOKKOS_IMPL_ENABLE_OVERLOAD_HOST_DEVICE + /* Device tracking_enabled -- always disabled */ + KOKKOS_IMPL_DEVICE_FUNCTION + static void increment(SharedAllocationRecord*){}; +#endif + /* Increment use count */ + KOKKOS_IMPL_HOST_FUNCTION static void increment(SharedAllocationRecord*); +#ifdef KOKKOS_IMPL_ENABLE_OVERLOAD_HOST_DEVICE + /* Device tracking_enabled -- always disabled */ + KOKKOS_IMPL_DEVICE_FUNCTION + static void decrement(SharedAllocationRecord*){}; +#endif + /* Decrement use count. If 1->0 then remove from the tracking list and invoke * m_dealloc */ + KOKKOS_IMPL_HOST_FUNCTION static SharedAllocationRecord* decrement(SharedAllocationRecord*); /* Given a root record and data pointer find the record */ @@ -192,8 +234,8 @@ namespace { /* Taking the address of this function so make sure it is unique */ template void deallocate(SharedAllocationRecord* record_ptr) { - typedef SharedAllocationRecord base_type; - typedef SharedAllocationRecord this_type; + using base_type = SharedAllocationRecord; + using this_type = SharedAllocationRecord; this_type* const ptr = static_cast(static_cast(record_ptr)); @@ -259,7 +301,7 @@ class SharedAllocationRecord union SharedAllocationTracker { private: - typedef SharedAllocationRecord Record; + using Record = SharedAllocationRecord; enum : uintptr_t { DO_NOT_DEREF_FLAG = 0x01ul }; @@ -272,15 +314,36 @@ union SharedAllocationTracker { // pressure on compiler optimization by reducing // number of symbols and inline functions. -#if defined(KOKKOS_ACTIVE_EXECUTION_MEMORY_SPACE_HOST) +#if defined(KOKKOS_IMPL_ENABLE_OVERLOAD_HOST_DEVICE) #define KOKKOS_IMPL_SHARED_ALLOCATION_TRACKER_ENABLED Record::tracking_enabled() +#ifdef KOKKOS_ACTIVE_EXECUTION_MEMORY_SPACE_HOST +#define KOKKOS_IMPL_SHARED_ALLOCATION_TRACKER_CONDITION \ + (!(m_record_bits & DO_NOT_DEREF_FLAG)) +#else +#define KOKKOS_IMPL_SHARED_ALLOCATION_TRACKER_CONDITION (0) +#endif + #define KOKKOS_IMPL_SHARED_ALLOCATION_TRACKER_INCREMENT \ - if (!(m_record_bits & DO_NOT_DEREF_FLAG)) Record::increment(m_record); + if (KOKKOS_IMPL_SHARED_ALLOCATION_TRACKER_CONDITION) \ + KOKKOS_IMPL_IF_ON_HOST Record::increment(m_record); #define KOKKOS_IMPL_SHARED_ALLOCATION_TRACKER_DECREMENT \ - if (!(m_record_bits & DO_NOT_DEREF_FLAG)) Record::decrement(m_record); + if (KOKKOS_IMPL_SHARED_ALLOCATION_TRACKER_CONDITION) \ + KOKKOS_IMPL_IF_ON_HOST Record::decrement(m_record); + +#elif defined(KOKKOS_ACTIVE_EXECUTION_MEMORY_SPACE_HOST) + +#define KOKKOS_IMPL_SHARED_ALLOCATION_TRACKER_ENABLED Record::tracking_enabled() + +#define KOKKOS_IMPL_SHARED_ALLOCATION_TRACKER_INCREMENT \ + if (!(m_record_bits & DO_NOT_DEREF_FLAG)) \ + KOKKOS_IMPL_IF_ON_HOST Record::increment(m_record); + +#define KOKKOS_IMPL_SHARED_ALLOCATION_TRACKER_DECREMENT \ + if (!(m_record_bits & DO_NOT_DEREF_FLAG)) \ + KOKKOS_IMPL_IF_ON_HOST Record::decrement(m_record); #else @@ -312,7 +375,7 @@ union SharedAllocationTracker { constexpr SharedAllocationRecord* get_record() const noexcept { return (m_record_bits & DO_NOT_DEREF_FLAG) - ? (SharedAllocationRecord*)0 + ? nullptr : static_cast*>( m_record); } @@ -397,6 +460,38 @@ union SharedAllocationTracker { return *this; } + /* The following functions (assign_direct and assign_force_disable) + * are the result of deconstructing the + * KOKKOS_IMPL_SHARED_ALLOCATION_CARRY_RECORD_BITS macro. This + * allows the caller to do the check for tracking enabled and managed + * apart from the assignement of the record because the tracking + * enabled / managed question may be important for other tasks as well + */ + + /** \brief Copy assignment without the carry bits logic + * This assumes that externally defined tracking is explicitly enabled + */ + KOKKOS_FORCEINLINE_FUNCTION + void assign_direct(const SharedAllocationTracker& rhs) { + KOKKOS_IMPL_SHARED_ALLOCATION_TRACKER_DECREMENT + m_record_bits = rhs.m_record_bits; + KOKKOS_IMPL_SHARED_ALLOCATION_TRACKER_INCREMENT + } + + /** \brief Copy assignment without the increment + * we cannot assume that current record is unmanaged + * but with externally defined tracking explicitly disabled + * we can go straight to the do not deref flag */ + KOKKOS_FORCEINLINE_FUNCTION + void assign_force_disable(const SharedAllocationTracker& rhs) { + KOKKOS_IMPL_SHARED_ALLOCATION_TRACKER_DECREMENT + m_record_bits = rhs.m_record_bits | DO_NOT_DEREF_FLAG; + } + + // report if record is tracking or not + KOKKOS_FORCEINLINE_FUNCTION + bool tracking_enabled() { return (!(m_record_bits & DO_NOT_DEREF_FLAG)); } + /** \brief Copy assignment may disable tracking */ KOKKOS_FORCEINLINE_FUNCTION void assign(const SharedAllocationTracker& rhs, const bool enable_tracking) { @@ -413,5 +508,5 @@ union SharedAllocationTracker { } /* namespace Impl */ } /* namespace Kokkos */ - +#undef KOKKOS_IMPL_IF_ON_HOST #endif diff --git a/lib/kokkos/core/src/impl/Kokkos_SimpleTaskScheduler.hpp b/lib/kokkos/core/src/impl/Kokkos_SimpleTaskScheduler.hpp index a01b22e4e9bd0c99138b65236abf8d378bdb06f5..b8d1f1df0d378f61a6475e7d0f2b8df8ab709a71 100644 --- a/lib/kokkos/core/src/impl/Kokkos_SimpleTaskScheduler.hpp +++ b/lib/kokkos/core/src/impl/Kokkos_SimpleTaskScheduler.hpp @@ -366,20 +366,6 @@ class SimpleTaskScheduler //---------------------------------------------------------------------------- -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - // For backwards compatibility purposes only - KOKKOS_DEPRECATED - KOKKOS_INLINE_FUNCTION - memory_pool* memory() const noexcept KOKKOS_DEPRECATED_TRAILING_ATTRIBUTE { - if (m_queue != nullptr) - return &(m_queue->get_memory_pool()); - else - return nullptr; - } -#endif - - //---------------------------------------------------------------------------- - template KOKKOS_FUNCTION static Kokkos::BasicFuture diff --git a/lib/kokkos/core/src/impl/Kokkos_Tags.hpp b/lib/kokkos/core/src/impl/Kokkos_Tags.hpp index 1b33180ed276b4aef27908b1f81a0896ac03e808..eea4c938661afa00f4dad929312bf6cfa2b83776 100644 --- a/lib/kokkos/core/src/impl/Kokkos_Tags.hpp +++ b/lib/kokkos/core/src/impl/Kokkos_Tags.hpp @@ -54,8 +54,8 @@ /** KOKKOS_IMPL_HAS_TYPE( Type ) * - * defines a meta-function that check if a type expose an internal typedef or - * type alias which matches Type + * defines a meta-function that check if a type expose an internal alias which + * matches Type * * e.g. * KOKKOS_IMPL_HAS_TYPE( array_layout ); @@ -73,7 +73,7 @@ : std::true_type {}; \ \ public: \ - typedef typename X::type type; \ + using type = typename X::type; \ enum : bool { value = type::value }; \ }; diff --git a/lib/kokkos/core/src/impl/Kokkos_TaskBase.hpp b/lib/kokkos/core/src/impl/Kokkos_TaskBase.hpp index 8078c68dbd1bc2a36eb6ffc990faea75f20780a6..2d0f62a563712a1182849fd8dc43349f6996a42e 100644 --- a/lib/kokkos/core/src/impl/Kokkos_TaskBase.hpp +++ b/lib/kokkos/core/src/impl/Kokkos_TaskBase.hpp @@ -148,7 +148,7 @@ class TaskBase { using queue_type = TaskQueueBase; using function_type = void (*)(TaskBase*, void*); - typedef void (*destroy_type)(TaskBase*); + using destroy_type = void (*)(TaskBase*); // sizeof(TaskBase) == 48 diff --git a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_ViewCopyETIDecl.hpp b/lib/kokkos/core/src/impl/Kokkos_Tools.hpp similarity index 86% rename from lib/kokkos/core/src/Cuda/Kokkos_Cuda_ViewCopyETIDecl.hpp rename to lib/kokkos/core/src/impl/Kokkos_Tools.hpp index 18e56aa32dfbe794937aef623e15d7e937394611..8d6ec64685ee51ed2320e31bf7b8ee535d5f2c28 100644 --- a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_ViewCopyETIDecl.hpp +++ b/lib/kokkos/core/src/impl/Kokkos_Tools.hpp @@ -42,16 +42,13 @@ //@HEADER */ -#ifndef KOKKOS_CUDA_VIEWETIDECL_HPP -#define KOKKOS_CUDA_VIEWETIDECL_HPP +/** + * Header file to include all of Kokkos Tooling support + */ -namespace Kokkos { -namespace Impl { -#define KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE Kokkos::Cuda +#ifndef KOKKOS_IMPL_KOKKOS_TOOLS_HPP +#define KOKKOS_IMPL_KOKKOS_TOOLS_HPP -#include +#include -#undef KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE -} // namespace Impl -} // namespace Kokkos #endif diff --git a/lib/kokkos/core/src/impl/Kokkos_Traits.hpp b/lib/kokkos/core/src/impl/Kokkos_Traits.hpp index 32e78b7f5f620fd8d5bcf802703f1d07cb7171a4..770c7b002ee2a6021c8c3d9b75b90c1717e6733d 100644 --- a/lib/kokkos/core/src/impl/Kokkos_Traits.hpp +++ b/lib/kokkos/core/src/impl/Kokkos_Traits.hpp @@ -60,17 +60,17 @@ namespace Impl { template struct get_type { - typedef void type; + using type = void; }; template struct get_type<0, T, Pack...> { - typedef T type; + using type = T; }; template struct get_type { - typedef typename get_type::type type; + using type = typename get_type::type; }; template @@ -83,7 +83,7 @@ struct has_type { private: enum { self_value = std::is_same::value }; - typedef has_type next; + using next = has_type; static_assert( !(self_value && next::value), @@ -97,7 +97,7 @@ template class Condition, typename... Pack> struct has_condition { enum { value = false }; - typedef DefaultType type; + using type = DefaultType; }; template class Condition, typename S, @@ -106,7 +106,7 @@ struct has_condition { private: enum { self_value = Condition::value }; - typedef has_condition next; + using next = has_condition; static_assert( !(self_value && next::value), @@ -115,8 +115,8 @@ struct has_condition { public: enum { value = self_value || next::value }; - typedef - typename std::conditional::type type; + using type = + typename std::conditional::type; }; template @@ -151,7 +151,7 @@ namespace Impl { template struct enable_if_type { - typedef T type; + using type = T; }; //---------------------------------------------------------------------------- @@ -161,12 +161,12 @@ template struct if_c { enum { value = Cond }; - typedef FalseType type; + using type = FalseType; - typedef typename std::remove_const< - typename std::remove_reference::type>::type value_type; + using value_type = typename std::remove_const< + typename std::remove_reference::type>::type; - typedef typename std::add_const::type const_value_type; + using const_value_type = typename std::add_const::type; static KOKKOS_INLINE_FUNCTION const_value_type& select(const_value_type& v) { return v; @@ -196,12 +196,12 @@ template struct if_c { enum { value = true }; - typedef TrueType type; + using type = TrueType; - typedef typename std::remove_const< - typename std::remove_reference::type>::type value_type; + using value_type = typename std::remove_const< + typename std::remove_reference::type>::type; - typedef typename std::add_const::type const_value_type; + using const_value_type = typename std::add_const::type; static KOKKOS_INLINE_FUNCTION const_value_type& select(const_value_type& v) { return v; @@ -231,16 +231,16 @@ template struct if_c { enum { value = false }; - typedef void type; - typedef void value_type; + using type = void; + using value_type = void; }; template struct if_c { enum { value = true }; - typedef void type; - typedef void value_type; + using type = void; + using value_type = void; }; template @@ -337,16 +337,16 @@ struct integral_nonzero_constant { // Declaration of 'static const' causes an unresolved linker symbol in debug // static const T value = v ; enum { value = T(v) }; - typedef T value_type; - typedef integral_nonzero_constant type; + using value_type = T; + using type = integral_nonzero_constant; KOKKOS_INLINE_FUNCTION integral_nonzero_constant(const T&) {} }; template struct integral_nonzero_constant { const T value; - typedef T value_type; - typedef integral_nonzero_constant type; + using value_type = T; + using type = integral_nonzero_constant; KOKKOS_INLINE_FUNCTION integral_nonzero_constant(const T& v) : value(v) {} }; diff --git a/lib/kokkos/core/src/impl/Kokkos_ViewArray.hpp b/lib/kokkos/core/src/impl/Kokkos_ViewArray.hpp index 119ad4eccf88fab63cba3fc984aa2877793e0532..de1c0750f0d389303914fa1d987a82fc4c7f1b41 100644 --- a/lib/kokkos/core/src/impl/Kokkos_ViewArray.hpp +++ b/lib/kokkos/core/src/impl/Kokkos_ViewArray.hpp @@ -51,21 +51,21 @@ namespace Kokkos { namespace Impl { template -struct ViewDataAnalysis > { +struct ViewDataAnalysis> { private: - typedef ViewArrayAnalysis array_analysis; + using array_analysis = ViewArrayAnalysis; static_assert(std::is_same::value, ""); static_assert(std::is_same >::value, + Kokkos::Array>::value, ""); static_assert(std::is_scalar::value, "View of Array type must be of a scalar type"); public: - typedef Kokkos::Array<> specialize; + using specialize = Kokkos::Array<>; - typedef typename array_analysis::dimension dimension; + using dimension = typename array_analysis::dimension; private: enum { @@ -73,29 +73,29 @@ struct ViewDataAnalysis > { typename array_analysis::const_value_type>::value }; - typedef typename dimension::template append::type array_scalar_dimension; + using array_scalar_dimension = typename dimension::template append::type; - typedef typename std::conditional::type scalar_type; - typedef V non_const_scalar_type; - typedef const V const_scalar_type; + using scalar_type = typename std::conditional::type; + using non_const_scalar_type = V; + using const_scalar_type = const V; public: - typedef typename array_analysis::value_type value_type; - typedef typename array_analysis::const_value_type const_value_type; - typedef typename array_analysis::non_const_value_type non_const_value_type; - - typedef typename ViewDataType::type type; - typedef typename ViewDataType::type const_type; - typedef typename ViewDataType::type - non_const_type; - - typedef typename ViewDataType::type - scalar_array_type; - typedef typename ViewDataType::type - const_scalar_array_type; - typedef - typename ViewDataType::type - non_const_scalar_array_type; + using value_type = typename array_analysis::value_type; + using const_value_type = typename array_analysis::const_value_type; + using non_const_value_type = typename array_analysis::non_const_value_type; + + using type = typename ViewDataType::type; + using const_type = typename ViewDataType::type; + using non_const_type = + typename ViewDataType::type; + + using scalar_array_type = + typename ViewDataType::type; + using const_scalar_array_type = + typename ViewDataType::type; + using non_const_scalar_array_type = + typename ViewDataType::type; }; } // namespace Impl @@ -109,31 +109,28 @@ namespace Impl { /** \brief View mapping for non-specialized data type and standard layout */ template -class ViewMapping > { +class ViewMapping> { private: template friend class ViewMapping; template friend class Kokkos::View; - typedef ViewOffset - offset_type; + using offset_type = ViewOffset; - typedef typename Traits::value_type::pointer handle_type; + using handle_type = typename Traits::value_type::pointer; handle_type m_impl_handle; offset_type m_impl_offset; size_t m_stride; - typedef typename Traits::value_type::value_type scalar_type; + using scalar_type = typename Traits::value_type::value_type; - typedef Kokkos::Array::contiguous> - contiguous_reference; - typedef Kokkos::Array::strided> - strided_reference; + using contiguous_reference = Kokkos::Array::contiguous>; + using strided_reference = + Kokkos::Array::strided>; enum { is_contiguous_reference = @@ -232,11 +229,11 @@ class ViewMapping > { return m_impl_offset.span_is_contiguous(); } - typedef + using reference_type = typename std::conditional::type reference_type; + strided_reference>::type; - typedef handle_type pointer_type; + using pointer_type = handle_type; /** \brief If data references are lvalue_reference than can query pointer to * memory */ @@ -377,31 +374,33 @@ class ViewMapping > { Kokkos::Impl::SharedAllocationRecord<> *allocate_shared( Kokkos::Impl::ViewCtorProp const &arg_prop, typename Traits::array_layout const &arg_layout) { - typedef Kokkos::Impl::ViewCtorProp alloc_prop; + using alloc_prop = Kokkos::Impl::ViewCtorProp; - typedef typename alloc_prop::execution_space execution_space; - typedef typename Traits::memory_space memory_space; - typedef ViewValueFunctor functor_type; - typedef Kokkos::Impl::SharedAllocationRecord - record_type; + using execution_space = typename alloc_prop::execution_space; + using memory_space = typename Traits::memory_space; + using functor_type = ViewValueFunctor; + using record_type = + Kokkos::Impl::SharedAllocationRecord; // Query the mapping for byte-size of allocation. - typedef std::integral_constant< - unsigned, alloc_prop::allow_padding ? sizeof(scalar_type) : 0> - padding; + using padding = std::integral_constant< + unsigned int, alloc_prop::allow_padding ? sizeof(scalar_type) : 0>; m_impl_offset = offset_type(padding(), arg_layout); const size_t alloc_size = (m_impl_offset.span() * Array_N * MemorySpanSize + MemorySpanMask) & ~size_t(MemorySpanMask); - + const auto &alloc_name = + static_cast const &>( + arg_prop) + .value; // Allocate memory from the memory space and create tracking record. record_type *const record = record_type::allocate( - ((Kokkos::Impl::ViewCtorProp const &)arg_prop) + static_cast const &>( + arg_prop) .value, - ((Kokkos::Impl::ViewCtorProp const &)arg_prop).value, - alloc_size); + alloc_name, alloc_size); if (alloc_size) { m_impl_handle = @@ -410,10 +409,11 @@ class ViewMapping > { if (alloc_prop::initialize) { // The functor constructs and destroys record->m_destroy = functor_type( - ((Kokkos::Impl::ViewCtorProp const &) - arg_prop) + static_cast const + &>(arg_prop) .value, - (pointer_type)m_impl_handle, m_impl_offset.span() * Array_N); + (pointer_type)m_impl_handle, m_impl_offset.span() * Array_N, + alloc_name); record->m_destroy.construct_shared_allocation(); } @@ -438,7 +438,7 @@ class ViewMapping< Kokkos::LayoutRight>::value || std::is_same::value) && - std::is_same >::value && + std::is_same>::value && (std::is_same::value || std::is_same::value }; - typedef Kokkos::Impl::SharedAllocationTracker TrackType; - typedef ViewMapping DstType; - typedef ViewMapping > SrcType; + using TrackType = Kokkos::Impl::SharedAllocationTracker; + using DstType = ViewMapping; + using SrcType = ViewMapping>; KOKKOS_INLINE_FUNCTION static void assign(DstType &dst, const SrcType &src, const TrackType & /*src_track*/) { static_assert(is_assignable, "Can only convert to array_type"); - typedef typename DstType::offset_type dst_offset_type; + using dst_offset_type = typename DstType::offset_type; // Array dimension becomes the last dimension. // Arguments beyond the destination rank are ignored. @@ -496,9 +496,8 @@ class ViewMapping< (7 < SrcType::Rank ? src.dimension_7() : SrcTraits::value_type::size()))); } else { // is padded - typedef std::integral_constant< - unsigned, sizeof(typename SrcTraits::value_type::value_type)> - padded; + using padded = std::integral_constant< + unsigned int, sizeof(typename SrcTraits::value_type::value_type)>; dst.m_impl_offset = dst_offset_type( padded(), typename DstTraits::array_layout( @@ -530,7 +529,7 @@ class ViewMapping< template struct ViewMapping< typename std::enable_if<( - std::is_same >::value && + std::is_same>::value && (std::is_same::value || std::is_same::value) || - // OutputRank 1 or 2, InputLayout Right, Interval [InputRank-1] - // because single stride one or second index has a stride. - (rank <= 2 && R0_rev && - std::is_same::value)), - typename SrcTraits::array_layout, Kokkos::LayoutStride>::type - array_layout; - - typedef typename SrcTraits::value_type value_type; - - typedef typename std::conditional< + using array_layout = + typename std::conditional<((rank == 0) || + (rank <= 2 && R0 && + std::is_same::value) || + (rank <= 2 && R0_rev && + std::is_same::value)), + typename SrcTraits::array_layout, + Kokkos::LayoutStride>::type; + + using value_type = typename SrcTraits::value_type; + + using data_type = typename std::conditional< rank == 0, value_type, typename std::conditional< rank == 1, value_type *, @@ -616,25 +609,24 @@ struct ViewMapping< typename std::conditional< rank == 7, value_type *******, value_type ********>::type>::type>::type>:: - type>::type>::type>::type>::type data_type; + type>::type>::type>::type>::type; public: - typedef Kokkos::ViewTraits - traits_type; + using traits_type = Kokkos::ViewTraits; - typedef Kokkos::View - type; + using type = + Kokkos::View; KOKKOS_INLINE_FUNCTION static void assign(ViewMapping &dst, ViewMapping const &src, Args... args) { - typedef ViewMapping DstType; + using DstType = ViewMapping; - typedef typename DstType::offset_type dst_offset_type; - typedef typename DstType::handle_type dst_handle_type; + using dst_offset_type = typename DstType::offset_type; + using dst_handle_type = typename DstType::handle_type; const SubviewExtents extents(src.m_impl_offset.m_dim, args...); diff --git a/lib/kokkos/core/src/impl/Kokkos_ViewCtor.hpp b/lib/kokkos/core/src/impl/Kokkos_ViewCtor.hpp index 93a267ffa321f7732cd989c10da9a61ca3f1e33e..a817784dc0d4d56cdf65a0e4a42cb36b05899538 100644 --- a/lib/kokkos/core/src/impl/Kokkos_ViewCtor.hpp +++ b/lib/kokkos/core/src/impl/Kokkos_ViewCtor.hpp @@ -141,7 +141,7 @@ struct ViewCtorProp::value>::type, ViewCtorProp(const ViewCtorProp &) = default; ViewCtorProp &operator=(const ViewCtorProp &) = default; - typedef std::string type; + using type = std::string; ViewCtorProp(const type &arg) : value(arg) {} ViewCtorProp(type &&arg) : value(arg) {} @@ -173,7 +173,7 @@ struct ViewCtorProp { ViewCtorProp(const ViewCtorProp &) = default; ViewCtorProp &operator=(const ViewCtorProp &) = default; - typedef T *type; + using type = T *; KOKKOS_INLINE_FUNCTION ViewCtorProp(const type arg) : value(arg) {} @@ -194,20 +194,49 @@ struct ViewCtorProp { type value; }; +// For some reason I don't understand I needed this specialization explicitly +// for NVCC/MSVC +template +struct ViewCtorProp { + ViewCtorProp() = default; + ViewCtorProp(const ViewCtorProp &) = default; + ViewCtorProp &operator=(const ViewCtorProp &) = default; + + using type = T *; + + KOKKOS_INLINE_FUNCTION + ViewCtorProp(const type arg) : value(arg) {} + + enum { has_pointer = true }; + using pointer_type = type; + type value; +}; + +// If we use `ViewCtorProp` and `ViewCtorProp...` directly +// in the parameter lists and base class initializers, respectively, as far as +// we can tell MSVC 16.5.5+CUDA 10.2 thinks that `ViewCtorProp` refers to the +// current instantiation, not the template itself, and gets all kinds of +// confused. To work around this, we just use a couple of alias templates that +// amount to the same thing. +template +using view_ctor_prop_args = ViewCtorProp; + +template +using view_ctor_prop_base = ViewCtorProp; + template struct ViewCtorProp : public ViewCtorProp... { private: - typedef Kokkos::Impl::has_condition - var_memory_space; + using var_memory_space = + Kokkos::Impl::has_condition; - typedef Kokkos::Impl::has_condition - var_execution_space; + using var_execution_space = + Kokkos::Impl::has_condition; struct VOIDDUMMY {}; - typedef Kokkos::Impl::has_condition - var_pointer; + using var_pointer = + Kokkos::Impl::has_condition; public: /* Flags for the common properties */ @@ -220,9 +249,9 @@ struct ViewCtorProp : public ViewCtorProp... { initialize = !Kokkos::Impl::has_type::value }; - typedef typename var_memory_space::type memory_space; - typedef typename var_execution_space::type execution_space; - typedef typename var_pointer::type pointer_type; + using memory_space = typename var_memory_space::type; + using execution_space = typename var_execution_space::type; + using pointer_type = typename var_pointer::type; /* Copy from a matching argument list. * Requires std::is_same< P , ViewCtorProp< void , Args >::value ... @@ -236,10 +265,20 @@ struct ViewCtorProp : public ViewCtorProp... { ViewCtorProp::type>(args)... {} /* Copy from a matching property subset */ + KOKKOS_INLINE_FUNCTION ViewCtorProp(pointer_type arg0) + : ViewCtorProp(arg0) {} + + // If we use `ViewCtorProp` and `ViewCtorProp...` here + // directly, MSVC 16.5.5+CUDA 10.2 appears to think that `ViewCtorProp` refers + // to the current instantiation, not the template itself, and gets all kinds + // of confused. To work around this, we just use a couple of alias templates + // that amount to the same thing. template - ViewCtorProp(ViewCtorProp const &arg) - : ViewCtorProp( - static_cast const &>(arg))... { + ViewCtorProp(view_ctor_prop_args const &arg) + : view_ctor_prop_base( + static_cast const &>(arg))... { + // Suppress an unused argument warning that (at least at one point) would + // show up if sizeof...(Args) == 0 (void)arg; } }; diff --git a/lib/kokkos/core/src/impl/Kokkos_ViewFillCopyETIAvail.hpp b/lib/kokkos/core/src/impl/Kokkos_ViewFillCopyETIAvail.hpp deleted file mode 100644 index b415cb6d5034f71c59389dc2e689ac01553ea664..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/impl/Kokkos_ViewFillCopyETIAvail.hpp +++ /dev/null @@ -1,126 +0,0 @@ -/* -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER -*/ - -#ifndef KOKKOS_EXPERIMENTAL_VIEWETIAVAIL_HPP -#define KOKKOS_EXPERIMENTAL_VIEWETIAVAIL_HPP - -namespace Kokkos { -namespace Impl { - -template -struct ViewCopyETIAvail { - enum { value = false }; -}; - -#define KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL(DATATYPE, LAYOUTA, LAYOUTB, EXECSPACE, \ - ITYPE) \ - template <> \ - struct ViewCopyETIAvail< \ - Kokkos::View, \ - Kokkos::MemoryTraits<0>>, \ - Kokkos::View, \ - Kokkos::MemoryTraits<0>>, \ - Kokkos::LayoutLeft, EXECSPACE, Kokkos::View::rank, ITYPE> { \ - enum { value = true }; \ - }; \ - template <> \ - struct ViewCopyETIAvail< \ - Kokkos::View, \ - Kokkos::MemoryTraits<0>>, \ - Kokkos::View, \ - Kokkos::MemoryTraits<0>>, \ - Kokkos::LayoutRight, EXECSPACE, Kokkos::View::rank, ITYPE> { \ - enum { value = true }; \ - }; - -template -struct ViewFillETIAvail { - enum { value = false }; -}; - -#define KOKKOS_IMPL_VIEWFILL_ETI_AVAIL(DATATYPE, LAYOUT, EXECSPACE, ITYPE) \ - template <> \ - struct ViewFillETIAvail< \ - Kokkos::View, \ - Kokkos::MemoryTraits<0>>, \ - Kokkos::LayoutLeft, EXECSPACE, Kokkos::View::rank, ITYPE> { \ - enum { value = true }; \ - }; \ - template <> \ - struct ViewFillETIAvail< \ - Kokkos::View, \ - Kokkos::MemoryTraits<0>>, \ - Kokkos::LayoutRight, EXECSPACE, Kokkos::View::rank, ITYPE> { \ - enum { value = true }; \ - }; - -} // namespace Impl -} // namespace Kokkos -#ifdef KOKKOS_ENABLE_ETI -#ifdef KOKKOS_ENABLE_Serial -#include -#endif -#ifdef KOKKOS_ENABLE_OPENMP -#include -#endif -#ifdef KOKKOS_ENABLE_THREADS -#include -#endif -#ifdef KOKKOS_ENABLE_CUDA -#include -#endif -#ifdef KOKKOS_ENABLE_ROCM -#include -#endif -#endif - -#endif diff --git a/lib/kokkos/core/src/impl/Kokkos_ViewFillCopyETIDecl.hpp b/lib/kokkos/core/src/impl/Kokkos_ViewFillCopyETIDecl.hpp deleted file mode 100644 index e23dabd8406f3726b024718bfb229744a211e436..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/impl/Kokkos_ViewFillCopyETIDecl.hpp +++ /dev/null @@ -1,140 +0,0 @@ -/* -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER -*/ - -#ifndef KOKKOS_EXPERIMENTAL_VIEWETIDECL_HPP -#define KOKKOS_EXPERIMENTAL_VIEWETIDECL_HPP - -namespace Kokkos { -namespace Impl { - -#define KOKKOS_IMPL_VIEWCOPY_ETI_DECL(DATATYPE, LAYOUTA, LAYOUTB, EXECSPACE, \ - ITYPE) \ - extern template struct ViewCopy< \ - Kokkos::View, \ - Kokkos::MemoryTraits<0>>, \ - Kokkos::View, \ - Kokkos::MemoryTraits<0>>, \ - Kokkos::LayoutLeft, EXECSPACE, Kokkos::View::rank, ITYPE, \ - true>; \ - extern template struct ViewCopy< \ - Kokkos::View, \ - Kokkos::MemoryTraits<0>>, \ - Kokkos::View, \ - Kokkos::MemoryTraits<0>>, \ - Kokkos::LayoutRight, EXECSPACE, Kokkos::View::rank, ITYPE, \ - true>; - -#define KOKKOS_IMPL_VIEWFILL_ETI_DECL(DATATYPE, LAYOUT, EXECSPACE, ITYPE) \ - extern template struct ViewFill< \ - Kokkos::View, \ - Kokkos::MemoryTraits<0>>, \ - Kokkos::LayoutLeft, EXECSPACE, Kokkos::View::rank, ITYPE, \ - true>; \ - extern template struct ViewFill< \ - Kokkos::View, \ - Kokkos::MemoryTraits<0>>, \ - Kokkos::LayoutRight, EXECSPACE, Kokkos::View::rank, ITYPE, \ - true>; - -#define KOKKOS_IMPL_VIEWCOPY_ETI_INST(DATATYPE, LAYOUTA, LAYOUTB, EXECSPACE, \ - ITYPE) \ - template struct ViewCopy< \ - Kokkos::View, \ - Kokkos::MemoryTraits<0>>, \ - Kokkos::View, \ - Kokkos::MemoryTraits<0>>, \ - Kokkos::LayoutLeft, EXECSPACE, Kokkos::View::rank, ITYPE, \ - true>; \ - template struct ViewCopy< \ - Kokkos::View, \ - Kokkos::MemoryTraits<0>>, \ - Kokkos::View, \ - Kokkos::MemoryTraits<0>>, \ - Kokkos::LayoutRight, EXECSPACE, Kokkos::View::rank, ITYPE, \ - true>; - -#define KOKKOS_IMPL_VIEWFILL_ETI_INST(DATATYPE, LAYOUT, EXECSPACE, ITYPE) \ - template struct ViewFill< \ - Kokkos::View, \ - Kokkos::MemoryTraits<0>>, \ - Kokkos::LayoutLeft, EXECSPACE, Kokkos::View::rank, ITYPE, \ - true>; \ - template struct ViewFill< \ - Kokkos::View, \ - Kokkos::MemoryTraits<0>>, \ - Kokkos::LayoutRight, EXECSPACE, Kokkos::View::rank, ITYPE, \ - true>; - -} // namespace Impl -} // namespace Kokkos -#ifdef KOKKOS_ENABLE_ETI -#ifdef KOKKOS_ENABLE_Serial -#include -#endif -#ifdef KOKKOS_ENABLE_OPENMP -#include -#endif -#ifdef KOKKOS_ENABLE_THREADS -#include -#endif -#ifdef KOKKOS_ENABLE_CUDA -#include -#endif -#ifdef KOKKOS_ENABLE_ROCM -#include -#endif -#endif -#endif diff --git a/lib/kokkos/core/src/impl/Kokkos_ViewLayoutTiled.hpp b/lib/kokkos/core/src/impl/Kokkos_ViewLayoutTiled.hpp index 27f4375e56650a46d69d7fd462eb55252be33aac..b171f5feebb8a99dde94c1b1c539632b8c695687 100644 --- a/lib/kokkos/core/src/impl/Kokkos_ViewLayoutTiled.hpp +++ b/lib/kokkos/core/src/impl/Kokkos_ViewLayoutTiled.hpp @@ -45,8 +45,6 @@ #ifndef KOKKOS_EXPERIMENTAL_VIEWLAYOUTTILE_HPP #define KOKKOS_EXPERIMENTAL_VIEWLAYOUTTILE_HPP -#ifndef KOKKOS_ENABLE_DEPRECATED_CODE - #include #include @@ -131,14 +129,14 @@ struct ViewOffset< enum { VORank = Dimension::rank }; - enum { SHIFT_0 = Kokkos::Impl::integral_power_of_two(Layout::N0) }; - enum { SHIFT_1 = Kokkos::Impl::integral_power_of_two(Layout::N1) }; - enum { SHIFT_2 = Kokkos::Impl::integral_power_of_two(Layout::N2) }; - enum { SHIFT_3 = Kokkos::Impl::integral_power_of_two(Layout::N3) }; - enum { SHIFT_4 = Kokkos::Impl::integral_power_of_two(Layout::N4) }; - enum { SHIFT_5 = Kokkos::Impl::integral_power_of_two(Layout::N5) }; - enum { SHIFT_6 = Kokkos::Impl::integral_power_of_two(Layout::N6) }; - enum { SHIFT_7 = Kokkos::Impl::integral_power_of_two(Layout::N7) }; + enum : unsigned { SHIFT_0 = Kokkos::Impl::integral_power_of_two(Layout::N0) }; + enum : unsigned { SHIFT_1 = Kokkos::Impl::integral_power_of_two(Layout::N1) }; + enum : unsigned { SHIFT_2 = Kokkos::Impl::integral_power_of_two(Layout::N2) }; + enum : unsigned { SHIFT_3 = Kokkos::Impl::integral_power_of_two(Layout::N3) }; + enum : unsigned { SHIFT_4 = Kokkos::Impl::integral_power_of_two(Layout::N4) }; + enum : unsigned { SHIFT_5 = Kokkos::Impl::integral_power_of_two(Layout::N5) }; + enum : unsigned { SHIFT_6 = Kokkos::Impl::integral_power_of_two(Layout::N6) }; + enum : unsigned { SHIFT_7 = Kokkos::Impl::integral_power_of_two(Layout::N7) }; enum { MASK_0 = Layout::N0 - 1 }; enum { MASK_1 = Layout::N1 - 1 }; enum { MASK_2 = Layout::N2 - 1 }; @@ -148,16 +146,20 @@ struct ViewOffset< enum { MASK_6 = Layout::N6 - 1 }; enum { MASK_7 = Layout::N7 - 1 }; - enum { SHIFT_2T = SHIFT_0 + SHIFT_1 }; - enum { SHIFT_3T = SHIFT_0 + SHIFT_1 + SHIFT_2 }; - enum { SHIFT_4T = SHIFT_0 + SHIFT_1 + SHIFT_2 + SHIFT_3 }; - enum { SHIFT_5T = SHIFT_0 + SHIFT_1 + SHIFT_2 + SHIFT_3 + SHIFT_4 }; - enum { SHIFT_6T = SHIFT_0 + SHIFT_1 + SHIFT_2 + SHIFT_3 + SHIFT_4 + SHIFT_5 }; - enum { + enum : unsigned { SHIFT_2T = SHIFT_0 + SHIFT_1 }; + enum : unsigned { SHIFT_3T = SHIFT_0 + SHIFT_1 + SHIFT_2 }; + enum : unsigned { SHIFT_4T = SHIFT_0 + SHIFT_1 + SHIFT_2 + SHIFT_3 }; + enum : unsigned { + SHIFT_5T = SHIFT_0 + SHIFT_1 + SHIFT_2 + SHIFT_3 + SHIFT_4 + }; + enum : unsigned { + SHIFT_6T = SHIFT_0 + SHIFT_1 + SHIFT_2 + SHIFT_3 + SHIFT_4 + SHIFT_5 + }; + enum : unsigned { SHIFT_7T = SHIFT_0 + SHIFT_1 + SHIFT_2 + SHIFT_3 + SHIFT_4 + SHIFT_5 + SHIFT_6 }; - enum { + enum : unsigned { SHIFT_8T = SHIFT_0 + SHIFT_1 + SHIFT_2 + SHIFT_3 + SHIFT_4 + SHIFT_5 + SHIFT_6 + SHIFT_7 }; @@ -166,9 +168,9 @@ struct ViewOffset< using is_mapping_plugin = std::true_type; using is_regular = std::false_type; - typedef size_t size_type; - typedef Dimension dimension_type; - typedef Layout array_layout; + using size_type = size_t; + using dimension_type = Dimension; + using array_layout = Layout; dimension_type m_dim; size_type m_tile_N0; // Num tiles dim 0 @@ -600,11 +602,37 @@ struct ViewOffset< } //---------------------------------------- - +#ifdef KOKKOS_IMPL_WINDOWS_CUDA + KOKKOS_FUNCTION ViewOffset() {} + KOKKOS_FUNCTION ViewOffset(const ViewOffset& src) { + m_dim = src.m_dim; + m_tile_N0 = src.m_tile_N0; + m_tile_N1 = src.m_tile_N1; + m_tile_N2 = src.m_tile_N2; + m_tile_N3 = src.m_tile_N3; + m_tile_N4 = src.m_tile_N4; + m_tile_N5 = src.m_tile_N5; + m_tile_N6 = src.m_tile_N6; + m_tile_N7 = src.m_tile_N7; + } + KOKKOS_FUNCTION ViewOffset& operator=(const ViewOffset& src) { + m_dim = src.m_dim; + m_tile_N0 = src.m_tile_N0; + m_tile_N1 = src.m_tile_N1; + m_tile_N2 = src.m_tile_N2; + m_tile_N3 = src.m_tile_N3; + m_tile_N4 = src.m_tile_N4; + m_tile_N5 = src.m_tile_N5; + m_tile_N6 = src.m_tile_N6; + m_tile_N7 = src.m_tile_N7; + return *this; + } +#else KOKKOS_DEFAULTED_FUNCTION ~ViewOffset() = default; KOKKOS_DEFAULTED_FUNCTION ViewOffset() = default; KOKKOS_DEFAULTED_FUNCTION ViewOffset(const ViewOffset&) = default; KOKKOS_DEFAULTED_FUNCTION ViewOffset& operator=(const ViewOffset&) = default; +#endif template KOKKOS_INLINE_FUNCTION constexpr ViewOffset( @@ -653,26 +681,27 @@ struct ViewMapping< Kokkos::Experimental::LayoutTiled, iType0, iType1> { - typedef Kokkos::Experimental::LayoutTiled - src_layout; - typedef Kokkos::ViewTraits src_traits; + using src_layout = + Kokkos::Experimental::LayoutTiled; + using src_traits = Kokkos::ViewTraits; enum { is_outer_left = (OuterP == Kokkos::Iterate::Left) }; enum { is_inner_left = (InnerP == Kokkos::Iterate::Left) }; - typedef typename std::conditional::type array_layout; - typedef Kokkos::ViewTraits traits; - typedef Kokkos::View type; + using array_layout = + typename std::conditional::type; + using traits = Kokkos::ViewTraits; + using type = Kokkos::View; KOKKOS_INLINE_FUNCTION static void assign( ViewMapping& dst, const ViewMapping& src, const src_layout&, const iType0 i_tile0, const iType1 i_tile1) { - typedef ViewMapping dst_map_type; - typedef ViewMapping src_map_type; - typedef typename dst_map_type::handle_type dst_handle_type; - typedef typename dst_map_type::offset_type dst_offset_type; - typedef typename src_map_type::offset_type src_offset_type; + using dst_map_type = ViewMapping; + using src_map_type = ViewMapping; + using dst_handle_type = typename dst_map_type::handle_type; + using dst_offset_type = typename dst_map_type::offset_type; + using src_offset_type = typename src_map_type::offset_type; dst = dst_map_type( dst_handle_type( @@ -703,27 +732,28 @@ struct ViewMapping, iType0, iType1, iType2> { - typedef Kokkos::Experimental::LayoutTiled - src_layout; - typedef Kokkos::ViewTraits src_traits; + using src_layout = + Kokkos::Experimental::LayoutTiled; + using src_traits = Kokkos::ViewTraits; enum { is_outer_left = (OuterP == Kokkos::Iterate::Left) }; enum { is_inner_left = (InnerP == Kokkos::Iterate::Left) }; - typedef typename std::conditional::type array_layout; - typedef Kokkos::ViewTraits traits; - typedef Kokkos::View type; + using array_layout = + typename std::conditional::type; + using traits = Kokkos::ViewTraits; + using type = Kokkos::View; KOKKOS_INLINE_FUNCTION static void assign( ViewMapping& dst, const ViewMapping& src, const src_layout&, const iType0 i_tile0, const iType1 i_tile1, const iType2 i_tile2) { - typedef ViewMapping dst_map_type; - typedef ViewMapping src_map_type; - typedef typename dst_map_type::handle_type dst_handle_type; - typedef typename dst_map_type::offset_type dst_offset_type; - typedef typename src_map_type::offset_type src_offset_type; + using dst_map_type = ViewMapping; + using src_map_type = ViewMapping; + using dst_handle_type = typename dst_map_type::handle_type; + using dst_offset_type = typename dst_map_type::offset_type; + using src_offset_type = typename src_map_type::offset_type; dst = dst_map_type( dst_handle_type( @@ -759,27 +789,28 @@ struct ViewMapping, iType0, iType1, iType2, iType3> { - typedef Kokkos::Experimental::LayoutTiled - src_layout; - typedef Kokkos::ViewTraits src_traits; + using src_layout = + Kokkos::Experimental::LayoutTiled; + using src_traits = Kokkos::ViewTraits; enum { is_outer_left = (OuterP == Kokkos::Iterate::Left) }; enum { is_inner_left = (InnerP == Kokkos::Iterate::Left) }; - typedef typename std::conditional::type array_layout; - typedef Kokkos::ViewTraits traits; - typedef Kokkos::View type; + using array_layout = + typename std::conditional::type; + using traits = Kokkos::ViewTraits; + using type = Kokkos::View; KOKKOS_INLINE_FUNCTION static void assign( ViewMapping& dst, const ViewMapping& src, const src_layout&, const iType0 i_tile0, const iType1 i_tile1, const iType2 i_tile2, const iType3 i_tile3) { - typedef ViewMapping dst_map_type; - typedef ViewMapping src_map_type; - typedef typename dst_map_type::handle_type dst_handle_type; - typedef typename dst_map_type::offset_type dst_offset_type; - typedef typename src_map_type::offset_type src_offset_type; + using dst_map_type = ViewMapping; + using src_map_type = ViewMapping; + using dst_handle_type = typename dst_map_type::handle_type; + using dst_offset_type = typename dst_map_type::offset_type; + using src_offset_type = typename src_map_type::offset_type; dst = dst_map_type( dst_handle_type( @@ -820,27 +851,28 @@ struct ViewMapping< Kokkos::Experimental::LayoutTiled, iType0, iType1, iType2, iType3, iType4> { - typedef Kokkos::Experimental::LayoutTiled - src_layout; - typedef Kokkos::ViewTraits src_traits; + using src_layout = + Kokkos::Experimental::LayoutTiled; + using src_traits = Kokkos::ViewTraits; enum { is_outer_left = (OuterP == Kokkos::Iterate::Left) }; enum { is_inner_left = (InnerP == Kokkos::Iterate::Left) }; - typedef typename std::conditional::type array_layout; - typedef Kokkos::ViewTraits traits; - typedef Kokkos::View type; + using array_layout = + typename std::conditional::type; + using traits = Kokkos::ViewTraits; + using type = Kokkos::View; KOKKOS_INLINE_FUNCTION static void assign( ViewMapping& dst, const ViewMapping& src, const src_layout&, const iType0 i_tile0, const iType1 i_tile1, const iType2 i_tile2, const iType3 i_tile3, const iType4 i_tile4) { - typedef ViewMapping dst_map_type; - typedef ViewMapping src_map_type; - typedef typename dst_map_type::handle_type dst_handle_type; - typedef typename dst_map_type::offset_type dst_offset_type; - typedef typename src_map_type::offset_type src_offset_type; + using dst_map_type = ViewMapping; + using src_map_type = ViewMapping; + using dst_handle_type = typename dst_map_type::handle_type; + using dst_offset_type = typename dst_map_type::offset_type; + using src_offset_type = typename src_map_type::offset_type; dst = dst_map_type( dst_handle_type( @@ -886,29 +918,30 @@ struct ViewMapping::type // void Kokkos::Experimental::LayoutTiled, iType0, iType1, iType2, iType3, iType4, iType5> { - typedef Kokkos::Experimental::LayoutTiled - src_layout; - typedef Kokkos::ViewTraits src_traits; + using src_layout = + Kokkos::Experimental::LayoutTiled; + using src_traits = Kokkos::ViewTraits; enum { is_outer_left = (OuterP == Kokkos::Iterate::Left) }; enum { is_inner_left = (InnerP == Kokkos::Iterate::Left) }; - typedef typename std::conditional::type array_layout; - typedef Kokkos::ViewTraits - traits; - typedef Kokkos::View type; + using array_layout = + typename std::conditional::type; + using traits = + Kokkos::ViewTraits; + using type = Kokkos::View; KOKKOS_INLINE_FUNCTION static void assign( ViewMapping& dst, const ViewMapping& src, const src_layout&, const iType0 i_tile0, const iType1 i_tile1, const iType2 i_tile2, const iType3 i_tile3, const iType4 i_tile4, const iType5 i_tile5) { - typedef ViewMapping dst_map_type; - typedef ViewMapping src_map_type; - typedef typename dst_map_type::handle_type dst_handle_type; - typedef typename dst_map_type::offset_type dst_offset_type; - typedef typename src_map_type::offset_type src_offset_type; + using dst_map_type = ViewMapping; + using src_map_type = ViewMapping; + using dst_handle_type = typename dst_map_type::handle_type; + using dst_offset_type = typename dst_map_type::offset_type; + using src_offset_type = typename src_map_type::offset_type; dst = dst_map_type( dst_handle_type( @@ -958,29 +991,30 @@ struct ViewMapping::type // void Kokkos::Experimental::LayoutTiled, iType0, iType1, iType2, iType3, iType4, iType5, iType6> { - typedef Kokkos::Experimental::LayoutTiled - src_layout; - typedef Kokkos::ViewTraits src_traits; + using src_layout = + Kokkos::Experimental::LayoutTiled; + using src_traits = Kokkos::ViewTraits; enum { is_outer_left = (OuterP == Kokkos::Iterate::Left) }; enum { is_inner_left = (InnerP == Kokkos::Iterate::Left) }; - typedef typename std::conditional::type array_layout; - typedef Kokkos::ViewTraits - traits; - typedef Kokkos::View type; + using array_layout = + typename std::conditional::type; + using traits = + Kokkos::ViewTraits; + using type = Kokkos::View; KOKKOS_INLINE_FUNCTION static void assign( ViewMapping& dst, const ViewMapping& src, const src_layout&, const iType0 i_tile0, const iType1 i_tile1, const iType2 i_tile2, const iType3 i_tile3, const iType4 i_tile4, const iType5 i_tile5, const iType6 i_tile6) { - typedef ViewMapping dst_map_type; - typedef ViewMapping src_map_type; - typedef typename dst_map_type::handle_type dst_handle_type; - typedef typename dst_map_type::offset_type dst_offset_type; - typedef typename src_map_type::offset_type src_offset_type; + using dst_map_type = ViewMapping; + using src_map_type = ViewMapping; + using dst_handle_type = typename dst_map_type::handle_type; + using dst_offset_type = typename dst_map_type::offset_type; + using src_offset_type = typename src_map_type::offset_type; dst = dst_map_type( dst_handle_type( @@ -1039,31 +1073,31 @@ struct ViewMapping< Kokkos::Experimental::LayoutTiled, iType0, iType1, iType2, iType3, iType4, iType5, iType6, iType7> { - typedef Kokkos::Experimental::LayoutTiled - src_layout; - typedef Kokkos::ViewTraits src_traits; + using src_layout = + Kokkos::Experimental::LayoutTiled; + using src_traits = Kokkos::ViewTraits; enum { is_outer_left = (OuterP == Kokkos::Iterate::Left) }; enum { is_inner_left = (InnerP == Kokkos::Iterate::Left) }; - typedef typename std::conditional::type array_layout; - typedef Kokkos::ViewTraits - traits; - typedef Kokkos::View - type; + using array_layout = + typename std::conditional::type; + using traits = + Kokkos::ViewTraits; + using type = + Kokkos::View; KOKKOS_INLINE_FUNCTION static void assign( ViewMapping& dst, const ViewMapping& src, const src_layout&, const iType0 i_tile0, const iType1 i_tile1, const iType2 i_tile2, const iType3 i_tile3, const iType4 i_tile4, const iType5 i_tile5, const iType6 i_tile6, const iType7 i_tile7) { - typedef ViewMapping dst_map_type; - typedef ViewMapping src_map_type; - typedef typename dst_map_type::handle_type dst_handle_type; - typedef typename dst_map_type::offset_type dst_offset_type; - typedef typename src_map_type::offset_type src_offset_type; + using dst_map_type = ViewMapping; + using src_map_type = ViewMapping; + using dst_handle_type = typename dst_map_type::handle_type; + using dst_offset_type = typename dst_map_type::offset_type; + using src_offset_type = typename src_map_type::offset_type; dst = dst_map_type( dst_handle_type( @@ -1131,13 +1165,12 @@ tile_subview(const Kokkos::View< const size_t i_tile0, const size_t i_tile1) { // Force the specialized ViewMapping for extracting a tile // by using the first subview argument as the layout. - typedef + using array_layout = typename std::conditional<(InnerP == Kokkos::Iterate::Left), - Kokkos::LayoutLeft, Kokkos::LayoutRight>::type - array_layout; - typedef Kokkos::Experimental::LayoutTiled - SrcLayout; + Kokkos::LayoutLeft, Kokkos::LayoutRight>::type; + using SrcLayout = + Kokkos::Experimental::LayoutTiled; return Kokkos::View(src, SrcLayout(), i_tile0, i_tile1); @@ -1160,13 +1193,12 @@ tile_subview(const Kokkos::View< const size_t i_tile0, const size_t i_tile1, const size_t i_tile2) { // Force the specialized ViewMapping for extracting a tile // by using the first subview argument as the layout. - typedef + using array_layout = typename std::conditional<(InnerP == Kokkos::Iterate::Left), - Kokkos::LayoutLeft, Kokkos::LayoutRight>::type - array_layout; - typedef Kokkos::Experimental::LayoutTiled - SrcLayout; + Kokkos::LayoutLeft, Kokkos::LayoutRight>::type; + using SrcLayout = + Kokkos::Experimental::LayoutTiled; return Kokkos::View( src, SrcLayout(), i_tile0, i_tile1, i_tile2); @@ -1190,13 +1222,12 @@ tile_subview(const Kokkos::View< const size_t i_tile3) { // Force the specialized ViewMapping for extracting a tile // by using the first subview argument as the layout. - typedef + using array_layout = typename std::conditional<(InnerP == Kokkos::Iterate::Left), - Kokkos::LayoutLeft, Kokkos::LayoutRight>::type - array_layout; - typedef Kokkos::Experimental::LayoutTiled - SrcLayout; + Kokkos::LayoutLeft, Kokkos::LayoutRight>::type; + using SrcLayout = + Kokkos::Experimental::LayoutTiled; return Kokkos::View( src, SrcLayout(), i_tile0, i_tile1, i_tile2, i_tile3); @@ -1220,13 +1251,12 @@ tile_subview(const Kokkos::View< const size_t i_tile3, const size_t i_tile4) { // Force the specialized ViewMapping for extracting a tile // by using the first subview argument as the layout. - typedef + using array_layout = typename std::conditional<(InnerP == Kokkos::Iterate::Left), - Kokkos::LayoutLeft, Kokkos::LayoutRight>::type - array_layout; - typedef Kokkos::Experimental::LayoutTiled - SrcLayout; + Kokkos::LayoutLeft, Kokkos::LayoutRight>::type; + using SrcLayout = + Kokkos::Experimental::LayoutTiled; return Kokkos::View( src, SrcLayout(), i_tile0, i_tile1, i_tile2, i_tile3, i_tile4); @@ -1250,13 +1280,12 @@ tile_subview(const Kokkos::View< const size_t i_tile3, const size_t i_tile4, const size_t i_tile5) { // Force the specialized ViewMapping for extracting a tile // by using the first subview argument as the layout. - typedef + using array_layout = typename std::conditional<(InnerP == Kokkos::Iterate::Left), - Kokkos::LayoutLeft, Kokkos::LayoutRight>::type - array_layout; - typedef Kokkos::Experimental::LayoutTiled - SrcLayout; + Kokkos::LayoutLeft, Kokkos::LayoutRight>::type; + using SrcLayout = + Kokkos::Experimental::LayoutTiled; return Kokkos::View( src, SrcLayout(), i_tile0, i_tile1, i_tile2, i_tile3, i_tile4, i_tile5); @@ -1281,13 +1310,12 @@ tile_subview(const Kokkos::View< const size_t i_tile6) { // Force the specialized ViewMapping for extracting a tile // by using the first subview argument as the layout. - typedef + using array_layout = typename std::conditional<(InnerP == Kokkos::Iterate::Left), - Kokkos::LayoutLeft, Kokkos::LayoutRight>::type - array_layout; - typedef Kokkos::Experimental::LayoutTiled - SrcLayout; + Kokkos::LayoutLeft, Kokkos::LayoutRight>::type; + using SrcLayout = + Kokkos::Experimental::LayoutTiled; return Kokkos::View( src, SrcLayout(), i_tile0, i_tile1, i_tile2, i_tile3, i_tile4, i_tile5, @@ -1313,13 +1341,12 @@ tile_subview(const Kokkos::View< const size_t i_tile6, const size_t i_tile7) { // Force the specialized ViewMapping for extracting a tile // by using the first subview argument as the layout. - typedef + using array_layout = typename std::conditional<(InnerP == Kokkos::Iterate::Left), - Kokkos::LayoutLeft, Kokkos::LayoutRight>::type - array_layout; - typedef Kokkos::Experimental::LayoutTiled - SrcLayout; + Kokkos::LayoutLeft, Kokkos::LayoutRight>::type; + using SrcLayout = + Kokkos::Experimental::LayoutTiled; return Kokkos::View( src, SrcLayout(), i_tile0, i_tile1, i_tile2, i_tile3, i_tile4, i_tile5, @@ -1327,7 +1354,6 @@ tile_subview(const Kokkos::View< } } /* namespace Kokkos */ -#endif //! defined(KOKKOS_ENABLE_DEPRECATED_CODE //---------------------------------------------------------------------------- //---------------------------------------------------------------------------- diff --git a/lib/kokkos/core/src/impl/Kokkos_ViewMapping.hpp b/lib/kokkos/core/src/impl/Kokkos_ViewMapping.hpp index c8230169e7ce873036d797251827e8e4d75db24b..61e23f72b8bef93aa4ec7d883178a3b6fc6bcb31 100644 --- a/lib/kokkos/core/src/impl/Kokkos_ViewMapping.hpp +++ b/lib/kokkos/core/src/impl/Kokkos_ViewMapping.hpp @@ -54,11 +54,10 @@ #include #include #include +#include #include #include -#if defined(KOKKOS_ENABLE_PROFILING) -#include -#endif +#include //---------------------------------------------------------------------------- //---------------------------------------------------------------------------- @@ -68,17 +67,17 @@ namespace Impl { template struct variadic_size_t { - enum { value = KOKKOS_INVALID_INDEX }; + enum : size_t { value = KOKKOS_INVALID_INDEX }; }; template struct variadic_size_t<0, Val, Args...> { - enum { value = Val }; + enum : size_t { value = Val }; }; template struct variadic_size_t { - enum { value = variadic_size_t::value }; + enum : size_t { value = variadic_size_t::value }; }; template @@ -86,27 +85,27 @@ struct rank_dynamic; template <> struct rank_dynamic<> { - enum { value = 0 }; + enum : unsigned { value = 0 }; }; template struct rank_dynamic { - enum { value = (Val == 0 ? 1 : 0) + rank_dynamic::value }; + enum : unsigned { value = (Val == 0 ? 1 : 0) + rank_dynamic::value }; }; #define KOKKOS_IMPL_VIEW_DIMENSION(R) \ template \ struct ViewDimension##R { \ - enum { ArgN##R = (V != KOKKOS_INVALID_INDEX ? V : 1) }; \ - enum { N##R = (V != KOKKOS_INVALID_INDEX ? V : 1) }; \ + enum : size_t { ArgN##R = (V != KOKKOS_INVALID_INDEX ? V : 1) }; \ + enum : size_t { N##R = (V != KOKKOS_INVALID_INDEX ? V : 1) }; \ KOKKOS_INLINE_FUNCTION explicit ViewDimension##R(size_t) {} \ ViewDimension##R() = default; \ ViewDimension##R(const ViewDimension##R&) = default; \ ViewDimension##R& operator=(const ViewDimension##R&) = default; \ }; \ template \ - struct ViewDimension##R<0, RD> { \ - enum { ArgN##R = 0 }; \ + struct ViewDimension##R<0u, RD> { \ + enum : size_t { ArgN##R = 0 }; \ typename std::conditional<(RD < 3), size_t, unsigned>::type N##R; \ ViewDimension##R() = default; \ ViewDimension##R(const ViewDimension##R&) = default; \ @@ -125,47 +124,42 @@ KOKKOS_IMPL_VIEW_DIMENSION(7) #undef KOKKOS_IMPL_VIEW_DIMENSION +// MSVC does not do empty base class optimization by default. +// Per standard it is required for standard layout types template -struct ViewDimension : public ViewDimension0::value, - rank_dynamic::value>, - public ViewDimension1::value, - rank_dynamic::value>, - public ViewDimension2::value, - rank_dynamic::value>, - public ViewDimension3::value, - rank_dynamic::value>, - public ViewDimension4::value, - rank_dynamic::value>, - public ViewDimension5::value, - rank_dynamic::value>, - public ViewDimension6::value, - rank_dynamic::value>, - public ViewDimension7::value, - rank_dynamic::value> { - typedef ViewDimension0::value, - rank_dynamic::value> - D0; - typedef ViewDimension1::value, - rank_dynamic::value> - D1; - typedef ViewDimension2::value, - rank_dynamic::value> - D2; - typedef ViewDimension3::value, - rank_dynamic::value> - D3; - typedef ViewDimension4::value, - rank_dynamic::value> - D4; - typedef ViewDimension5::value, - rank_dynamic::value> - D5; - typedef ViewDimension6::value, - rank_dynamic::value> - D6; - typedef ViewDimension7::value, - rank_dynamic::value> - D7; +struct KOKKOS_IMPL_ENFORCE_EMPTY_BASE_OPTIMIZATION ViewDimension + : public ViewDimension0::value, + rank_dynamic::value>, + public ViewDimension1::value, + rank_dynamic::value>, + public ViewDimension2::value, + rank_dynamic::value>, + public ViewDimension3::value, + rank_dynamic::value>, + public ViewDimension4::value, + rank_dynamic::value>, + public ViewDimension5::value, + rank_dynamic::value>, + public ViewDimension6::value, + rank_dynamic::value>, + public ViewDimension7::value, + rank_dynamic::value> { + using D0 = ViewDimension0::value, + rank_dynamic::value>; + using D1 = ViewDimension1::value, + rank_dynamic::value>; + using D2 = ViewDimension2::value, + rank_dynamic::value>; + using D3 = ViewDimension3::value, + rank_dynamic::value>; + using D4 = ViewDimension4::value, + rank_dynamic::value>; + using D5 = ViewDimension5::value, + rank_dynamic::value>; + using D6 = ViewDimension6::value, + rank_dynamic::value>; + using D7 = ViewDimension7::value, + rank_dynamic::value>; using D0::ArgN0; using D1::ArgN1; @@ -185,8 +179,8 @@ struct ViewDimension : public ViewDimension0::value, using D6::N6; using D7::N7; - enum { rank = sizeof...(Vals) }; - enum { rank_dynamic = Impl::rank_dynamic::value }; + enum : unsigned { rank = sizeof...(Vals) }; + enum : unsigned { rank_dynamic = Impl::rank_dynamic::value }; ViewDimension() = default; ViewDimension(const ViewDimension&) = default; @@ -239,12 +233,12 @@ struct ViewDimension : public ViewDimension0::value, template struct prepend { - typedef ViewDimension type; + using type = ViewDimension; }; template struct append { - typedef ViewDimension type; + using type = ViewDimension; }; }; @@ -253,7 +247,7 @@ struct ViewDimensionJoin; template struct ViewDimensionJoin, ViewDimension> { - typedef ViewDimension type; + using type = ViewDimension; }; //---------------------------------------------------------------------------- @@ -264,8 +258,8 @@ struct ViewDimensionAssignable; template struct ViewDimensionAssignable, ViewDimension> { - typedef ViewDimension dst; - typedef ViewDimension src; + using dst = ViewDimension; + using src = ViewDimension; enum { value = unsigned(dst::rank) == unsigned(src::rank) && @@ -345,8 +339,8 @@ struct is_integral_extent_type> { template struct is_integral_extent { // get_type is void when sizeof...(Args) <= I - typedef typename std::remove_cv::type>::type>::type type; + using type = typename std::remove_cv::type>::type>::type; enum { value = is_integral_extent_type::value }; @@ -731,17 +725,17 @@ struct ViewDataType; template struct ViewDataType> { - typedef T type; + using type = T; }; template struct ViewDataType> { - typedef typename ViewDataType>::type type; + using type = typename ViewDataType>::type; }; template struct ViewDataType> { - typedef typename ViewDataType>::type type[N]; + using type = typename ViewDataType>::type[N]; }; /**\brief Analysis of View data type. @@ -751,80 +745,80 @@ struct ViewDataType> { * {const} value_type ***[#][#][#] * Where the sum of counts of '*' and '[#]' is at most ten. * - * Provide typedef for the ViewDimension<...> and value_type. + * Provide alias for ViewDimension<...> and value_type. */ template struct ViewArrayAnalysis { - typedef T value_type; - typedef typename std::add_const::type const_value_type; - typedef typename std::remove_const::type non_const_value_type; - typedef ViewDimension<> static_dimension; - typedef ViewDimension<> dynamic_dimension; - typedef ViewDimension<> dimension; + using value_type = T; + using const_value_type = typename std::add_const::type; + using non_const_value_type = typename std::remove_const::type; + using static_dimension = ViewDimension<>; + using dynamic_dimension = ViewDimension<>; + using dimension = ViewDimension<>; }; template struct ViewArrayAnalysis { private: - typedef ViewArrayAnalysis nested; + using nested = ViewArrayAnalysis; public: - typedef typename nested::value_type value_type; - typedef typename nested::const_value_type const_value_type; - typedef typename nested::non_const_value_type non_const_value_type; + using value_type = typename nested::value_type; + using const_value_type = typename nested::const_value_type; + using non_const_value_type = typename nested::non_const_value_type; - typedef typename nested::static_dimension::template prepend::type - static_dimension; + using static_dimension = + typename nested::static_dimension::template prepend::type; - typedef typename nested::dynamic_dimension dynamic_dimension; + using dynamic_dimension = typename nested::dynamic_dimension; - typedef typename ViewDimensionJoin::type - dimension; + using dimension = + typename ViewDimensionJoin::type; }; template struct ViewArrayAnalysis { private: - typedef ViewArrayAnalysis nested; - typedef typename nested::dimension nested_dimension; + using nested = ViewArrayAnalysis; + using nested_dimension = typename nested::dimension; public: - typedef typename nested::value_type value_type; - typedef typename nested::const_value_type const_value_type; - typedef typename nested::non_const_value_type non_const_value_type; + using value_type = typename nested::value_type; + using const_value_type = typename nested::const_value_type; + using non_const_value_type = typename nested::non_const_value_type; - typedef typename nested::dynamic_dimension::template prepend<0>::type - dynamic_dimension; + using dynamic_dimension = + typename nested::dynamic_dimension::template prepend<0>::type; - typedef typename nested::static_dimension static_dimension; + using static_dimension = typename nested::static_dimension; - typedef typename ViewDimensionJoin::type - dimension; + using dimension = + typename ViewDimensionJoin::type; }; template struct ViewArrayAnalysis { private: - typedef ViewArrayAnalysis nested; + using nested = ViewArrayAnalysis; public: - typedef typename nested::value_type value_type; - typedef typename nested::const_value_type const_value_type; - typedef typename nested::non_const_value_type non_const_value_type; + using value_type = typename nested::value_type; + using const_value_type = typename nested::const_value_type; + using non_const_value_type = typename nested::non_const_value_type; - typedef typename nested::dynamic_dimension::template prepend<0>::type - dynamic_dimension; + using dynamic_dimension = + typename nested::dynamic_dimension::template prepend<0>::type; - typedef typename nested::static_dimension static_dimension; + using static_dimension = typename nested::static_dimension; - typedef typename ViewDimensionJoin::type - dimension; + using dimension = + typename ViewDimensionJoin::type; }; template struct ViewDataAnalysis { private: - typedef ViewArrayAnalysis array_analysis; + using array_analysis = ViewArrayAnalysis; // ValueType is opportunity for partial specialization. // Must match array analysis when this default template is used. @@ -834,23 +828,23 @@ struct ViewDataAnalysis { ""); public: - typedef void specialize; // No specialization + using specialize = void; // No specialization - typedef typename array_analysis::dimension dimension; - typedef typename array_analysis::value_type value_type; - typedef typename array_analysis::const_value_type const_value_type; - typedef typename array_analysis::non_const_value_type non_const_value_type; + using dimension = typename array_analysis::dimension; + using value_type = typename array_analysis::value_type; + using const_value_type = typename array_analysis::const_value_type; + using non_const_value_type = typename array_analysis::non_const_value_type; // Generate analogous multidimensional array specification type. - typedef typename ViewDataType::type type; - typedef typename ViewDataType::type const_type; - typedef typename ViewDataType::type - non_const_type; + using type = typename ViewDataType::type; + using const_type = typename ViewDataType::type; + using non_const_type = + typename ViewDataType::type; // Generate "flattened" multidimensional array specification type. - typedef type scalar_array_type; - typedef const_type const_scalar_array_type; - typedef non_const_type non_const_scalar_array_type; + using scalar_array_type = type; + using const_scalar_array_type = const_type; + using non_const_scalar_array_type = non_const_type; }; } // namespace Impl @@ -877,9 +871,9 @@ struct ViewOffset< using is_mapping_plugin = std::true_type; using is_regular = std::true_type; - typedef size_t size_type; - typedef Dimension dimension_type; - typedef Kokkos::LayoutLeft array_layout; + using size_type = size_t; + using dimension_type = Dimension; + using array_layout = Kokkos::LayoutLeft; dimension_type m_dim; @@ -1080,9 +1074,21 @@ struct ViewOffset< //---------------------------------------- + // MSVC (16.5.5) + CUDA (10.2) did not generate the defaulted functions + // correct and errors out during compilation. Same for the other places where + // I changed this. +#ifdef KOKKOS_IMPL_WINDOWS_CUDA + KOKKOS_FUNCTION ViewOffset() : m_dim(dimension_type()) {} + KOKKOS_FUNCTION ViewOffset(const ViewOffset& src) { m_dim = src.m_dim; } + KOKKOS_FUNCTION ViewOffset& operator=(const ViewOffset& src) { + m_dim = src.m_dim; + return *this; + } +#else ViewOffset() = default; ViewOffset(const ViewOffset&) = default; ViewOffset& operator=(const ViewOffset&) = default; +#endif template KOKKOS_INLINE_FUNCTION constexpr ViewOffset( @@ -1147,9 +1153,9 @@ struct ViewOffset< using is_mapping_plugin = std::true_type; using is_regular = std::true_type; - typedef size_t size_type; - typedef Dimension dimension_type; - typedef Kokkos::LayoutLeft array_layout; + using size_type = size_t; + using dimension_type = Dimension; + using array_layout = Kokkos::LayoutLeft; dimension_type m_dim; size_type m_stride; @@ -1385,9 +1391,26 @@ struct ViewOffset< }; public: + // MSVC (16.5.5) + CUDA (10.2) did not generate the defaulted functions + // correct and errors out during compilation. Same for the other places where + // I changed this. +#ifdef KOKKOS_IMPL_WINDOWS_CUDA + KOKKOS_FUNCTION ViewOffset() : m_dim(dimension_type()), m_stride(0) {} + KOKKOS_FUNCTION ViewOffset(const ViewOffset& src) { + m_dim = src.m_dim; + m_stride = src.m_stride; + } + KOKKOS_FUNCTION ViewOffset& operator=(const ViewOffset& src) { + m_dim = src.m_dim; + m_stride = src.m_stride; + return *this; + } +#else + ViewOffset() = default; ViewOffset(const ViewOffset&) = default; ViewOffset& operator=(const ViewOffset&) = default; +#endif /* Enable padding for trivial scalar types with non-zero trivial scalar size */ @@ -1473,9 +1496,9 @@ struct ViewOffset< using is_mapping_plugin = std::true_type; using is_regular = std::true_type; - typedef size_t size_type; - typedef Dimension dimension_type; - typedef Kokkos::LayoutRight array_layout; + using size_type = size_t; + using dimension_type = Dimension; + using array_layout = Kokkos::LayoutRight; dimension_type m_dim; @@ -1685,10 +1708,23 @@ struct ViewOffset< } //---------------------------------------- + // MSVC (16.5.5) + CUDA (10.2) did not generate the defaulted functions + // correct and errors out during compilation. Same for the other places where + // I changed this. + +#ifdef KOKKOS_IMPL_WINDOWS_CUDA + KOKKOS_FUNCTION ViewOffset() : m_dim(dimension_type()) {} + KOKKOS_FUNCTION ViewOffset(const ViewOffset& src) { m_dim = src.m_dim; } + KOKKOS_FUNCTION ViewOffset& operator=(const ViewOffset& src) { + m_dim = src.m_dim; + return *this; + } +#else ViewOffset() = default; ViewOffset(const ViewOffset&) = default; ViewOffset& operator=(const ViewOffset&) = default; +#endif template KOKKOS_INLINE_FUNCTION constexpr ViewOffset( @@ -1747,9 +1783,9 @@ struct ViewOffset< using is_mapping_plugin = std::true_type; using is_regular = std::true_type; - typedef size_t size_type; - typedef Dimension dimension_type; - typedef Kokkos::LayoutRight array_layout; + using size_type = size_t; + using dimension_type = Dimension; + using array_layout = Kokkos::LayoutRight; dimension_type m_dim; size_type m_stride; @@ -1988,9 +2024,27 @@ struct ViewOffset< }; public: + // MSVC (16.5.5) + CUDA (10.2) did not generate the defaulted functions + // correct and errors out during compilation. Same for the other places where + // I changed this. + +#ifdef KOKKOS_IMPL_WINDOWS_CUDA + KOKKOS_FUNCTION ViewOffset() : m_dim(dimension_type()), m_stride(0) {} + KOKKOS_FUNCTION ViewOffset(const ViewOffset& src) { + m_dim = src.m_dim; + m_stride = src.m_stride; + } + KOKKOS_FUNCTION ViewOffset& operator=(const ViewOffset& src) { + m_dim = src.m_dim; + m_stride = src.m_stride; + return *this; + } +#else + ViewOffset() = default; ViewOffset(const ViewOffset&) = default; ViewOffset& operator=(const ViewOffset&) = default; +#endif /* Enable padding for trivial scalar types with non-zero trivial scalar size. */ @@ -2259,15 +2313,15 @@ struct ViewStride<8> { template struct ViewOffset { private: - typedef ViewStride stride_type; + using stride_type = ViewStride; public: using is_mapping_plugin = std::true_type; using is_regular = std::true_type; - typedef size_t size_type; - typedef Dimension dimension_type; - typedef Kokkos::LayoutStride array_layout; + using size_type = size_t; + using dimension_type = Dimension; + using array_layout = Kokkos::LayoutStride; dimension_type m_dim; stride_type m_stride; @@ -2473,10 +2527,28 @@ struct ViewOffset { } //---------------------------------------- + // MSVC (16.5.5) + CUDA (10.2) did not generate the defaulted functions + // correct and errors out during compilation. Same for the other places where + // I changed this. + +#ifdef KOKKOS_IMPL_WINDOWS_CUDA + KOKKOS_FUNCTION ViewOffset() + : m_dim(dimension_type()), m_stride(stride_type()) {} + KOKKOS_FUNCTION ViewOffset(const ViewOffset& src) { + m_dim = src.m_dim; + m_stride = src.m_stride; + } + KOKKOS_FUNCTION ViewOffset& operator=(const ViewOffset& src) { + m_dim = src.m_dim; + m_stride = src.m_stride; + return *this; + } +#else ViewOffset() = default; ViewOffset(const ViewOffset&) = default; ViewOffset& operator=(const ViewOffset&) = default; +#endif KOKKOS_INLINE_FUNCTION constexpr ViewOffset(std::integral_constant const&, @@ -2568,10 +2640,10 @@ namespace Impl { */ template struct ViewDataHandle { - typedef typename Traits::value_type value_type; - typedef typename Traits::value_type* handle_type; - typedef typename Traits::value_type& return_type; - typedef Kokkos::Impl::SharedAllocationTracker track_type; + using value_type = typename Traits::value_type; + using handle_type = typename Traits::value_type*; + using return_type = typename Traits::value_type&; + using track_type = Kokkos::Impl::SharedAllocationTracker; KOKKOS_INLINE_FUNCTION static handle_type assign(value_type* arg_data_ptr, @@ -2592,10 +2664,10 @@ struct ViewDataHandle< typename Traits::value_type>::value && std::is_same::value && Traits::memory_traits::is_atomic)>::type> { - typedef typename Traits::value_type value_type; - typedef typename Kokkos::Impl::AtomicViewDataHandle handle_type; - typedef typename Kokkos::Impl::AtomicDataElement return_type; - typedef Kokkos::Impl::SharedAllocationTracker track_type; + using value_type = typename Traits::value_type; + using handle_type = typename Kokkos::Impl::AtomicViewDataHandle; + using return_type = typename Kokkos::Impl::AtomicDataElement; + using track_type = Kokkos::Impl::SharedAllocationTracker; KOKKOS_INLINE_FUNCTION static handle_type assign(value_type* arg_data_ptr, @@ -2623,10 +2695,10 @@ struct ViewDataHandle< Kokkos::CudaUVMSpace>::value)) #endif && (!Traits::memory_traits::is_atomic))>::type> { - typedef typename Traits::value_type value_type; - typedef typename Traits::value_type* KOKKOS_RESTRICT handle_type; - typedef typename Traits::value_type& KOKKOS_RESTRICT return_type; - typedef Kokkos::Impl::SharedAllocationTracker track_type; + using value_type = typename Traits::value_type; + using handle_type = typename Traits::value_type*; + using return_type = typename Traits::value_type&; + using track_type = Kokkos::Impl::SharedAllocationTracker; KOKKOS_INLINE_FUNCTION static value_type* assign(value_type* arg_data_ptr, @@ -2653,11 +2725,10 @@ struct ViewDataHandle< Kokkos::CudaUVMSpace>::value)) #endif && (!Traits::memory_traits::is_atomic))>::type> { - typedef typename Traits::value_type value_type; - typedef typename Traits::value_type* KOKKOS_IMPL_ALIGN_PTR( - KOKKOS_MEMORY_ALIGNMENT) handle_type; - typedef typename Traits::value_type& return_type; - typedef Kokkos::Impl::SharedAllocationTracker track_type; + using value_type = typename Traits::value_type; + using handle_type = typename Traits::value_type*; + using return_type = typename Traits::value_type&; + using track_type = Kokkos::Impl::SharedAllocationTracker; KOKKOS_INLINE_FUNCTION static handle_type assign(value_type* arg_data_ptr, @@ -2695,11 +2766,10 @@ struct ViewDataHandle< Kokkos::CudaUVMSpace>::value)) #endif && (!Traits::memory_traits::is_atomic))>::type> { - typedef typename Traits::value_type value_type; - typedef typename Traits::value_type* KOKKOS_RESTRICT - KOKKOS_IMPL_ALIGN_PTR(KOKKOS_MEMORY_ALIGNMENT) handle_type; - typedef typename Traits::value_type& return_type; - typedef Kokkos::Impl::SharedAllocationTracker track_type; + using value_type = typename Traits::value_type; + using handle_type = typename Traits::value_type*; + using return_type = typename Traits::value_type&; + using track_type = Kokkos::Impl::SharedAllocationTracker; KOKKOS_INLINE_FUNCTION static value_type* assign(value_type* arg_data_ptr, @@ -2748,13 +2818,14 @@ struct ViewValueFunctor; template struct ViewValueFunctor { - typedef Kokkos::RangePolicy> PolicyType; - typedef typename ExecSpace::execution_space Exec; + using PolicyType = Kokkos::RangePolicy>; + using Exec = typename ExecSpace::execution_space; Exec space; ValueType* ptr; size_t n; bool destroy; + std::string name; KOKKOS_INLINE_FUNCTION void operator()(const size_t i) const { @@ -2772,21 +2843,23 @@ struct ViewValueFunctor { ViewValueFunctor& operator=(const ViewValueFunctor&) = default; ViewValueFunctor(ExecSpace const& arg_space, ValueType* const arg_ptr, - size_t const arg_n) - : space(arg_space), ptr(arg_ptr), n(arg_n), destroy(false) {} + size_t const arg_n, std::string arg_name) + : space(arg_space), + ptr(arg_ptr), + n(arg_n), + destroy(false), + name(std::move(arg_name)) {} void execute(bool arg) { destroy = arg; if (!space.in_parallel()) { -#if defined(KOKKOS_ENABLE_PROFILING) uint64_t kpID = 0; if (Kokkos::Profiling::profileLibraryLoaded()) { - Kokkos::Profiling::beginParallelFor( - (destroy ? "Kokkos::View::destruction" - : "Kokkos::View::initialization"), - 0, &kpID); + auto functor_name = + (destroy ? "Kokkos::View::destruction [" + name + "]" + : "Kokkos::View::initialization [" + name + "]"); + Kokkos::Profiling::beginParallelFor(functor_name.c_str(), 0, &kpID); } -#endif #ifdef KOKKOS_ENABLE_CUDA if (std::is_same::value) { Kokkos::Impl::cuda_prefetch_pointer(space, ptr, sizeof(ValueType) * n, @@ -2797,11 +2870,9 @@ struct ViewValueFunctor { *this, PolicyType(0, n)); closure.execute(); space.fence(); -#if defined(KOKKOS_ENABLE_PROFILING) if (Kokkos::Profiling::profileLibraryLoaded()) { Kokkos::Profiling::endParallelFor(kpID); } -#endif } else { for (size_t i = 0; i < n; ++i) operator()(i); } @@ -2814,11 +2885,12 @@ struct ViewValueFunctor { template struct ViewValueFunctor { - typedef Kokkos::RangePolicy> PolicyType; + using PolicyType = Kokkos::RangePolicy>; ExecSpace space; ValueType* ptr; size_t n; + std::string name; KOKKOS_INLINE_FUNCTION void operator()(const size_t i) const { ptr[i] = ValueType(); } @@ -2828,18 +2900,16 @@ struct ViewValueFunctor { ViewValueFunctor& operator=(const ViewValueFunctor&) = default; ViewValueFunctor(ExecSpace const& arg_space, ValueType* const arg_ptr, - size_t const arg_n) - : space(arg_space), ptr(arg_ptr), n(arg_n) {} + size_t const arg_n, std::string arg_name) + : space(arg_space), ptr(arg_ptr), n(arg_n), name(std::move(arg_name)) {} void construct_shared_allocation() { if (!space.in_parallel()) { -#if defined(KOKKOS_ENABLE_PROFILING) uint64_t kpID = 0; if (Kokkos::Profiling::profileLibraryLoaded()) { - Kokkos::Profiling::beginParallelFor("Kokkos::View::initialization", 0, - &kpID); + Kokkos::Profiling::beginParallelFor( + "Kokkos::View::initialization [" + name + "]", 0, &kpID); } -#endif #ifdef KOKKOS_ENABLE_CUDA if (std::is_same::value) { Kokkos::Impl::cuda_prefetch_pointer(space, ptr, sizeof(ValueType) * n, @@ -2850,11 +2920,9 @@ struct ViewValueFunctor { *this, PolicyType(0, n)); closure.execute(); space.fence(); -#if defined(KOKKOS_ENABLE_PROFILING) if (Kokkos::Profiling::profileLibraryLoaded()) { Kokkos::Profiling::endParallelFor(kpID); } -#endif } else { for (size_t i = 0; i < n; ++i) operator()(i); } @@ -2873,11 +2941,10 @@ class ViewMapping< ViewOffset::is_mapping_plugin::value)>::type> { public: - typedef ViewOffset - offset_type; + using offset_type = ViewOffset; - typedef typename ViewDataHandle::handle_type handle_type; + using handle_type = typename ViewDataHandle::handle_type; handle_type m_impl_handle; offset_type m_impl_offset; @@ -2891,7 +2958,7 @@ class ViewMapping< : m_impl_handle(arg_handle), m_impl_offset(arg_offset) {} public: - typedef void printable_label_typedef; + using printable_label_typedef = void; enum { is_managed = Traits::is_managed }; //---------------------------------------- @@ -2986,8 +3053,8 @@ class ViewMapping< return m_impl_offset.span_is_contiguous(); } - typedef typename ViewDataHandle::return_type reference_type; - typedef typename Traits::value_type* pointer_type; + using reference_type = typename ViewDataHandle::return_type; + using pointer_type = typename Traits::value_type*; /** \brief Query raw pointer to memory */ KOKKOS_INLINE_FUNCTION constexpr pointer_type data() const { @@ -3003,9 +3070,12 @@ class ViewMapping< template KOKKOS_FORCEINLINE_FUNCTION - typename std::enable_if::value && - !std::is_same::value, + typename std::enable_if<(std::is_integral::value && + // if layout is neither stride nor irregular, + // then just use the handle directly + !(std::is_same::value || + !is_regular::value)), reference_type>::type reference(const I0& i0) const { return m_impl_handle[i0]; @@ -3013,9 +3083,12 @@ class ViewMapping< template KOKKOS_FORCEINLINE_FUNCTION - typename std::enable_if::value && - std::is_same::value, + typename std::enable_if<(std::is_integral::value && + // if the layout is strided or irregular, then + // we have to use the offset + (std::is_same::value || + !is_regular::value)), reference_type>::type reference(const I0& i0) const { return m_impl_handle[m_impl_offset(i0)]; @@ -3091,21 +3164,13 @@ class ViewMapping< KOKKOS_DEFAULTED_FUNCTION ~ViewMapping() = default; KOKKOS_INLINE_FUNCTION ViewMapping() : m_impl_handle(), m_impl_offset() {} - KOKKOS_INLINE_FUNCTION ViewMapping(const ViewMapping& rhs) - : m_impl_handle(rhs.m_impl_handle), m_impl_offset(rhs.m_impl_offset) {} - KOKKOS_INLINE_FUNCTION ViewMapping& operator=(const ViewMapping& rhs) { - m_impl_handle = rhs.m_impl_handle; - m_impl_offset = rhs.m_impl_offset; - return *this; - } - KOKKOS_INLINE_FUNCTION ViewMapping(ViewMapping&& rhs) - : m_impl_handle(rhs.m_impl_handle), m_impl_offset(rhs.m_impl_offset) {} - KOKKOS_INLINE_FUNCTION ViewMapping& operator=(ViewMapping&& rhs) { - m_impl_handle = rhs.m_impl_handle; - m_impl_offset = rhs.m_impl_offset; - return *this; - } + KOKKOS_DEFAULTED_FUNCTION ViewMapping(const ViewMapping&) = default; + KOKKOS_DEFAULTED_FUNCTION ViewMapping& operator=(const ViewMapping&) = + default; + + KOKKOS_DEFAULTED_FUNCTION ViewMapping(ViewMapping&&) = default; + KOKKOS_DEFAULTED_FUNCTION ViewMapping& operator=(ViewMapping&&) = default; //---------------------------------------- @@ -3113,7 +3178,7 @@ class ViewMapping< KOKKOS_INLINE_FUNCTION static constexpr size_t memory_span( typename Traits::array_layout const& arg_layout) { - typedef std::integral_constant padding; + using padding = std::integral_constant; return (offset_type(padding(), arg_layout).span() * MemorySpanSize + MemorySpanMask) & ~size_t(MemorySpanMask); @@ -3144,43 +3209,39 @@ class ViewMapping< Kokkos::Impl::SharedAllocationRecord<>* allocate_shared( Kokkos::Impl::ViewCtorProp const& arg_prop, typename Traits::array_layout const& arg_layout) { - typedef Kokkos::Impl::ViewCtorProp alloc_prop; + using alloc_prop = Kokkos::Impl::ViewCtorProp; - typedef typename alloc_prop::execution_space execution_space; - typedef typename Traits::memory_space memory_space; - typedef typename Traits::value_type value_type; - typedef ViewValueFunctor functor_type; - typedef Kokkos::Impl::SharedAllocationRecord - record_type; + using execution_space = typename alloc_prop::execution_space; + using memory_space = typename Traits::memory_space; + using value_type = typename Traits::value_type; + using functor_type = ViewValueFunctor; + using record_type = + Kokkos::Impl::SharedAllocationRecord; // Query the mapping for byte-size of allocation. // If padding is allowed then pass in sizeof value type // for padding computation. - typedef std::integral_constant< - unsigned, alloc_prop::allow_padding ? sizeof(value_type) : 0> - padding; + using padding = std::integral_constant< + unsigned int, alloc_prop::allow_padding ? sizeof(value_type) : 0>; m_impl_offset = offset_type(padding(), arg_layout); const size_t alloc_size = (m_impl_offset.span() * MemorySpanSize + MemorySpanMask) & ~size_t(MemorySpanMask); - + const std::string& alloc_name = + static_cast const&>( + arg_prop) + .value; // Create shared memory tracking record with allocate memory from the memory // space record_type* const record = record_type::allocate( - ((Kokkos::Impl::ViewCtorProp const&)arg_prop).value, - ((Kokkos::Impl::ViewCtorProp const&)arg_prop).value, - alloc_size); + static_cast const&>( + arg_prop) + .value, + alloc_name, alloc_size); -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - if (alloc_size) { -#endif - m_impl_handle = - handle_type(reinterpret_cast(record->data())); -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - } -#endif + m_impl_handle = handle_type(reinterpret_cast(record->data())); // Only initialize if the allocation is non-zero. // May be zero if one of the dimensions is zero. @@ -3189,9 +3250,10 @@ class ViewMapping< // The ViewValueFunctor has both value construction and destruction // operators. record->m_destroy = functor_type( - ((Kokkos::Impl::ViewCtorProp const&)arg_prop) + static_cast const&>( + arg_prop) .value, - (value_type*)m_impl_handle, m_impl_offset.span()); + (value_type*)m_impl_handle, m_impl_offset.span(), alloc_name); // Construct values record->m_destroy.construct_shared_allocation(); @@ -3281,9 +3343,9 @@ class ViewMapping< is_assignable_dimension && is_assignable_layout }; - typedef Kokkos::Impl::SharedAllocationTracker TrackType; - typedef ViewMapping DstType; - typedef ViewMapping SrcType; + using TrackType = Kokkos::Impl::SharedAllocationTracker; + using DstType = ViewMapping; + using SrcType = ViewMapping; KOKKOS_INLINE_FUNCTION static void assign(DstType& dst, const SrcType& src, @@ -3302,11 +3364,11 @@ class ViewMapping< is_assignable_layout, "View assignment must have compatible layout or have rank <= 1"); - typedef typename DstType::offset_type dst_offset_type; + using dst_offset_type = typename DstType::offset_type; if (size_t(DstTraits::dimension::rank_dynamic) < size_t(SrcTraits::dimension::rank_dynamic)) { - typedef typename DstTraits::dimension dst_dim; + using dst_dim = typename DstTraits::dimension; bool assignable = ((1 > DstTraits::dimension::rank_dynamic && 1 <= SrcTraits::dimension::rank_dynamic) ? dst_dim::ArgN0 == src.dimension_0() @@ -3403,9 +3465,9 @@ class ViewMapping< is_assignable_dimension }; - typedef Kokkos::Impl::SharedAllocationTracker TrackType; - typedef ViewMapping DstType; - typedef ViewMapping SrcType; + using TrackType = Kokkos::Impl::SharedAllocationTracker; + using DstType = ViewMapping; + using SrcType = ViewMapping; KOKKOS_INLINE_FUNCTION static bool assignable_layout_check(DstType&, @@ -3455,11 +3517,11 @@ class ViewMapping< if (!assignable_layout) Kokkos::abort("View assignment must have compatible layouts\n"); - typedef typename DstType::offset_type dst_offset_type; + using dst_offset_type = typename DstType::offset_type; if (size_t(DstTraits::dimension::rank_dynamic) < size_t(SrcTraits::dimension::rank_dynamic)) { - typedef typename DstTraits::dimension dst_dim; + using dst_dim = typename DstTraits::dimension; bool assignable = ((1 > DstTraits::dimension::rank_dynamic && 1 <= SrcTraits::dimension::rank_dynamic) ? dst_dim::ArgN0 == src.dimension_0() @@ -3609,7 +3671,7 @@ struct ViewMapping< }; // Subview's layout - typedef typename std::conditional< + using array_layout = typename std::conditional< ( /* Same array layout IF */ (rank == 0) /* output rank zero */ || SubviewLegalArgsCompileTime::value) // replace input rank ), - typename SrcTraits::array_layout, Kokkos::LayoutStride>::type - array_layout; + typename SrcTraits::array_layout, Kokkos::LayoutStride>::type; - typedef typename SrcTraits::value_type value_type; + using value_type = typename SrcTraits::value_type; using data_type = typename SubViewDataType::type, Args...>::type; - // typedef typename std::conditional< rank == 0 , value_type , - // typename std::conditional< rank == 1 , value_type * , - // typename std::conditional< rank == 2 , value_type ** , - // typename std::conditional< rank == 3 , value_type *** , - // typename std::conditional< rank == 4 , value_type **** , - // typename std::conditional< rank == 5 , value_type ***** , - // typename std::conditional< rank == 6 , value_type ****** , - // typename std::conditional< rank == 7 , value_type ******* , - // value_type ******** - // >::type >::type >::type >::type >::type >::type >::type >::type - // data_type ; public: - typedef Kokkos::ViewTraits - traits_type; + using traits_type = Kokkos::ViewTraits; - typedef Kokkos::View - type; + using type = + Kokkos::View; template struct apply { static_assert(Kokkos::Impl::is_memory_traits::value, ""); - typedef Kokkos::ViewTraits - traits_type; + using traits_type = + Kokkos::ViewTraits; - typedef Kokkos::View - type; + using type = Kokkos::View; }; // The presumed type is 'ViewMapping< traits_type , void >' @@ -3682,9 +3730,9 @@ struct ViewMapping< "Subview destination type must be compatible with subview " "derived type"); - typedef ViewMapping DstType; + using DstType = ViewMapping; - typedef typename DstType::offset_type dst_offset_type; + using dst_offset_type = typename DstType::offset_type; const SubviewExtents extents(src.m_impl_offset.m_dim, args...); @@ -3774,7 +3822,7 @@ struct OperatorBoundsErrorOnDevice { /* Check #2: does the ViewMapping have the printable_label_typedef defined? See above that only the non-specialized standard-layout ViewMapping has this defined by default. - The existence of this typedef indicates the existence of MapType::is_managed + The existence of this alias indicates the existence of MapType::is_managed */ template struct has_printable_label_typedef : public std::false_type {}; @@ -3798,15 +3846,16 @@ KOKKOS_INLINE_FUNCTION void operator_bounds_error_on_device(MapType const& map, #endif // ! defined( KOKKOS_ACTIVE_EXECUTION_MEMORY_SPACE_HOST ) -template +template KOKKOS_INLINE_FUNCTION void view_verify_operator_bounds( - Kokkos::Impl::SharedAllocationTracker const& tracker, const MapType& map, + Kokkos::Impl::ViewTracker const& tracker, const MapType& map, Args... args) { if (!view_verify_operator_bounds<0>(map, args...)) { #if defined(KOKKOS_ACTIVE_EXECUTION_MEMORY_SPACE_HOST) enum { LEN = 1024 }; char buffer[LEN]; - const std::string label = tracker.template get_label(); + const std::string label = + tracker.m_tracker.template get_label(); int n = snprintf(buffer, LEN, "View bounds error of view %s (", label.c_str()); view_error_operator_bounds<0>(buffer + n, LEN - n, map, args...); @@ -3817,7 +3866,7 @@ KOKKOS_INLINE_FUNCTION void view_verify_operator_bounds( a corresponding SharedAllocationHeader containing a label). This check should cover the case of Views that don't have the Unmanaged trait but were initialized by pointer. */ - if (tracker.has_record()) { + if (tracker.m_tracker.has_record()) { operator_bounds_error_on_device( map, has_printable_label_typedef()); } else { diff --git a/lib/kokkos/core/src/impl/Kokkos_ViewTile.hpp b/lib/kokkos/core/src/impl/Kokkos_ViewTile.hpp deleted file mode 100644 index 342927ef7754a9fb52e6b2f6b519dd31bd2df25e..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/src/impl/Kokkos_ViewTile.hpp +++ /dev/null @@ -1,222 +0,0 @@ -/* -//@HEADER -// ************************************************************************ -// -// Kokkos v. 3.0 -// Copyright (2020) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the Corporation nor the names of the -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// -// ************************************************************************ -//@HEADER -*/ - -#ifndef KOKKOS_EXPERIMENTAL_VIEWTILE_HPP -#define KOKKOS_EXPERIMENTAL_VIEWTILE_HPP - -//---------------------------------------------------------------------------- -//---------------------------------------------------------------------------- - -namespace Kokkos { -namespace Impl { - -// =========================================================================== -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - -// View mapping for rank two tiled array - -template -struct is_layout_tile : public std::false_type {}; - -template -struct is_layout_tile > - : public std::true_type {}; - -template -struct ViewOffset< - Dimension, Layout, - typename std::enable_if<((Dimension::rank == 2) && - is_layout_tile::value)>::type> { - public: - enum { SHIFT_0 = Kokkos::Impl::integral_power_of_two(Layout::N0) }; - enum { SHIFT_1 = Kokkos::Impl::integral_power_of_two(Layout::N1) }; - enum { SHIFT_T = SHIFT_0 + SHIFT_1 }; - enum { MASK_0 = Layout::N0 - 1 }; - enum { MASK_1 = Layout::N1 - 1 }; - - // Is an irregular layout that does not have uniform striding for each index. - using is_mapping_plugin = std::true_type; - using is_regular = std::false_type; - - typedef size_t size_type; - typedef Dimension dimension_type; - typedef Layout array_layout; - - dimension_type m_dim; - size_type m_tile_N0; - - //---------------------------------------- - - // Only instantiated for rank 2 - template - KOKKOS_INLINE_FUNCTION constexpr size_type operator()(I0 const& i0, - I1 const& i1, int = 0, - int = 0, int = 0, - int = 0, int = 0, - int = 0) const { - return /* ( ( Tile offset ) * Tile size ) */ - (((i0 >> SHIFT_0) + m_tile_N0 * (i1 >> SHIFT_1)) << SHIFT_T) + - /* ( Offset within tile ) */ - ((i0 & MASK_0) + ((i1 & MASK_1) << SHIFT_0)); - } - - //---------------------------------------- - - KOKKOS_INLINE_FUNCTION constexpr array_layout layout() const { - return array_layout(m_dim.N0, m_dim.N1); - } - - KOKKOS_INLINE_FUNCTION constexpr size_type dimension_0() const { - return m_dim.N0; - } - KOKKOS_INLINE_FUNCTION constexpr size_type dimension_1() const { - return m_dim.N1; - } - KOKKOS_INLINE_FUNCTION constexpr size_type dimension_2() const { return 1; } - KOKKOS_INLINE_FUNCTION constexpr size_type dimension_3() const { return 1; } - KOKKOS_INLINE_FUNCTION constexpr size_type dimension_4() const { return 1; } - KOKKOS_INLINE_FUNCTION constexpr size_type dimension_5() const { return 1; } - KOKKOS_INLINE_FUNCTION constexpr size_type dimension_6() const { return 1; } - KOKKOS_INLINE_FUNCTION constexpr size_type dimension_7() const { return 1; } - - KOKKOS_INLINE_FUNCTION constexpr size_type size() const { - return m_dim.N0 * m_dim.N1; - } - - // Strides are meaningless due to irregularity - KOKKOS_INLINE_FUNCTION constexpr size_type stride_0() const { return 0; } - KOKKOS_INLINE_FUNCTION constexpr size_type stride_1() const { return 0; } - KOKKOS_INLINE_FUNCTION constexpr size_type stride_2() const { return 0; } - KOKKOS_INLINE_FUNCTION constexpr size_type stride_3() const { return 0; } - KOKKOS_INLINE_FUNCTION constexpr size_type stride_4() const { return 0; } - KOKKOS_INLINE_FUNCTION constexpr size_type stride_5() const { return 0; } - KOKKOS_INLINE_FUNCTION constexpr size_type stride_6() const { return 0; } - KOKKOS_INLINE_FUNCTION constexpr size_type stride_7() const { return 0; } - - KOKKOS_INLINE_FUNCTION constexpr size_type span() const { - // ( TileDim0 * ( TileDim1 ) ) * TileSize - return (m_tile_N0 * ((m_dim.N1 + MASK_1) >> SHIFT_1)) << SHIFT_T; - } - - KOKKOS_INLINE_FUNCTION constexpr bool span_is_contiguous() const { - // Only if dimensions align with tile size - return (m_dim.N0 & MASK_0) == 0 && (m_dim.N1 & MASK_1) == 0; - } - - //---------------------------------------- - - KOKKOS_DEFAULTED_FUNCTION ~ViewOffset() = default; - KOKKOS_DEFAULTED_FUNCTION ViewOffset() = default; - KOKKOS_DEFAULTED_FUNCTION ViewOffset(const ViewOffset&) = default; - KOKKOS_DEFAULTED_FUNCTION ViewOffset& operator=(const ViewOffset&) = default; - - template - KOKKOS_INLINE_FUNCTION constexpr ViewOffset( - std::integral_constant const&, - array_layout const arg_layout) - : m_dim(arg_layout.dimension[0], arg_layout.dimension[1], 0, 0, 0, 0, 0, - 0), - m_tile_N0((arg_layout.dimension[0] + MASK_0) >> - SHIFT_0 /* number of tiles in first dimension */) {} -}; - -template -struct ViewMapping< - void, Kokkos::ViewTraits, P...>, - Kokkos::LayoutTileLeft, iType0, iType1> { - typedef Kokkos::LayoutTileLeft src_layout; - typedef Kokkos::ViewTraits src_traits; - typedef Kokkos::ViewTraits traits; - typedef Kokkos::View type; - - KOKKOS_INLINE_FUNCTION static void assign( - ViewMapping& dst, const ViewMapping& src, - const src_layout&, const size_t i_tile0, const size_t i_tile1) { - typedef ViewMapping dst_map_type; - typedef ViewMapping src_map_type; - typedef typename dst_map_type::handle_type dst_handle_type; - typedef typename dst_map_type::offset_type dst_offset_type; - typedef typename src_map_type::offset_type src_offset_type; - - dst = dst_map_type( - dst_handle_type(src.m_impl_handle + - ((i_tile0 + src.m_impl_offset.m_tile_N0 * i_tile1) - << src_offset_type::SHIFT_T)), - dst_offset_type()); - } -}; - -#endif // KOKKOS_ENABLE_DEPRECATED_CODE -// =============================================================================== - -} /* namespace Impl */ -} /* namespace Kokkos */ - -namespace Kokkos { - -// ============================================================================== -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - -template -KOKKOS_INLINE_FUNCTION Kokkos::View tile_subview( - const Kokkos::View, P...>& src, - const size_t i_tile0, const size_t i_tile1) { - // Force the specialized ViewMapping for extracting a tile - // by using the first subview argument as the layout. - typedef Kokkos::LayoutTileLeft SrcLayout; - - return Kokkos::View(src, SrcLayout(), i_tile0, - i_tile1); -} - -#endif // KOKKOS_ENABLE_DEPRECATED_CODE -// =============================================================================== - -} /* namespace Kokkos */ - -//---------------------------------------------------------------------------- -//---------------------------------------------------------------------------- - -#endif /* #ifndef KOKKOS_EXPERIENTAL_VIEWTILE_HPP */ diff --git a/lib/kokkos/core/src/impl/Kokkos_ViewTracker.hpp b/lib/kokkos/core/src/impl/Kokkos_ViewTracker.hpp new file mode 100644 index 0000000000000000000000000000000000000000..9cfe9d79144dbcf7457b50b300f691a7a8b6504e --- /dev/null +++ b/lib/kokkos/core/src/impl/Kokkos_ViewTracker.hpp @@ -0,0 +1,130 @@ +/* +//@HEADER +// ************************************************************************ +// +// Kokkos v. 3.0 +// Copyright (2020) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). +// +// Under the terms of Contract DE-NA0003525 with NTESS, +// the U.S. Government retains certain rights in this software. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// +// 3. Neither the name of the Corporation nor the names of the +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY +// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE +// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// +// Questions? Contact Christian R. Trott (crtrott@sandia.gov) +// +// ************************************************************************ +//@HEADER +*/ + +#ifndef KOKKOS_VIEW_TRACKER_HPP +#define KOKKOS_VIEW_TRACKER_HPP + +namespace Kokkos { + +template +class View; + +namespace Impl { + +/* + * \class ViewTracker + * \brief template class to wrap the shared allocation tracker + * + * \section This class is templated on the View and provides + * constructors that match the view. The constructors and assignments + * from view will externalize the logic needed to enable/disable + * ref counting to provide a single gate to enable further developments + * which may hing on the same logic. + * + */ +template +struct ViewTracker { + using track_type = Kokkos::Impl::SharedAllocationTracker; + using view_traits = typename ParentView::traits; + + track_type m_tracker; + + KOKKOS_INLINE_FUNCTION + ViewTracker() : m_tracker() {} + + KOKKOS_INLINE_FUNCTION + ViewTracker(const ViewTracker& vt) noexcept + : m_tracker(vt.m_tracker, view_traits::is_managed) {} + + KOKKOS_INLINE_FUNCTION + explicit ViewTracker(const ParentView& vt) noexcept : m_tracker() { + assign(vt); + } + + template + KOKKOS_INLINE_FUNCTION explicit ViewTracker( + const View& vt) noexcept + : m_tracker() { + assign(vt); + } + + template + KOKKOS_INLINE_FUNCTION void assign(const View& vt) noexcept { +#if defined(KOKKOS_ACTIVE_EXECUTION_MEMORY_SPACE_HOST) + if (view_traits::is_managed && + Kokkos::Impl::SharedAllocationRecord::tracking_enabled()) { + m_tracker.assign_direct(vt.m_track.m_tracker); + } else { + m_tracker.assign_force_disable(vt.m_track.m_tracker); + } +#else + m_tracker.assign_force_disable(vt.m_track.m_tracker); +#endif + } + + KOKKOS_INLINE_FUNCTION + ViewTracker& operator=(const ViewTracker& rhs) noexcept { +#if defined(KOKKOS_ACTIVE_EXECUTION_MEMORY_SPACE_HOST) + if (view_traits::is_managed && + Kokkos::Impl::SharedAllocationRecord::tracking_enabled()) { + m_tracker.assign_direct(rhs.m_tracker); + } else { + m_tracker.assign_force_disable(rhs.m_tracker); + } +#else + m_tracker.assign_force_disable(rhs.m_tracker); +#endif + return *this; + } + + KOKKOS_INLINE_FUNCTION + explicit ViewTracker(const track_type& tt) noexcept + : m_tracker(tt, view_traits::is_managed) {} +}; + +} // namespace Impl + +} // namespace Kokkos + +#endif // KOKKOS_VIEW_TRACKER_HPP diff --git a/lib/kokkos/core/src/impl/Kokkos_ViewUniformType.hpp b/lib/kokkos/core/src/impl/Kokkos_ViewUniformType.hpp index 7ce3a532b4bacbd583e52e474192311a8b67432f..2eb8fc9e3b820cc5d93dcf01b049ede170735d1a 100644 --- a/lib/kokkos/core/src/impl/Kokkos_ViewUniformType.hpp +++ b/lib/kokkos/core/src/impl/Kokkos_ViewUniformType.hpp @@ -45,77 +45,77 @@ #ifndef KOKKOS_EXPERIMENTAL_VIEWUNIFORMTYPE_HPP #define KOKKOS_EXPERIMENTAL_VIEWUNIFORMTYPE_HPP +#include + namespace Kokkos { namespace Impl { template struct ViewScalarToDataType { - typedef typename ViewScalarToDataType::type* type; + using type = typename ViewScalarToDataType::type *; }; template struct ViewScalarToDataType { - typedef ScalarType type; + using type = ScalarType; }; template struct ViewUniformLayout { - typedef LayoutType array_layout; + using array_layout = LayoutType; }; template struct ViewUniformLayout { - typedef Kokkos::LayoutLeft array_layout; + using array_layout = Kokkos::LayoutLeft; }; template <> struct ViewUniformLayout { - typedef Kokkos::LayoutLeft array_layout; + using array_layout = Kokkos::LayoutLeft; }; template struct ViewUniformType { - typedef typename ViewType::data_type data_type; - typedef typename std::add_const::type - const_data_type; - typedef typename ViewScalarToDataType::type runtime_data_type; - typedef typename ViewScalarToDataType< + using data_type = typename ViewType::data_type; + using const_data_type = + typename std::add_const::type; + using runtime_data_type = + typename ViewScalarToDataType::type; + using runtime_const_data_type = typename ViewScalarToDataType< typename std::add_const::type, - ViewType::rank>::type runtime_const_data_type; + ViewType::rank>::type; - typedef typename ViewUniformLayout::array_layout array_layout; + using array_layout = + typename ViewUniformLayout::array_layout; - typedef typename ViewType::device_type device_type; - typedef typename Kokkos::Device - anonymous_device_type; + using device_type = typename ViewType::device_type; + using anonymous_device_type = + typename Kokkos::Device; - typedef typename Kokkos::MemoryTraits memory_traits; - typedef Kokkos::View - type; - typedef Kokkos::View - const_type; - typedef Kokkos::View - runtime_type; - typedef Kokkos::View - runtime_const_type; + using memory_traits = typename Kokkos::MemoryTraits; + using type = + Kokkos::View; + using const_type = + Kokkos::View; + using runtime_type = + Kokkos::View; + using runtime_const_type = Kokkos::View; - typedef Kokkos::View - nomemspace_type; - typedef Kokkos::View - const_nomemspace_type; - typedef Kokkos::View - runtime_nomemspace_type; - typedef Kokkos::View - runtime_const_nomemspace_type; + using nomemspace_type = Kokkos::View; + using const_nomemspace_type = + Kokkos::View; + using runtime_nomemspace_type = + Kokkos::View; + using runtime_const_nomemspace_type = + Kokkos::View; }; } // namespace Impl } // namespace Kokkos diff --git a/lib/kokkos/core/src/impl/Kokkos_Volatile_Load.hpp b/lib/kokkos/core/src/impl/Kokkos_Volatile_Load.hpp index 3626a1f17c50e964246b22bb3458864ab2748ab9..4af26dcc91db449b58d460ef9f1e809da2bc5b9d 100644 --- a/lib/kokkos/core/src/impl/Kokkos_Volatile_Load.hpp +++ b/lib/kokkos/core/src/impl/Kokkos_Volatile_Load.hpp @@ -42,6 +42,8 @@ //@HEADER */ +#include + #if defined(KOKKOS_ATOMIC_HPP) && !defined(KOKKOS_VOLATILE_LOAD_HPP) #define KOKKOS_VOLATILE_LOAD_HPP @@ -62,10 +64,10 @@ namespace Kokkos { template KOKKOS_FORCEINLINE_FUNCTION T volatile_load(T const volatile* const src_ptr) { - typedef uint64_t KOKKOS_IMPL_MAY_ALIAS T64; - typedef uint32_t KOKKOS_IMPL_MAY_ALIAS T32; - typedef uint16_t KOKKOS_IMPL_MAY_ALIAS T16; - typedef uint8_t KOKKOS_IMPL_MAY_ALIAS T8; + typedef uint64_t KOKKOS_IMPL_MAY_ALIAS T64; // NOLINT(modernize-use-using) + typedef uint32_t KOKKOS_IMPL_MAY_ALIAS T32; // NOLINT(modernize-use-using) + typedef uint16_t KOKKOS_IMPL_MAY_ALIAS T16; // NOLINT(modernize-use-using) + typedef uint8_t KOKKOS_IMPL_MAY_ALIAS T8; // NOLINT(modernize-use-using) enum { NUM_8 = sizeof(T), @@ -114,10 +116,10 @@ KOKKOS_FORCEINLINE_FUNCTION T volatile_load(T const volatile* const src_ptr) { template KOKKOS_FORCEINLINE_FUNCTION void volatile_store( T volatile* const dst_ptr, T const volatile* const src_ptr) { - typedef uint64_t KOKKOS_IMPL_MAY_ALIAS T64; - typedef uint32_t KOKKOS_IMPL_MAY_ALIAS T32; - typedef uint16_t KOKKOS_IMPL_MAY_ALIAS T16; - typedef uint8_t KOKKOS_IMPL_MAY_ALIAS T8; + typedef uint64_t KOKKOS_IMPL_MAY_ALIAS T64; // NOLINT(modernize-use-using) + typedef uint32_t KOKKOS_IMPL_MAY_ALIAS T32; // NOLINT(modernize-use-using) + typedef uint16_t KOKKOS_IMPL_MAY_ALIAS T16; // NOLINT(modernize-use-using) + typedef uint8_t KOKKOS_IMPL_MAY_ALIAS T8; // NOLINT(modernize-use-using) enum { NUM_8 = sizeof(T), @@ -162,10 +164,10 @@ KOKKOS_FORCEINLINE_FUNCTION void volatile_store( template KOKKOS_FORCEINLINE_FUNCTION void volatile_store(T volatile* const dst_ptr, T const* const src_ptr) { - typedef uint64_t KOKKOS_IMPL_MAY_ALIAS T64; - typedef uint32_t KOKKOS_IMPL_MAY_ALIAS T32; - typedef uint16_t KOKKOS_IMPL_MAY_ALIAS T16; - typedef uint8_t KOKKOS_IMPL_MAY_ALIAS T8; + typedef uint64_t KOKKOS_IMPL_MAY_ALIAS T64; // NOLINT(modernize-use-using) + typedef uint32_t KOKKOS_IMPL_MAY_ALIAS T32; // NOLINT(modernize-use-using) + typedef uint16_t KOKKOS_IMPL_MAY_ALIAS T16; // NOLINT(modernize-use-using) + typedef uint8_t KOKKOS_IMPL_MAY_ALIAS T8; // NOLINT(modernize-use-using) enum { NUM_8 = sizeof(T), diff --git a/lib/kokkos/core/unit_test/CMakeLists.txt b/lib/kokkos/core/unit_test/CMakeLists.txt index dec2f5e920759de0c9353f77a932de3a028562e7..d87acdadfd28e6ad3b8e92210464f2f6178daa42 100644 --- a/lib/kokkos/core/unit_test/CMakeLists.txt +++ b/lib/kokkos/core/unit_test/CMakeLists.txt @@ -12,18 +12,20 @@ KOKKOS_ADD_TEST_LIBRARY( HEADERS ${GTEST_SOURCE_DIR}/gtest/gtest.h SOURCES ${GTEST_SOURCE_DIR}/gtest/gtest-all.cc ) -#These can be direct, no need for Tribits or Kokkos wrappers -# WORKAROUND FOR HIPCC -IF(Kokkos_ENABLE_HIP) - TARGET_COMPILE_DEFINITIONS(kokkos_gtest PUBLIC "-DGTEST_HAS_PTHREAD=0 --amdgpu-target=gfx906") -ELSE() - TARGET_COMPILE_DEFINITIONS(kokkos_gtest PUBLIC "-DGTEST_HAS_PTHREAD=0") -ENDIF() +# avoid deprecation warnings from MSVC +TARGET_COMPILE_DEFINITIONS(kokkos_gtest PUBLIC GTEST_HAS_TR1_TUPLE=0 GTEST_HAS_PTHREAD=0) TARGET_INCLUDE_DIRECTORIES(kokkos_gtest PUBLIC ${GTEST_SOURCE_DIR}) #Gtest minimally requires C++11 +IF(NOT (Kokkos_ENABLE_CUDA AND WIN32)) TARGET_COMPILE_FEATURES(kokkos_gtest PUBLIC cxx_std_11) +ENDIF() + +# Suppress clang-tidy diagnostics on code that we do not have control over +IF(CMAKE_CXX_CLANG_TIDY) + SET_TARGET_PROPERTIES(kokkos_gtest PROPERTIES CXX_CLANG_TIDY "") +ENDIF() # # Define Incremental Testing Feature Levels @@ -63,8 +65,10 @@ foreach(Tag Threads;Serial;OpenMP;Cuda;HPX;OpenMPTarget;HIP) endif() string(TOLOWER ${Tag} dir) - SET(${Tag}_SOURCES - UnitTestMainInit.cpp + # Needed to split this for Windows NVCC, since it ends up putting everything on the + # command line in an intermediate compilation step even if CMake generated a response + # file. That then exceeded the shell comand line max length. + SET(${Tag}_SOURCES1 ${dir}/Test${Tag}_AtomicOperations_int.cpp ${dir}/Test${Tag}_AtomicOperations_unsignedint.cpp ${dir}/Test${Tag}_AtomicOperations_longint.cpp @@ -99,6 +103,9 @@ foreach(Tag Threads;Serial;OpenMP;Cuda;HPX;OpenMPTarget;HIP) ${dir}/Test${Tag}_Reductions_DeviceView.cpp ${dir}/Test${Tag}_Scan.cpp ${dir}/Test${Tag}_SharedAlloc.cpp + ) + + SET(${Tag}_SOURCES2 ${dir}/Test${Tag}_SubView_a.cpp ${dir}/Test${Tag}_SubView_b.cpp ${dir}/Test${Tag}_SubView_c01.cpp @@ -134,10 +141,13 @@ foreach(Tag Threads;Serial;OpenMP;Cuda;HPX;OpenMPTarget;HIP) ${dir}/Test${Tag}_View_64bit.cpp ${dir}/Test${Tag}_ViewResize.cpp ) + SET(${Tag}_SOURCES ${${Tag}_SOURCES1} ${${Tag}_SOURCES2}) + endforeach() if(Kokkos_ENABLE_OPENMPTARGET) list(REMOVE_ITEM OpenMPTarget_SOURCES + openmptarget/TestOpenMPTarget_AtomicOperations_complexfloat.cpp openmptarget/TestOpenMPTarget_AtomicOperations_complexdouble.cpp openmptarget/TestOpenMPTarget_MDRange_a.cpp openmptarget/TestOpenMPTarget_MDRange_b.cpp @@ -151,28 +161,31 @@ if(Kokkos_ENABLE_OPENMPTARGET) openmptarget/TestOpenMPTarget_ViewAPI_e.cpp openmptarget/TestOpenMPTarget_ViewMapping_subview.cpp openmptarget/TestOpenMPTarget_ViewOfClass.cpp - ) -endif() -if(Kokkos_ENABLE_HIP) - # FIXME Linktime error: undefined reference to - # Kokkos::Impl::ViewDimensin<0ul, ...>(unsigned int, ...) - list(REMOVE_ITEM Serial_SOURCES serial/TestSerial_ViewLayoutStrideAssignment.cpp) + ) endif() if(Kokkos_ENABLE_SERIAL) KOKKOS_ADD_EXECUTABLE_AND_TEST( - UnitTest_Serial + UnitTest_Serial1 SOURCES - ${Serial_SOURCES} + UnitTestMainInit.cpp + ${Serial_SOURCES1} serial/TestSerial_Task.cpp ) + KOKKOS_ADD_EXECUTABLE_AND_TEST( + UnitTest_Serial2 + SOURCES + UnitTestMainInit.cpp + ${Serial_SOURCES2} + ) endif() if(Kokkos_ENABLE_PTHREAD) KOKKOS_ADD_EXECUTABLE_AND_TEST( UnitTest_Threads SOURCES ${Threads_SOURCES} + UnitTestMainInit.cpp ) endif() @@ -180,6 +193,7 @@ if(Kokkos_ENABLE_OPENMP) KOKKOS_ADD_EXECUTABLE_AND_TEST( UnitTest_OpenMP SOURCES + UnitTestMainInit.cpp ${OpenMP_SOURCES} openmp/TestOpenMP_Task.cpp ) @@ -195,6 +209,7 @@ if(Kokkos_ENABLE_HPX) KOKKOS_ADD_EXECUTABLE_AND_TEST( UnitTest_HPX SOURCES + UnitTestMainInit.cpp ${HPX_SOURCES} hpx/TestHPX_Task.cpp ) @@ -204,21 +219,60 @@ if(Kokkos_ENABLE_HPX) UnitTestMain.cpp hpx/TestHPX_InterOp.cpp ) + KOKKOS_ADD_EXECUTABLE_AND_TEST( + UnitTest_HPX_IndependentInstances + SOURCES + UnitTestMain.cpp + hpx/TestHPX_IndependentInstances.cpp + ) + KOKKOS_ADD_EXECUTABLE_AND_TEST( + UnitTest_HPX_IndependentInstancesDelayedExecution + SOURCES + UnitTestMain.cpp + hpx/TestHPX_IndependentInstancesDelayedExecution.cpp + ) + KOKKOS_ADD_EXECUTABLE_AND_TEST( + UnitTest_HPX_IndependentInstancesInstanceIds + SOURCES + UnitTestMain.cpp + hpx/TestHPX_IndependentInstancesInstanceIds.cpp + ) + KOKKOS_ADD_EXECUTABLE_AND_TEST( + UnitTest_HPX_IndependentInstancesRefCounting + SOURCES + UnitTestMain.cpp + hpx/TestHPX_IndependentInstancesRefCounting.cpp + ) endif() if(Kokkos_ENABLE_OPENMPTARGET) KOKKOS_ADD_EXECUTABLE_AND_TEST( UnitTest_OpenMPTarget SOURCES + UnitTestMainInit.cpp ${OpenMPTarget_SOURCES} ) endif() if(Kokkos_ENABLE_CUDA) - KOKKOS_ADD_EXECUTABLE_AND_TEST( - UnitTest_Cuda + KOKKOS_ADD_EXECUTABLE_AND_TEST( + UnitTest_Cuda1 + SOURCES + UnitTestMainInit.cpp + ${Cuda_SOURCES1} + ) + + KOKKOS_ADD_EXECUTABLE_AND_TEST( + UnitTest_Cuda2 + SOURCES + UnitTestMainInit.cpp + ${Cuda_SOURCES2} + ) + + KOKKOS_ADD_EXECUTABLE_AND_TEST( + UnitTest_Cuda3 SOURCES - ${Cuda_SOURCES} + UnitTestMainInit.cpp cuda/TestCuda_Task.cpp cuda/TestCudaHostPinned_SharedAlloc.cpp cuda/TestCudaHostPinned_ViewCopy.cpp @@ -244,6 +298,7 @@ if(Kokkos_ENABLE_CUDA) cuda/TestCuda_DebugSerialExecution.cpp cuda/TestCuda_DebugPinUVMSpace.cpp ) + KOKKOS_ADD_EXECUTABLE_AND_TEST( UnitTest_CudaInterOpInit SOURCES @@ -262,25 +317,16 @@ if(Kokkos_ENABLE_HIP) # FIXME_HIP LIST(REMOVE_ITEM HIP_SOURCES hip/TestHIP_AtomicOperations_complexdouble.cpp - hip/TestHIP_Other.cpp - hip/TestHIP_Reductions_DeviceView.cpp - hip/TestHIP_Team.cpp - hip/TestHIP_TeamReductionScan.cpp - hip/TestHIP_TeamScratch.cpp hip/TestHIP_TeamTeamSize.cpp hip/TestHIP_TeamVectorRange.cpp - hip/TestHIP_UniqueToken.cpp - hip/TestHIP_ViewAPI_a.cpp - hip/TestHIP_ViewAPI_b.cpp - hip/TestHIP_ViewAPI_e.cpp - hip/TestHIP_ViewLayoutStrideAssignment.cpp - hip/TestHIP_WorkGraph.cpp ) KOKKOS_ADD_EXECUTABLE_AND_TEST( UnitTest_HIP SOURCES + UnitTestMainInit.cpp ${HIP_SOURCES} + hip/TestHIP_ScanUnit.cpp hip/TestHIPHostPinned_ViewAPI_a.cpp hip/TestHIPHostPinned_ViewAPI_b.cpp hip/TestHIPHostPinned_ViewAPI_c.cpp @@ -297,6 +343,12 @@ if(Kokkos_ENABLE_HIP) UnitTestMain.cpp hip/TestHIP_InterOp_Init.cpp ) + KOKKOS_ADD_EXECUTABLE_AND_TEST( + UnitTest_HIPInterOpStreams + SOURCES + UnitTestMain.cpp + hip/TestHIP_InterOp_Streams.cpp + ) endif() SET(DEFAULT_DEVICE_SOURCES @@ -326,6 +378,15 @@ KOKKOS_ADD_EXECUTABLE_AND_TEST( UnitTest_PushFinalizeHook.cpp ) +# This test is intended for development and debugging by putting code +# into TestDefaultDeviceDevelop.cpp. By default its empty. +KOKKOS_ADD_EXECUTABLE_AND_TEST( + UnitTest_Develop + SOURCES + UnitTestMainInit.cpp + default/TestDefaultDeviceDevelop.cpp +) + # This test is special, because it passes exactly when it prints the # message "PASSED: I am the custom std::terminate handler.", AND calls # std::terminate. This means that we can't use @@ -344,6 +405,36 @@ KOKKOS_ADD_ADVANCED_TEST( UnitTest_PushFinalizeHook_terminate ALWAYS_FAIL_ON_ZERO_RETURN ) + if(KOKKOS_ENABLE_TUNING) + KOKKOS_ADD_EXECUTABLE_AND_TEST( + UnitTest_TuningBasics + SOURCES + tools/TestTuning.cpp + ) + endif() + if(KOKKOS_ENABLE_LIBDL) + + KOKKOS_ADD_LIBRARY( + printer-tool SHARED + SOURCES tools/printing-tool.cpp + ) + + KOKKOS_ADD_TEST_EXECUTABLE( + ProfilingAllCalls + tools/TestAllCalls.cpp + ) + + set(ADDRESS_REGEX "0x[0-9a-f]*") + set(MEMSPACE_REGEX "[HC][ou][sd][ta][a-zA-Z]*") + set(SIZE_REGEX "[0-9]*") + set(SKIP_SCRATCH_INITIALIZATION_REGEX ".*") + + KOKKOS_ADD_TEST( NAME ProfilingTestLibraryLoad + EXE ProfilingAllCalls + TOOL printer-tool + PASS_REGULAR_EXPRESSION "kokkosp_init_library::kokkosp_allocate_data:${MEMSPACE_REGEX}:source:${ADDRESS_REGEX}:40::kokkosp_begin_parallel_for:Kokkos::View::initialization [[]source]:0:0::kokkosp_end_parallel_for:0::kokkosp_allocate_data:${MEMSPACE_REGEX}:destination:${ADDRESS_REGEX}:40::kokkosp_begin_parallel_for:Kokkos::View::initialization [[]destination]:0:0::kokkosp_end_parallel_for:0::kokkosp_begin_deep_copy:${MEMSPACE_REGEX}:destination:${ADDRESS_REGEX}:${MEMSPACE_REGEX}:source:${ADDRESS_REGEX}:40::kokkosp_end_deep_copy::kokkosp_begin_parallel_for:parallel_for:${SIZE_REGEX}:0::kokkosp_end_parallel_for:0::kokkosp_begin_parallel_reduce:parallel_reduce:0:1${SKIP_SCRATCH_INITIALIZATION_REGEX}::kokkosp_end_parallel_reduce:1::kokkosp_begin_parallel_scan:parallel_scan:${SIZE_REGEX}:2::kokkosp_end_parallel_scan:2::kokkosp_push_profile_region:push_region::kokkosp_pop_profile_region::kokkosp_create_profile_section:created_section:3::kokkosp_start_profile_section:3::kokkosp_stop_profile_section:3::kokkosp_destroy_profile_section:3::kokkosp_profile_event:profiling_event::kokkosp_deallocate_data:${MEMSPACE_REGEX}:destination:${ADDRESS_REGEX}:40::kokkosp_deallocate_data:${MEMSPACE_REGEX}:source:${ADDRESS_REGEX}:40::kokkosp_finalize_library::" + ) + endif() #KOKKOS_ENABLE_LIBDL if(NOT KOKKOS_HAS_TRILINOS) KOKKOS_ADD_TEST_EXECUTABLE( StackTraceTestExec @@ -433,3 +524,5 @@ KOKKOS_ADD_EXECUTABLE_AND_TEST( UnitTest_CTestDevice SOURCES UnitTestMain.cpp TestCTestDevice.cpp ) + +add_subdirectory(headers_self_contained) diff --git a/lib/kokkos/core/unit_test/TestAggregate.hpp b/lib/kokkos/core/unit_test/TestAggregate.hpp index 1f812cc11ebb41a7d7c56fcf48c6f0c5d6648e17..3151143a6ff992c30ecee6dd52668c5c77941923 100644 --- a/lib/kokkos/core/unit_test/TestAggregate.hpp +++ b/lib/kokkos/core/unit_test/TestAggregate.hpp @@ -57,18 +57,18 @@ namespace Test { template void TestViewAggregate() { - typedef Kokkos::Array value_type; - typedef Kokkos::Impl::ViewDataAnalysis - analysis_1d; + using value_type = Kokkos::Array; + using analysis_1d = + Kokkos::Impl::ViewDataAnalysis; static_assert( std::is_same >::value, ""); - typedef Kokkos::ViewTraits a32_traits; - typedef Kokkos::ViewTraits - flat_traits; + using a32_traits = Kokkos::ViewTraits; + using flat_traits = + Kokkos::ViewTraits; static_assert( std::is_same >::value, @@ -84,8 +84,8 @@ void TestViewAggregate() { static_assert(flat_traits::rank_dynamic == 2, ""); static_assert(flat_traits::dimension::N2 == 32, ""); - typedef Kokkos::View **, DeviceType> a32_type; - typedef typename a32_type::array_type a32_flat_type; + using a32_type = Kokkos::View **, DeviceType>; + using a32_flat_type = typename a32_type::array_type; static_assert(std::is_same::value, ""); diff --git a/lib/kokkos/core/unit_test/TestAtomic.hpp b/lib/kokkos/core/unit_test/TestAtomic.hpp index 809f9dc01fd78f5a0994746febcb794ed8181065..1051ae20f6d55979077fa9380526e3db3981e2a6 100644 --- a/lib/kokkos/core/unit_test/TestAtomic.hpp +++ b/lib/kokkos/core/unit_test/TestAtomic.hpp @@ -160,9 +160,9 @@ std::ostream& operator<<(std::ostream& os, const SuperScalar& dt) { template struct ZeroFunctor { - typedef DEVICE_TYPE execution_space; - typedef typename Kokkos::View type; - typedef typename Kokkos::View::HostMirror h_type; + using execution_space = DEVICE_TYPE; + using type = typename Kokkos::View; + using h_type = typename Kokkos::View::HostMirror; type data; @@ -176,8 +176,8 @@ struct ZeroFunctor { template struct AddFunctor { - typedef DEVICE_TYPE execution_space; - typedef Kokkos::View type; + using execution_space = DEVICE_TYPE; + using type = Kokkos::View; type data; @@ -187,8 +187,8 @@ struct AddFunctor { template struct AddFunctorReduce { - typedef DEVICE_TYPE execution_space; - typedef Kokkos::View type; + using execution_space = DEVICE_TYPE; + using type = Kokkos::View; type data; @@ -246,8 +246,8 @@ T AddLoopSerial(int loop) { template struct CASFunctor { - typedef DEVICE_TYPE execution_space; - typedef Kokkos::View type; + using execution_space = DEVICE_TYPE; + using type = Kokkos::View; type data; @@ -266,8 +266,8 @@ struct CASFunctor { template struct CASFunctorReduce { - typedef DEVICE_TYPE execution_space; - typedef Kokkos::View type; + using execution_space = DEVICE_TYPE; + using type = Kokkos::View; type data; @@ -341,8 +341,8 @@ T CASLoopSerial(int loop) { template struct ExchFunctor { - typedef DEVICE_TYPE execution_space; - typedef Kokkos::View type; + using execution_space = DEVICE_TYPE; + using type = Kokkos::View; type data, data2; @@ -355,8 +355,8 @@ struct ExchFunctor { template struct ExchFunctorReduce { - typedef DEVICE_TYPE execution_space; - typedef Kokkos::View type; + using execution_space = DEVICE_TYPE; + using type = Kokkos::View; type data, data2; diff --git a/lib/kokkos/core/unit_test/TestAtomicOperations.hpp b/lib/kokkos/core/unit_test/TestAtomicOperations.hpp index 109adaa1b3cc973f3d6a3f3602e0d095f2293a02..04362125c0648e679f9a1cfb9886ccb84e6b14d5 100644 --- a/lib/kokkos/core/unit_test/TestAtomicOperations.hpp +++ b/lib/kokkos/core/unit_test/TestAtomicOperations.hpp @@ -52,9 +52,9 @@ namespace TestAtomicOperations { template struct ZeroFunctor { - typedef DEVICE_TYPE execution_space; - typedef typename Kokkos::View type; - typedef typename Kokkos::View::HostMirror h_type; + using execution_space = DEVICE_TYPE; + using type = typename Kokkos::View; + using h_type = typename Kokkos::View::HostMirror; type data; @@ -68,9 +68,9 @@ struct ZeroFunctor { template struct InitFunctor { - typedef DEVICE_TYPE execution_space; - typedef typename Kokkos::View type; - typedef typename Kokkos::View::HostMirror h_type; + using execution_space = DEVICE_TYPE; + using type = typename Kokkos::View; + using h_type = typename Kokkos::View::HostMirror; type data; T init_value; @@ -87,8 +87,8 @@ struct InitFunctor { template struct MaxFunctor { - typedef DEVICE_TYPE execution_space; - typedef Kokkos::View type; + using execution_space = DEVICE_TYPE; + using type = Kokkos::View; type data; T i0; @@ -160,8 +160,8 @@ bool MaxAtomicTest(T i0, T i1) { template struct MinFunctor { - typedef DEVICE_TYPE execution_space; - typedef Kokkos::View type; + using execution_space = DEVICE_TYPE; + using type = Kokkos::View; type data; T i0; @@ -231,8 +231,8 @@ bool MinAtomicTest(T i0, T i1) { template struct IncFunctor { - typedef DEVICE_TYPE execution_space; - typedef Kokkos::View type; + using execution_space = DEVICE_TYPE; + using type = Kokkos::View; type data; T i0; @@ -301,8 +301,8 @@ bool IncAtomicTest(T i0) { template struct DecFunctor { - typedef DEVICE_TYPE execution_space; - typedef Kokkos::View type; + using execution_space = DEVICE_TYPE; + using type = Kokkos::View; type data; T i0; @@ -371,8 +371,8 @@ bool DecAtomicTest(T i0) { template struct MulFunctor { - typedef DEVICE_TYPE execution_space; - typedef Kokkos::View type; + using execution_space = DEVICE_TYPE; + using type = Kokkos::View; type data; T i0; @@ -442,8 +442,8 @@ bool MulAtomicTest(T i0, T i1) { template struct DivFunctor { - typedef DEVICE_TYPE execution_space; - typedef Kokkos::View type; + using execution_space = DEVICE_TYPE; + using type = Kokkos::View; type data; T i0; @@ -515,8 +515,8 @@ bool DivAtomicTest(T i0, T i1) { template struct ModFunctor { - typedef DEVICE_TYPE execution_space; - typedef Kokkos::View type; + using execution_space = DEVICE_TYPE; + using type = Kokkos::View; type data; T i0; @@ -586,8 +586,8 @@ bool ModAtomicTest(T i0, T i1) { template struct AndFunctor { - typedef DEVICE_TYPE execution_space; - typedef Kokkos::View type; + using execution_space = DEVICE_TYPE; + using type = Kokkos::View; type data; T i0; @@ -657,8 +657,8 @@ bool AndAtomicTest(T i0, T i1) { template struct OrFunctor { - typedef DEVICE_TYPE execution_space; - typedef Kokkos::View type; + using execution_space = DEVICE_TYPE; + using type = Kokkos::View; type data; T i0; @@ -728,8 +728,8 @@ bool OrAtomicTest(T i0, T i1) { template struct XorFunctor { - typedef DEVICE_TYPE execution_space; - typedef Kokkos::View type; + using execution_space = DEVICE_TYPE; + using type = Kokkos::View; type data; T i0; @@ -799,8 +799,8 @@ bool XorAtomicTest(T i0, T i1) { template struct LShiftFunctor { - typedef DEVICE_TYPE execution_space; - typedef Kokkos::View type; + using execution_space = DEVICE_TYPE; + using type = Kokkos::View; type data; T i0; @@ -870,8 +870,8 @@ bool LShiftAtomicTest(T i0, T i1) { template struct RShiftFunctor { - typedef DEVICE_TYPE execution_space; - typedef Kokkos::View type; + using execution_space = DEVICE_TYPE; + using type = Kokkos::View; type data; T i0; diff --git a/lib/kokkos/core/unit_test/TestAtomicViews.hpp b/lib/kokkos/core/unit_test/TestAtomicViews.hpp index 109598e8c609133869ee884bfad2f043e71cec38..6b79b3d642fc8b35b8d7800eb8f4a273126e2795 100644 --- a/lib/kokkos/core/unit_test/TestAtomicViews.hpp +++ b/lib/kokkos/core/unit_test/TestAtomicViews.hpp @@ -66,11 +66,11 @@ struct TestViewOperator_LeftAndRight; template struct TestViewOperator_LeftAndRight { - typedef typename DeviceType::execution_space execution_space; - typedef typename DeviceType::memory_space memory_space; - typedef typename execution_space::size_type size_type; + using execution_space = typename DeviceType::execution_space; + using memory_space = typename DeviceType::memory_space; + using size_type = typename execution_space::size_type; - typedef int value_type; + using value_type = int; KOKKOS_INLINE_FUNCTION static void join(volatile value_type& update, @@ -81,17 +81,16 @@ struct TestViewOperator_LeftAndRight { KOKKOS_INLINE_FUNCTION static void init(value_type& update) { update = 0; } - typedef Kokkos::View > - left_view; + using left_view = Kokkos::View >; - typedef Kokkos::View > - right_view; + using right_view = + Kokkos::View >; - typedef Kokkos::View > - stride_view; + using stride_view = + Kokkos::View >; left_view left; right_view right; @@ -123,21 +122,12 @@ struct TestViewOperator_LeftAndRight { for (unsigned i0 = 0; i0 < unsigned(left.extent(0)); ++i0) { // Below checks that values match, but unable to check the references. // Should this be able to be checked? -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - if (left(i0) != left(i0, 0, 0, 0, 0, 0, 0, 0)) { - update |= 3; - } - if (right(i0) != right(i0, 0, 0, 0, 0, 0, 0, 0)) { - update |= 3; - } -#else if (left(i0) != left.access(i0, 0, 0, 0, 0, 0, 0, 0)) { update |= 3; } if (right(i0) != right.access(i0, 0, 0, 0, 0, 0, 0, 0)) { update |= 3; } -#endif if (left(i0) != left_stride(i0)) { update |= 4; } @@ -157,39 +147,36 @@ struct TestViewOperator_LeftAndRight { template class TestAtomicViewAPI { public: - typedef DeviceType device; + using device = DeviceType; enum { N0 = 1000, N1 = 3, N2 = 5, N3 = 7 }; - typedef Kokkos::View dView0; - typedef Kokkos::View dView1; - typedef Kokkos::View dView2; - typedef Kokkos::View dView3; - typedef Kokkos::View dView4; - typedef Kokkos::View const_dView4; - typedef Kokkos::View dView4_unmanaged; - typedef typename dView0::host_mirror_space host; - - typedef Kokkos::View > aView0; - typedef Kokkos::View > - aView1; - typedef Kokkos::View > - aView2; - typedef Kokkos::View > - aView3; - typedef Kokkos::View > - aView4; - typedef Kokkos::View > - const_aView4; - - typedef Kokkos::View< - T****, device, Kokkos::MemoryTraits > - aView4_unmanaged; - - typedef typename aView0::host_mirror_space host_atomic; + using dView0 = Kokkos::View; + using dView1 = Kokkos::View; + using dView2 = Kokkos::View; + using dView3 = Kokkos::View; + using dView4 = Kokkos::View; + using const_dView4 = Kokkos::View; + using dView4_unmanaged = Kokkos::View; + using host = typename dView0::host_mirror_space; + + using aView0 = Kokkos::View >; + using aView1 = + Kokkos::View >; + using aView2 = + Kokkos::View >; + using aView3 = + Kokkos::View >; + using aView4 = Kokkos::View >; + using const_aView4 = Kokkos::View >; + + using aView4_unmanaged = + Kokkos::View >; + + using host_atomic = typename aView0::host_mirror_space; TestAtomicViewAPI() { TestViewOperator_LeftAndRight::testit(); @@ -281,7 +268,7 @@ class TestAtomicViewAPI { unsigned(N0) * unsigned(N1) * unsigned(N2) * unsigned(N3)); } - typedef T DataType[2]; + using DataType = T[2]; static void check_auto_conversion_to_const( const Kokkos::View > - typeX; - typedef Kokkos::View > - const_typeX; + using typeX = + Kokkos::View >; + using const_typeX = Kokkos::View >; typeX x("X"); const_typeX xc = x; @@ -315,7 +300,7 @@ class TestAtomicViewAPI { template struct InitFunctor_Seq { - typedef Kokkos::View view_type; + using view_type = Kokkos::View; view_type input; const int64_t length; @@ -333,7 +318,7 @@ struct InitFunctor_Seq { template struct InitFunctor_ModTimes { - typedef Kokkos::View view_type; + using view_type = Kokkos::View; view_type input; const int64_t length; @@ -357,7 +342,7 @@ struct InitFunctor_ModTimes { template struct InitFunctor_ModShift { - typedef Kokkos::View view_type; + using view_type = Kokkos::View; view_type input; const int64_t length; @@ -383,10 +368,9 @@ struct InitFunctor_ModShift { template struct PlusEqualAtomicViewFunctor { - typedef Kokkos::View > - atomic_view_type; - typedef Kokkos::View view_type; + using atomic_view_type = + Kokkos::View >; + using view_type = Kokkos::View; view_type input; atomic_view_type even_odd_result; @@ -411,8 +395,8 @@ struct PlusEqualAtomicViewFunctor { template T PlusEqualAtomicView(const int64_t input_length) { - typedef Kokkos::View view_type; - typedef typename view_type::HostMirror host_view_type; + using view_type = Kokkos::View; + using host_view_type = typename view_type::HostMirror; const int64_t length = input_length; @@ -480,10 +464,9 @@ bool PlusEqualAtomicViewTest(int64_t input_length) { template struct MinusEqualAtomicViewFunctor { - typedef Kokkos::View > - atomic_view_type; - typedef Kokkos::View view_type; + using atomic_view_type = + Kokkos::View >; + using view_type = Kokkos::View; view_type input; atomic_view_type even_odd_result; @@ -509,8 +492,8 @@ struct MinusEqualAtomicViewFunctor { template T MinusEqualAtomicView(const int64_t input_length) { - typedef Kokkos::View view_type; - typedef typename view_type::HostMirror host_view_type; + using view_type = Kokkos::View; + using host_view_type = typename view_type::HostMirror; const int64_t length = input_length; @@ -578,10 +561,9 @@ bool MinusEqualAtomicViewTest(int64_t input_length) { template struct TimesEqualAtomicViewFunctor { - typedef Kokkos::View > - atomic_view_type; - typedef Kokkos::View view_type; + using atomic_view_type = + Kokkos::View >; + using view_type = Kokkos::View; view_type input; atomic_view_type result; @@ -602,8 +584,8 @@ struct TimesEqualAtomicViewFunctor { template T TimesEqualAtomicView(const int64_t input_length, const int64_t remainder) { - typedef Kokkos::View view_type; - typedef typename view_type::HostMirror host_view_type; + using view_type = Kokkos::View; + using host_view_type = typename view_type::HostMirror; const int64_t length = input_length; @@ -669,11 +651,10 @@ bool TimesEqualAtomicViewTest(const int64_t input_length) { template struct DivEqualAtomicViewFunctor { - typedef Kokkos::View > - atomic_view_type; - typedef Kokkos::View view_type; - typedef Kokkos::View scalar_view_type; + using atomic_view_type = + Kokkos::View >; + using view_type = Kokkos::View; + using scalar_view_type = Kokkos::View; view_type input; atomic_view_type result; @@ -694,9 +675,9 @@ struct DivEqualAtomicViewFunctor { template T DivEqualAtomicView(const int64_t input_length, const int64_t remainder) { - typedef Kokkos::View view_type; - typedef Kokkos::View scalar_view_type; - typedef typename scalar_view_type::HostMirror host_scalar_view_type; + using view_type = Kokkos::View; + using scalar_view_type = Kokkos::View; + using host_scalar_view_type = typename scalar_view_type::HostMirror; const int64_t length = input_length; @@ -760,11 +741,10 @@ bool DivEqualAtomicViewTest(const int64_t input_length) { template struct ModEqualAtomicViewFunctor { - typedef Kokkos::View > - atomic_view_type; - typedef Kokkos::View view_type; - typedef Kokkos::View scalar_view_type; + using atomic_view_type = + Kokkos::View >; + using view_type = Kokkos::View; + using scalar_view_type = Kokkos::View; view_type input; atomic_view_type result; @@ -785,9 +765,9 @@ struct ModEqualAtomicViewFunctor { template T ModEqualAtomicView(const int64_t input_length, const int64_t remainder) { - typedef Kokkos::View view_type; - typedef Kokkos::View scalar_view_type; - typedef typename scalar_view_type::HostMirror host_scalar_view_type; + using view_type = Kokkos::View; + using scalar_view_type = Kokkos::View; + using host_scalar_view_type = typename scalar_view_type::HostMirror; const int64_t length = input_length; @@ -855,11 +835,10 @@ bool ModEqualAtomicViewTest(const int64_t input_length) { template struct RSEqualAtomicViewFunctor { - typedef Kokkos::View > - atomic_view_type; - typedef Kokkos::View view_type; - typedef Kokkos::View result_view_type; + using atomic_view_type = Kokkos::View >; + using view_type = Kokkos::View; + using result_view_type = Kokkos::View; const view_type input; atomic_view_type result; @@ -890,9 +869,9 @@ struct RSEqualAtomicViewFunctor { template T RSEqualAtomicView(const int64_t input_length, const int64_t value, const int64_t remainder) { - typedef Kokkos::View view_type; - typedef Kokkos::View result_view_type; - typedef typename result_view_type::HostMirror host_scalar_view_type; + using view_type = Kokkos::View; + using result_view_type = Kokkos::View; + using host_scalar_view_type = typename result_view_type::HostMirror; const int64_t length = input_length; @@ -983,11 +962,10 @@ bool RSEqualAtomicViewTest(const int64_t input_length) { template struct LSEqualAtomicViewFunctor { - typedef Kokkos::View > - atomic_view_type; - typedef Kokkos::View view_type; - typedef Kokkos::View result_view_type; + using atomic_view_type = Kokkos::View >; + using view_type = Kokkos::View; + using result_view_type = Kokkos::View; view_type input; atomic_view_type result; @@ -1018,9 +996,9 @@ struct LSEqualAtomicViewFunctor { template T LSEqualAtomicView(const int64_t input_length, const int64_t value, const int64_t remainder) { - typedef Kokkos::View view_type; - typedef Kokkos::View result_view_type; - typedef typename result_view_type::HostMirror host_scalar_view_type; + using view_type = Kokkos::View; + using result_view_type = Kokkos::View; + using host_scalar_view_type = typename result_view_type::HostMirror; const int64_t length = input_length; @@ -1111,10 +1089,9 @@ bool LSEqualAtomicViewTest(const int64_t input_length) { template struct AndEqualAtomicViewFunctor { - typedef Kokkos::View > - atomic_view_type; - typedef Kokkos::View view_type; + using atomic_view_type = + Kokkos::View >; + using view_type = Kokkos::View; view_type input; atomic_view_type even_odd_result; @@ -1139,8 +1116,8 @@ struct AndEqualAtomicViewFunctor { template T AndEqualAtomicView(const int64_t input_length) { - typedef Kokkos::View view_type; - typedef typename view_type::HostMirror host_view_type; + using view_type = Kokkos::View; + using host_view_type = typename view_type::HostMirror; const int64_t length = input_length; @@ -1205,10 +1182,9 @@ bool AndEqualAtomicViewTest(int64_t input_length) { template struct OrEqualAtomicViewFunctor { - typedef Kokkos::View > - atomic_view_type; - typedef Kokkos::View view_type; + using atomic_view_type = + Kokkos::View >; + using view_type = Kokkos::View; view_type input; atomic_view_type even_odd_result; @@ -1233,8 +1209,8 @@ struct OrEqualAtomicViewFunctor { template T OrEqualAtomicView(const int64_t input_length) { - typedef Kokkos::View view_type; - typedef typename view_type::HostMirror host_view_type; + using view_type = Kokkos::View; + using host_view_type = typename view_type::HostMirror; const int64_t length = input_length; @@ -1298,10 +1274,9 @@ bool OrEqualAtomicViewTest(int64_t input_length) { template struct XOrEqualAtomicViewFunctor { - typedef Kokkos::View > - atomic_view_type; - typedef Kokkos::View view_type; + using atomic_view_type = + Kokkos::View >; + using view_type = Kokkos::View; view_type input; atomic_view_type even_odd_result; @@ -1326,8 +1301,8 @@ struct XOrEqualAtomicViewFunctor { template T XOrEqualAtomicView(const int64_t input_length) { - typedef Kokkos::View view_type; - typedef typename view_type::HostMirror host_view_type; + using view_type = Kokkos::View; + using host_view_type = typename view_type::HostMirror; const int64_t length = input_length; diff --git a/lib/kokkos/core/unit_test/TestCXX11.hpp b/lib/kokkos/core/unit_test/TestCXX11.hpp index 405652b29e6d5ec68f16ab619ea7f31f1063f589..59a8610955c6561103d8b559d0e6e61e045861bd 100644 --- a/lib/kokkos/core/unit_test/TestCXX11.hpp +++ b/lib/kokkos/core/unit_test/TestCXX11.hpp @@ -48,9 +48,9 @@ namespace TestCXX11 { template struct FunctorAddTest { - typedef Kokkos::View view_type; - typedef DeviceType execution_space; - typedef typename Kokkos::TeamPolicy::member_type team_member; + using view_type = Kokkos::View; + using execution_space = DeviceType; + using team_member = typename Kokkos::TeamPolicy::member_type; view_type a_, b_; @@ -81,7 +81,7 @@ struct FunctorAddTest { template double AddTestFunctor() { - typedef Kokkos::TeamPolicy policy_type; + using policy_type = Kokkos::TeamPolicy; Kokkos::View a("A", 100, 5); Kokkos::View b("B", 100, 5); @@ -142,8 +142,8 @@ double AddTestLambda() { b(i, 4) = a(i, 3) + a(i, 4); }); } else { - typedef Kokkos::TeamPolicy policy_type; - typedef typename policy_type::member_type team_member; + using policy_type = Kokkos::TeamPolicy; + using team_member = typename policy_type::member_type; policy_type policy(25, Kokkos::AUTO); @@ -180,10 +180,10 @@ double AddTestLambda() { template struct FunctorReduceTest { - typedef Kokkos::View view_type; - typedef DeviceType execution_space; - typedef double value_type; - typedef typename Kokkos::TeamPolicy::member_type team_member; + using view_type = Kokkos::View; + using execution_space = DeviceType; + using value_type = double; + using team_member = typename Kokkos::TeamPolicy::member_type; view_type a_; @@ -223,10 +223,10 @@ struct FunctorReduceTest { template double ReduceTestFunctor() { - typedef Kokkos::TeamPolicy policy_type; - typedef Kokkos::View view_type; - typedef Kokkos::View - unmanaged_result; + using policy_type = Kokkos::TeamPolicy; + using view_type = Kokkos::View; + using unmanaged_result = + Kokkos::View; view_type a("A", 100, 5); typename view_type::HostMirror h_a = Kokkos::create_mirror_view(a); @@ -255,10 +255,10 @@ double ReduceTestFunctor() { #if defined(KOKKOS_ENABLE_CXX11_DISPATCH_LAMBDA) template double ReduceTestLambda() { - typedef Kokkos::TeamPolicy policy_type; - typedef Kokkos::View view_type; - typedef Kokkos::View - unmanaged_result; + using policy_type = Kokkos::TeamPolicy; + using view_type = Kokkos::View; + using unmanaged_result = + Kokkos::View; view_type a("A", 100, 5); typename view_type::HostMirror h_a = Kokkos::create_mirror_view(a); @@ -284,7 +284,7 @@ double ReduceTestLambda() { }, unmanaged_result(&result)); } else { - typedef typename policy_type::member_type team_member; + using team_member = typename policy_type::member_type; Kokkos::parallel_reduce( policy_type(25, Kokkos::AUTO), KOKKOS_LAMBDA(const team_member& dev, double& sum) { diff --git a/lib/kokkos/core/unit_test/TestCXX11Deduction.hpp b/lib/kokkos/core/unit_test/TestCXX11Deduction.hpp index 0e60d91a89c343c7b43171750a6e10eca986d690..c7efab2711f283c02fad350bd5a8163ebc4b3a91 100644 --- a/lib/kokkos/core/unit_test/TestCXX11Deduction.hpp +++ b/lib/kokkos/core/unit_test/TestCXX11Deduction.hpp @@ -72,7 +72,7 @@ struct TestReductionDeductionFunctor { template void test_reduction_deduction() { - typedef TestReductionDeductionFunctor Functor; + using Functor = TestReductionDeductionFunctor; const long N = 50; // const long answer = N % 2 ? ( N * ( ( N + 1 ) / 2 ) ) : ( ( N / 2 ) * ( N diff --git a/lib/kokkos/core/unit_test/TestCompilerMacros.hpp b/lib/kokkos/core/unit_test/TestCompilerMacros.hpp index c644daca0e24b7ea9d004e62a62c5fc68aa12185..5ba83f376b7d2b1221626d12748e14fc5dbd86d0 100644 --- a/lib/kokkos/core/unit_test/TestCompilerMacros.hpp +++ b/lib/kokkos/core/unit_test/TestCompilerMacros.hpp @@ -60,8 +60,8 @@ namespace TestCompilerMacros { template struct AddFunctor { - typedef DEVICE_TYPE execution_space; - typedef typename Kokkos::View type; + using execution_space = DEVICE_TYPE; + using type = typename Kokkos::View; type a, b; int length; @@ -94,7 +94,7 @@ struct AddFunctor { template bool Test() { - typedef typename Kokkos::View type; + using type = typename Kokkos::View; type a("A", 1024, 128); type b("B", 1024, 128); diff --git a/lib/kokkos/core/unit_test/TestComplex.hpp b/lib/kokkos/core/unit_test/TestComplex.hpp index 2bb81052fea2158fbfd6a645e1df4b98465be8b8..2e04c209d86e77dd6447fd1a0a4701aca7bc4ac0 100644 --- a/lib/kokkos/core/unit_test/TestComplex.hpp +++ b/lib/kokkos/core/unit_test/TestComplex.hpp @@ -86,7 +86,6 @@ struct TestComplexConstruction { // Copy construction conversion between // Kokkos::complex and std::complex doesn't compile -#ifndef KOKKOS_ENABLE_HIP // FIXME_HIP Kokkos::complex a(1.5, 2.5), b(3.25, 5.25), r_kk; std::complex sa(a), sb(3.25, 5.25), r; r = a; @@ -101,7 +100,6 @@ struct TestComplexConstruction { r_kk = a; ASSERT_FLOAT_EQ(r.real(), r_kk.real()); ASSERT_FLOAT_EQ(r.imag(), r_kk.imag()); -#endif } KOKKOS_INLINE_FUNCTION diff --git a/lib/kokkos/core/unit_test/TestConcurrentBitset.hpp b/lib/kokkos/core/unit_test/TestConcurrentBitset.hpp index db451495b460cb11c1fc368447ba4ad93f447fac..5a7b8e4bae55565c277637e8f04909029ea37ba7 100644 --- a/lib/kokkos/core/unit_test/TestConcurrentBitset.hpp +++ b/lib/kokkos/core/unit_test/TestConcurrentBitset.hpp @@ -57,8 +57,8 @@ namespace Test { template struct ConcurrentBitset { - typedef Kokkos::View view_unsigned_type; - typedef Kokkos::View view_int_type; + using view_unsigned_type = Kokkos::View; + using view_int_type = Kokkos::View; view_unsigned_type bitset; view_int_type acquired; @@ -117,9 +117,9 @@ struct ConcurrentBitset { template void test_concurrent_bitset(int bit_count) { - typedef ConcurrentBitset Functor; - typedef typename Functor::view_unsigned_type view_unsigned_type; - typedef typename Functor::view_int_type view_int_type; + using Functor = ConcurrentBitset; + using view_unsigned_type = typename Functor::view_unsigned_type; + using view_int_type = typename Functor::view_int_type; int bit_count_lg2 = 1; diff --git a/lib/kokkos/core/unit_test/TestCrs.hpp b/lib/kokkos/core/unit_test/TestCrs.hpp index 296235aad01fe689e2252a9bcbfe2fc3fa693abe..78208c911606379ff2635ddfdf940d6251973d9f 100644 --- a/lib/kokkos/core/unit_test/TestCrs.hpp +++ b/lib/kokkos/core/unit_test/TestCrs.hpp @@ -176,7 +176,7 @@ void test_count_fill(std::int32_t nrows) { template void test_constructor(std::int32_t nrows) { for (int nTest = 1; nTest < 5; nTest++) { - typedef Kokkos::Crs crs_type; + using crs_type = Kokkos::Crs; crs_type graph; Kokkos::count_and_fill_crs(graph, nrows, CountFillFunctor()); ASSERT_EQ(graph.numRows(), nrows); diff --git a/lib/kokkos/core/unit_test/TestDeepCopy.hpp b/lib/kokkos/core/unit_test/TestDeepCopy.hpp index 56c259ff6a3f3f10825320020eb82dbfa300bccf..8158f4058082c65445b6fa15dddd7f56b476fd8d 100644 --- a/lib/kokkos/core/unit_test/TestDeepCopy.hpp +++ b/lib/kokkos/core/unit_test/TestDeepCopy.hpp @@ -6,13 +6,13 @@ namespace Test { namespace Impl { template struct TestDeepCopy { - typedef Kokkos::View a_base_t; - typedef Kokkos::View b_base_t; - typedef Kokkos::View a_char_t; - typedef Kokkos::View b_char_t; + using a_base_t = Kokkos::View; + using b_base_t = Kokkos::View; + using a_char_t = Kokkos::View; + using b_char_t = Kokkos::View; - typedef Kokkos::RangePolicy policyA_t; - typedef Kokkos::RangePolicy policyB_t; + using policyA_t = Kokkos::RangePolicy; + using policyB_t = Kokkos::RangePolicy; static void reset_a_copy_and_b( Kokkos::View a_char_copy, @@ -213,8 +213,6 @@ TEST(TEST_CATEGORY, deep_copy_alignment) { } #endif -// KOKKOS_IMPL_HIP_CLANG_WORKAROUND -#ifndef KOKKOS_ENABLE_HIP namespace Impl { template struct TestDeepCopyScalarConversion { @@ -355,5 +353,4 @@ TEST(TEST_CATEGORY, deep_copy_conversion) { Impl::TestDeepCopyScalarConversion().run_tests( N0, N1); } -#endif } // namespace Test diff --git a/lib/kokkos/core/unit_test/TestDefaultDeviceTypeInit.hpp b/lib/kokkos/core/unit_test/TestDefaultDeviceTypeInit.hpp index 33c736c5e01aa2b0e1b33a4b813749ee68ebd220..2704cd7a713eeb8bad295de94ec881416ff51a93 100644 --- a/lib/kokkos/core/unit_test/TestDefaultDeviceTypeInit.hpp +++ b/lib/kokkos/core/unit_test/TestDefaultDeviceTypeInit.hpp @@ -117,7 +117,7 @@ char** init_kokkos_args(bool do_threads, bool do_numa, bool do_device, if (do_device) { init_args.device_id = 0; - sprintf(args_kokkos[device_idx], "--device=%i", 0); + sprintf(args_kokkos[device_idx], "--device-id=%i", 0); } if (do_other) { @@ -186,13 +186,8 @@ Kokkos::InitArguments init_initstruct(bool do_threads, bool do_numa, } void check_correct_initialization(const Kokkos::InitArguments& argstruct) { -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - ASSERT_EQ(Kokkos::DefaultExecutionSpace::is_initialized(), 1); - ASSERT_EQ(Kokkos::HostSpace::execution_space::is_initialized(), 1); -#else ASSERT_EQ(Kokkos::DefaultExecutionSpace::impl_is_initialized(), 1); ASSERT_EQ(Kokkos::HostSpace::execution_space::impl_is_initialized(), 1); -#endif // Figure out the number of threads the HostSpace ExecutionSpace should have // initialized to. @@ -258,13 +253,8 @@ void check_correct_initialization(const Kokkos::InitArguments& argstruct) { #endif } -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - ASSERT_EQ(Kokkos::HostSpace::execution_space::thread_pool_size(), - expected_nthreads); -#else ASSERT_EQ(Kokkos::HostSpace::execution_space::impl_thread_pool_size(), expected_nthreads); -#endif #ifdef KOKKOS_ENABLE_CUDA if (std::is_same::value) { @@ -273,7 +263,7 @@ void check_correct_initialization(const Kokkos::InitArguments& argstruct) { int expected_device = argstruct.device_id; if (argstruct.device_id < 0) { - expected_device = 0; + expected_device = Kokkos::Cuda().cuda_device(); } ASSERT_EQ(expected_device, device); diff --git a/lib/kokkos/core/unit_test/TestFunctorAnalysis.hpp b/lib/kokkos/core/unit_test/TestFunctorAnalysis.hpp index 5e72972bedc5e9e72281c282f72e22815e30da16..d9e2486a4a9e2c6edcea39968d85e4773b38c484 100644 --- a/lib/kokkos/core/unit_test/TestFunctorAnalysis.hpp +++ b/lib/kokkos/core/unit_test/TestFunctorAnalysis.hpp @@ -70,12 +70,12 @@ template void test_functor_analysis() { //------------------------------ auto c01 = KOKKOS_LAMBDA(int){}; - typedef Kokkos::Impl::FunctorAnalysis< - Kokkos::Impl::FunctorPatternInterface::FOR, - Kokkos::RangePolicy, decltype(c01)> - A01; + using A01 = + Kokkos::Impl::FunctorAnalysis, + decltype(c01)>; - typedef typename A01::template Reducer R01; + using R01 = typename A01::template Reducer; static_assert(std::is_same::value, ""); static_assert(std::is_same::value, ""); @@ -90,12 +90,11 @@ void test_functor_analysis() { ASSERT_EQ(R01(&c01).length(), 0); //------------------------------ - auto c02 = KOKKOS_LAMBDA(int, double&){}; - typedef Kokkos::Impl::FunctorAnalysis< + auto c02 = KOKKOS_LAMBDA(int, double&){}; + using A02 = Kokkos::Impl::FunctorAnalysis< Kokkos::Impl::FunctorPatternInterface::REDUCE, - Kokkos::RangePolicy, decltype(c02)> - A02; - typedef typename A02::template Reducer R02; + Kokkos::RangePolicy, decltype(c02)>; + using R02 = typename A02::template Reducer; static_assert(std::is_same::value, ""); static_assert(std::is_same::value, ""); @@ -112,11 +111,10 @@ void test_functor_analysis() { //------------------------------ TestFunctorAnalysis_03 c03; - typedef Kokkos::Impl::FunctorAnalysis< + using A03 = Kokkos::Impl::FunctorAnalysis< Kokkos::Impl::FunctorPatternInterface::REDUCE, - Kokkos::RangePolicy, TestFunctorAnalysis_03> - A03; - typedef typename A03::template Reducer R03; + Kokkos::RangePolicy, TestFunctorAnalysis_03>; + using R03 = typename A03::template Reducer; static_assert(std::is_same::value, diff --git a/lib/kokkos/core/unit_test/TestIrregularLayout.hpp b/lib/kokkos/core/unit_test/TestIrregularLayout.hpp new file mode 100644 index 0000000000000000000000000000000000000000..7e37e14655b87f0b84165bed4d3c97a25c131afc --- /dev/null +++ b/lib/kokkos/core/unit_test/TestIrregularLayout.hpp @@ -0,0 +1,264 @@ +/* +//@HEADER +// ************************************************************************ +// +// Kokkos v. 3.0 +// Copyright (2020) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). +// +// Under the terms of Contract DE-NA0003525 with NTESS, +// the U.S. Government retains certain rights in this software. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// +// 3. Neither the name of the Corporation nor the names of the +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY +// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE +// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// +// Questions? Contact Christian R. Trott (crtrott@sandia.gov) +// +// ************************************************************************ +//@HEADER +*/ + +#include +#include +#include +#include +#include +#define OFFSET_LIST_MAX_SIZE 100 + +namespace Kokkos { + +struct LayoutSelective { + //! Tag this class as a kokkos array layout + using array_layout = LayoutSelective; + + size_t offset_list[OFFSET_LIST_MAX_SIZE]; + size_t list_size; + + enum { is_extent_constructible = false }; + + KOKKOS_INLINE_FUNCTION + LayoutSelective() { + for (int i = 0; i < OFFSET_LIST_MAX_SIZE; i++) { + offset_list[i] = i; + } + } + + KOKKOS_INLINE_FUNCTION + void assign(const size_t ol_[], const size_t size_) { + list_size = size_; + for (int i = 0; i < (int)list_size; i++) { + offset_list[i] = ol_[i]; + } + } + + KOKKOS_INLINE_FUNCTION + LayoutSelective(LayoutSelective const& rhs) { + assign(rhs.offset_list, rhs.list_size); + } + + KOKKOS_INLINE_FUNCTION + LayoutSelective(LayoutSelective&& rhs) { + assign(rhs.offset_list, rhs.list_size); + } + KOKKOS_INLINE_FUNCTION + LayoutSelective& operator=(LayoutSelective const& rhs) { + assign(rhs.offset_list, rhs.list_size); + return *this; + } + KOKKOS_INLINE_FUNCTION + LayoutSelective& operator=(LayoutSelective&& rhs) { + assign(rhs.offset_list, rhs.list_size); + return *this; + } + + KOKKOS_INLINE_FUNCTION + explicit LayoutSelective(const size_t ol_[], const size_t size_) { + assign(ol_, size_); + } + + KOKKOS_INLINE_FUNCTION + size_t offset(size_t ndx) const { + KOKKOS_ASSERT(ndx < list_size); + return offset_list[ndx]; + } +}; + +namespace Impl { +template +struct ViewOffset { + public: + using is_mapping_plugin = std::true_type; + using is_regular = std::false_type; + + using size_type = size_t; + using dimension_type = Dimension; + using array_layout = Kokkos::LayoutSelective; + + //---------------------------------------- + dimension_type m_dim; + array_layout m_selective; + + // rank 1 + template + KOKKOS_INLINE_FUNCTION size_type operator()(I0 const& i0) const { + return m_selective.offset(i0); + } + + // This ViewOffset and the underlying layout only supports rank 1 Views + + //---------------------------------------- + + KOKKOS_INLINE_FUNCTION + array_layout layout() const { return array_layout(); } + + KOKKOS_INLINE_FUNCTION constexpr size_type dimension_0() const { + return m_dim.N0; + } + + /* Cardinality of the domain index space */ + KOKKOS_INLINE_FUNCTION + constexpr size_type size() const { return m_dim.N0; } + + public: + /* Span of the range space, largest stride * dimension */ + KOKKOS_INLINE_FUNCTION + constexpr size_type span() const { return m_dim.N0; } + + KOKKOS_INLINE_FUNCTION constexpr bool span_is_contiguous() const { + return false; + } + + /* Strides of dimensions */ + KOKKOS_INLINE_FUNCTION constexpr size_type stride_0() const { return 1; } + + // Stride with [ rank ] value is the total length + template + KOKKOS_INLINE_FUNCTION void stride(iType* const s) const { + if (0 < dimension_type::rank) { + s[0] = 1; + } + for (int i = 1; i < 8; i++) s[i] = 0; + s[dimension_type::rank] = span(); + } + + //---------------------------------------- + ViewOffset() = default; + ViewOffset(const ViewOffset&) = default; + ViewOffset& operator=(const ViewOffset&) = default; + + KOKKOS_INLINE_FUNCTION + ViewOffset(std::integral_constant const&, + Kokkos::LayoutSelective const& rhs) + : m_dim(rhs.list_size, 0, 0, 0, 0, 0, 0, 0), m_selective(rhs) {} +}; + +} // namespace Impl +} // namespace Kokkos + +namespace Test { + +class InnerClass { + public: + long data[100]; + + KOKKOS_INLINE_FUNCTION + InnerClass() { + for (int i = 0; i < 100; i++) { + data[i] = (long)i; + } + } + + KOKKOS_INLINE_FUNCTION + void update(long d) { + for (int i = 0; i < 100; i++) { + data[i] += d; + } + } + + KOKKOS_INLINE_FUNCTION + void set(long d) { + for (int i = 0; i < 100; i++) { + data[i] = d; + } + } +}; + +template +struct TestLayout { + const int N = 100; + size_t offsets[2] = {20, 40}; + using Layout = Kokkos::LayoutRight; + using SubLayout = Kokkos::LayoutSelective; + + // Allocate y, x vectors and Matrix A on device. + using ViewVectorType = + Kokkos::View; + using SubViewVectorType = Kokkos::View; + struct InitTag {}; + struct UpdateTag {}; + + ViewVectorType a; + SubLayout sl; + SubViewVectorType b; + TestLayout() : a("a", N), sl(offsets, 2), b(a.data(), sl) {} + + void run_test() { + Kokkos::parallel_for(Kokkos::RangePolicy(0, N), + *this); + + Kokkos::parallel_for(Kokkos::RangePolicy(0, 2), + *this); + + validate_results(); + } + + // set all values + KOKKOS_INLINE_FUNCTION + void operator()(const InitTag&, const int i) const { a(i).update(i); } + + // update selective values + KOKKOS_INLINE_FUNCTION + void operator()(const UpdateTag&, const int i) const { + b(i).set(200 * (i + 1)); + } + + void validate_results() { + auto a_h = Kokkos::create_mirror_view(a); + Kokkos::deep_copy(a_h, a); + ASSERT_EQ(a_h(20).data[0], 200); + ASSERT_EQ(a_h(40).data[0], 400); + } +}; + +TEST(TEST_CATEGORY, view_irregular_layout) { + TestLayout tl; + tl.run_test(); +} + +} // namespace Test diff --git a/lib/kokkos/core/unit_test/TestLocalDeepCopy.hpp b/lib/kokkos/core/unit_test/TestLocalDeepCopy.hpp index c776481c706878f674ced031a7eecbe28223383d..80feb11f9b711bdbe2816d45d5df4c313e4c0865 100644 --- a/lib/kokkos/core/unit_test/TestLocalDeepCopy.hpp +++ b/lib/kokkos/core/unit_test/TestLocalDeepCopy.hpp @@ -68,8 +68,8 @@ void impl_test_local_deepcopy_teampolicy_rank_1(const int N) { Kokkos::subview(A, 1, 1, 1, 1, 1, 1, Kokkos::ALL(), Kokkos::ALL()); Kokkos::deep_copy(subA, 10.0); - typedef Kokkos::TeamPolicy team_policy; - typedef typename Kokkos::TeamPolicy::member_type member_type; + using team_policy = Kokkos::TeamPolicy; + using member_type = typename Kokkos::TeamPolicy::member_type; // Deep Copy Kokkos::parallel_for( @@ -130,8 +130,8 @@ void impl_test_local_deepcopy_teampolicy_rank_2(const int N) { Kokkos::ALL()); Kokkos::deep_copy(subA, 10.0); - typedef Kokkos::TeamPolicy team_policy; - typedef typename Kokkos::TeamPolicy::member_type member_type; + using team_policy = Kokkos::TeamPolicy; + using member_type = typename Kokkos::TeamPolicy::member_type; // Deep Copy Kokkos::parallel_for( @@ -195,8 +195,8 @@ void impl_test_local_deepcopy_teampolicy_rank_3(const int N) { Kokkos::ALL(), Kokkos::ALL()); Kokkos::deep_copy(subA, 10.0); - typedef Kokkos::TeamPolicy team_policy; - typedef typename Kokkos::TeamPolicy::member_type member_type; + using team_policy = Kokkos::TeamPolicy; + using member_type = typename Kokkos::TeamPolicy::member_type; // Deep Copy Kokkos::parallel_for( @@ -260,8 +260,8 @@ void impl_test_local_deepcopy_teampolicy_rank_4(const int N) { Kokkos::ALL(), Kokkos::ALL(), Kokkos::ALL()); Kokkos::deep_copy(subA, 10.0); - typedef Kokkos::TeamPolicy team_policy; - typedef typename Kokkos::TeamPolicy::member_type member_type; + using team_policy = Kokkos::TeamPolicy; + using member_type = typename Kokkos::TeamPolicy::member_type; // Deep Copy Kokkos::parallel_for( @@ -329,8 +329,8 @@ void impl_test_local_deepcopy_teampolicy_rank_5(const int N) { Kokkos::ALL(), Kokkos::ALL(), Kokkos::ALL()); Kokkos::deep_copy(subA, 10.0); - typedef Kokkos::TeamPolicy team_policy; - typedef typename Kokkos::TeamPolicy::member_type member_type; + using team_policy = Kokkos::TeamPolicy; + using member_type = typename Kokkos::TeamPolicy::member_type; // Deep Copy Kokkos::parallel_for( @@ -398,8 +398,8 @@ void impl_test_local_deepcopy_teampolicy_rank_6(const int N) { Kokkos::ALL()); Kokkos::deep_copy(subA, 10.0); - typedef Kokkos::TeamPolicy team_policy; - typedef typename Kokkos::TeamPolicy::member_type member_type; + using team_policy = Kokkos::TeamPolicy; + using member_type = typename Kokkos::TeamPolicy::member_type; // Deep Copy Kokkos::parallel_for( @@ -464,8 +464,8 @@ void impl_test_local_deepcopy_teampolicy_rank_7(const int N) { // Initialize A matrix. Kokkos::deep_copy(A, 10.0); - typedef Kokkos::TeamPolicy team_policy; - typedef typename Kokkos::TeamPolicy::member_type member_type; + using team_policy = Kokkos::TeamPolicy; + using member_type = typename Kokkos::TeamPolicy::member_type; // Deep Copy Kokkos::parallel_for( @@ -935,8 +935,8 @@ void impl_test_local_deepcopy_rangepolicy_rank_7(const int N) { #if defined(KOKKOS_ENABLE_CXX11_DISPATCH_LAMBDA) TEST(TEST_CATEGORY, local_deepcopy_teampolicy_layoutleft) { - typedef TEST_EXECSPACE ExecSpace; - typedef Kokkos::View ViewType; + using ExecSpace = TEST_EXECSPACE; + using ViewType = Kokkos::View; { // Rank-1 impl_test_local_deepcopy_teampolicy_rank_1(8); @@ -962,8 +962,8 @@ TEST(TEST_CATEGORY, local_deepcopy_teampolicy_layoutleft) { } //------------------------------------------------------------------------------------------------------------- TEST(TEST_CATEGORY, local_deepcopy_rangepolicy_layoutleft) { - typedef TEST_EXECSPACE ExecSpace; - typedef Kokkos::View ViewType; + using ExecSpace = TEST_EXECSPACE; + using ViewType = Kokkos::View; { // Rank-1 impl_test_local_deepcopy_rangepolicy_rank_1(8); @@ -989,8 +989,8 @@ TEST(TEST_CATEGORY, local_deepcopy_rangepolicy_layoutleft) { } //------------------------------------------------------------------------------------------------------------- TEST(TEST_CATEGORY, local_deepcopy_teampolicy_layoutright) { - typedef TEST_EXECSPACE ExecSpace; - typedef Kokkos::View ViewType; + using ExecSpace = TEST_EXECSPACE; + using ViewType = Kokkos::View; { // Rank-1 impl_test_local_deepcopy_teampolicy_rank_1(8); @@ -1016,8 +1016,8 @@ TEST(TEST_CATEGORY, local_deepcopy_teampolicy_layoutright) { } //------------------------------------------------------------------------------------------------------------- TEST(TEST_CATEGORY, local_deepcopy_rangepolicy_layoutright) { - typedef TEST_EXECSPACE ExecSpace; - typedef Kokkos::View ViewType; + using ExecSpace = TEST_EXECSPACE; + using ViewType = Kokkos::View; { // Rank-1 impl_test_local_deepcopy_rangepolicy_rank_1(8); diff --git a/lib/kokkos/core/unit_test/TestMDRange.hpp b/lib/kokkos/core/unit_test/TestMDRange.hpp index c4288f21a111a297dd7f973781853c46d1560bb8..ceb68b314eed374fcaaa1757cc9871adddf17bbf 100644 --- a/lib/kokkos/core/unit_test/TestMDRange.hpp +++ b/lib/kokkos/core/unit_test/TestMDRange.hpp @@ -103,14 +103,14 @@ struct TestMDRange_ReduceArray_2D { static void test_arrayreduce2(const int N0, const int N1) { { - typedef typename Kokkos::MDRangePolicy, - Kokkos::IndexType, InitTag> - range_type_init; - typedef typename Kokkos::MDRangePolicy, - Kokkos::IndexType > - range_type; - typedef typename range_type::tile_type tile_type; - typedef typename range_type::point_type point_type; + using range_type_init = + typename Kokkos::MDRangePolicy, + Kokkos::IndexType, InitTag>; + using range_type = + typename Kokkos::MDRangePolicy, + Kokkos::IndexType >; + using tile_type = typename range_type::tile_type; + using point_type = typename range_type::point_type; range_type_init range_init(point_type{{0, 0}}, point_type{{N0, N1}}, tile_type{{3, 3}}); @@ -190,14 +190,14 @@ struct TestMDRange_ReduceArray_3D { static void test_arrayreduce3(const int N0, const int N1, const int N2) { { - typedef typename Kokkos::MDRangePolicy, - Kokkos::IndexType, InitTag> - range_type_init; - typedef typename Kokkos::MDRangePolicy, - Kokkos::IndexType > - range_type; - typedef typename range_type::tile_type tile_type; - typedef typename range_type::point_type point_type; + using range_type_init = + typename Kokkos::MDRangePolicy, + Kokkos::IndexType, InitTag>; + using range_type = + typename Kokkos::MDRangePolicy, + Kokkos::IndexType >; + using tile_type = typename range_type::tile_type; + using point_type = typename range_type::point_type; range_type_init range_init(point_type{{0, 0, 0}}, point_type{{N0, N1, N2}}, @@ -257,11 +257,11 @@ struct TestMDRange_2D { static void test_reduce2(const int N0, const int N1) { #if defined(KOKKOS_ENABLE_CXX11_DISPATCH_LAMBDA) { - typedef typename Kokkos::MDRangePolicy, - Kokkos::IndexType > - range_type; - typedef typename range_type::tile_type tile_type; - typedef typename range_type::point_type point_type; + using range_type = + typename Kokkos::MDRangePolicy, + Kokkos::IndexType >; + using tile_type = typename range_type::tile_type; + using point_type = typename range_type::point_type; range_type range(point_type{{0, 0}}, point_type{{N0, N1}}, tile_type{{3, 3}}); @@ -277,11 +277,11 @@ struct TestMDRange_2D { #endif { - typedef typename Kokkos::MDRangePolicy, - Kokkos::IndexType > - range_type; - typedef typename range_type::tile_type tile_type; - typedef typename range_type::point_type point_type; + using range_type = + typename Kokkos::MDRangePolicy, + Kokkos::IndexType >; + using tile_type = typename range_type::tile_type; + using point_type = typename range_type::point_type; range_type range(point_type{{0, 0}}, point_type{{N0, N1}}, tile_type{{3, 3}}); @@ -297,9 +297,9 @@ struct TestMDRange_2D { // Test with reducers - scalar { - typedef typename Kokkos::MDRangePolicy, - Kokkos::IndexType > - range_type; + using range_type = + typename Kokkos::MDRangePolicy, + Kokkos::IndexType >; int s0 = 1; int s1 = 1; range_type range({{s0, s1}}, {{N0, N1}}, {{3, 3}}); @@ -317,9 +317,9 @@ struct TestMDRange_2D { } // Test with reducers - scalar + label { - typedef typename Kokkos::MDRangePolicy, - Kokkos::IndexType > - range_type; + using range_type = + typename Kokkos::MDRangePolicy, + Kokkos::IndexType >; int s0 = 1; int s1 = 1; range_type range({{s0, s1}}, {{N0, N1}}, {{3, 3}}); @@ -337,9 +337,9 @@ struct TestMDRange_2D { } // Test with reducers - scalar view { - typedef typename Kokkos::MDRangePolicy, - Kokkos::IndexType > - range_type; + using range_type = + typename Kokkos::MDRangePolicy, + Kokkos::IndexType >; range_type range({{0, 0}}, {{N0, N1}}, {{3, 3}}); TestMDRange_2D functor(N0, N1); @@ -360,9 +360,9 @@ struct TestMDRange_2D { // Test Min reducer with lambda #if defined(KOKKOS_ENABLE_CXX11_DISPATCH_LAMBDA) { - typedef typename Kokkos::MDRangePolicy, - Kokkos::IndexType > - range_type; + using range_type = + typename Kokkos::MDRangePolicy, + Kokkos::IndexType >; range_type range({{1, 1}}, {{N0, N1}}, {{3, 3}}); Kokkos::View v_in("v_in", N0, N1); @@ -387,12 +387,11 @@ struct TestMDRange_2D { #endif // Tagged operator test { - typedef typename Kokkos::MDRangePolicy< + using range_type = typename Kokkos::MDRangePolicy< ExecSpace, Kokkos::Rank<2, Iterate::Default, Iterate::Default>, - Kokkos::IndexType, InitTag> - range_type; - typedef typename range_type::tile_type tile_type; - typedef typename range_type::point_type point_type; + Kokkos::IndexType, InitTag>; + using tile_type = typename range_type::tile_type; + using point_type = typename range_type::point_type; range_type range(point_type{{0, 0}}, point_type{{N0, N1}}, tile_type{{2, 4}}); @@ -426,12 +425,11 @@ struct TestMDRange_2D { } { - typedef typename Kokkos::MDRangePolicy< + using range_type = typename Kokkos::MDRangePolicy< ExecSpace, Kokkos::Rank<2, Iterate::Default, Iterate::Default>, - Kokkos::IndexType > - range_type; - typedef typename range_type::tile_type tile_type; - typedef typename range_type::point_type point_type; + Kokkos::IndexType >; + using tile_type = typename range_type::tile_type; + using point_type = typename range_type::point_type; range_type range(point_type{{0, 0}}, point_type{{N0, N1}}, tile_type{{2, 6}}); @@ -446,12 +444,11 @@ struct TestMDRange_2D { } { - typedef typename Kokkos::MDRangePolicy< + using range_type = typename Kokkos::MDRangePolicy< ExecSpace, Kokkos::Rank<2, Iterate::Left, Iterate::Left>, - Kokkos::IndexType > - range_type; - typedef typename range_type::tile_type tile_type; - typedef typename range_type::point_type point_type; + Kokkos::IndexType >; + using tile_type = typename range_type::tile_type; + using point_type = typename range_type::point_type; range_type range(point_type{{0, 0}}, point_type{{N0, N1}}, tile_type{{2, 6}}); @@ -466,12 +463,11 @@ struct TestMDRange_2D { } { - typedef typename Kokkos::MDRangePolicy< + using range_type = typename Kokkos::MDRangePolicy< ExecSpace, Kokkos::Rank<2, Iterate::Left, Iterate::Right>, - Kokkos::IndexType > - range_type; - typedef typename range_type::tile_type tile_type; - typedef typename range_type::point_type point_type; + Kokkos::IndexType >; + using tile_type = typename range_type::tile_type; + using point_type = typename range_type::point_type; range_type range(point_type{{0, 0}}, point_type{{N0, N1}}, tile_type{{2, 6}}); @@ -486,12 +482,11 @@ struct TestMDRange_2D { } { - typedef typename Kokkos::MDRangePolicy< + using range_type = typename Kokkos::MDRangePolicy< ExecSpace, Kokkos::Rank<2, Iterate::Right, Iterate::Left>, - Kokkos::IndexType > - range_type; - typedef typename range_type::tile_type tile_type; - typedef typename range_type::point_type point_type; + Kokkos::IndexType >; + using tile_type = typename range_type::tile_type; + using point_type = typename range_type::point_type; range_type range(point_type{{0, 0}}, point_type{{N0, N1}}, tile_type{{2, 6}}); @@ -506,12 +501,11 @@ struct TestMDRange_2D { } { - typedef typename Kokkos::MDRangePolicy< + using range_type = typename Kokkos::MDRangePolicy< ExecSpace, Kokkos::Rank<2, Iterate::Right, Iterate::Right>, - Kokkos::IndexType > - range_type; - typedef typename range_type::tile_type tile_type; - typedef typename range_type::point_type point_type; + Kokkos::IndexType >; + using tile_type = typename range_type::tile_type; + using point_type = typename range_type::point_type; range_type range(point_type{{0, 0}}, point_type{{N0, N1}}, tile_type{{2, 6}}); @@ -529,11 +523,11 @@ struct TestMDRange_2D { static void test_for2(const int N0, const int N1) { #if defined(KOKKOS_ENABLE_CXX11_DISPATCH_LAMBDA) { - typedef typename Kokkos::MDRangePolicy, - Kokkos::IndexType > - range_type; - typedef typename range_type::tile_type tile_type; - typedef typename range_type::point_type point_type; + using range_type = + typename Kokkos::MDRangePolicy, + Kokkos::IndexType >; + using tile_type = typename range_type::tile_type; + using point_type = typename range_type::point_type; const int s0 = 1; const int s1 = 1; @@ -569,11 +563,11 @@ struct TestMDRange_2D { #endif { - typedef typename Kokkos::MDRangePolicy, - Kokkos::IndexType, InitTag> - range_type; - typedef typename range_type::tile_type tile_type; - typedef typename range_type::point_type point_type; + using range_type = + typename Kokkos::MDRangePolicy, + Kokkos::IndexType, InitTag>; + using tile_type = typename range_type::tile_type; + using point_type = typename range_type::point_type; const int s0 = 1; const int s1 = 1; @@ -605,11 +599,10 @@ struct TestMDRange_2D { } { - typedef - typename Kokkos::MDRangePolicy, InitTag> - range_type; - typedef typename range_type::tile_type tile_type; - typedef typename range_type::point_type point_type; + using range_type = + typename Kokkos::MDRangePolicy, InitTag>; + using tile_type = typename range_type::tile_type; + using point_type = typename range_type::point_type; range_type range(point_type{{0, 0}}, point_type{{N0, N1}}, tile_type{{3, 3}}); @@ -639,10 +632,9 @@ struct TestMDRange_2D { } { - typedef - typename Kokkos::MDRangePolicy, InitTag> - range_type; - typedef typename range_type::point_type point_type; + using range_type = + typename Kokkos::MDRangePolicy, InitTag>; + using point_type = typename range_type::point_type; range_type range(point_type{{0, 0}}, point_type{{N0, N1}}); TestMDRange_2D functor(N0, N1); @@ -671,11 +663,11 @@ struct TestMDRange_2D { } { - typedef typename Kokkos::MDRangePolicy, - Kokkos::IndexType > - range_type; - typedef typename range_type::tile_type tile_type; - typedef typename range_type::point_type point_type; + using range_type = + typename Kokkos::MDRangePolicy, + Kokkos::IndexType >; + using tile_type = typename range_type::tile_type; + using point_type = typename range_type::point_type; range_type range(point_type{{0, 0}}, point_type{{N0, N1}}, tile_type{{3, 3}}); @@ -702,12 +694,11 @@ struct TestMDRange_2D { } { - typedef typename Kokkos::MDRangePolicy< + using range_type = typename Kokkos::MDRangePolicy< ExecSpace, Kokkos::Rank<2, Iterate::Default, Iterate::Default>, - Kokkos::IndexType > - range_type; - typedef typename range_type::tile_type tile_type; - typedef typename range_type::point_type point_type; + Kokkos::IndexType >; + using tile_type = typename range_type::tile_type; + using point_type = typename range_type::point_type; range_type range(point_type{{0, 0}}, point_type{{N0, N1}}, tile_type{{4, 4}}); @@ -734,12 +725,11 @@ struct TestMDRange_2D { } { - typedef typename Kokkos::MDRangePolicy< + using range_type = typename Kokkos::MDRangePolicy< ExecSpace, Kokkos::Rank<2, Iterate::Left, Iterate::Left>, - Kokkos::IndexType > - range_type; - typedef typename range_type::tile_type tile_type; - typedef typename range_type::point_type point_type; + Kokkos::IndexType >; + using tile_type = typename range_type::tile_type; + using point_type = typename range_type::point_type; range_type range(point_type{{0, 0}}, point_type{{N0, N1}}, tile_type{{3, 3}}); @@ -766,12 +756,11 @@ struct TestMDRange_2D { } { - typedef typename Kokkos::MDRangePolicy< + using range_type = typename Kokkos::MDRangePolicy< ExecSpace, Kokkos::Rank<2, Iterate::Left, Iterate::Right>, - Kokkos::IndexType > - range_type; - typedef typename range_type::tile_type tile_type; - typedef typename range_type::point_type point_type; + Kokkos::IndexType >; + using tile_type = typename range_type::tile_type; + using point_type = typename range_type::point_type; range_type range(point_type{{0, 0}}, point_type{{N0, N1}}, tile_type{{7, 7}}); @@ -798,12 +787,11 @@ struct TestMDRange_2D { } { - typedef typename Kokkos::MDRangePolicy< + using range_type = typename Kokkos::MDRangePolicy< ExecSpace, Kokkos::Rank<2, Iterate::Right, Iterate::Left>, - Kokkos::IndexType > - range_type; - typedef typename range_type::tile_type tile_type; - typedef typename range_type::point_type point_type; + Kokkos::IndexType >; + using tile_type = typename range_type::tile_type; + using point_type = typename range_type::point_type; range_type range(point_type{{0, 0}}, point_type{{N0, N1}}, tile_type{{16, 16}}); @@ -830,12 +818,11 @@ struct TestMDRange_2D { } { - typedef typename Kokkos::MDRangePolicy< + using range_type = typename Kokkos::MDRangePolicy< ExecSpace, Kokkos::Rank<2, Iterate::Right, Iterate::Right>, - Kokkos::IndexType > - range_type; - typedef typename range_type::tile_type tile_type; - typedef typename range_type::point_type point_type; + Kokkos::IndexType >; + using tile_type = typename range_type::tile_type; + using point_type = typename range_type::point_type; range_type range(point_type{{0, 0}}, point_type{{N0, N1}}, tile_type{{5, 16}}); @@ -904,11 +891,11 @@ struct TestMDRange_3D { static void test_reduce3(const int N0, const int N1, const int N2) { #if defined(KOKKOS_ENABLE_CXX11_DISPATCH_LAMBDA) { - typedef typename Kokkos::MDRangePolicy, - Kokkos::IndexType > - range_type; - typedef typename range_type::tile_type tile_type; - typedef typename range_type::point_type point_type; + using range_type = + typename Kokkos::MDRangePolicy, + Kokkos::IndexType >; + using tile_type = typename range_type::tile_type; + using point_type = typename range_type::point_type; range_type range(point_type{{0, 0, 0}}, point_type{{N0, N1, N2}}, tile_type{{3, 3, 3}}); @@ -923,11 +910,11 @@ struct TestMDRange_3D { #endif { - typedef typename Kokkos::MDRangePolicy, - Kokkos::IndexType > - range_type; - typedef typename range_type::tile_type tile_type; - typedef typename range_type::point_type point_type; + using range_type = + typename Kokkos::MDRangePolicy, + Kokkos::IndexType >; + using tile_type = typename range_type::tile_type; + using point_type = typename range_type::point_type; int s0 = 1; int s1 = 1; @@ -946,9 +933,9 @@ struct TestMDRange_3D { // Test with reducers - scalar { - typedef typename Kokkos::MDRangePolicy, - Kokkos::IndexType > - range_type; + using range_type = + typename Kokkos::MDRangePolicy, + Kokkos::IndexType >; range_type range({{0, 0, 0}}, {{N0, N1, N2}}, {{3, 3, 3}}); TestMDRange_3D functor(N0, N1, N2); @@ -964,9 +951,9 @@ struct TestMDRange_3D { } // Test with reducers - scalar + label { - typedef typename Kokkos::MDRangePolicy, - Kokkos::IndexType > - range_type; + using range_type = + typename Kokkos::MDRangePolicy, + Kokkos::IndexType >; range_type range({{0, 0, 0}}, {{N0, N1, N2}}, {{3, 3, 3}}); TestMDRange_3D functor(N0, N1, N2); @@ -982,9 +969,9 @@ struct TestMDRange_3D { } // Test with reducers - scalar view { - typedef typename Kokkos::MDRangePolicy, - Kokkos::IndexType > - range_type; + using range_type = + typename Kokkos::MDRangePolicy, + Kokkos::IndexType >; range_type range({{0, 0, 0}}, {{N0, N1, N2}}, {{3, 3, 3}}); TestMDRange_3D functor(N0, N1, N2); @@ -1005,9 +992,9 @@ struct TestMDRange_3D { // Test Min reducer with lambda #if defined(KOKKOS_ENABLE_CXX11_DISPATCH_LAMBDA) { - typedef typename Kokkos::MDRangePolicy, - Kokkos::IndexType > - range_type; + using range_type = + typename Kokkos::MDRangePolicy, + Kokkos::IndexType >; range_type range({{1, 1, 1}}, {{N0, N1, N2}}, {{3, 3, 3}}); @@ -1040,12 +1027,11 @@ struct TestMDRange_3D { // Tagged operator test { - typedef typename Kokkos::MDRangePolicy< + using range_type = typename Kokkos::MDRangePolicy< ExecSpace, Kokkos::Rank<3, Iterate::Default, Iterate::Default>, - Kokkos::IndexType, InitTag> - range_type; - typedef typename range_type::tile_type tile_type; - typedef typename range_type::point_type point_type; + Kokkos::IndexType, InitTag>; + using tile_type = typename range_type::tile_type; + using point_type = typename range_type::point_type; range_type range(point_type{{0, 0, 0}}, point_type{{N0, N1, N2}}, tile_type{{2, 4, 6}}); @@ -1080,12 +1066,11 @@ struct TestMDRange_3D { } { - typedef typename Kokkos::MDRangePolicy< + using range_type = typename Kokkos::MDRangePolicy< ExecSpace, Kokkos::Rank<3, Iterate::Default, Iterate::Default>, - Kokkos::IndexType > - range_type; - typedef typename range_type::tile_type tile_type; - typedef typename range_type::point_type point_type; + Kokkos::IndexType >; + using tile_type = typename range_type::tile_type; + using point_type = typename range_type::point_type; range_type range(point_type{{0, 0, 0}}, point_type{{N0, N1, N2}}, tile_type{{2, 4, 6}}); @@ -1100,12 +1085,11 @@ struct TestMDRange_3D { } { - typedef typename Kokkos::MDRangePolicy< + using range_type = typename Kokkos::MDRangePolicy< ExecSpace, Kokkos::Rank<3, Iterate::Left, Iterate::Left>, - Kokkos::IndexType > - range_type; - typedef typename range_type::tile_type tile_type; - typedef typename range_type::point_type point_type; + Kokkos::IndexType >; + using tile_type = typename range_type::tile_type; + using point_type = typename range_type::point_type; range_type range(point_type{{0, 0, 0}}, point_type{{N0, N1, N2}}, tile_type{{2, 4, 6}}); @@ -1120,12 +1104,11 @@ struct TestMDRange_3D { } { - typedef typename Kokkos::MDRangePolicy< + using range_type = typename Kokkos::MDRangePolicy< ExecSpace, Kokkos::Rank<3, Iterate::Left, Iterate::Right>, - Kokkos::IndexType > - range_type; - typedef typename range_type::tile_type tile_type; - typedef typename range_type::point_type point_type; + Kokkos::IndexType >; + using tile_type = typename range_type::tile_type; + using point_type = typename range_type::point_type; range_type range(point_type{{0, 0, 0}}, point_type{{N0, N1, N2}}, tile_type{{2, 4, 6}}); @@ -1140,12 +1123,11 @@ struct TestMDRange_3D { } { - typedef typename Kokkos::MDRangePolicy< + using range_type = typename Kokkos::MDRangePolicy< ExecSpace, Kokkos::Rank<3, Iterate::Right, Iterate::Left>, - Kokkos::IndexType > - range_type; - typedef typename range_type::tile_type tile_type; - typedef typename range_type::point_type point_type; + Kokkos::IndexType >; + using tile_type = typename range_type::tile_type; + using point_type = typename range_type::point_type; range_type range(point_type{{0, 0, 0}}, point_type{{N0, N1, N2}}, tile_type{{2, 4, 6}}); @@ -1160,12 +1142,11 @@ struct TestMDRange_3D { } { - typedef typename Kokkos::MDRangePolicy< + using range_type = typename Kokkos::MDRangePolicy< ExecSpace, Kokkos::Rank<3, Iterate::Right, Iterate::Right>, - Kokkos::IndexType > - range_type; - typedef typename range_type::tile_type tile_type; - typedef typename range_type::point_type point_type; + Kokkos::IndexType >; + using tile_type = typename range_type::tile_type; + using point_type = typename range_type::point_type; range_type range(point_type{{0, 0, 0}}, point_type{{N0, N1, N2}}, tile_type{{2, 4, 6}}); @@ -1183,11 +1164,11 @@ struct TestMDRange_3D { static void test_for3(const int N0, const int N1, const int N2) { #if defined(KOKKOS_ENABLE_CXX11_DISPATCH_LAMBDA) { - typedef typename Kokkos::MDRangePolicy, - Kokkos::IndexType > - range_type; - typedef typename range_type::tile_type tile_type; - typedef typename range_type::point_type point_type; + using range_type = + typename Kokkos::MDRangePolicy, + Kokkos::IndexType >; + using tile_type = typename range_type::tile_type; + using point_type = typename range_type::point_type; const int s0 = 1; const int s1 = 1; @@ -1227,9 +1208,9 @@ struct TestMDRange_3D { #endif { - typedef typename Kokkos::MDRangePolicy > - range_type; - typedef typename range_type::point_type point_type; + using range_type = + typename Kokkos::MDRangePolicy >; + using point_type = typename range_type::point_type; range_type range(point_type{{0, 0, 0}}, point_type{{N0, N1, N2}}); TestMDRange_3D functor(N0, N1, N2); @@ -1257,11 +1238,11 @@ struct TestMDRange_3D { } { - typedef typename Kokkos::MDRangePolicy, - Kokkos::IndexType, InitTag> - range_type; - typedef typename range_type::tile_type tile_type; - typedef typename range_type::point_type point_type; + using range_type = + typename Kokkos::MDRangePolicy, + Kokkos::IndexType, InitTag>; + using tile_type = typename range_type::tile_type; + using point_type = typename range_type::point_type; int s0 = 1; int s1 = 1; @@ -1295,11 +1276,11 @@ struct TestMDRange_3D { } { - typedef typename Kokkos::MDRangePolicy, - Kokkos::IndexType > - range_type; - typedef typename range_type::tile_type tile_type; - typedef typename range_type::point_type point_type; + using range_type = + typename Kokkos::MDRangePolicy, + Kokkos::IndexType >; + using tile_type = typename range_type::tile_type; + using point_type = typename range_type::point_type; range_type range(point_type{{0, 0, 0}}, point_type{{N0, N1, N2}}, tile_type{{3, 3, 3}}); @@ -1328,12 +1309,11 @@ struct TestMDRange_3D { } { - typedef typename Kokkos::MDRangePolicy< + using range_type = typename Kokkos::MDRangePolicy< ExecSpace, Kokkos::Rank<3, Iterate::Default, Iterate::Default>, - Kokkos::IndexType > - range_type; - typedef typename range_type::tile_type tile_type; - typedef typename range_type::point_type point_type; + Kokkos::IndexType >; + using tile_type = typename range_type::tile_type; + using point_type = typename range_type::point_type; range_type range(point_type{{0, 0, 0}}, point_type{{N0, N1, N2}}, tile_type{{3, 3, 3}}); @@ -1361,12 +1341,11 @@ struct TestMDRange_3D { } { - typedef typename Kokkos::MDRangePolicy< + using range_type = typename Kokkos::MDRangePolicy< ExecSpace, Kokkos::Rank<3, Iterate::Left, Iterate::Left>, - Kokkos::IndexType > - range_type; - typedef typename range_type::tile_type tile_type; - typedef typename range_type::point_type point_type; + Kokkos::IndexType >; + using tile_type = typename range_type::tile_type; + using point_type = typename range_type::point_type; range_type range(point_type{{0, 0, 0}}, point_type{{N0, N1, N2}}, tile_type{{2, 4, 2}}); @@ -1394,12 +1373,11 @@ struct TestMDRange_3D { } { - typedef typename Kokkos::MDRangePolicy< + using range_type = typename Kokkos::MDRangePolicy< ExecSpace, Kokkos::Rank<3, Iterate::Left, Iterate::Right>, - Kokkos::IndexType > - range_type; - typedef typename range_type::tile_type tile_type; - typedef typename range_type::point_type point_type; + Kokkos::IndexType >; + using tile_type = typename range_type::tile_type; + using point_type = typename range_type::point_type; range_type range(point_type{{0, 0, 0}}, point_type{{N0, N1, N2}}, tile_type{{3, 5, 7}}); @@ -1427,12 +1405,11 @@ struct TestMDRange_3D { } { - typedef typename Kokkos::MDRangePolicy< + using range_type = typename Kokkos::MDRangePolicy< ExecSpace, Kokkos::Rank<3, Iterate::Right, Iterate::Left>, - Kokkos::IndexType > - range_type; - typedef typename range_type::tile_type tile_type; - typedef typename range_type::point_type point_type; + Kokkos::IndexType >; + using tile_type = typename range_type::tile_type; + using point_type = typename range_type::point_type; range_type range(point_type{{0, 0, 0}}, point_type{{N0, N1, N2}}, tile_type{{8, 8, 8}}); @@ -1460,12 +1437,11 @@ struct TestMDRange_3D { } { - typedef typename Kokkos::MDRangePolicy< + using range_type = typename Kokkos::MDRangePolicy< ExecSpace, Kokkos::Rank<3, Iterate::Right, Iterate::Right>, - Kokkos::IndexType > - range_type; - typedef typename range_type::tile_type tile_type; - typedef typename range_type::point_type point_type; + Kokkos::IndexType >; + using tile_type = typename range_type::tile_type; + using point_type = typename range_type::point_type; range_type range(point_type{{0, 0, 0}}, point_type{{N0, N1, N2}}, tile_type{{2, 4, 2}}); @@ -1537,11 +1513,11 @@ struct TestMDRange_4D { const int N3) { #if defined(KOKKOS_ENABLE_CXX11_DISPATCH_LAMBDA) { - typedef typename Kokkos::MDRangePolicy, - Kokkos::IndexType > - range_type; - typedef typename range_type::tile_type tile_type; - typedef typename range_type::point_type point_type; + using range_type = + typename Kokkos::MDRangePolicy, + Kokkos::IndexType >; + using tile_type = typename range_type::tile_type; + using point_type = typename range_type::point_type; range_type range(point_type{{0, 0, 0, 0}}, point_type{{N0, N1, N2, N3}}, tile_type{{3, 3, 3, 3}}); @@ -1556,11 +1532,11 @@ struct TestMDRange_4D { #endif { - typedef typename Kokkos::MDRangePolicy, - Kokkos::IndexType > - range_type; - typedef typename range_type::tile_type tile_type; - typedef typename range_type::point_type point_type; + using range_type = + typename Kokkos::MDRangePolicy, + Kokkos::IndexType >; + using tile_type = typename range_type::tile_type; + using point_type = typename range_type::point_type; int s0 = 1; int s1 = 1; @@ -1580,9 +1556,9 @@ struct TestMDRange_4D { // Test with reducers - scalar { - typedef typename Kokkos::MDRangePolicy, - Kokkos::IndexType > - range_type; + using range_type = + typename Kokkos::MDRangePolicy, + Kokkos::IndexType >; range_type range({{0, 0, 0, 0}}, {{N0, N1, N2, N3}}, {{3, 3, 3, 3}}); TestMDRange_4D functor(N0, N1, N2, N3); @@ -1599,9 +1575,9 @@ struct TestMDRange_4D { // Test with reducers - scalar + label { - typedef typename Kokkos::MDRangePolicy, - Kokkos::IndexType > - range_type; + using range_type = + typename Kokkos::MDRangePolicy, + Kokkos::IndexType >; range_type range({{0, 0, 0, 0}}, {{N0, N1, N2, N3}}, {{3, 3, 3, 3}}); TestMDRange_4D functor(N0, N1, N2, N3); @@ -1618,9 +1594,9 @@ struct TestMDRange_4D { // Test with reducers - scalar view { - typedef typename Kokkos::MDRangePolicy, - Kokkos::IndexType > - range_type; + using range_type = + typename Kokkos::MDRangePolicy, + Kokkos::IndexType >; range_type range({{0, 0, 0, 0}}, {{N0, N1, N2, N3}}, {{3, 3, 3, 3}}); TestMDRange_4D functor(N0, N1, N2, N3); @@ -1642,9 +1618,9 @@ struct TestMDRange_4D { // Test Min reducer with lambda #if defined(KOKKOS_ENABLE_CXX11_DISPATCH_LAMBDA) { - typedef typename Kokkos::MDRangePolicy, - Kokkos::IndexType > - range_type; + using range_type = + typename Kokkos::MDRangePolicy, + Kokkos::IndexType >; range_type range({{1, 1, 1, 1}}, {{N0, N1, N2, N3}}, {{3, 3, 3, 3}}); @@ -1672,12 +1648,11 @@ struct TestMDRange_4D { // Tagged operator test { - typedef typename Kokkos::MDRangePolicy< + using range_type = typename Kokkos::MDRangePolicy< ExecSpace, Kokkos::Rank<4, Iterate::Default, Iterate::Default>, - Kokkos::IndexType, InitTag> - range_type; - typedef typename range_type::tile_type tile_type; - typedef typename range_type::point_type point_type; + Kokkos::IndexType, InitTag>; + using tile_type = typename range_type::tile_type; + using point_type = typename range_type::point_type; range_type range(point_type{{0, 0, 0, 0}}, point_type{{N0, N1, N2, N3}}, tile_type{{2, 4, 6, 2}}); @@ -1714,12 +1689,11 @@ struct TestMDRange_4D { } { - typedef typename Kokkos::MDRangePolicy< + using range_type = typename Kokkos::MDRangePolicy< ExecSpace, Kokkos::Rank<4, Iterate::Default, Iterate::Default>, - Kokkos::IndexType > - range_type; - typedef typename range_type::tile_type tile_type; - typedef typename range_type::point_type point_type; + Kokkos::IndexType >; + using tile_type = typename range_type::tile_type; + using point_type = typename range_type::point_type; range_type range(point_type{{0, 0, 0, 0}}, point_type{{N0, N1, N2, N3}}, tile_type{{2, 4, 6, 2}}); @@ -1734,12 +1708,11 @@ struct TestMDRange_4D { } { - typedef typename Kokkos::MDRangePolicy< + using range_type = typename Kokkos::MDRangePolicy< ExecSpace, Kokkos::Rank<4, Iterate::Left, Iterate::Left>, - Kokkos::IndexType > - range_type; - typedef typename range_type::tile_type tile_type; - typedef typename range_type::point_type point_type; + Kokkos::IndexType >; + using tile_type = typename range_type::tile_type; + using point_type = typename range_type::point_type; range_type range(point_type{{0, 0, 0, 0}}, point_type{{N0, N1, N2, N3}}, tile_type{{2, 4, 6, 2}}); @@ -1754,12 +1727,11 @@ struct TestMDRange_4D { } { - typedef typename Kokkos::MDRangePolicy< + using range_type = typename Kokkos::MDRangePolicy< ExecSpace, Kokkos::Rank<4, Iterate::Left, Iterate::Right>, - Kokkos::IndexType > - range_type; - typedef typename range_type::tile_type tile_type; - typedef typename range_type::point_type point_type; + Kokkos::IndexType >; + using tile_type = typename range_type::tile_type; + using point_type = typename range_type::point_type; range_type range(point_type{{0, 0, 0, 0}}, point_type{{N0, N1, N2, N3}}, tile_type{{2, 4, 6, 2}}); @@ -1774,12 +1746,11 @@ struct TestMDRange_4D { } { - typedef typename Kokkos::MDRangePolicy< + using range_type = typename Kokkos::MDRangePolicy< ExecSpace, Kokkos::Rank<4, Iterate::Right, Iterate::Left>, - Kokkos::IndexType > - range_type; - typedef typename range_type::tile_type tile_type; - typedef typename range_type::point_type point_type; + Kokkos::IndexType >; + using tile_type = typename range_type::tile_type; + using point_type = typename range_type::point_type; range_type range(point_type{{0, 0, 0, 0}}, point_type{{N0, N1, N2, N3}}, tile_type{{2, 4, 6, 2}}); @@ -1794,12 +1765,11 @@ struct TestMDRange_4D { } { - typedef typename Kokkos::MDRangePolicy< + using range_type = typename Kokkos::MDRangePolicy< ExecSpace, Kokkos::Rank<4, Iterate::Right, Iterate::Right>, - Kokkos::IndexType > - range_type; - typedef typename range_type::tile_type tile_type; - typedef typename range_type::point_type point_type; + Kokkos::IndexType >; + using tile_type = typename range_type::tile_type; + using point_type = typename range_type::point_type; range_type range(point_type{{0, 0, 0, 0}}, point_type{{N0, N1, N2, N3}}, tile_type{{2, 4, 6, 2}}); @@ -1818,11 +1788,11 @@ struct TestMDRange_4D { const int N3) { #if defined(KOKKOS_ENABLE_CXX11_DISPATCH_LAMBDA) { - typedef typename Kokkos::MDRangePolicy, - Kokkos::IndexType > - range_type; - typedef typename range_type::tile_type tile_type; - typedef typename range_type::point_type point_type; + using range_type = + typename Kokkos::MDRangePolicy, + Kokkos::IndexType >; + using tile_type = typename range_type::tile_type; + using point_type = typename range_type::point_type; const int s0 = 1; const int s1 = 1; @@ -1863,9 +1833,9 @@ struct TestMDRange_4D { #endif { - typedef typename Kokkos::MDRangePolicy > - range_type; - typedef typename range_type::point_type point_type; + using range_type = + typename Kokkos::MDRangePolicy >; + using point_type = typename range_type::point_type; range_type range(point_type{{0, 0, 0, 0}}, point_type{{N0, N1, N2, N3}}); TestMDRange_4D functor(N0, N1, N2, N3); @@ -1894,11 +1864,11 @@ struct TestMDRange_4D { } { - typedef typename Kokkos::MDRangePolicy, - Kokkos::IndexType, InitTag> - range_type; - typedef typename range_type::tile_type tile_type; - typedef typename range_type::point_type point_type; + using range_type = + typename Kokkos::MDRangePolicy, + Kokkos::IndexType, InitTag>; + using tile_type = typename range_type::tile_type; + using point_type = typename range_type::point_type; int s0 = 1; int s1 = 1; @@ -1934,11 +1904,11 @@ struct TestMDRange_4D { } { - typedef typename Kokkos::MDRangePolicy, - Kokkos::IndexType > - range_type; - typedef typename range_type::tile_type tile_type; - typedef typename range_type::point_type point_type; + using range_type = + typename Kokkos::MDRangePolicy, + Kokkos::IndexType >; + using tile_type = typename range_type::tile_type; + using point_type = typename range_type::point_type; range_type range(point_type{{0, 0, 0, 0}}, point_type{{N0, N1, N2, N3}}, tile_type{{4, 4, 4, 4}}); @@ -1968,12 +1938,11 @@ struct TestMDRange_4D { } { - typedef typename Kokkos::MDRangePolicy< + using range_type = typename Kokkos::MDRangePolicy< ExecSpace, Kokkos::Rank<4, Iterate::Default, Iterate::Default>, - Kokkos::IndexType > - range_type; - typedef typename range_type::tile_type tile_type; - typedef typename range_type::point_type point_type; + Kokkos::IndexType >; + using tile_type = typename range_type::tile_type; + using point_type = typename range_type::point_type; range_type range(point_type{{0, 0, 0, 0}}, point_type{{N0, N1, N2, N3}}, tile_type{{4, 4, 4, 4}}); @@ -2003,12 +1972,11 @@ struct TestMDRange_4D { } { - typedef typename Kokkos::MDRangePolicy< + using range_type = typename Kokkos::MDRangePolicy< ExecSpace, Kokkos::Rank<4, Iterate::Left, Iterate::Left>, - Kokkos::IndexType > - range_type; - typedef typename range_type::tile_type tile_type; - typedef typename range_type::point_type point_type; + Kokkos::IndexType >; + using tile_type = typename range_type::tile_type; + using point_type = typename range_type::point_type; range_type range(point_type{{0, 0, 0, 0}}, point_type{{N0, N1, N2, N3}}, tile_type{{4, 4, 4, 4}}); @@ -2038,12 +2006,11 @@ struct TestMDRange_4D { } { - typedef typename Kokkos::MDRangePolicy< + using range_type = typename Kokkos::MDRangePolicy< ExecSpace, Kokkos::Rank<4, Iterate::Left, Iterate::Right>, - Kokkos::IndexType > - range_type; - typedef typename range_type::tile_type tile_type; - typedef typename range_type::point_type point_type; + Kokkos::IndexType >; + using tile_type = typename range_type::tile_type; + using point_type = typename range_type::point_type; range_type range(point_type{{0, 0, 0, 0}}, point_type{{N0, N1, N2, N3}}, tile_type{{4, 4, 4, 4}}); @@ -2073,12 +2040,11 @@ struct TestMDRange_4D { } { - typedef typename Kokkos::MDRangePolicy< + using range_type = typename Kokkos::MDRangePolicy< ExecSpace, Kokkos::Rank<4, Iterate::Right, Iterate::Left>, - Kokkos::IndexType > - range_type; - typedef typename range_type::tile_type tile_type; - typedef typename range_type::point_type point_type; + Kokkos::IndexType >; + using tile_type = typename range_type::tile_type; + using point_type = typename range_type::point_type; range_type range(point_type{{0, 0, 0, 0}}, point_type{{N0, N1, N2, N3}}, tile_type{{4, 4, 4, 4}}); @@ -2108,12 +2074,11 @@ struct TestMDRange_4D { } { - typedef typename Kokkos::MDRangePolicy< + using range_type = typename Kokkos::MDRangePolicy< ExecSpace, Kokkos::Rank<4, Iterate::Right, Iterate::Right>, - Kokkos::IndexType > - range_type; - typedef typename range_type::tile_type tile_type; - typedef typename range_type::point_type point_type; + Kokkos::IndexType >; + using tile_type = typename range_type::tile_type; + using point_type = typename range_type::point_type; range_type range(point_type{{0, 0, 0, 0}}, point_type{{N0, N1, N2, N3}}, tile_type{{4, 4, 4, 4}}); @@ -2188,11 +2153,11 @@ struct TestMDRange_5D { const int N3, const int N4) { #if defined(KOKKOS_ENABLE_CXX11_DISPATCH_LAMBDA) { - typedef typename Kokkos::MDRangePolicy, - Kokkos::IndexType > - range_type; - typedef typename range_type::tile_type tile_type; - typedef typename range_type::point_type point_type; + using range_type = + typename Kokkos::MDRangePolicy, + Kokkos::IndexType >; + using tile_type = typename range_type::tile_type; + using point_type = typename range_type::point_type; range_type range(point_type{{0, 0, 0, 0, 0}}, point_type{{N0, N1, N2, N3, N4}}, @@ -2209,11 +2174,11 @@ struct TestMDRange_5D { #endif { - typedef typename Kokkos::MDRangePolicy, - Kokkos::IndexType > - range_type; - typedef typename range_type::tile_type tile_type; - typedef typename range_type::point_type point_type; + using range_type = + typename Kokkos::MDRangePolicy, + Kokkos::IndexType >; + using tile_type = typename range_type::tile_type; + using point_type = typename range_type::point_type; int s0 = 1; int s1 = 1; @@ -2236,9 +2201,9 @@ struct TestMDRange_5D { // Test with reducers - scalar { - typedef typename Kokkos::MDRangePolicy, - Kokkos::IndexType > - range_type; + using range_type = + typename Kokkos::MDRangePolicy, + Kokkos::IndexType >; range_type range({{0, 0, 0, 0, 0}}, {{N0, N1, N2, N3, N4}}, {{3, 3, 3, 3, 3}}); @@ -2256,9 +2221,9 @@ struct TestMDRange_5D { // Test with reducers - scalar + label { - typedef typename Kokkos::MDRangePolicy, - Kokkos::IndexType > - range_type; + using range_type = + typename Kokkos::MDRangePolicy, + Kokkos::IndexType >; range_type range({{0, 0, 0, 0, 0}}, {{N0, N1, N2, N3, N4}}, {{3, 3, 3, 3, 3}}); @@ -2276,9 +2241,9 @@ struct TestMDRange_5D { // Test with reducers - scalar view { - typedef typename Kokkos::MDRangePolicy, - Kokkos::IndexType > - range_type; + using range_type = + typename Kokkos::MDRangePolicy, + Kokkos::IndexType >; range_type range({{0, 0, 0, 0, 0}}, {{N0, N1, N2, N3, N4}}, {{3, 3, 3, 3, 3}}); @@ -2301,9 +2266,9 @@ struct TestMDRange_5D { // Test Min reducer with lambda #if defined(KOKKOS_ENABLE_CXX11_DISPATCH_LAMBDA) { - typedef typename Kokkos::MDRangePolicy, - Kokkos::IndexType > - range_type; + using range_type = + typename Kokkos::MDRangePolicy, + Kokkos::IndexType >; range_type range({{1, 1, 1, 1, 1}}, {{N0, N1, N2, N3, N4}}, {{3, 3, 3, 2, 2}}); @@ -2335,12 +2300,11 @@ struct TestMDRange_5D { // Tagged operator test { - typedef typename Kokkos::MDRangePolicy< + using range_type = typename Kokkos::MDRangePolicy< ExecSpace, Kokkos::Rank<5, Iterate::Default, Iterate::Default>, - Kokkos::IndexType, InitTag> - range_type; - typedef typename range_type::tile_type tile_type; - typedef typename range_type::point_type point_type; + Kokkos::IndexType, InitTag>; + using tile_type = typename range_type::tile_type; + using point_type = typename range_type::point_type; range_type range(point_type{{0, 0, 0, 0, 0}}, point_type{{N0, N1, N2, N3, N4}}, @@ -2383,11 +2347,11 @@ struct TestMDRange_5D { const int N4) { #if defined(KOKKOS_ENABLE_CXX11_DISPATCH_LAMBDA) { - typedef typename Kokkos::MDRangePolicy, - Kokkos::IndexType > - range_type; - typedef typename range_type::tile_type tile_type; - typedef typename range_type::point_type point_type; + using range_type = + typename Kokkos::MDRangePolicy, + Kokkos::IndexType >; + using tile_type = typename range_type::tile_type; + using point_type = typename range_type::point_type; const int s0 = 1; const int s1 = 1; @@ -2432,9 +2396,9 @@ struct TestMDRange_5D { #endif { - typedef typename Kokkos::MDRangePolicy > - range_type; - typedef typename range_type::point_type point_type; + using range_type = + typename Kokkos::MDRangePolicy >; + using point_type = typename range_type::point_type; range_type range(point_type{{0, 0, 0, 0, 0}}, point_type{{N0, N1, N2, N3, N4}}); @@ -2465,11 +2429,11 @@ struct TestMDRange_5D { } { - typedef typename Kokkos::MDRangePolicy, - Kokkos::IndexType, InitTag> - range_type; - typedef typename range_type::tile_type tile_type; - typedef typename range_type::point_type point_type; + using range_type = + typename Kokkos::MDRangePolicy, + Kokkos::IndexType, InitTag>; + using tile_type = typename range_type::tile_type; + using point_type = typename range_type::point_type; int s0 = 1; int s1 = 1; @@ -2508,11 +2472,11 @@ struct TestMDRange_5D { } { - typedef typename Kokkos::MDRangePolicy, - Kokkos::IndexType > - range_type; - typedef typename range_type::tile_type tile_type; - typedef typename range_type::point_type point_type; + using range_type = + typename Kokkos::MDRangePolicy, + Kokkos::IndexType >; + using tile_type = typename range_type::tile_type; + using point_type = typename range_type::point_type; range_type range(point_type{{0, 0, 0, 0, 0}}, point_type{{N0, N1, N2, N3, N4}}, @@ -2544,12 +2508,11 @@ struct TestMDRange_5D { } { - typedef typename Kokkos::MDRangePolicy< + using range_type = typename Kokkos::MDRangePolicy< ExecSpace, Kokkos::Rank<5, Iterate::Default, Iterate::Default>, - Kokkos::IndexType > - range_type; - typedef typename range_type::tile_type tile_type; - typedef typename range_type::point_type point_type; + Kokkos::IndexType >; + using tile_type = typename range_type::tile_type; + using point_type = typename range_type::point_type; range_type range(point_type{{0, 0, 0, 0, 0}}, point_type{{N0, N1, N2, N3, N4}}, @@ -2581,12 +2544,11 @@ struct TestMDRange_5D { } { - typedef typename Kokkos::MDRangePolicy< + using range_type = typename Kokkos::MDRangePolicy< ExecSpace, Kokkos::Rank<5, Iterate::Left, Iterate::Left>, - Kokkos::IndexType > - range_type; - typedef typename range_type::tile_type tile_type; - typedef typename range_type::point_type point_type; + Kokkos::IndexType >; + using tile_type = typename range_type::tile_type; + using point_type = typename range_type::point_type; range_type range(point_type{{0, 0, 0, 0, 0}}, point_type{{N0, N1, N2, N3, N4}}, @@ -2618,12 +2580,11 @@ struct TestMDRange_5D { } { - typedef typename Kokkos::MDRangePolicy< + using range_type = typename Kokkos::MDRangePolicy< ExecSpace, Kokkos::Rank<5, Iterate::Left, Iterate::Right>, - Kokkos::IndexType > - range_type; - typedef typename range_type::tile_type tile_type; - typedef typename range_type::point_type point_type; + Kokkos::IndexType >; + using tile_type = typename range_type::tile_type; + using point_type = typename range_type::point_type; range_type range(point_type{{0, 0, 0, 0, 0}}, point_type{{N0, N1, N2, N3, N4}}, @@ -2655,12 +2616,11 @@ struct TestMDRange_5D { } { - typedef typename Kokkos::MDRangePolicy< + using range_type = typename Kokkos::MDRangePolicy< ExecSpace, Kokkos::Rank<5, Iterate::Right, Iterate::Left>, - Kokkos::IndexType > - range_type; - typedef typename range_type::tile_type tile_type; - typedef typename range_type::point_type point_type; + Kokkos::IndexType >; + using tile_type = typename range_type::tile_type; + using point_type = typename range_type::point_type; range_type range(point_type{{0, 0, 0, 0, 0}}, point_type{{N0, N1, N2, N3, N4}}, @@ -2692,12 +2652,11 @@ struct TestMDRange_5D { } { - typedef typename Kokkos::MDRangePolicy< + using range_type = typename Kokkos::MDRangePolicy< ExecSpace, Kokkos::Rank<5, Iterate::Right, Iterate::Right>, - Kokkos::IndexType > - range_type; - typedef typename range_type::tile_type tile_type; - typedef typename range_type::point_type point_type; + Kokkos::IndexType >; + using tile_type = typename range_type::tile_type; + using point_type = typename range_type::point_type; range_type range(point_type{{0, 0, 0, 0, 0}}, point_type{{N0, N1, N2, N3, N4}}, @@ -2775,11 +2734,11 @@ struct TestMDRange_6D { const int N3, const int N4, const int N5) { #if defined(KOKKOS_ENABLE_CXX11_DISPATCH_LAMBDA) { - typedef typename Kokkos::MDRangePolicy, - Kokkos::IndexType > - range_type; - typedef typename range_type::tile_type tile_type; - typedef typename range_type::point_type point_type; + using range_type = + typename Kokkos::MDRangePolicy, + Kokkos::IndexType >; + using tile_type = typename range_type::tile_type; + using point_type = typename range_type::point_type; range_type range(point_type{{0, 0, 0, 0, 0, 0}}, point_type{{N0, N1, N2, N3, N4, N5}}, @@ -2796,11 +2755,11 @@ struct TestMDRange_6D { #endif { - typedef typename Kokkos::MDRangePolicy, - Kokkos::IndexType > - range_type; - typedef typename range_type::tile_type tile_type; - typedef typename range_type::point_type point_type; + using range_type = + typename Kokkos::MDRangePolicy, + Kokkos::IndexType >; + using tile_type = typename range_type::tile_type; + using point_type = typename range_type::point_type; int s0 = 1; int s1 = 1; @@ -2824,9 +2783,9 @@ struct TestMDRange_6D { // Test with reducers - scalar { - typedef typename Kokkos::MDRangePolicy, - Kokkos::IndexType > - range_type; + using range_type = + typename Kokkos::MDRangePolicy, + Kokkos::IndexType >; range_type range({{0, 0, 0, 0, 0, 0}}, {{N0, N1, N2, N3, N4, N5}}, {{3, 3, 3, 3, 3, 2}}); @@ -2844,9 +2803,9 @@ struct TestMDRange_6D { // Test with reducers - scalar + label { - typedef typename Kokkos::MDRangePolicy, - Kokkos::IndexType > - range_type; + using range_type = + typename Kokkos::MDRangePolicy, + Kokkos::IndexType >; range_type range({{0, 0, 0, 0, 0, 0}}, {{N0, N1, N2, N3, N4, N5}}, {{3, 3, 3, 3, 3, 2}}); @@ -2864,9 +2823,9 @@ struct TestMDRange_6D { // Test with reducers - scalar view { - typedef typename Kokkos::MDRangePolicy, - Kokkos::IndexType > - range_type; + using range_type = + typename Kokkos::MDRangePolicy, + Kokkos::IndexType >; range_type range({{0, 0, 0, 0, 0, 0}}, {{N0, N1, N2, N3, N4, N5}}, {{3, 3, 3, 3, 3, 2}}); @@ -2889,9 +2848,9 @@ struct TestMDRange_6D { // Test Min reducer with lambda #if defined(KOKKOS_ENABLE_CXX11_DISPATCH_LAMBDA) { - typedef typename Kokkos::MDRangePolicy, - Kokkos::IndexType > - range_type; + using range_type = + typename Kokkos::MDRangePolicy, + Kokkos::IndexType >; range_type range({{1, 1, 1, 1, 1, 1}}, {{N0, N1, N2, N3, N4, N5}}, {{3, 3, 3, 2, 2, 1}}); @@ -2925,12 +2884,11 @@ struct TestMDRange_6D { // Tagged operator test { - typedef typename Kokkos::MDRangePolicy< + using range_type = typename Kokkos::MDRangePolicy< ExecSpace, Kokkos::Rank<6, Iterate::Default, Iterate::Default>, - Kokkos::IndexType, InitTag> - range_type; - typedef typename range_type::tile_type tile_type; - typedef typename range_type::point_type point_type; + Kokkos::IndexType, InitTag>; + using tile_type = typename range_type::tile_type; + using point_type = typename range_type::point_type; range_type range(point_type{{0, 0, 0, 0, 0, 0}}, point_type{{N0, N1, N2, N3, N4, N5}}, @@ -2974,11 +2932,11 @@ struct TestMDRange_6D { const int N4, const int N5) { #if defined(KOKKOS_ENABLE_CXX11_DISPATCH_LAMBDA) { - typedef typename Kokkos::MDRangePolicy, - Kokkos::IndexType > - range_type; - typedef typename range_type::tile_type tile_type; - typedef typename range_type::point_type point_type; + using range_type = + typename Kokkos::MDRangePolicy, + Kokkos::IndexType >; + using tile_type = typename range_type::tile_type; + using point_type = typename range_type::point_type; const int s0 = 1; const int s1 = 1; @@ -3025,9 +2983,9 @@ struct TestMDRange_6D { #endif { - typedef typename Kokkos::MDRangePolicy > - range_type; - typedef typename range_type::point_type point_type; + using range_type = + typename Kokkos::MDRangePolicy >; + using point_type = typename range_type::point_type; range_type range(point_type{{0, 0, 0, 0, 0, 0}}, point_type{{N0, N1, N2, N3, N4, N5}}); @@ -3059,11 +3017,11 @@ struct TestMDRange_6D { } { - typedef typename Kokkos::MDRangePolicy, - Kokkos::IndexType, InitTag> - range_type; - typedef typename range_type::tile_type tile_type; - typedef typename range_type::point_type point_type; + using range_type = + typename Kokkos::MDRangePolicy, + Kokkos::IndexType, InitTag>; + using tile_type = typename range_type::tile_type; + using point_type = typename range_type::point_type; int s0 = 1; int s1 = 1; @@ -3106,11 +3064,11 @@ struct TestMDRange_6D { } { - typedef typename Kokkos::MDRangePolicy, - Kokkos::IndexType > - range_type; - typedef typename range_type::tile_type tile_type; - typedef typename range_type::point_type point_type; + using range_type = + typename Kokkos::MDRangePolicy, + Kokkos::IndexType >; + using tile_type = typename range_type::tile_type; + using point_type = typename range_type::point_type; range_type range(point_type{{0, 0, 0, 0, 0, 0}}, point_type{{N0, N1, N2, N3, N4, N5}}, @@ -3143,12 +3101,11 @@ struct TestMDRange_6D { } { - typedef typename Kokkos::MDRangePolicy< + using range_type = typename Kokkos::MDRangePolicy< ExecSpace, Kokkos::Rank<6, Iterate::Default, Iterate::Default>, - Kokkos::IndexType > - range_type; - typedef typename range_type::tile_type tile_type; - typedef typename range_type::point_type point_type; + Kokkos::IndexType >; + using tile_type = typename range_type::tile_type; + using point_type = typename range_type::point_type; range_type range(point_type{{0, 0, 0, 0, 0, 0}}, point_type{{N0, N1, N2, N3, N4, N5}}, @@ -3181,12 +3138,11 @@ struct TestMDRange_6D { } { - typedef typename Kokkos::MDRangePolicy< + using range_type = typename Kokkos::MDRangePolicy< ExecSpace, Kokkos::Rank<6, Iterate::Left, Iterate::Left>, - Kokkos::IndexType > - range_type; - typedef typename range_type::tile_type tile_type; - typedef typename range_type::point_type point_type; + Kokkos::IndexType >; + using tile_type = typename range_type::tile_type; + using point_type = typename range_type::point_type; range_type range(point_type{{0, 0, 0, 0, 0, 0}}, point_type{{N0, N1, N2, N3, N4, N5}}, @@ -3219,12 +3175,11 @@ struct TestMDRange_6D { } { - typedef typename Kokkos::MDRangePolicy< + using range_type = typename Kokkos::MDRangePolicy< ExecSpace, Kokkos::Rank<6, Iterate::Left, Iterate::Right>, - Kokkos::IndexType > - range_type; - typedef typename range_type::tile_type tile_type; - typedef typename range_type::point_type point_type; + Kokkos::IndexType >; + using tile_type = typename range_type::tile_type; + using point_type = typename range_type::point_type; range_type range(point_type{{0, 0, 0, 0, 0, 0}}, point_type{{N0, N1, N2, N3, N4, N5}}, @@ -3257,12 +3212,11 @@ struct TestMDRange_6D { } { - typedef typename Kokkos::MDRangePolicy< + using range_type = typename Kokkos::MDRangePolicy< ExecSpace, Kokkos::Rank<6, Iterate::Right, Iterate::Left>, - Kokkos::IndexType > - range_type; - typedef typename range_type::tile_type tile_type; - typedef typename range_type::point_type point_type; + Kokkos::IndexType >; + using tile_type = typename range_type::tile_type; + using point_type = typename range_type::point_type; range_type range(point_type{{0, 0, 0, 0, 0, 0}}, point_type{{N0, N1, N2, N3, N4, N5}}, @@ -3295,12 +3249,11 @@ struct TestMDRange_6D { } { - typedef typename Kokkos::MDRangePolicy< + using range_type = typename Kokkos::MDRangePolicy< ExecSpace, Kokkos::Rank<6, Iterate::Right, Iterate::Right>, - Kokkos::IndexType > - range_type; - typedef typename range_type::tile_type tile_type; - typedef typename range_type::point_type point_type; + Kokkos::IndexType >; + using tile_type = typename range_type::tile_type; + using point_type = typename range_type::point_type; range_type range(point_type{{0, 0, 0, 0, 0, 0}}, point_type{{N0, N1, N2, N3, N4, N5}}, @@ -3366,11 +3319,11 @@ struct TestMDRange_2D_NegIdx { static void test_2D_negidx(const int N0, const int N1) { { - typedef typename Kokkos::MDRangePolicy, - Kokkos::IndexType > - range_type; - typedef typename range_type::tile_type tile_type; - typedef typename range_type::point_type point_type; + using range_type = + typename Kokkos::MDRangePolicy, + Kokkos::IndexType >; + using tile_type = typename range_type::tile_type; + using point_type = typename range_type::point_type; const point_type lower{{-1, -1}}; const point_type upper{{N0, N1}}; @@ -3428,11 +3381,11 @@ struct TestMDRange_3D_NegIdx { static void test_3D_negidx(const int N0, const int N1, const int N2) { { - typedef typename Kokkos::MDRangePolicy, - Kokkos::IndexType > - range_type; - typedef typename range_type::tile_type tile_type; - typedef typename range_type::point_type point_type; + using range_type = + typename Kokkos::MDRangePolicy, + Kokkos::IndexType >; + using tile_type = typename range_type::tile_type; + using point_type = typename range_type::point_type; const point_type lower{{-1, -1, -1}}; const point_type upper{{N0, N1, N2}}; @@ -3495,11 +3448,11 @@ struct TestMDRange_4D_NegIdx { static void test_4D_negidx(const int N0, const int N1, const int N2, const int N3) { { - typedef typename Kokkos::MDRangePolicy, - Kokkos::IndexType > - range_type; - typedef typename range_type::tile_type tile_type; - typedef typename range_type::point_type point_type; + using range_type = + typename Kokkos::MDRangePolicy, + Kokkos::IndexType >; + using tile_type = typename range_type::tile_type; + using point_type = typename range_type::point_type; const point_type lower{{-1, -1, -1, -1}}; const point_type upper{{N0, N1, N2, N3}}; @@ -3566,11 +3519,11 @@ struct TestMDRange_5D_NegIdx { static void test_5D_negidx(const int N0, const int N1, const int N2, const int N3, const int N4) { { - typedef typename Kokkos::MDRangePolicy, - Kokkos::IndexType > - range_type; - typedef typename range_type::tile_type tile_type; - typedef typename range_type::point_type point_type; + using range_type = + typename Kokkos::MDRangePolicy, + Kokkos::IndexType >; + using tile_type = typename range_type::tile_type; + using point_type = typename range_type::point_type; const point_type lower{{-1, -1, -1, -1, -1}}; const point_type upper{{N0, N1, N2, N3, N4}}; @@ -3643,11 +3596,11 @@ struct TestMDRange_6D_NegIdx { static void test_6D_negidx(const int N0, const int N1, const int N2, const int N3, const int N4, const int N5) { { - typedef typename Kokkos::MDRangePolicy, - Kokkos::IndexType > - range_type; - typedef typename range_type::tile_type tile_type; - typedef typename range_type::point_type point_type; + using range_type = + typename Kokkos::MDRangePolicy, + Kokkos::IndexType >; + using tile_type = typename range_type::tile_type; + using point_type = typename range_type::point_type; const point_type lower{{-1, -1, -1, -1, -1, -1}}; const point_type upper{{N0, N1, N2, N3, N4, N5}}; diff --git a/lib/kokkos/core/unit_test/TestMemoryPool.hpp b/lib/kokkos/core/unit_test/TestMemoryPool.hpp index cc18a90305171640a8ecb02cabd970939ecc90f5..63895ad47dc435c98201a2b46d8b439d2a50ad51 100644 --- a/lib/kokkos/core/unit_test/TestMemoryPool.hpp +++ b/lib/kokkos/core/unit_test/TestMemoryPool.hpp @@ -56,8 +56,8 @@ namespace TestMemoryPool { template void test_host_memory_pool_defaults() { - typedef typename MemSpace::execution_space Space; - typedef typename Kokkos::MemoryPool MemPool; + using Space = typename MemSpace::execution_space; + using MemPool = typename Kokkos::MemoryPool; { const size_t MemoryCapacity = 32000; @@ -132,8 +132,8 @@ void test_host_memory_pool_defaults() { template void test_host_memory_pool_stats() { - typedef typename MemSpace::execution_space Space; - typedef typename Kokkos::MemoryPool MemPool; + using Space = typename MemSpace::execution_space; + using MemPool = typename Kokkos::MemoryPool; const size_t MemoryCapacity = 32000; const size_t MinBlockSize = 64; @@ -178,8 +178,8 @@ void test_host_memory_pool_stats() { template struct TestMemoryPool_Functor { - typedef Kokkos::View ptrs_type; - typedef Kokkos::MemoryPool pool_type; + using ptrs_type = Kokkos::View; + using pool_type = Kokkos::MemoryPool; pool_type pool; ptrs_type ptrs; @@ -268,15 +268,15 @@ void print_memory_pool_stats(typename PoolType::usage_statistics const& stats) { template void test_memory_pool_v2(const bool print_statistics, const bool print_superblocks) { - typedef typename DeviceType::memory_space memory_space; - typedef typename DeviceType::execution_space execution_space; - typedef Kokkos::MemoryPool pool_type; - typedef TestMemoryPool_Functor functor_type; + using memory_space = typename DeviceType::memory_space; + using execution_space = typename DeviceType::execution_space; + using pool_type = Kokkos::MemoryPool; + using functor_type = TestMemoryPool_Functor; - typedef typename functor_type::TagAlloc TagAlloc; - typedef typename functor_type::TagDealloc TagDealloc; - typedef typename functor_type::TagRealloc TagRealloc; - typedef typename functor_type::TagMixItUp TagMixItUp; + using TagAlloc = typename functor_type::TagAlloc; + using TagDealloc = typename functor_type::TagDealloc; + using TagRealloc = typename functor_type::TagRealloc; + using TagMixItUp = typename functor_type::TagMixItUp; const size_t total_alloc_size = 10000000; const unsigned min_block_size = 64; @@ -364,8 +364,8 @@ void test_memory_pool_v2(const bool print_statistics, template struct TestMemoryPoolCorners { - typedef Kokkos::View ptrs_type; - typedef Kokkos::MemoryPool pool_type; + using ptrs_type = Kokkos::View; + using pool_type = Kokkos::MemoryPool; pool_type pool; ptrs_type ptrs; @@ -407,11 +407,11 @@ struct TestMemoryPoolCorners { template void test_memory_pool_corners(const bool print_statistics, const bool print_superblocks) { - typedef typename DeviceType::memory_space memory_space; - typedef typename DeviceType::execution_space execution_space; - typedef Kokkos::MemoryPool pool_type; - typedef TestMemoryPoolCorners functor_type; - typedef typename functor_type::ptrs_type ptrs_type; + using memory_space = typename DeviceType::memory_space; + using execution_space = typename DeviceType::execution_space; + using pool_type = Kokkos::MemoryPool; + using functor_type = TestMemoryPoolCorners; + using ptrs_type = typename functor_type::ptrs_type; { // superblock size 1 << 14 @@ -491,9 +491,9 @@ struct TestMemoryPoolHuge< DeviceType, typename std::enable_if::value>::type> { - typedef Kokkos::View ptrs_type; - typedef Kokkos::MemoryPool pool_type; - typedef typename DeviceType::memory_space memory_space; + using ptrs_type = Kokkos::View; + using pool_type = Kokkos::MemoryPool; + using memory_space = typename DeviceType::memory_space; pool_type pool; ptrs_type ptrs; @@ -541,9 +541,9 @@ struct TestMemoryPoolHuge< template void test_memory_pool_huge() { - typedef typename DeviceType::execution_space execution_space; - typedef TestMemoryPoolHuge functor_type; - typedef Kokkos::RangePolicy policy_type; + using execution_space = typename DeviceType::execution_space; + using functor_type = TestMemoryPoolHuge; + using policy_type = Kokkos::RangePolicy; functor_type f; policy_type policy(0, functor_type::num_superblock); diff --git a/lib/kokkos/core/unit_test/TestNonTrivialScalarTypes.hpp b/lib/kokkos/core/unit_test/TestNonTrivialScalarTypes.hpp new file mode 100644 index 0000000000000000000000000000000000000000..3ee4a25ec03b257ad7a13e8045baaa0fd9be1e9f --- /dev/null +++ b/lib/kokkos/core/unit_test/TestNonTrivialScalarTypes.hpp @@ -0,0 +1,338 @@ + +/* +//@HEADER +// ************************************************************************ +// +// Kokkos v. 3.0 +// Copyright (2020) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). +// +// Under the terms of Contract DE-NA0003525 with NTESS, +// the U.S. Government retains certain rights in this software. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// +// 3. Neither the name of the Corporation nor the names of the +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY +// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE +// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// +// Questions? Contact Christian R. Trott (crtrott@sandia.gov) +// +// ************************************************************************ +//@HEADER +*/ + +#ifndef TESTNONTRIVIALSCALARTYPES_HPP_ +#define TESTNONTRIVIALSCALARTYPES_HPP_ + +#include + +#include +#include +#include +#include +#include + +namespace Test { + +struct my_complex { + double re, im; + int dummy; + + KOKKOS_INLINE_FUNCTION + my_complex() { + re = 0.0; + im = 0.0; + dummy = 0; + } + + KOKKOS_INLINE_FUNCTION + my_complex(const my_complex &src) { + re = src.re; + im = src.im; + dummy = src.dummy; + } + + KOKKOS_INLINE_FUNCTION + my_complex &operator=(const my_complex &src) { + re = src.re; + im = src.im; + dummy = src.dummy; + return *this; + } + + KOKKOS_INLINE_FUNCTION + my_complex &operator=(const volatile my_complex &src) { + re = src.re; + im = src.im; + dummy = src.dummy; + return *this; + } + + KOKKOS_INLINE_FUNCTION + volatile my_complex &operator=(const my_complex &src) volatile { + re = src.re; + im = src.im; + dummy = src.dummy; + return *this; + } + + KOKKOS_INLINE_FUNCTION + volatile my_complex &operator=(const volatile my_complex &src) volatile { + re = src.re; + im = src.im; + dummy = src.dummy; + return *this; + } + + KOKKOS_INLINE_FUNCTION + my_complex(const volatile my_complex &src) { + re = src.re; + im = src.im; + dummy = src.dummy; + } + + KOKKOS_INLINE_FUNCTION + my_complex(const double &val) { + re = val; + im = 0.0; + dummy = 0; + } + + KOKKOS_INLINE_FUNCTION + my_complex &operator+=(const my_complex &src) { + re += src.re; + im += src.im; + dummy += src.dummy; + return *this; + } + + KOKKOS_INLINE_FUNCTION + void operator+=(const volatile my_complex &src) volatile { + re += src.re; + im += src.im; + dummy += src.dummy; + } + + KOKKOS_INLINE_FUNCTION + my_complex operator+(const my_complex &src) { + my_complex tmp = *this; + tmp.re += src.re; + tmp.im += src.im; + tmp.dummy += src.dummy; + return tmp; + } + + KOKKOS_INLINE_FUNCTION + my_complex operator+(const volatile my_complex &src) volatile { + my_complex tmp = *this; + tmp.re += src.re; + tmp.im += src.im; + tmp.dummy += src.dummy; + return tmp; + } + + KOKKOS_INLINE_FUNCTION + my_complex &operator*=(const my_complex &src) { + double re_tmp = re * src.re - im * src.im; + double im_tmp = re * src.im + im * src.re; + re = re_tmp; + im = im_tmp; + dummy *= src.dummy; + return *this; + } + + KOKKOS_INLINE_FUNCTION + void operator*=(const volatile my_complex &src) volatile { + double re_tmp = re * src.re - im * src.im; + double im_tmp = re * src.im + im * src.re; + re = re_tmp; + im = im_tmp; + dummy *= src.dummy; + } + + KOKKOS_INLINE_FUNCTION + bool operator==(const my_complex &src) { + return (re == src.re) && (im == src.im) && (dummy == src.dummy); + } + + KOKKOS_INLINE_FUNCTION + bool operator!=(const my_complex &src) { + return (re != src.re) || (im != src.im) || (dummy != src.dummy); + } + + KOKKOS_INLINE_FUNCTION + bool operator!=(const double &val) { + return (re != val) || (im != 0) || (dummy != 0); + } + + KOKKOS_INLINE_FUNCTION + my_complex &operator=(const int &val) { + re = val; + im = 0.0; + dummy = 0; + return *this; + } + + KOKKOS_INLINE_FUNCTION + my_complex &operator=(const double &val) { + re = val; + im = 0.0; + dummy = 0; + return *this; + } + + KOKKOS_INLINE_FUNCTION + operator double() { return re; } +}; + +template +struct array_reduce { + scalar_t data[N]; + KOKKOS_INLINE_FUNCTION + array_reduce() { + for (int i = 0; i < N; i++) data[i] = scalar_t(); + } + KOKKOS_INLINE_FUNCTION + array_reduce(const array_reduce &rhs) { + for (int i = 0; i < N; i++) data[i] = rhs.data[i]; + } + KOKKOS_INLINE_FUNCTION + array_reduce(const scalar_t value) { + for (int i = 0; i < N; i++) data[i] = scalar_t(value); + } + + KOKKOS_INLINE_FUNCTION + array_reduce &operator=(const array_reduce &src) { + for (int i = 0; i < N; i++) data[i] = src.data[i]; + return *this; + } + + KOKKOS_INLINE_FUNCTION + array_reduce &operator=(const volatile array_reduce &src) { + for (int i = 0; i < N; i++) data[i] = src.data[i]; + return *this; + } + + KOKKOS_INLINE_FUNCTION // add operator + array_reduce & + operator=(const scalar_t val) { + for (int i = 0; i < N; i++) data[i] = val; + return *this; + } + KOKKOS_INLINE_FUNCTION // add operator + array_reduce & + operator=(const int val) { + for (int i = 0; i < N; i++) data[i] = val; + return *this; + } + + KOKKOS_INLINE_FUNCTION // add operator + array_reduce & + operator+=(const array_reduce &src) { + for (int i = 0; i < N; i++) data[i] += src.data[i]; + return *this; + } + KOKKOS_INLINE_FUNCTION // volatile add operator + void + operator+=(const volatile array_reduce &src) volatile { + for (int i = 0; i < N; i++) data[i] += src.data[i]; + } + KOKKOS_INLINE_FUNCTION // add operator + array_reduce + operator+(const array_reduce &src) const { + array_reduce result(*this); + for (int i = 0; i < N; i++) result.data[i] += src.data[i]; + return result; + } + KOKKOS_INLINE_FUNCTION // add operator + array_reduce + operator-(const array_reduce &src) const { + array_reduce result(*this); + for (int i = 0; i < N; i++) result.data[i] -= src.data[i]; + return result; + } + KOKKOS_INLINE_FUNCTION // add operator + array_reduce & + operator*=(const array_reduce &src) { + for (int i = 0; i < N; i++) data[i] *= src.data[i]; + return *this; + } + KOKKOS_INLINE_FUNCTION // volatile add operator + void + operator*=(const volatile array_reduce &src) volatile { + for (int i = 0; i < N; i++) data[i] *= src.data[i]; + } + KOKKOS_INLINE_FUNCTION // add operator + array_reduce + operator*(const array_reduce &src) const { + array_reduce result(*this); + for (int i = 0; i < N; i++) result.data[i] *= src.data[i]; + return result; + } + KOKKOS_INLINE_FUNCTION + bool operator==(const array_reduce &src) const { + bool equal = true; + for (int i = 0; i < N; i++) equal = equal && (data[i] == src.data[i]); + return equal; + } + KOKKOS_INLINE_FUNCTION + bool operator!=(const array_reduce &src) const { + bool equal = true; + for (int i = 0; i < N; i++) equal = equal && (data[i] == src.data[i]); + return !equal; + } + KOKKOS_INLINE_FUNCTION + explicit operator double() const { + double lsum = 0.0; + for (int i = 0; i < N; i++) lsum += data[i]; + return lsum; + } +}; +} // namespace Test + +namespace Kokkos { +template <> +struct reduction_identity { + using t_red_ident = reduction_identity; + KOKKOS_FORCEINLINE_FUNCTION static Test::my_complex sum() { + return Test::my_complex(t_red_ident::sum()); + } + KOKKOS_FORCEINLINE_FUNCTION static Test::my_complex prod() { + return Test::my_complex(t_red_ident::prod()); + } +}; + +template +struct reduction_identity> { + using t_red_ident = reduction_identity; + KOKKOS_FORCEINLINE_FUNCTION static Test::array_reduce sum() { + return Test::array_reduce(t_red_ident::sum()); + } + KOKKOS_FORCEINLINE_FUNCTION static Test::array_reduce prod() { + return Test::array_reduce(t_red_ident::prod()); + } +}; +} // namespace Kokkos +#endif // TESTNONTRIVIALSCALARTYPES_HPP_ diff --git a/lib/kokkos/core/unit_test/TestPolicyConstruction.hpp b/lib/kokkos/core/unit_test/TestPolicyConstruction.hpp index a5ec173205c687295b3c981f0db8016e19de187b..f5f9a2fb6623e1e47008765efbb31d7773bc87f3 100644 --- a/lib/kokkos/core/unit_test/TestPolicyConstruction.hpp +++ b/lib/kokkos/core/unit_test/TestPolicyConstruction.hpp @@ -68,264 +68,262 @@ class TestRangePolicyConstruction { } { - typedef Kokkos::RangePolicy<> policy_t; - typedef typename policy_t::execution_space execution_space; - typedef typename policy_t::index_type index_type; - typedef typename policy_t::schedule_type schedule_type; - typedef typename policy_t::work_tag work_tag; + using policy_t = Kokkos::RangePolicy<>; + using execution_space = typename policy_t::execution_space; + using index_type = typename policy_t::index_type; + using schedule_type = typename policy_t::schedule_type; + using work_tag = typename policy_t::work_tag; ASSERT_TRUE(( std::is_same::value)); ASSERT_TRUE((std::is_same::value)); ASSERT_TRUE((std::is_same >::value)); + Kokkos::Schedule>::value)); ASSERT_TRUE((std::is_same::value)); } { - typedef Kokkos::RangePolicy policy_t; - typedef typename policy_t::execution_space execution_space; - typedef typename policy_t::index_type index_type; - typedef typename policy_t::schedule_type schedule_type; - typedef typename policy_t::work_tag work_tag; + using policy_t = Kokkos::RangePolicy; + using execution_space = typename policy_t::execution_space; + using index_type = typename policy_t::index_type; + using schedule_type = typename policy_t::schedule_type; + using work_tag = typename policy_t::work_tag; ASSERT_TRUE((std::is_same::value)); ASSERT_TRUE((std::is_same::value)); ASSERT_TRUE((std::is_same >::value)); + Kokkos::Schedule>::value)); ASSERT_TRUE((std::is_same::value)); } { - typedef Kokkos::RangePolicy > - policy_t; - typedef typename policy_t::execution_space execution_space; - typedef typename policy_t::index_type index_type; - typedef typename policy_t::schedule_type schedule_type; - typedef typename policy_t::work_tag work_tag; + using policy_t = Kokkos::RangePolicy>; + using execution_space = typename policy_t::execution_space; + using index_type = typename policy_t::index_type; + using schedule_type = typename policy_t::schedule_type; + using work_tag = typename policy_t::work_tag; ASSERT_TRUE((std::is_same::value)); ASSERT_TRUE((std::is_same::value)); ASSERT_TRUE((std::is_same >::value)); + Kokkos::Schedule>::value)); ASSERT_TRUE((std::is_same::value)); } { - typedef Kokkos::RangePolicy, - Kokkos::IndexType > - policy_t; - typedef typename policy_t::execution_space execution_space; - typedef typename policy_t::index_type index_type; - typedef typename policy_t::schedule_type schedule_type; - typedef typename policy_t::work_tag work_tag; + using policy_t = + Kokkos::RangePolicy, + Kokkos::IndexType>; + using execution_space = typename policy_t::execution_space; + using index_type = typename policy_t::index_type; + using schedule_type = typename policy_t::schedule_type; + using work_tag = typename policy_t::work_tag; ASSERT_TRUE((std::is_same::value)); ASSERT_TRUE((std::is_same::value)); ASSERT_TRUE((std::is_same >::value)); + Kokkos::Schedule>::value)); ASSERT_TRUE((std::is_same::value)); } { - typedef Kokkos::RangePolicy, ExecutionSpace, - Kokkos::Schedule > - policy_t; - typedef typename policy_t::execution_space execution_space; - typedef typename policy_t::index_type index_type; - typedef typename policy_t::schedule_type schedule_type; - typedef typename policy_t::work_tag work_tag; + using policy_t = + Kokkos::RangePolicy, ExecutionSpace, + Kokkos::Schedule>; + using execution_space = typename policy_t::execution_space; + using index_type = typename policy_t::index_type; + using schedule_type = typename policy_t::schedule_type; + using work_tag = typename policy_t::work_tag; ASSERT_TRUE((std::is_same::value)); ASSERT_TRUE((std::is_same::value)); ASSERT_TRUE((std::is_same >::value)); + Kokkos::Schedule>::value)); ASSERT_TRUE((std::is_same::value)); } { - typedef Kokkos::RangePolicy, - Kokkos::IndexType, SomeTag> - policy_t; - typedef typename policy_t::execution_space execution_space; - typedef typename policy_t::index_type index_type; - typedef typename policy_t::schedule_type schedule_type; - typedef typename policy_t::work_tag work_tag; + using policy_t = + Kokkos::RangePolicy, + Kokkos::IndexType, SomeTag>; + using execution_space = typename policy_t::execution_space; + using index_type = typename policy_t::index_type; + using schedule_type = typename policy_t::schedule_type; + using work_tag = typename policy_t::work_tag; ASSERT_TRUE((std::is_same::value)); ASSERT_TRUE((std::is_same::value)); ASSERT_TRUE((std::is_same >::value)); + Kokkos::Schedule>::value)); ASSERT_TRUE((std::is_same::value)); } { - typedef Kokkos::RangePolicy, - ExecutionSpace, Kokkos::IndexType, - SomeTag> - policy_t; - typedef typename policy_t::execution_space execution_space; - typedef typename policy_t::index_type index_type; - typedef typename policy_t::schedule_type schedule_type; - typedef typename policy_t::work_tag work_tag; + using policy_t = + Kokkos::RangePolicy, ExecutionSpace, + Kokkos::IndexType, SomeTag>; + using execution_space = typename policy_t::execution_space; + using index_type = typename policy_t::index_type; + using schedule_type = typename policy_t::schedule_type; + using work_tag = typename policy_t::work_tag; ASSERT_TRUE((std::is_same::value)); ASSERT_TRUE((std::is_same::value)); ASSERT_TRUE((std::is_same >::value)); + Kokkos::Schedule>::value)); ASSERT_TRUE((std::is_same::value)); } { - typedef Kokkos::RangePolicy, - Kokkos::IndexType, ExecutionSpace> - policy_t; - typedef typename policy_t::execution_space execution_space; - typedef typename policy_t::index_type index_type; - typedef typename policy_t::schedule_type schedule_type; - typedef typename policy_t::work_tag work_tag; + using policy_t = + Kokkos::RangePolicy, + Kokkos::IndexType, ExecutionSpace>; + using execution_space = typename policy_t::execution_space; + using index_type = typename policy_t::index_type; + using schedule_type = typename policy_t::schedule_type; + using work_tag = typename policy_t::work_tag; ASSERT_TRUE((std::is_same::value)); ASSERT_TRUE((std::is_same::value)); ASSERT_TRUE((std::is_same >::value)); + Kokkos::Schedule>::value)); ASSERT_TRUE((std::is_same::value)); } { - typedef Kokkos::RangePolicy > policy_t; - typedef typename policy_t::execution_space execution_space; - typedef typename policy_t::index_type index_type; - typedef typename policy_t::schedule_type schedule_type; - typedef typename policy_t::work_tag work_tag; + using policy_t = Kokkos::RangePolicy>; + using execution_space = typename policy_t::execution_space; + using index_type = typename policy_t::index_type; + using schedule_type = typename policy_t::schedule_type; + using work_tag = typename policy_t::work_tag; ASSERT_TRUE(( std::is_same::value)); ASSERT_TRUE((std::is_same::value)); ASSERT_TRUE((std::is_same >::value)); + Kokkos::Schedule>::value)); ASSERT_TRUE((std::is_same::value)); } { - typedef Kokkos::RangePolicy, - Kokkos::IndexType > - policy_t; - typedef typename policy_t::execution_space execution_space; - typedef typename policy_t::index_type index_type; - typedef typename policy_t::schedule_type schedule_type; - typedef typename policy_t::work_tag work_tag; + using policy_t = Kokkos::RangePolicy, + Kokkos::IndexType>; + using execution_space = typename policy_t::execution_space; + using index_type = typename policy_t::index_type; + using schedule_type = typename policy_t::schedule_type; + using work_tag = typename policy_t::work_tag; ASSERT_TRUE(( std::is_same::value)); ASSERT_TRUE((std::is_same::value)); ASSERT_TRUE((std::is_same >::value)); + Kokkos::Schedule>::value)); ASSERT_TRUE((std::is_same::value)); } { - typedef Kokkos::RangePolicy, - Kokkos::Schedule > - policy_t; - typedef typename policy_t::execution_space execution_space; - typedef typename policy_t::index_type index_type; - typedef typename policy_t::schedule_type schedule_type; - typedef typename policy_t::work_tag work_tag; + using policy_t = Kokkos::RangePolicy, + Kokkos::Schedule>; + using execution_space = typename policy_t::execution_space; + using index_type = typename policy_t::index_type; + using schedule_type = typename policy_t::schedule_type; + using work_tag = typename policy_t::work_tag; ASSERT_TRUE(( std::is_same::value)); ASSERT_TRUE((std::is_same::value)); ASSERT_TRUE((std::is_same >::value)); + Kokkos::Schedule>::value)); ASSERT_TRUE((std::is_same::value)); } { - typedef Kokkos::RangePolicy, - Kokkos::IndexType, SomeTag> - policy_t; - typedef typename policy_t::execution_space execution_space; - typedef typename policy_t::index_type index_type; - typedef typename policy_t::schedule_type schedule_type; - typedef typename policy_t::work_tag work_tag; + using policy_t = Kokkos::RangePolicy, + Kokkos::IndexType, SomeTag>; + using execution_space = typename policy_t::execution_space; + using index_type = typename policy_t::index_type; + using schedule_type = typename policy_t::schedule_type; + using work_tag = typename policy_t::work_tag; ASSERT_TRUE(( std::is_same::value)); ASSERT_TRUE((std::is_same::value)); ASSERT_TRUE((std::is_same >::value)); + Kokkos::Schedule>::value)); ASSERT_TRUE((std::is_same::value)); } { - typedef Kokkos::RangePolicy, - Kokkos::IndexType, SomeTag> - policy_t; - typedef typename policy_t::execution_space execution_space; - typedef typename policy_t::index_type index_type; - typedef typename policy_t::schedule_type schedule_type; - typedef typename policy_t::work_tag work_tag; + using policy_t = Kokkos::RangePolicy, + Kokkos::IndexType, SomeTag>; + using execution_space = typename policy_t::execution_space; + using index_type = typename policy_t::index_type; + using schedule_type = typename policy_t::schedule_type; + using work_tag = typename policy_t::work_tag; ASSERT_TRUE(( std::is_same::value)); ASSERT_TRUE((std::is_same::value)); ASSERT_TRUE((std::is_same >::value)); + Kokkos::Schedule>::value)); ASSERT_TRUE((std::is_same::value)); } { - typedef Kokkos::RangePolicy, - Kokkos::IndexType > - policy_t; - typedef typename policy_t::execution_space execution_space; - typedef typename policy_t::index_type index_type; - typedef typename policy_t::schedule_type schedule_type; - typedef typename policy_t::work_tag work_tag; + using policy_t = + Kokkos::RangePolicy, + Kokkos::IndexType>; + using execution_space = typename policy_t::execution_space; + using index_type = typename policy_t::index_type; + using schedule_type = typename policy_t::schedule_type; + using work_tag = typename policy_t::work_tag; ASSERT_TRUE(( std::is_same::value)); ASSERT_TRUE((std::is_same::value)); ASSERT_TRUE((std::is_same >::value)); + Kokkos::Schedule>::value)); ASSERT_TRUE((std::is_same::value)); } } void test_runtime_parameters() { + using policy_t = Kokkos::RangePolicy<>; { - typedef Kokkos::RangePolicy<> policy_t; policy_t p(5, 15); ASSERT_TRUE((p.begin() == 5)); ASSERT_TRUE((p.end() == 15)); } { - typedef Kokkos::RangePolicy<> policy_t; policy_t p(Kokkos::DefaultExecutionSpace(), 5, 15); ASSERT_TRUE((p.begin() == 5)); ASSERT_TRUE((p.end() == 15)); } { - typedef Kokkos::RangePolicy<> policy_t; policy_t p(5, 15, Kokkos::ChunkSize(10)); ASSERT_TRUE((p.begin() == 5)); ASSERT_TRUE((p.end() == 15)); ASSERT_TRUE((p.chunk_size() == 10)); } { - typedef Kokkos::RangePolicy<> policy_t; policy_t p(Kokkos::DefaultExecutionSpace(), 5, 15, Kokkos::ChunkSize(10)); ASSERT_TRUE((p.begin() == 5)); ASSERT_TRUE((p.end() == 15)); ASSERT_TRUE((p.chunk_size() == 10)); } + { + policy_t p; + ASSERT_TRUE((p.begin() == 0)); + ASSERT_TRUE((p.end() == 0)); + p = policy_t(5, 15, Kokkos::ChunkSize(10)); + ASSERT_TRUE((p.begin() == 5)); + ASSERT_TRUE((p.end() == 15)); + ASSERT_TRUE((p.chunk_size() == 10)); + } } }; @@ -340,234 +338,226 @@ class TestTeamPolicyConstruction { private: void test_compile_time_parameters() { { - typedef Kokkos::TeamPolicy<> policy_t; - typedef typename policy_t::execution_space execution_space; - typedef typename policy_t::index_type index_type; - typedef typename policy_t::schedule_type schedule_type; - typedef typename policy_t::work_tag work_tag; + using policy_t = Kokkos::TeamPolicy<>; + using execution_space = typename policy_t::execution_space; + using index_type = typename policy_t::index_type; + using schedule_type = typename policy_t::schedule_type; + using work_tag = typename policy_t::work_tag; ASSERT_TRUE(( std::is_same::value)); ASSERT_TRUE((std::is_same::value)); ASSERT_TRUE((std::is_same >::value)); + Kokkos::Schedule>::value)); ASSERT_TRUE((std::is_same::value)); } { - typedef Kokkos::TeamPolicy policy_t; - typedef typename policy_t::execution_space execution_space; - typedef typename policy_t::index_type index_type; - typedef typename policy_t::schedule_type schedule_type; - typedef typename policy_t::work_tag work_tag; + using policy_t = Kokkos::TeamPolicy; + using execution_space = typename policy_t::execution_space; + using index_type = typename policy_t::index_type; + using schedule_type = typename policy_t::schedule_type; + using work_tag = typename policy_t::work_tag; ASSERT_TRUE((std::is_same::value)); ASSERT_TRUE((std::is_same::value)); ASSERT_TRUE((std::is_same >::value)); + Kokkos::Schedule>::value)); ASSERT_TRUE((std::is_same::value)); } { - typedef Kokkos::TeamPolicy > - policy_t; - typedef typename policy_t::execution_space execution_space; - typedef typename policy_t::index_type index_type; - typedef typename policy_t::schedule_type schedule_type; - typedef typename policy_t::work_tag work_tag; + using policy_t = + Kokkos::TeamPolicy>; + using execution_space = typename policy_t::execution_space; + using index_type = typename policy_t::index_type; + using schedule_type = typename policy_t::schedule_type; + using work_tag = typename policy_t::work_tag; ASSERT_TRUE((std::is_same::value)); ASSERT_TRUE((std::is_same::value)); ASSERT_TRUE((std::is_same >::value)); + Kokkos::Schedule>::value)); ASSERT_TRUE((std::is_same::value)); } { - typedef Kokkos::TeamPolicy, - Kokkos::IndexType > - policy_t; - typedef typename policy_t::execution_space execution_space; - typedef typename policy_t::index_type index_type; - typedef typename policy_t::schedule_type schedule_type; - typedef typename policy_t::work_tag work_tag; + using policy_t = + Kokkos::TeamPolicy, + Kokkos::IndexType>; + using execution_space = typename policy_t::execution_space; + using index_type = typename policy_t::index_type; + using schedule_type = typename policy_t::schedule_type; + using work_tag = typename policy_t::work_tag; ASSERT_TRUE((std::is_same::value)); ASSERT_TRUE((std::is_same::value)); ASSERT_TRUE((std::is_same >::value)); + Kokkos::Schedule>::value)); ASSERT_TRUE((std::is_same::value)); } { - typedef Kokkos::TeamPolicy, ExecutionSpace, - Kokkos::Schedule > - policy_t; - typedef typename policy_t::execution_space execution_space; - typedef typename policy_t::index_type index_type; - typedef typename policy_t::schedule_type schedule_type; - typedef typename policy_t::work_tag work_tag; + using policy_t = + Kokkos::TeamPolicy, ExecutionSpace, + Kokkos::Schedule>; + using execution_space = typename policy_t::execution_space; + using index_type = typename policy_t::index_type; + using schedule_type = typename policy_t::schedule_type; + using work_tag = typename policy_t::work_tag; ASSERT_TRUE((std::is_same::value)); ASSERT_TRUE((std::is_same::value)); ASSERT_TRUE((std::is_same >::value)); + Kokkos::Schedule>::value)); ASSERT_TRUE((std::is_same::value)); } { - typedef Kokkos::TeamPolicy, - Kokkos::IndexType, SomeTag> - policy_t; - typedef typename policy_t::execution_space execution_space; - typedef typename policy_t::index_type index_type; - typedef typename policy_t::schedule_type schedule_type; - typedef typename policy_t::work_tag work_tag; + using policy_t = + Kokkos::TeamPolicy, + Kokkos::IndexType, SomeTag>; + using execution_space = typename policy_t::execution_space; + using index_type = typename policy_t::index_type; + using schedule_type = typename policy_t::schedule_type; + using work_tag = typename policy_t::work_tag; ASSERT_TRUE((std::is_same::value)); ASSERT_TRUE((std::is_same::value)); ASSERT_TRUE((std::is_same >::value)); + Kokkos::Schedule>::value)); ASSERT_TRUE((std::is_same::value)); } { - typedef Kokkos::TeamPolicy, - ExecutionSpace, Kokkos::IndexType, - SomeTag> - policy_t; - typedef typename policy_t::execution_space execution_space; - typedef typename policy_t::index_type index_type; - typedef typename policy_t::schedule_type schedule_type; - typedef typename policy_t::work_tag work_tag; + using policy_t = + Kokkos::TeamPolicy, ExecutionSpace, + Kokkos::IndexType, SomeTag>; + using execution_space = typename policy_t::execution_space; + using index_type = typename policy_t::index_type; + using schedule_type = typename policy_t::schedule_type; + using work_tag = typename policy_t::work_tag; ASSERT_TRUE((std::is_same::value)); ASSERT_TRUE((std::is_same::value)); ASSERT_TRUE((std::is_same >::value)); + Kokkos::Schedule>::value)); ASSERT_TRUE((std::is_same::value)); } { - typedef Kokkos::TeamPolicy, - Kokkos::IndexType, ExecutionSpace> - policy_t; - typedef typename policy_t::execution_space execution_space; - typedef typename policy_t::index_type index_type; - typedef typename policy_t::schedule_type schedule_type; - typedef typename policy_t::work_tag work_tag; + using policy_t = + Kokkos::TeamPolicy, + Kokkos::IndexType, ExecutionSpace>; + using execution_space = typename policy_t::execution_space; + using index_type = typename policy_t::index_type; + using schedule_type = typename policy_t::schedule_type; + using work_tag = typename policy_t::work_tag; ASSERT_TRUE((std::is_same::value)); ASSERT_TRUE((std::is_same::value)); ASSERT_TRUE((std::is_same >::value)); + Kokkos::Schedule>::value)); ASSERT_TRUE((std::is_same::value)); } { - typedef Kokkos::TeamPolicy > policy_t; - typedef typename policy_t::execution_space execution_space; - typedef typename policy_t::index_type index_type; - typedef typename policy_t::schedule_type schedule_type; - typedef typename policy_t::work_tag work_tag; + using policy_t = Kokkos::TeamPolicy>; + using execution_space = typename policy_t::execution_space; + using index_type = typename policy_t::index_type; + using schedule_type = typename policy_t::schedule_type; + using work_tag = typename policy_t::work_tag; ASSERT_TRUE(( std::is_same::value)); ASSERT_TRUE((std::is_same::value)); ASSERT_TRUE((std::is_same >::value)); + Kokkos::Schedule>::value)); ASSERT_TRUE((std::is_same::value)); } { - typedef Kokkos::TeamPolicy, - Kokkos::IndexType > - policy_t; - typedef typename policy_t::execution_space execution_space; - typedef typename policy_t::index_type index_type; - typedef typename policy_t::schedule_type schedule_type; - typedef typename policy_t::work_tag work_tag; + using policy_t = Kokkos::TeamPolicy, + Kokkos::IndexType>; + using execution_space = typename policy_t::execution_space; + using index_type = typename policy_t::index_type; + using schedule_type = typename policy_t::schedule_type; + using work_tag = typename policy_t::work_tag; ASSERT_TRUE(( std::is_same::value)); ASSERT_TRUE((std::is_same::value)); ASSERT_TRUE((std::is_same >::value)); + Kokkos::Schedule>::value)); ASSERT_TRUE((std::is_same::value)); } { - typedef Kokkos::TeamPolicy, - Kokkos::Schedule > - policy_t; - typedef typename policy_t::execution_space execution_space; - typedef typename policy_t::index_type index_type; - typedef typename policy_t::schedule_type schedule_type; - typedef typename policy_t::work_tag work_tag; + using policy_t = Kokkos::TeamPolicy, + Kokkos::Schedule>; + using execution_space = typename policy_t::execution_space; + using index_type = typename policy_t::index_type; + using schedule_type = typename policy_t::schedule_type; + using work_tag = typename policy_t::work_tag; ASSERT_TRUE(( std::is_same::value)); ASSERT_TRUE((std::is_same::value)); ASSERT_TRUE((std::is_same >::value)); + Kokkos::Schedule>::value)); ASSERT_TRUE((std::is_same::value)); } { - typedef Kokkos::TeamPolicy, - Kokkos::IndexType, SomeTag> - policy_t; - typedef typename policy_t::execution_space execution_space; - typedef typename policy_t::index_type index_type; - typedef typename policy_t::schedule_type schedule_type; - typedef typename policy_t::work_tag work_tag; + using policy_t = Kokkos::TeamPolicy, + Kokkos::IndexType, SomeTag>; + using execution_space = typename policy_t::execution_space; + using index_type = typename policy_t::index_type; + using schedule_type = typename policy_t::schedule_type; + using work_tag = typename policy_t::work_tag; ASSERT_TRUE(( std::is_same::value)); ASSERT_TRUE((std::is_same::value)); ASSERT_TRUE((std::is_same >::value)); + Kokkos::Schedule>::value)); ASSERT_TRUE((std::is_same::value)); } { - typedef Kokkos::TeamPolicy, - Kokkos::IndexType, SomeTag> - policy_t; - typedef typename policy_t::execution_space execution_space; - typedef typename policy_t::index_type index_type; - typedef typename policy_t::schedule_type schedule_type; - typedef typename policy_t::work_tag work_tag; + using policy_t = Kokkos::TeamPolicy, + Kokkos::IndexType, SomeTag>; + using execution_space = typename policy_t::execution_space; + using index_type = typename policy_t::index_type; + using schedule_type = typename policy_t::schedule_type; + using work_tag = typename policy_t::work_tag; ASSERT_TRUE(( std::is_same::value)); ASSERT_TRUE((std::is_same::value)); ASSERT_TRUE((std::is_same >::value)); + Kokkos::Schedule>::value)); ASSERT_TRUE((std::is_same::value)); } { - typedef Kokkos::TeamPolicy, - Kokkos::IndexType > - policy_t; - typedef typename policy_t::execution_space execution_space; - typedef typename policy_t::index_type index_type; - typedef typename policy_t::schedule_type schedule_type; - typedef typename policy_t::work_tag work_tag; + using policy_t = + Kokkos::TeamPolicy, + Kokkos::IndexType>; + using execution_space = typename policy_t::execution_space; + using index_type = typename policy_t::index_type; + using schedule_type = typename policy_t::schedule_type; + using work_tag = typename policy_t::work_tag; ASSERT_TRUE(( std::is_same::value)); ASSERT_TRUE((std::is_same::value)); ASSERT_TRUE((std::is_same >::value)); + Kokkos::Schedule>::value)); ASSERT_TRUE((std::is_same::value)); } } @@ -585,9 +575,6 @@ class TestTeamPolicyConstruction { int per_team_scratch = 1024; int per_thread_scratch = 16; int scratch_size = per_team_scratch + per_thread_scratch * team_size; -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - int vector_length = 4; -#endif policy_t p1(league_size, team_size); ASSERT_EQ(p1.league_size(), league_size); @@ -598,11 +585,7 @@ class TestTeamPolicyConstruction { policy_t p2 = p1.set_chunk_size(chunk_size); ASSERT_EQ(p1.league_size(), league_size); ASSERT_EQ(p1.team_size(), team_size); -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - ASSERT_TRUE(p1.chunk_size() > 0); -#else ASSERT_EQ(p1.chunk_size(), chunk_size); -#endif ASSERT_EQ(p1.scratch_size(0), 0); ASSERT_EQ(p2.league_size(), league_size); @@ -614,11 +597,7 @@ class TestTeamPolicyConstruction { ASSERT_EQ(p2.league_size(), league_size); ASSERT_EQ(p2.team_size(), team_size); ASSERT_EQ(p2.chunk_size(), chunk_size); -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - ASSERT_EQ(p2.scratch_size(0), 0); -#else ASSERT_EQ(p2.scratch_size(0), per_team_scratch); -#endif ASSERT_EQ(p3.league_size(), league_size); ASSERT_EQ(p3.team_size(), team_size); ASSERT_EQ(p3.chunk_size(), chunk_size); @@ -628,30 +607,18 @@ class TestTeamPolicyConstruction { ASSERT_EQ(p2.league_size(), league_size); ASSERT_EQ(p2.team_size(), team_size); ASSERT_EQ(p2.chunk_size(), chunk_size); -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - ASSERT_EQ(p2.scratch_size(0), 0); -#else ASSERT_EQ(p2.scratch_size(0), scratch_size); -#endif ASSERT_EQ(p4.league_size(), league_size); ASSERT_EQ(p4.team_size(), team_size); ASSERT_EQ(p4.chunk_size(), chunk_size); -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - ASSERT_EQ(p4.scratch_size(0), per_thread_scratch * team_size); -#else ASSERT_EQ(p4.scratch_size(0), scratch_size); -#endif policy_t p5 = p2.set_scratch_size(0, Kokkos::PerThread(per_thread_scratch), Kokkos::PerTeam(per_team_scratch)); ASSERT_EQ(p2.league_size(), league_size); ASSERT_EQ(p2.team_size(), team_size); ASSERT_EQ(p2.chunk_size(), chunk_size); -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - ASSERT_EQ(p2.scratch_size(0), 0); -#else ASSERT_EQ(p2.scratch_size(0), scratch_size); -#endif ASSERT_EQ(p5.league_size(), league_size); ASSERT_EQ(p5.team_size(), team_size); ASSERT_EQ(p5.chunk_size(), chunk_size); @@ -662,11 +629,7 @@ class TestTeamPolicyConstruction { ASSERT_EQ(p2.league_size(), league_size); ASSERT_EQ(p2.team_size(), team_size); ASSERT_EQ(p2.chunk_size(), chunk_size); -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - ASSERT_EQ(p2.scratch_size(0), 0); -#else ASSERT_EQ(p2.scratch_size(0), scratch_size); -#endif ASSERT_EQ(p6.league_size(), league_size); ASSERT_EQ(p6.team_size(), team_size); ASSERT_EQ(p6.chunk_size(), chunk_size); @@ -677,206 +640,56 @@ class TestTeamPolicyConstruction { ASSERT_EQ(p3.league_size(), league_size); ASSERT_EQ(p3.team_size(), team_size); ASSERT_EQ(p3.chunk_size(), chunk_size); -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - ASSERT_EQ(p3.scratch_size(0), per_team_scratch); -#else ASSERT_EQ(p3.scratch_size(0), scratch_size); -#endif ASSERT_EQ(p7.league_size(), league_size); ASSERT_EQ(p7.team_size(), team_size); ASSERT_EQ(p7.chunk_size(), chunk_size); ASSERT_EQ(p7.scratch_size(0), scratch_size); -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - policy_t p8(league_size, team_size, Kokkos::ChunkSize(chunk_size)); + policy_t p8; // default constructed + ASSERT_EQ(p8.league_size(), 0); + ASSERT_EQ(p8.scratch_size(0), 0); + p8 = p3; // call assignment operator + ASSERT_EQ(p3.league_size(), league_size); + ASSERT_EQ(p3.team_size(), team_size); + ASSERT_EQ(p3.chunk_size(), chunk_size); + ASSERT_EQ(p3.scratch_size(0), scratch_size); ASSERT_EQ(p8.league_size(), league_size); ASSERT_EQ(p8.team_size(), team_size); ASSERT_EQ(p8.chunk_size(), chunk_size); - ASSERT_EQ(p8.scratch_size(0), 0); - - policy_t p10(league_size, team_size, - Kokkos::ScratchRequest(0, Kokkos::PerTeam(per_team_scratch))); - ASSERT_EQ(p10.league_size(), league_size); - ASSERT_EQ(p10.team_size(), team_size); - ASSERT_TRUE(p10.chunk_size() > 0); - ASSERT_EQ(p10.scratch_size(0), per_team_scratch); - - policy_t p11( - league_size, team_size, - Kokkos::ScratchRequest(0, Kokkos::PerThread(per_thread_scratch))); - ASSERT_EQ(p11.league_size(), league_size); - ASSERT_EQ(p11.team_size(), team_size); - ASSERT_TRUE(p11.chunk_size() > 0); - ASSERT_EQ(p11.scratch_size(0), per_thread_scratch * team_size); - - policy_t p12( - league_size, team_size, - Kokkos::ScratchRequest(0, Kokkos::PerThread(per_thread_scratch), - Kokkos::PerTeam(per_team_scratch))); - ASSERT_EQ(p12.league_size(), league_size); - ASSERT_EQ(p12.team_size(), team_size); - ASSERT_TRUE(p12.chunk_size() > 0); - ASSERT_EQ(p12.scratch_size(0), scratch_size); - - policy_t p13(league_size, team_size, - Kokkos::ScratchRequest(0, Kokkos::PerTeam(per_team_scratch), - Kokkos::PerThread(per_thread_scratch))); - ASSERT_EQ(p13.league_size(), league_size); - ASSERT_EQ(p13.team_size(), team_size); - ASSERT_TRUE(p13.chunk_size() > 0); - ASSERT_EQ(p13.scratch_size(0), scratch_size); - - policy_t p14(league_size, team_size, - Kokkos::ScratchRequest(0, Kokkos::PerTeam(per_team_scratch), - Kokkos::PerThread(per_thread_scratch))); - ASSERT_EQ(p14.league_size(), league_size); - ASSERT_EQ(p14.team_size(), team_size); - ASSERT_TRUE(p14.chunk_size() > 0); - ASSERT_EQ(p14.scratch_size(0), scratch_size); - - policy_t p15(league_size, team_size, Kokkos::ChunkSize(chunk_size), - Kokkos::ScratchRequest(0, Kokkos::PerTeam(per_team_scratch))); - ASSERT_EQ(p15.league_size(), league_size); - ASSERT_EQ(p15.team_size(), team_size); - ASSERT_TRUE(p15.chunk_size() > 0); - ASSERT_EQ(p15.scratch_size(0), per_team_scratch); - - policy_t p16( - league_size, team_size, - Kokkos::ScratchRequest(0, Kokkos::PerThread(per_thread_scratch)), - Kokkos::ChunkSize(chunk_size)); - ASSERT_EQ(p16.league_size(), league_size); - ASSERT_EQ(p16.team_size(), team_size); - ASSERT_EQ(p16.chunk_size(), chunk_size); - ASSERT_EQ(p16.scratch_size(0), per_thread_scratch * team_size); - - policy_t p17( - league_size, team_size, Kokkos::ChunkSize(chunk_size), - Kokkos::ScratchRequest(0, Kokkos::PerThread(per_thread_scratch), - Kokkos::PerTeam(per_team_scratch))); - ASSERT_EQ(p17.league_size(), league_size); - ASSERT_EQ(p17.team_size(), team_size); - ASSERT_EQ(p17.chunk_size(), chunk_size); - ASSERT_EQ(p17.scratch_size(0), scratch_size); - - policy_t p18(league_size, team_size, - Kokkos::ScratchRequest(0, Kokkos::PerTeam(per_team_scratch), - Kokkos::PerThread(per_thread_scratch)), - Kokkos::ChunkSize(chunk_size)); - ASSERT_EQ(p18.league_size(), league_size); - ASSERT_EQ(p18.team_size(), team_size); - ASSERT_EQ(p18.chunk_size(), chunk_size); - ASSERT_EQ(p18.scratch_size(0), scratch_size); - - policy_t p19(league_size, team_size, Kokkos::ChunkSize(chunk_size), - Kokkos::ScratchRequest(0, Kokkos::PerTeam(per_team_scratch), - Kokkos::PerThread(per_thread_scratch))); - ASSERT_EQ(p19.league_size(), league_size); - ASSERT_EQ(p19.team_size(), team_size); - ASSERT_EQ(p19.chunk_size(), chunk_size); - ASSERT_EQ(p19.scratch_size(0), scratch_size); - - policy_t p20(league_size, team_size, vector_length, - Kokkos::ScratchRequest(0, Kokkos::PerTeam(per_team_scratch))); - ASSERT_EQ(p20.league_size(), league_size); - ASSERT_EQ(p20.team_size(), team_size); - ASSERT_TRUE(p20.chunk_size() > 0); - ASSERT_EQ(p20.scratch_size(0), per_team_scratch); - - policy_t p21( - league_size, team_size, vector_length, - Kokkos::ScratchRequest(0, Kokkos::PerThread(per_thread_scratch))); - ASSERT_EQ(p21.league_size(), league_size); - ASSERT_EQ(p21.team_size(), team_size); - ASSERT_TRUE(p21.chunk_size() > 0); - ASSERT_EQ(p21.scratch_size(0), per_thread_scratch * team_size); - - policy_t p22( - league_size, team_size, vector_length, - Kokkos::ScratchRequest(0, Kokkos::PerThread(per_thread_scratch), - Kokkos::PerTeam(per_team_scratch))); - ASSERT_EQ(p22.league_size(), league_size); - ASSERT_EQ(p22.team_size(), team_size); - ASSERT_TRUE(p22.chunk_size() > 0); - ASSERT_EQ(p22.scratch_size(0), scratch_size); - - policy_t p23(league_size, team_size, (size_t)vector_length, - Kokkos::ScratchRequest(0, Kokkos::PerTeam(per_team_scratch), - Kokkos::PerThread(per_thread_scratch))); - ASSERT_EQ(p23.league_size(), league_size); - ASSERT_EQ(p23.team_size(), team_size); - ASSERT_TRUE(p23.chunk_size() > 0); - ASSERT_EQ(p23.scratch_size(0), scratch_size); - - policy_t p24(league_size, team_size, (size_t)vector_length, - Kokkos::ScratchRequest(0, Kokkos::PerTeam(per_team_scratch), - Kokkos::PerThread(per_thread_scratch))); - ASSERT_EQ(p24.league_size(), league_size); - ASSERT_EQ(p24.team_size(), team_size); - ASSERT_TRUE(p24.chunk_size() > 0); - ASSERT_EQ(p24.scratch_size(0), scratch_size); - - policy_t p25(league_size, team_size, vector_length, - Kokkos::ChunkSize(chunk_size), - Kokkos::ScratchRequest(0, Kokkos::PerTeam(per_team_scratch))); - ASSERT_EQ(p25.league_size(), league_size); - ASSERT_EQ(p25.team_size(), team_size); - ASSERT_TRUE(p25.chunk_size() > 0); - ASSERT_EQ(p25.scratch_size(0), per_team_scratch); - - policy_t p26( - league_size, team_size, vector_length, - Kokkos::ScratchRequest(0, Kokkos::PerThread(per_thread_scratch)), - Kokkos::ChunkSize(chunk_size)); - ASSERT_EQ(p26.league_size(), league_size); - ASSERT_EQ(p26.team_size(), team_size); - ASSERT_EQ(p26.chunk_size(), chunk_size); - ASSERT_EQ(p26.scratch_size(0), per_thread_scratch * team_size); - - policy_t p27( - league_size, team_size, vector_length, Kokkos::ChunkSize(chunk_size), - Kokkos::ScratchRequest(0, Kokkos::PerThread(per_thread_scratch), - Kokkos::PerTeam(per_team_scratch))); - ASSERT_EQ(p27.league_size(), league_size); - ASSERT_EQ(p27.team_size(), team_size); - ASSERT_EQ(p27.chunk_size(), chunk_size); - ASSERT_EQ(p27.scratch_size(0), scratch_size); - - policy_t p28(league_size, team_size, (size_t)vector_length, - Kokkos::ScratchRequest(0, Kokkos::PerTeam(per_team_scratch), - Kokkos::PerThread(per_thread_scratch)), - Kokkos::ChunkSize(chunk_size)); - ASSERT_EQ(p28.league_size(), league_size); - ASSERT_EQ(p28.team_size(), team_size); - ASSERT_EQ(p28.chunk_size(), chunk_size); - ASSERT_EQ(p28.scratch_size(0), scratch_size); - - policy_t p29(league_size, team_size, (size_t)vector_length, - Kokkos::ChunkSize(chunk_size), - Kokkos::ScratchRequest(0, Kokkos::PerTeam(per_team_scratch), - Kokkos::PerThread(per_thread_scratch))); - ASSERT_EQ(p29.league_size(), league_size); - ASSERT_EQ(p29.team_size(), team_size); - ASSERT_EQ(p29.chunk_size(), chunk_size); - ASSERT_EQ(p29.scratch_size(0), scratch_size); -#endif + ASSERT_EQ(p8.scratch_size(0), scratch_size); } void test_run_time_parameters() { - test_run_time_parameters_type >(); + test_run_time_parameters_type>(); test_run_time_parameters_type< Kokkos::TeamPolicy, - Kokkos::IndexType > >(); + Kokkos::IndexType>>(); test_run_time_parameters_type< Kokkos::TeamPolicy, ExecutionSpace, - Kokkos::Schedule > >(); - test_run_time_parameters_type, Kokkos::IndexType, - ExecutionSpace, SomeTag> >(); + Kokkos::Schedule>>(); + test_run_time_parameters_type< + Kokkos::TeamPolicy, + Kokkos::IndexType, ExecutionSpace, SomeTag>>(); } }; +// semiregular is copyable and default initializable +// (regular requires equality comparable) +template +void check_semiregular() { + static_assert(std::is_default_constructible::value, ""); + static_assert(std::is_copy_constructible::value, ""); + static_assert(std::is_move_constructible::value, ""); + static_assert(std::is_copy_assignable::value, ""); + static_assert(std::is_move_assignable::value, ""); + static_assert(std::is_destructible::value, ""); +} + TEST(TEST_CATEGORY, policy_construction) { + check_semiregular>(); + check_semiregular>(); + TestRangePolicyConstruction(); TestTeamPolicyConstruction(); } diff --git a/lib/kokkos/core/unit_test/TestRange.hpp b/lib/kokkos/core/unit_test/TestRange.hpp index 9bd13ad23958f1ce0a8c8897d10b73af00894f65..83cc16d6c02ebf08d7b017c3d6ac70f29fa9d1ae 100644 --- a/lib/kokkos/core/unit_test/TestRange.hpp +++ b/lib/kokkos/core/unit_test/TestRange.hpp @@ -52,9 +52,9 @@ namespace { template struct TestRange { - typedef int value_type; ///< typedef required for the parallel_reduce + using value_type = int; ///< alias required for the parallel_reduce - typedef Kokkos::View view_type; + using view_type = Kokkos::View; view_type m_flags; view_type result_view; @@ -87,9 +87,8 @@ struct TestRange { Kokkos::parallel_for(Kokkos::RangePolicy(0, N), *this); -#if defined(KOKKOS_ENABLE_PROFILING) { - typedef TestRange ThisType; + using ThisType = TestRange; std::string label("parallel_for"); Kokkos::Impl::ParallelConstructName pcn(label); ASSERT_EQ(pcn.get(), label); @@ -98,15 +97,13 @@ struct TestRange { empty_label); ASSERT_EQ(empty_pcn.get(), typeid(ThisType).name()); } -#endif Kokkos::parallel_for( Kokkos::RangePolicy(0, N), *this); -#if defined(KOKKOS_ENABLE_PROFILING) { - typedef TestRange ThisType; + using ThisType = TestRange; std::string label("parallel_for"); Kokkos::Impl::ParallelConstructName pcn(label); ASSERT_EQ(pcn.get(), label); @@ -116,7 +113,6 @@ struct TestRange { ASSERT_EQ(empty_pcn.get(), std::string(typeid(ThisType).name()) + "/" + typeid(VerifyInitTag).name()); } -#endif Kokkos::deep_copy(host_flags, m_flags); @@ -276,8 +272,8 @@ struct TestRange { void test_dynamic_policy() { #if defined(KOKKOS_ENABLE_CXX11_DISPATCH_LAMBDA) auto const N_no_implicit_capture = N; - typedef Kokkos::RangePolicy > - policy_t; + using policy_t = + Kokkos::RangePolicy >; { Kokkos::View > @@ -290,11 +286,7 @@ struct TestRange { k++) { a(i)++; } -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - count(ExecSpace::hardware_thread_id())++; -#else - count( ExecSpace::impl_hardware_thread_id() )++; -#endif + count(ExecSpace::impl_hardware_thread_id())++; }); int error = 0; @@ -335,11 +327,7 @@ struct TestRange { k++) { a(i)++; } -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - count(ExecSpace::hardware_thread_id())++; -#else count(ExecSpace::impl_hardware_thread_id())++; -#endif lsum++; }, sum); diff --git a/lib/kokkos/core/unit_test/TestRangeRequire.hpp b/lib/kokkos/core/unit_test/TestRangeRequire.hpp index a75af0b95b812cdafe317350f4a6d3683a27d97b..e70ea666b98eaa0aff053bd30f47b36596fcd70a 100644 --- a/lib/kokkos/core/unit_test/TestRangeRequire.hpp +++ b/lib/kokkos/core/unit_test/TestRangeRequire.hpp @@ -56,9 +56,9 @@ namespace { template struct TestRangeRequire { - typedef int value_type; ///< typedef required for the parallel_reduce + using value_type = int; ///< alias required for the parallel_reduce - typedef Kokkos::View view_type; + using view_type = Kokkos::View; view_type m_flags; @@ -82,9 +82,8 @@ struct TestRangeRequire { Kokkos::RangePolicy(0, N), Property()), *this); -#if defined(KOKKOS_ENABLE_PROFILING) { - typedef TestRangeRequire ThisType; + using ThisType = TestRangeRequire; std::string label("parallel_for"); Kokkos::Impl::ParallelConstructName pcn(label); ASSERT_EQ(pcn.get(), label); @@ -93,7 +92,6 @@ struct TestRangeRequire { empty_label); ASSERT_EQ(empty_pcn.get(), typeid(ThisType).name()); } -#endif Kokkos::parallel_for( Kokkos::Experimental::require( @@ -101,9 +99,8 @@ struct TestRangeRequire { Property()), *this); -#if defined(KOKKOS_ENABLE_PROFILING) { - typedef TestRangeRequire ThisType; + using ThisType = TestRangeRequire; std::string label("parallel_for"); Kokkos::Impl::ParallelConstructName pcn(label); ASSERT_EQ(pcn.get(), label); @@ -113,7 +110,6 @@ struct TestRangeRequire { ASSERT_EQ(empty_pcn.get(), std::string(typeid(ThisType).name()) + "/" + typeid(VerifyInitTag).name()); } -#endif Kokkos::deep_copy(host_flags, m_flags); @@ -274,8 +270,8 @@ struct TestRangeRequire { void test_dynamic_policy() { #if defined(KOKKOS_ENABLE_CXX11_DISPATCH_LAMBDA) auto const N_no_implicit_capture = N; - typedef Kokkos::RangePolicy > - policy_t; + using policy_t = + Kokkos::RangePolicy >; { Kokkos::View > @@ -288,11 +284,7 @@ struct TestRangeRequire { k++) { a(i)++; } -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - count(ExecSpace::hardware_thread_id())++; -#else - count( ExecSpace::impl_hardware_thread_id() )++; -#endif + count(ExecSpace::impl_hardware_thread_id())++; }); int error = 0; @@ -333,11 +325,7 @@ struct TestRangeRequire { k++) { a(i)++; } -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - count(ExecSpace::hardware_thread_id())++; -#else count(ExecSpace::impl_hardware_thread_id())++; -#endif lsum++; }, sum); diff --git a/lib/kokkos/core/unit_test/TestReduce.hpp b/lib/kokkos/core/unit_test/TestReduce.hpp index d63d5e8d4a75d5c29d4b2afadaeadb1790f77ba6..fd559f521cd9d1e867dcdbe3382660c90fb11e21 100644 --- a/lib/kokkos/core/unit_test/TestReduce.hpp +++ b/lib/kokkos/core/unit_test/TestReduce.hpp @@ -54,8 +54,8 @@ namespace Test { template class ReduceFunctor { public: - typedef DeviceType execution_space; - typedef typename execution_space::size_type size_type; + using execution_space = DeviceType; + using size_type = typename execution_space::size_type; struct value_type { ScalarType value[3]; @@ -97,7 +97,7 @@ class ReduceFunctor { template class ReduceFunctorFinal : public ReduceFunctor { public: - typedef typename ReduceFunctor::value_type value_type; + using value_type = typename ReduceFunctor::value_type; KOKKOS_INLINE_FUNCTION ReduceFunctorFinal(const size_t n) : ReduceFunctor(n) {} @@ -114,13 +114,13 @@ template class RuntimeReduceFunctor { public: // Required for functor: - typedef DeviceType execution_space; - typedef ScalarType value_type[]; + using execution_space = DeviceType; + using value_type = ScalarType[]; const unsigned value_count; // Unit test details: - typedef typename execution_space::size_type size_type; + using size_type = typename execution_space::size_type; const size_type nwork; @@ -151,13 +151,13 @@ template class RuntimeReduceMinMax { public: // Required for functor: - typedef DeviceType execution_space; - typedef ScalarType value_type[]; + using execution_space = DeviceType; + using value_type = ScalarType[]; const unsigned value_count; // Unit test details: - typedef typename execution_space::size_type size_type; + using size_type = typename execution_space::size_type; const size_type nwork; const ScalarType amin; @@ -200,9 +200,9 @@ template class RuntimeReduceFunctorFinal : public RuntimeReduceFunctor { public: - typedef RuntimeReduceFunctor base_type; - typedef typename base_type::value_type value_type; - typedef int64_t scalar_type; + using base_type = RuntimeReduceFunctor; + using value_type = typename base_type::value_type; + using scalar_type = int64_t; RuntimeReduceFunctorFinal(const size_t theNwork, const size_t count) : base_type(theNwork, count) {} @@ -215,13 +215,38 @@ class RuntimeReduceFunctorFinal } }; +template +class CombinedReduceFunctorSameType { + public: + using execution_space = typename DeviceType::execution_space; + using size_type = typename execution_space::size_type; + + const size_type nwork; + + KOKKOS_INLINE_FUNCTION + constexpr explicit CombinedReduceFunctorSameType(const size_type& arg_nwork) + : nwork(arg_nwork) {} + + KOKKOS_DEFAULTED_FUNCTION + constexpr CombinedReduceFunctorSameType( + const CombinedReduceFunctorSameType& rhs) = default; + + KOKKOS_INLINE_FUNCTION + void operator()(size_type iwork, ValueType& dst1, ValueType& dst2, + ValueType& dst3) const { + dst1 += 1; + dst2 += iwork + 1; + dst3 += nwork - iwork; + } +}; + namespace { template class TestReduce { public: - typedef DeviceType execution_space; - typedef typename execution_space::size_type size_type; + using execution_space = DeviceType; + using size_type = typename execution_space::size_type; TestReduce(const size_type& nwork) { run_test(nwork); @@ -229,8 +254,8 @@ class TestReduce { } void run_test(const size_type& nwork) { - typedef Test::ReduceFunctor functor_type; - typedef typename functor_type::value_type value_type; + using functor_type = Test::ReduceFunctor; + using value_type = typename functor_type::value_type; enum { Count = 3 }; enum { Repeat = 100 }; @@ -253,8 +278,8 @@ class TestReduce { } void run_test_final(const size_type& nwork) { - typedef Test::ReduceFunctorFinal functor_type; - typedef typename functor_type::value_type value_type; + using functor_type = Test::ReduceFunctorFinal; + using value_type = typename functor_type::value_type; enum { Count = 3 }; enum { Repeat = 100 }; @@ -285,8 +310,8 @@ class TestReduce { template class TestReduceDynamic { public: - typedef DeviceType execution_space; - typedef typename execution_space::size_type size_type; + using execution_space = DeviceType; + using size_type = typename execution_space::size_type; TestReduceDynamic(const size_type nwork) { run_test_dynamic(nwork); @@ -295,8 +320,8 @@ class TestReduceDynamic { } void run_test_dynamic(const size_type nwork) { - typedef Test::RuntimeReduceFunctor - functor_type; + using functor_type = + Test::RuntimeReduceFunctor; enum { Count = 3 }; enum { Repeat = 100 }; @@ -324,7 +349,7 @@ class TestReduceDynamic { } void run_test_dynamic_minmax(const size_type nwork) { - typedef Test::RuntimeReduceMinMax functor_type; + using functor_type = Test::RuntimeReduceMinMax; enum { Count = 2 }; enum { Repeat = 100 }; @@ -356,7 +381,7 @@ class TestReduceDynamic { } void run_test_dynamic_final(const size_type nwork) { - typedef Test::RuntimeReduceFunctorFinal functor_type; + using functor_type = Test::RuntimeReduceFunctorFinal; enum { Count = 3 }; enum { Repeat = 100 }; @@ -387,17 +412,17 @@ class TestReduceDynamic { template class TestReduceDynamicView { public: - typedef DeviceType execution_space; - typedef typename execution_space::size_type size_type; + using execution_space = DeviceType; + using size_type = typename execution_space::size_type; TestReduceDynamicView(const size_type nwork) { run_test_dynamic_view(nwork); } void run_test_dynamic_view(const size_type nwork) { - typedef Test::RuntimeReduceFunctor - functor_type; + using functor_type = + Test::RuntimeReduceFunctor; - typedef Kokkos::View result_type; - typedef typename result_type::HostMirror result_host_type; + using result_type = Kokkos::View; + using result_host_type = typename result_type::HostMirror; const unsigned CountLimit = 23; @@ -455,4 +480,45 @@ TEST(TEST_CATEGORY, int64_t_reduce_dynamic_view) { TestReduceDynamicView(1000000); } +TEST(TEST_CATEGORY, int_combined_reduce) { + using functor_type = CombinedReduceFunctorSameType; + constexpr uint64_t nw = 1000; + + uint64_t nsum = (nw / 2) * (nw + 1); + + int64_t result1 = 0; + int64_t result2 = 0; + int64_t result3 = 0; + + Kokkos::parallel_reduce("int_combined_reduce", + Kokkos::RangePolicy(0, nw), + functor_type(nw), result1, result2, result3); + + ASSERT_EQ(nw, result1); + ASSERT_EQ(nsum, result2); + ASSERT_EQ(nsum, result3); +} + +TEST(TEST_CATEGORY, int_combined_reduce_mixed) { + using functor_type = CombinedReduceFunctorSameType; + + constexpr uint64_t nw = 1000; + + uint64_t nsum = (nw / 2) * (nw + 1); + + auto result1_v = Kokkos::View{"result1_v"}; + + int64_t result2 = 0; + + auto result3_v = Kokkos::View{"result3_v"}; + + Kokkos::parallel_reduce("int_combined-reduce_mixed", + Kokkos::RangePolicy(0, nw), + functor_type(nw), result1_v, result2, + Kokkos::Sum{result3_v}); + + ASSERT_EQ(nw, result1_v()); + ASSERT_EQ(nsum, result2); + ASSERT_EQ(nsum, result3_v()); +} } // namespace Test diff --git a/lib/kokkos/core/unit_test/TestReduceCombinatorical.hpp b/lib/kokkos/core/unit_test/TestReduceCombinatorical.hpp index fe85f360cb3cee8a11248f786af688f5bb8bcc2b..199cec11a400a5df47f2334cbf1551f598f13749 100644 --- a/lib/kokkos/core/unit_test/TestReduceCombinatorical.hpp +++ b/lib/kokkos/core/unit_test/TestReduceCombinatorical.hpp @@ -57,12 +57,11 @@ template struct AddPlus { public: // Required. - typedef AddPlus reducer; - typedef Scalar value_type; + using reducer = AddPlus; + using value_type = Scalar; - typedef Kokkos::View > - result_view_type; + using result_view_type = + Kokkos::View >; private: result_view_type result; @@ -105,7 +104,7 @@ struct FunctorScalar<0> { template <> struct FunctorScalar<1> { - typedef Kokkos::TeamPolicy<>::member_type team_type; + using team_type = Kokkos::TeamPolicy<>::member_type; Kokkos::View result; @@ -135,7 +134,7 @@ struct FunctorScalarInit<0> { template <> struct FunctorScalarInit<1> { - typedef Kokkos::TeamPolicy<>::member_type team_type; + using team_type = Kokkos::TeamPolicy<>::member_type; Kokkos::View result; @@ -168,7 +167,7 @@ struct FunctorScalarFinal<0> { template <> struct FunctorScalarFinal<1> { - typedef Kokkos::TeamPolicy<>::member_type team_type; + using team_type = Kokkos::TeamPolicy<>::member_type; Kokkos::View result; @@ -203,7 +202,7 @@ struct FunctorScalarJoin<0> { template <> struct FunctorScalarJoin<1> { - typedef Kokkos::TeamPolicy<>::member_type team_type; + using team_type = Kokkos::TeamPolicy<>::member_type; Kokkos::View result; @@ -243,7 +242,7 @@ struct FunctorScalarJoinFinal<0> { template <> struct FunctorScalarJoinFinal<1> { - typedef Kokkos::TeamPolicy<>::member_type team_type; + using team_type = Kokkos::TeamPolicy<>::member_type; Kokkos::View result; @@ -286,7 +285,7 @@ struct FunctorScalarJoinInit<0> { template <> struct FunctorScalarJoinInit<1> { - typedef Kokkos::TeamPolicy<>::member_type team_type; + using team_type = Kokkos::TeamPolicy<>::member_type; Kokkos::View result; @@ -332,7 +331,7 @@ struct FunctorScalarJoinFinalInit<0> { template <> struct FunctorScalarJoinFinalInit<1> { - typedef Kokkos::TeamPolicy<>::member_type team_type; + using team_type = Kokkos::TeamPolicy<>::member_type; Kokkos::View result; @@ -361,7 +360,7 @@ struct Functor1 { }; struct Functor2 { - typedef double value_type[]; + using value_type = double[]; const unsigned value_count; @@ -425,6 +424,8 @@ struct TestReduceCombinatoricalInstantiation { ASSERT_EQ(expected_result, result_view_const_um()); value = 0; +// WORKAROUND OPENMPTARGET Custom Reducers not implemented +#ifndef KOKKOS_ENABLE_OPENMPTARGET CallParallelReduce(args..., Test::ReduceCombinatorical::AddPlus(value)); if ((Kokkos::DefaultExecutionSpace::concurrency() > 1) && @@ -449,6 +450,7 @@ struct TestReduceCombinatoricalInstantiation { } else { ASSERT_EQ(expected_result, value); } +#endif } template @@ -483,6 +485,9 @@ struct TestReduceCombinatoricalInstantiation { AddReturnArgument( args..., Test::ReduceCombinatorical::FunctorScalar(result_view)); +// WORKAROUND OPENMPTARGET: reductions with functor join/init/final not +// implemented +#ifndef KOKKOS_ENABLE_OPENMPTARGET AddReturnArgument( args..., Test::ReduceCombinatorical::FunctorScalarInit(result_view)); @@ -519,6 +524,7 @@ struct TestReduceCombinatoricalInstantiation { Kokkos::fence(); Kokkos::deep_copy(h_r, result_view); ASSERT_EQ(expected_result, h_r()); +#endif } template diff --git a/lib/kokkos/core/unit_test/TestReduceDeviceView.hpp b/lib/kokkos/core/unit_test/TestReduceDeviceView.hpp index d0562a2aa0b67582d62807c3740b90dd951d0e38..d82709b300dc52110a73d1850cb5cb6378955224 100644 --- a/lib/kokkos/core/unit_test/TestReduceDeviceView.hpp +++ b/lib/kokkos/core/unit_test/TestReduceDeviceView.hpp @@ -123,11 +123,13 @@ TEST(TEST_CATEGORY, reduce_device_view_mdrange_policy) { MDRangePolicyFunctor()); } +// FIXME_HIP +#ifndef KOKKOS_ENABLE_HIP TEST(TEST_CATEGORY, reduce_device_view_team_policy) { int N = 1000 * 1024 * 1024; test_reduce_device_view( N, Kokkos::TeamPolicy(1000 * 1024, Kokkos::AUTO), TeamPolicyFunctor(1024)); } - +#endif } // namespace Test diff --git a/lib/kokkos/core/unit_test/TestReducers.hpp b/lib/kokkos/core/unit_test/TestReducers.hpp index 04b4bd373f7a9416b3cd838b819a912c6487fb6d..b0b6fe7c85428a307b9cf76fe0379e9dd32c9fca 100644 --- a/lib/kokkos/core/unit_test/TestReducers.hpp +++ b/lib/kokkos/core/unit_test/TestReducers.hpp @@ -493,7 +493,7 @@ struct TestReducers { } static void test_minloc(int N) { - typedef typename Kokkos::MinLoc::value_type value_type; + using value_type = typename Kokkos::MinLoc::value_type; Kokkos::View values("Values", N); auto h_values = Kokkos::create_mirror_view(values); @@ -556,7 +556,7 @@ struct TestReducers { } static void test_maxloc(int N) { - typedef typename Kokkos::MaxLoc::value_type value_type; + using value_type = typename Kokkos::MaxLoc::value_type; Kokkos::View values("Values", N); auto h_values = Kokkos::create_mirror_view(values); @@ -619,7 +619,7 @@ struct TestReducers { } static void test_minmaxloc(int N) { - typedef typename Kokkos::MinMaxLoc::value_type value_type; + using value_type = typename Kokkos::MinMaxLoc::value_type; Kokkos::View values("Values", N); auto h_values = Kokkos::create_mirror_view(values); diff --git a/lib/kokkos/core/unit_test/TestReducers_d.hpp b/lib/kokkos/core/unit_test/TestReducers_d.hpp index 2dc8ae5b5a459740e6e0421ad4f46ce9c0107160..44545a89dd93c0b02d6f9130d2fa96a2dcaa93b3 100644 --- a/lib/kokkos/core/unit_test/TestReducers_d.hpp +++ b/lib/kokkos/core/unit_test/TestReducers_d.hpp @@ -42,11 +42,20 @@ //@HEADER */ +#include #include +#include namespace Test { TEST(TEST_CATEGORY, reducers_complex_double) { TestReducers, TEST_EXECSPACE>::execute_basic(); } +TEST(TEST_CATEGORY, reducers_struct) { + TestReducers, TEST_EXECSPACE>::test_sum(1031); + TestReducers, TEST_EXECSPACE>::test_sum(1031); + TestReducers, TEST_EXECSPACE>::test_sum(1031); + TestReducers, TEST_EXECSPACE>::test_sum(1031); + TestReducers, TEST_EXECSPACE>::test_sum(1031); +} } // namespace Test diff --git a/lib/kokkos/core/unit_test/TestResize.hpp b/lib/kokkos/core/unit_test/TestResize.hpp index 32a85f03e9ae30347eac6011dcf6dd217f34713b..cf5c0df6f9163039fbd3ca1df8aee2a4b24ac882 100644 --- a/lib/kokkos/core/unit_test/TestResize.hpp +++ b/lib/kokkos/core/unit_test/TestResize.hpp @@ -68,7 +68,7 @@ void impl_testResize() { // Check #904 fix (no reallocation if dimensions didn't change). { - typedef Kokkos::View view_type; + using view_type = Kokkos::View; view_type view_1d("view_1d", sizes[0]); const int* oldPointer = view_1d.data(); EXPECT_TRUE(oldPointer != nullptr); @@ -77,7 +77,7 @@ void impl_testResize() { EXPECT_TRUE(oldPointer == newPointer); } { - typedef Kokkos::View view_type; + using view_type = Kokkos::View; view_type view_2d("view_2d", sizes[0], sizes[1]); const int* oldPointer = view_2d.data(); EXPECT_TRUE(oldPointer != nullptr); @@ -86,7 +86,7 @@ void impl_testResize() { EXPECT_TRUE(oldPointer == newPointer); } { - typedef Kokkos::View view_type; + using view_type = Kokkos::View; view_type view_3d("view_3d", sizes[0], sizes[1], sizes[2]); const int* oldPointer = view_3d.data(); EXPECT_TRUE(oldPointer != nullptr); @@ -95,7 +95,7 @@ void impl_testResize() { EXPECT_TRUE(oldPointer == newPointer); } { - typedef Kokkos::View view_type; + using view_type = Kokkos::View; view_type view_4d("view_4d", sizes[0], sizes[1], sizes[2], sizes[3]); const int* oldPointer = view_4d.data(); EXPECT_TRUE(oldPointer != nullptr); @@ -104,7 +104,7 @@ void impl_testResize() { EXPECT_TRUE(oldPointer == newPointer); } { - typedef Kokkos::View view_type; + using view_type = Kokkos::View; view_type view_5d("view_5d", sizes[0], sizes[1], sizes[2], sizes[3], sizes[4]); const int* oldPointer = view_5d.data(); @@ -115,7 +115,7 @@ void impl_testResize() { EXPECT_TRUE(oldPointer == newPointer); } { - typedef Kokkos::View view_type; + using view_type = Kokkos::View; view_type view_6d("view_6d", sizes[0], sizes[1], sizes[2], sizes[3], sizes[4], sizes[5]); const int* oldPointer = view_6d.data(); @@ -126,7 +126,7 @@ void impl_testResize() { EXPECT_TRUE(oldPointer == newPointer); } { - typedef Kokkos::View view_type; + using view_type = Kokkos::View; view_type view_7d("view_7d", sizes[0], sizes[1], sizes[2], sizes[3], sizes[4], sizes[5], sizes[6]); const int* oldPointer = view_7d.data(); @@ -137,7 +137,7 @@ void impl_testResize() { EXPECT_TRUE(oldPointer == newPointer); } { - typedef Kokkos::View view_type; + using view_type = Kokkos::View; view_type view_8d("view_8d", sizes[0], sizes[1], sizes[2], sizes[3], sizes[4], sizes[5], sizes[6], sizes[7]); const int* oldPointer = view_8d.data(); @@ -149,7 +149,7 @@ void impl_testResize() { } // Resize without initialization: check if data preserved { - typedef Kokkos::View view_type; + using view_type = Kokkos::View; view_type view_1d("view_1d", sizes[0]); typename view_type::HostMirror h_view_1d_old = Kokkos::create_mirror(view_1d); @@ -170,7 +170,7 @@ void impl_testResize() { EXPECT_TRUE(test == true); } { - typedef Kokkos::View view_type; + using view_type = Kokkos::View; view_type view_2d("view_2d", sizes[0], sizes[1]); typename view_type::HostMirror h_view_2d_old = Kokkos::create_mirror(view_2d); @@ -193,7 +193,7 @@ void impl_testResize() { EXPECT_TRUE(test == true); } { - typedef Kokkos::View view_type; + using view_type = Kokkos::View; view_type view_3d("view_3d", sizes[0], sizes[1], sizes[2]); typename view_type::HostMirror h_view_3d_old = Kokkos::create_mirror(view_3d); @@ -218,7 +218,7 @@ void impl_testResize() { EXPECT_TRUE(test == true); } { - typedef Kokkos::View view_type; + using view_type = Kokkos::View; view_type view_4d("view_4d", sizes[0], sizes[1], sizes[2], sizes[3]); typename view_type::HostMirror h_view_4d_old = Kokkos::create_mirror(view_4d); @@ -245,7 +245,7 @@ void impl_testResize() { EXPECT_TRUE(test == true); } { - typedef Kokkos::View view_type; + using view_type = Kokkos::View; view_type view_5d("view_5d", sizes[0], sizes[1], sizes[2], sizes[3], sizes[4]); typename view_type::HostMirror h_view_5d_old = @@ -277,7 +277,7 @@ void impl_testResize() { EXPECT_TRUE(test == true); } { - typedef Kokkos::View view_type; + using view_type = Kokkos::View; view_type view_6d("view_6d", sizes[0], sizes[1], sizes[2], sizes[3], sizes[4], sizes[5]); typename view_type::HostMirror h_view_6d_old = @@ -311,7 +311,7 @@ void impl_testResize() { EXPECT_TRUE(test == true); } { - typedef Kokkos::View view_type; + using view_type = Kokkos::View; view_type view_7d("view_7d", sizes[0], sizes[1], sizes[2], sizes[3], sizes[4], sizes[5], sizes[6]); typename view_type::HostMirror h_view_7d_old = @@ -347,7 +347,7 @@ void impl_testResize() { EXPECT_TRUE(test == true); } { - typedef Kokkos::View view_type; + using view_type = Kokkos::View; view_type view_8d("view_8d", sizes[0], sizes[1], sizes[2], sizes[3], sizes[4], sizes[5], sizes[6], sizes[7]); typename view_type::HostMirror h_view_8d_old = diff --git a/lib/kokkos/core/unit_test/TestScan.hpp b/lib/kokkos/core/unit_test/TestScan.hpp index f7ebbb62a30fb9127356dd66619c9b9db7cf9db4..0a2121a8504eae28c641263f9af9e9b24df899f7 100644 --- a/lib/kokkos/core/unit_test/TestScan.hpp +++ b/lib/kokkos/core/unit_test/TestScan.hpp @@ -49,8 +49,8 @@ namespace Test { template struct TestScan { - typedef Device execution_space; - typedef int64_t value_type; + using execution_space = Device; + using value_type = int64_t; Kokkos::View > errors; @@ -76,7 +76,8 @@ struct TestScan { int fail = errors()++; if (fail < 20) { - printf("TestScan(%d,%ld) != %ld\n", iwork, update, answer); + printf("TestScan(%d,%ld) != %ld\n", iwork, static_cast(update), + static_cast(answer)); } } } @@ -108,7 +109,7 @@ struct TestScan { } TestScan(const WorkSpec& Start, const WorkSpec& N) { - typedef Kokkos::RangePolicy exec_policy; + using exec_policy = Kokkos::RangePolicy; Kokkos::View errors_a("Errors"); Kokkos::deep_copy(errors_a, 0); @@ -143,8 +144,8 @@ TEST(TEST_CATEGORY, scan) { /*TEST( TEST_CATEGORY, scan_small ) { - typedef TestScan< TEST_EXECSPACE, Kokkos::Impl::ThreadsExecUseScanSmall > -TestScanFunctor; + using TestScanFunctor = + TestScan< TEST_EXECSPACE, Kokkos::Impl::ThreadsExecUseScanSmall >; for ( int i = 0; i < 1000; ++i ) { TestScanFunctor( 10 ); diff --git a/lib/kokkos/core/unit_test/TestSharedAlloc.hpp b/lib/kokkos/core/unit_test/TestSharedAlloc.hpp index 1b67e29d70922c1605ea14ae72bf65a97707a758..6c896495304a71d89fe87aede8c5bca9cc2235c7 100644 --- a/lib/kokkos/core/unit_test/TestSharedAlloc.hpp +++ b/lib/kokkos/core/unit_test/TestSharedAlloc.hpp @@ -66,12 +66,12 @@ struct SharedAllocDestroy { template void test_shared_alloc() { #if defined(KOKKOS_ACTIVE_EXECUTION_MEMORY_SPACE_HOST) - typedef const Kokkos::Impl::SharedAllocationHeader Header; - typedef Kokkos::Impl::SharedAllocationTracker Tracker; - typedef Kokkos::Impl::SharedAllocationRecord RecordBase; - typedef Kokkos::Impl::SharedAllocationRecord RecordMemS; - typedef Kokkos::Impl::SharedAllocationRecord - RecordFull; + using Header = const Kokkos::Impl::SharedAllocationHeader; + using Tracker = Kokkos::Impl::SharedAllocationTracker; + using RecordBase = Kokkos::Impl::SharedAllocationRecord; + using RecordMemS = Kokkos::Impl::SharedAllocationRecord; + using RecordFull = + Kokkos::Impl::SharedAllocationRecord; static_assert(sizeof(Tracker) == sizeof(int*), "SharedAllocationTracker has wrong size!"); diff --git a/lib/kokkos/core/unit_test/TestTaskScheduler.hpp b/lib/kokkos/core/unit_test/TestTaskScheduler.hpp index ebfdcf1df3fb9b350c21515d88c1bbdf2f25dafc..9435e8eccc70990726ba179476fa4df7c267ae10 100644 --- a/lib/kokkos/core/unit_test/TestTaskScheduler.hpp +++ b/lib/kokkos/core/unit_test/TestTaskScheduler.hpp @@ -136,7 +136,7 @@ struct TestFib { } static void run(int i, size_t MemoryCapacity = 16000) { - typedef typename sched_type::memory_space memory_space; + using memory_space = typename sched_type::memory_space; enum { MinBlockSize = 64 }; enum { MaxBlockSize = 1024 }; @@ -185,10 +185,10 @@ namespace TestTaskScheduler { template struct TestTaskDependence { - typedef Scheduler sched_type; - typedef Kokkos::BasicFuture future_type; - typedef Kokkos::View accum_type; - typedef void value_type; + using sched_type = Scheduler; + using future_type = Kokkos::BasicFuture; + using accum_type = Kokkos::View; + using value_type = void; accum_type m_accum; long m_count; @@ -224,7 +224,7 @@ struct TestTaskDependence { } static void run(int n) { - typedef typename sched_type::memory_space memory_space; + using memory_space = typename sched_type::memory_space; enum { MemoryCapacity = 16000 }; enum { MinBlockSize = 64 }; @@ -264,11 +264,11 @@ struct TestTaskTeam { enum { SPAN = 33 }; // enum { SPAN = 1 }; - typedef void value_type; + using value_type = void; using sched_type = Scheduler; using future_type = Kokkos::BasicFuture; using ExecSpace = typename sched_type::execution_space; - typedef Kokkos::View view_type; + using view_type = Kokkos::View; future_type future; @@ -480,11 +480,11 @@ template struct TestTaskTeamValue { enum { SPAN = 8 }; - typedef long value_type; + using value_type = long; using sched_type = Scheduler; using future_type = Kokkos::BasicFuture; using ExecSpace = typename sched_type::execution_space; - typedef Kokkos::View view_type; + using view_type = Kokkos::View; future_type future; @@ -576,8 +576,8 @@ template struct TestTaskSpawnWithPool { using sched_type = Scheduler; using future_type = Kokkos::BasicFuture; - typedef void value_type; - using Space = typename sched_type::execution_space; + using value_type = void; + using Space = typename sched_type::execution_space; int m_count; Kokkos::MemoryPool m_pool; @@ -596,7 +596,7 @@ struct TestTaskSpawnWithPool { } static void run() { - typedef typename sched_type::memory_space memory_space; + using memory_space = typename sched_type::memory_space; enum { MemoryCapacity = 16000 }; enum { MinBlockSize = 64 }; @@ -793,7 +793,7 @@ struct TestMultipleDependence { } static void run(int depth) { - typedef typename sched_type::memory_space memory_space; + using memory_space = typename sched_type::memory_space; enum { MemoryCapacity = 1 << 30 }; enum { MinBlockSize = 64 }; diff --git a/lib/kokkos/core/unit_test/TestTeam.hpp b/lib/kokkos/core/unit_test/TestTeam.hpp index d1ee0039696e9f1c0e94f8bdd23b7c90948398c8..023e3dfbb3f45d993fcb5c0c9a0da34f926cbdee 100644 --- a/lib/kokkos/core/unit_test/TestTeam.hpp +++ b/lib/kokkos/core/unit_test/TestTeam.hpp @@ -55,9 +55,9 @@ namespace { template struct TestTeamPolicy { - typedef typename Kokkos::TeamPolicy::member_type - team_member; - typedef Kokkos::View view_type; + using team_member = + typename Kokkos::TeamPolicy::member_type; + using view_type = Kokkos::View; view_type m_flags; @@ -120,9 +120,9 @@ struct TestTeamPolicy { static void test_for(const size_t league_size) { TestTeamPolicy functor(league_size); - typedef Kokkos::TeamPolicy policy_type; - typedef Kokkos::TeamPolicy - policy_type_init; + using policy_type = Kokkos::TeamPolicy; + using policy_type_init = + Kokkos::TeamPolicy; const int team_size = policy_type(league_size, 1) .team_size_max(functor, Kokkos::ParallelForTag()); @@ -139,7 +139,7 @@ struct TestTeamPolicy { struct ReduceTag {}; - typedef int64_t value_type; + using value_type = int64_t; KOKKOS_INLINE_FUNCTION void operator()(const team_member &member, value_type &update) const { @@ -156,9 +156,9 @@ struct TestTeamPolicy { static void test_reduce(const size_t league_size) { TestTeamPolicy functor(league_size); - typedef Kokkos::TeamPolicy policy_type; - typedef Kokkos::TeamPolicy - policy_type_reduce; + using policy_type = Kokkos::TeamPolicy; + using policy_type_reduce = + Kokkos::TeamPolicy; const int team_size = policy_type_reduce(league_size, 1) @@ -189,9 +189,9 @@ namespace Test { template class ReduceTeamFunctor { public: - typedef DeviceType execution_space; - typedef Kokkos::TeamPolicy policy_type; - typedef typename execution_space::size_type size_type; + using execution_space = DeviceType; + using policy_type = Kokkos::TeamPolicy; + using size_type = typename execution_space::size_type; struct value_type { ScalarType value[3]; @@ -245,18 +245,18 @@ namespace { template class TestReduceTeam { public: - typedef DeviceType execution_space; - typedef Kokkos::TeamPolicy policy_type; - typedef typename execution_space::size_type size_type; + using execution_space = DeviceType; + using policy_type = Kokkos::TeamPolicy; + using size_type = typename execution_space::size_type; TestReduceTeam(const size_type &nwork) { run_test(nwork); } void run_test(const size_type &nwork) { - typedef Test::ReduceTeamFunctor - functor_type; - typedef typename functor_type::value_type value_type; - typedef Kokkos::View - result_type; + using functor_type = + Test::ReduceTeamFunctor; + using value_type = typename functor_type::value_type; + using result_type = + Kokkos::View; enum { Count = 3 }; enum { Repeat = 100 }; @@ -299,9 +299,9 @@ namespace Test { template class ScanTeamFunctor { public: - typedef DeviceType execution_space; - typedef Kokkos::TeamPolicy policy_type; - typedef int64_t value_type; + using execution_space = DeviceType; + using policy_type = Kokkos::TeamPolicy; + using value_type = int64_t; Kokkos::View accum; Kokkos::View total; @@ -318,7 +318,7 @@ class ScanTeamFunctor { } struct JoinMax { - typedef int64_t value_type; + using value_type = int64_t; KOKKOS_INLINE_FUNCTION void join(value_type volatile &dst, @@ -341,11 +341,14 @@ class ScanTeamFunctor { if (m != ind.league_rank() + (ind.team_size() - 1)) { printf( - "ScanTeamFunctor[%d.%d of %d.%d] reduce_max_answer(%ld) != " - "reduce_max(%ld)\n", - ind.league_rank(), ind.team_rank(), ind.league_size(), - ind.team_size(), (int64_t)(ind.league_rank() + (ind.team_size() - 1)), - m); + "ScanTeamFunctor[%i.%i of %i.%i] reduce_max_answer(%li) != " + "reduce_max(%li)\n", + static_cast(ind.league_rank()), + static_cast(ind.team_rank()), + static_cast(ind.league_size()), + static_cast(ind.team_size()), + static_cast(ind.league_rank() + (ind.team_size() - 1)), + static_cast(m)); } // Scan: @@ -360,10 +363,13 @@ class ScanTeamFunctor { if (answer != result || answer != result2) { printf( - "ScanTeamFunctor[%d.%d of %d.%d] answer(%ld) != scan_first(%ld) or " - "scan_second(%ld)\n", - ind.league_rank(), ind.team_rank(), ind.league_size(), - ind.team_size(), answer, result, result2); + "ScanTeamFunctor[%i.%i of %i.%i] answer(%li) != scan_first(%li) or " + "scan_second(%li)\n", + static_cast(ind.league_rank()), + static_cast(ind.team_rank()), + static_cast(ind.league_size()), + static_cast(ind.team_size()), static_cast(answer), + static_cast(result), static_cast(result2)); error = 1; } @@ -377,16 +383,16 @@ class ScanTeamFunctor { template class TestScanTeam { public: - typedef DeviceType execution_space; - typedef int64_t value_type; - typedef Kokkos::TeamPolicy policy_type; - typedef Test::ScanTeamFunctor functor_type; + using execution_space = DeviceType; + using value_type = int64_t; + using policy_type = Kokkos::TeamPolicy; + using functor_type = Test::ScanTeamFunctor; TestScanTeam(const size_t nteam) { run_test(nteam); } void run_test(const size_t nteam) { - typedef Kokkos::View - result_type; + using result_type = + Kokkos::View; const unsigned REPEAT = 100000; unsigned Repeat; @@ -431,17 +437,17 @@ namespace Test { template struct SharedTeamFunctor { - typedef ExecSpace execution_space; - typedef int value_type; - typedef Kokkos::TeamPolicy policy_type; + using execution_space = ExecSpace; + using value_type = int; + using policy_type = Kokkos::TeamPolicy; enum { SHARED_COUNT = 1000 }; - typedef typename ExecSpace::scratch_memory_space shmem_space; + using shmem_space = typename ExecSpace::scratch_memory_space; // TBD: MemoryUnmanaged should be the default for shared memory space. - typedef Kokkos::View - shared_int_array_type; + using shared_int_array_type = + Kokkos::View; // Tell how much shared memory will be required by this functor. inline unsigned team_shmem_size(int /*team_size*/) const { @@ -458,10 +464,12 @@ struct SharedTeamFunctor { if ((shared_A.data() == nullptr && SHARED_COUNT > 0) || (shared_B.data() == nullptr && SHARED_COUNT > 0)) { printf( - "member( %d/%d , %d/%d ) Failed to allocate shared memory of size " + "member( %i/%i , %i/%i ) Failed to allocate shared memory of size " "%lu\n", - ind.league_rank(), ind.league_size(), ind.team_rank(), - ind.team_size(), static_cast(SHARED_COUNT)); + static_cast(ind.league_rank()), + static_cast(ind.league_size()), + static_cast(ind.team_rank()), static_cast(ind.team_size()), + static_cast(SHARED_COUNT)); ++update; // Failure to allocate is an error. } else { @@ -496,10 +504,10 @@ struct TestSharedTeam { TestSharedTeam() { run(); } void run() { - typedef Test::SharedTeamFunctor Functor; - typedef Kokkos::View - result_type; + using Functor = Test::SharedTeamFunctor; + using result_type = + Kokkos::View; const size_t team_size = Kokkos::TeamPolicy(8192, 1).team_size_max( @@ -527,18 +535,15 @@ struct TestLambdaSharedTeam { TestLambdaSharedTeam() { run(); } void run() { - typedef Test::SharedTeamFunctor Functor; - // typedef Kokkos::View< typename Functor::value_type, Kokkos::HostSpace, - // Kokkos::MemoryUnmanaged > result_type; - typedef Kokkos::View - result_type; + using Functor = Test::SharedTeamFunctor; + using result_type = Kokkos::View; - typedef typename ExecSpace::scratch_memory_space shmem_space; + using shmem_space = typename ExecSpace::scratch_memory_space; // TBD: MemoryUnmanaged should be the default for shared memory space. - typedef Kokkos::View - shared_int_array_type; + using shared_int_array_type = + Kokkos::View; const int SHARED_COUNT = 1000; int team_size = 1; @@ -566,7 +571,7 @@ struct TestLambdaSharedTeam { if ((shared_A.data() == nullptr && SHARED_COUNT > 0) || (shared_B.data() == nullptr && SHARED_COUNT > 0)) { printf("Failed to allocate shared memory of size %lu\n", - static_cast(SHARED_COUNT)); + static_cast(SHARED_COUNT)); ++update; // Failure to allocate is an error. } else { @@ -606,18 +611,18 @@ namespace Test { template struct ScratchTeamFunctor { - typedef ExecSpace execution_space; - typedef int value_type; - typedef Kokkos::TeamPolicy policy_type; + using execution_space = ExecSpace; + using value_type = int; + using policy_type = Kokkos::TeamPolicy; enum { SHARED_TEAM_COUNT = 100 }; enum { SHARED_THREAD_COUNT = 10 }; - typedef typename ExecSpace::scratch_memory_space shmem_space; + using shmem_space = typename ExecSpace::scratch_memory_space; // TBD: MemoryUnmanaged should be the default for shared memory space. - typedef Kokkos::View - shared_int_array_type; + using shared_int_array_type = + Kokkos::View; KOKKOS_INLINE_FUNCTION void operator()(const typename policy_type::member_type &ind, @@ -633,7 +638,7 @@ struct ScratchTeamFunctor { (scratch_A.data() == nullptr && SHARED_TEAM_COUNT > 0) || (scratch_B.data() == nullptr && SHARED_THREAD_COUNT > 0)) { printf("Failed to allocate shared memory of size %lu\n", - static_cast(SHARED_TEAM_COUNT)); + static_cast(SHARED_TEAM_COUNT)); ++update; // Failure to allocate is an error. } else { @@ -684,11 +689,11 @@ struct TestScratchTeam { TestScratchTeam() { run(); } void run() { - typedef Test::ScratchTeamFunctor Functor; - typedef Kokkos::View - result_type; - typedef Kokkos::TeamPolicy p_type; + using Functor = Test::ScratchTeamFunctor; + using result_type = + Kokkos::View; + using p_type = Kokkos::TeamPolicy; typename Functor::value_type error_count = 0; @@ -842,8 +847,8 @@ struct TagFor {}; template struct ClassNoShmemSizeFunction { - typedef typename Kokkos::TeamPolicy::member_type - member_type; + using member_type = + typename Kokkos::TeamPolicy::member_type; Kokkos::View > errors; @@ -924,8 +929,8 @@ struct ClassNoShmemSizeFunction { template struct ClassWithShmemSizeFunction { - typedef typename Kokkos::TeamPolicy::member_type - member_type; + using member_type = + typename Kokkos::TeamPolicy::member_type; Kokkos::View > errors; @@ -1097,7 +1102,7 @@ struct TestShmemSize { TestShmemSize() { run(); } void run() { - typedef Kokkos::View view_type; + using view_type = Kokkos::View; size_t d1 = 5; size_t d2 = 6; @@ -1196,9 +1201,9 @@ struct TestTeamBroadcast< const value_type off) { TestTeamBroadcast functor(league_size, off); - typedef Kokkos::TeamPolicy policy_type; - typedef Kokkos::TeamPolicy - policy_type_f; + using policy_type = Kokkos::TeamPolicy; + using policy_type_f = + Kokkos::TeamPolicy; const int team_size = policy_type_f(league_size, 1) @@ -1341,9 +1346,9 @@ struct TestTeamBroadcast< const value_type off) { TestTeamBroadcast functor(league_size, off); - typedef Kokkos::TeamPolicy policy_type; - typedef Kokkos::TeamPolicy - policy_type_f; + using policy_type = Kokkos::TeamPolicy; + using policy_type_f = + Kokkos::TeamPolicy; const int team_size = policy_type_f(league_size, 1) @@ -1397,10 +1402,10 @@ struct TestScratchAlignment { test(true); test(false); } - typedef Kokkos::View - ScratchView; - typedef Kokkos::View - ScratchViewInt; + using ScratchView = + Kokkos::View; + using ScratchViewInt = + Kokkos::View; void test(bool allocate_small) { int shmem_size = ScratchView::shmem_size(11); if (allocate_small) shmem_size += ScratchViewInt::shmem_size(1); diff --git a/lib/kokkos/core/unit_test/TestTeamTeamSize.hpp b/lib/kokkos/core/unit_test/TestTeamTeamSize.hpp index 0703f90cf8a3cd374202e510f163f842bcf12846..1780d074f616615d3be3c424a62803db7afc147e 100644 --- a/lib/kokkos/core/unit_test/TestTeamTeamSize.hpp +++ b/lib/kokkos/core/unit_test/TestTeamTeamSize.hpp @@ -91,11 +91,11 @@ struct FunctorReduce { }; } // namespace -typedef Kokkos::TeamPolicy policy_type; -typedef Kokkos::TeamPolicy > - policy_type_128_8; -typedef Kokkos::TeamPolicy > - policy_type_1024_2; +using policy_type = Kokkos::TeamPolicy; +using policy_type_128_8 = + Kokkos::TeamPolicy >; +using policy_type_1024_2 = + Kokkos::TeamPolicy >; template void test_team_policy_max_recommended_static_size(int scratch_size) { diff --git a/lib/kokkos/core/unit_test/TestTeamVector.hpp b/lib/kokkos/core/unit_test/TestTeamVector.hpp index c313988efc2930d8a98d26f8f9405048b1454c91..659df5430f7d741c1830d627dd5ad5a673942e90 100644 --- a/lib/kokkos/core/unit_test/TestTeamVector.hpp +++ b/lib/kokkos/core/unit_test/TestTeamVector.hpp @@ -49,196 +49,30 @@ #include #include #include - -namespace TestTeamVector { - -struct my_complex { - double re, im; - int dummy; - - KOKKOS_INLINE_FUNCTION - my_complex() { - re = 0.0; - im = 0.0; - dummy = 0; - } - - KOKKOS_INLINE_FUNCTION - my_complex(const my_complex &src) { - re = src.re; - im = src.im; - dummy = src.dummy; - } - - KOKKOS_INLINE_FUNCTION - my_complex &operator=(const my_complex &src) { - re = src.re; - im = src.im; - dummy = src.dummy; - return *this; - } - - KOKKOS_INLINE_FUNCTION - my_complex &operator=(const volatile my_complex &src) { - re = src.re; - im = src.im; - dummy = src.dummy; - return *this; - } - - KOKKOS_INLINE_FUNCTION - volatile my_complex &operator=(const my_complex &src) volatile { - re = src.re; - im = src.im; - dummy = src.dummy; - return *this; - } - - KOKKOS_INLINE_FUNCTION - volatile my_complex &operator=(const volatile my_complex &src) volatile { - re = src.re; - im = src.im; - dummy = src.dummy; - return *this; - } - - KOKKOS_INLINE_FUNCTION - my_complex(const volatile my_complex &src) { - re = src.re; - im = src.im; - dummy = src.dummy; - } - - KOKKOS_INLINE_FUNCTION - my_complex(const double &val) { - re = val; - im = 0.0; - dummy = 0; - } - - KOKKOS_INLINE_FUNCTION - my_complex &operator+=(const my_complex &src) { - re += src.re; - im += src.im; - dummy += src.dummy; - return *this; - } - - KOKKOS_INLINE_FUNCTION - void operator+=(const volatile my_complex &src) volatile { - re += src.re; - im += src.im; - dummy += src.dummy; - } - - KOKKOS_INLINE_FUNCTION - my_complex operator+(const my_complex &src) { - my_complex tmp = *this; - tmp.re += src.re; - tmp.im += src.im; - tmp.dummy += src.dummy; - return tmp; - } - - KOKKOS_INLINE_FUNCTION - my_complex operator+(const volatile my_complex &src) volatile { - my_complex tmp = *this; - tmp.re += src.re; - tmp.im += src.im; - tmp.dummy += src.dummy; - return tmp; - } - - KOKKOS_INLINE_FUNCTION - my_complex &operator*=(const my_complex &src) { - double re_tmp = re * src.re - im * src.im; - double im_tmp = re * src.im + im * src.re; - re = re_tmp; - im = im_tmp; - dummy *= src.dummy; - return *this; - } - - KOKKOS_INLINE_FUNCTION - void operator*=(const volatile my_complex &src) volatile { - double re_tmp = re * src.re - im * src.im; - double im_tmp = re * src.im + im * src.re; - re = re_tmp; - im = im_tmp; - dummy *= src.dummy; - } - - KOKKOS_INLINE_FUNCTION - bool operator==(const my_complex &src) { - return (re == src.re) && (im == src.im) && (dummy == src.dummy); - } - - KOKKOS_INLINE_FUNCTION - bool operator!=(const my_complex &src) { - return (re != src.re) || (im != src.im) || (dummy != src.dummy); - } - - KOKKOS_INLINE_FUNCTION - bool operator!=(const double &val) { - return (re != val) || (im != 0) || (dummy != 0); - } - - KOKKOS_INLINE_FUNCTION - my_complex &operator=(const int &val) { - re = val; - im = 0.0; - dummy = 0; - return *this; - } - - KOKKOS_INLINE_FUNCTION - my_complex &operator=(const double &val) { - re = val; - im = 0.0; - dummy = 0; - return *this; - } - - KOKKOS_INLINE_FUNCTION - operator double() { return re; } -}; -} // namespace TestTeamVector - -namespace Kokkos { -template <> -struct reduction_identity { - typedef reduction_identity t_red_ident; - KOKKOS_FORCEINLINE_FUNCTION static TestTeamVector::my_complex sum() { - return TestTeamVector::my_complex(t_red_ident::sum()); - } - KOKKOS_FORCEINLINE_FUNCTION static TestTeamVector::my_complex prod() { - return TestTeamVector::my_complex(t_red_ident::prod()); - } -}; -} // namespace Kokkos +#include namespace TestTeamVector { template struct functor_team_for { - typedef Kokkos::TeamPolicy policy_type; - typedef ExecutionSpace execution_space; + using policy_type = Kokkos::TeamPolicy; + using execution_space = ExecutionSpace; Kokkos::View flag; functor_team_for(Kokkos::View flag_) : flag(flag_) {} - typedef typename ExecutionSpace::scratch_memory_space shmem_space; - typedef Kokkos::View - shared_int; + using shmem_space = typename ExecutionSpace::scratch_memory_space; + using shared_int = + Kokkos::View; unsigned team_shmem_size(int team_size) const { return shared_int::shmem_size(team_size * 13); } KOKKOS_INLINE_FUNCTION void operator()(typename policy_type::member_type team) const { - typedef typename shmem_space::size_type size_type; + using size_type = typename shmem_space::size_type; const size_type shmemSize = team.team_size() * 13; shared_int values = shared_int(team.team_shmem(), shmemSize); @@ -286,8 +120,8 @@ struct functor_team_for { template struct functor_team_reduce { - typedef Kokkos::TeamPolicy policy_type; - typedef ExecutionSpace execution_space; + using policy_type = Kokkos::TeamPolicy; + using execution_space = ExecutionSpace; Kokkos::View flag; @@ -295,9 +129,9 @@ struct functor_team_reduce { Kokkos::View flag_) : flag(flag_) {} - typedef typename ExecutionSpace::scratch_memory_space shmem_space; - typedef Kokkos::View - shared_scalar_t; + using shmem_space = typename ExecutionSpace::scratch_memory_space; + using shared_scalar_t = + Kokkos::View; unsigned team_shmem_size(int team_size) const { return shared_scalar_t::shmem_size(team_size * 13); } @@ -335,7 +169,7 @@ struct functor_team_reduce { printf("FAILED team_parallel_reduce %i %i %lf %lf %lu\n", team.league_rank(), team.team_rank(), static_cast(test), static_cast(value), - sizeof(Scalar)); + static_cast(sizeof(Scalar))); } flag() = 1; @@ -346,7 +180,8 @@ struct functor_team_reduce { "FAILED team_parallel_reduce with shared result %i %i %lf %lf " "%lu\n", team.league_rank(), team.team_rank(), static_cast(test), - static_cast(shared_value(0)), sizeof(Scalar)); + static_cast(shared_value(0)), + static_cast(sizeof(Scalar))); } flag() = 1; @@ -357,8 +192,8 @@ struct functor_team_reduce { template struct functor_team_reduce_reducer { - typedef Kokkos::TeamPolicy policy_type; - typedef ExecutionSpace execution_space; + using policy_type = Kokkos::TeamPolicy; + using execution_space = ExecutionSpace; Kokkos::View flag; @@ -366,9 +201,9 @@ struct functor_team_reduce_reducer { Kokkos::View flag_) : flag(flag_) {} - typedef typename ExecutionSpace::scratch_memory_space shmem_space; - typedef Kokkos::View - shared_scalar_t; + using shmem_space = typename ExecutionSpace::scratch_memory_space; + using shared_scalar_t = + Kokkos::View; unsigned team_shmem_size(int team_size) const { return shared_scalar_t::shmem_size(team_size * 13); } @@ -423,8 +258,8 @@ struct functor_team_reduce_reducer { template struct functor_team_vector_for { - typedef Kokkos::TeamPolicy policy_type; - typedef ExecutionSpace execution_space; + using policy_type = Kokkos::TeamPolicy; + using execution_space = ExecutionSpace; Kokkos::View flag; @@ -432,16 +267,16 @@ struct functor_team_vector_for { Kokkos::View flag_) : flag(flag_) {} - typedef typename ExecutionSpace::scratch_memory_space shmem_space; - typedef Kokkos::View - shared_int; + using shmem_space = typename ExecutionSpace::scratch_memory_space; + using shared_int = + Kokkos::View; unsigned team_shmem_size(int team_size) const { return shared_int::shmem_size(team_size * 13); } KOKKOS_INLINE_FUNCTION void operator()(typename policy_type::member_type team) const { - typedef typename shared_int::size_type size_type; + using size_type = typename shared_int::size_type; const size_type shmemSize = team.team_size() * 13; shared_int values = shared_int(team.team_shmem(), shmemSize); @@ -491,17 +326,17 @@ struct functor_team_vector_for { template struct functor_team_vector_reduce { - typedef Kokkos::TeamPolicy policy_type; - typedef ExecutionSpace execution_space; + using policy_type = Kokkos::TeamPolicy; + using execution_space = ExecutionSpace; Kokkos::View flag; functor_team_vector_reduce( Kokkos::View flag_) : flag(flag_) {} - typedef typename ExecutionSpace::scratch_memory_space shmem_space; - typedef Kokkos::View - shared_int; + using shmem_space = typename ExecutionSpace::scratch_memory_space; + using shared_int = + Kokkos::View; unsigned team_shmem_size(int team_size) const { return shared_int::shmem_size(team_size * 13); } @@ -531,7 +366,7 @@ struct functor_team_vector_reduce { printf("FAILED team_vector_parallel_reduce %i %i %f %f %lu\n", team.league_rank(), team.team_rank(), static_cast(test), static_cast(value), - sizeof(Scalar)); + static_cast(sizeof(Scalar))); } flag() = 1; @@ -542,8 +377,8 @@ struct functor_team_vector_reduce { template struct functor_team_vector_reduce_reducer { - typedef Kokkos::TeamPolicy policy_type; - typedef ExecutionSpace execution_space; + using policy_type = Kokkos::TeamPolicy; + using execution_space = ExecutionSpace; Kokkos::View flag; @@ -551,9 +386,9 @@ struct functor_team_vector_reduce_reducer { Kokkos::View flag_) : flag(flag_) {} - typedef typename ExecutionSpace::scratch_memory_space shmem_space; - typedef Kokkos::View - shared_int; + using shmem_space = typename ExecutionSpace::scratch_memory_space; + using shared_int = + Kokkos::View; unsigned team_shmem_size(int team_size) const { return shared_int::shmem_size(team_size * 13); } @@ -591,8 +426,8 @@ struct functor_team_vector_reduce_reducer { template struct functor_vec_single { - typedef Kokkos::TeamPolicy policy_type; - typedef ExecutionSpace execution_space; + using policy_type = Kokkos::TeamPolicy; + using execution_space = ExecutionSpace; Kokkos::View flag; int nStart; @@ -624,7 +459,7 @@ struct functor_vec_single { Kokkos::ThreadVectorRange(team, nStart, nEnd), [&](int /*i*/, Scalar &val) { val += value; }, value2); - if (value2 != (value * (nEnd - nStart))) { + if (value2 != (value * Scalar(nEnd - nStart))) { printf("FAILED vector_single broadcast %i %i %f %f\n", team.league_rank(), team.team_rank(), (double)value2, (double)value); @@ -635,17 +470,17 @@ struct functor_vec_single { template struct functor_vec_for { - typedef Kokkos::TeamPolicy policy_type; - typedef ExecutionSpace execution_space; + using policy_type = Kokkos::TeamPolicy; + using execution_space = ExecutionSpace; Kokkos::View flag; functor_vec_for(Kokkos::View flag_) : flag(flag_) {} - typedef typename ExecutionSpace::scratch_memory_space shmem_space; - typedef Kokkos::View - shared_int; + using shmem_space = typename ExecutionSpace::scratch_memory_space; + using shared_int = + Kokkos::View; unsigned team_shmem_size(int team_size) const { return shared_int::shmem_size(team_size * 13); } @@ -690,8 +525,8 @@ struct functor_vec_for { template struct functor_vec_red { - typedef Kokkos::TeamPolicy policy_type; - typedef ExecutionSpace execution_space; + using policy_type = Kokkos::TeamPolicy; + using execution_space = ExecutionSpace; Kokkos::View flag; @@ -724,8 +559,8 @@ struct functor_vec_red { template struct functor_vec_red_reducer { - typedef Kokkos::TeamPolicy policy_type; - typedef ExecutionSpace execution_space; + using policy_type = Kokkos::TeamPolicy; + using execution_space = ExecutionSpace; Kokkos::View flag; @@ -763,8 +598,8 @@ struct functor_vec_red_reducer { template struct functor_vec_scan { - typedef Kokkos::TeamPolicy policy_type; - typedef ExecutionSpace execution_space; + using policy_type = Kokkos::TeamPolicy; + using execution_space = ExecutionSpace; Kokkos::View flag; functor_vec_scan(Kokkos::View flag_) @@ -794,9 +629,9 @@ struct functor_vec_scan { template struct functor_reduce { - typedef double value_type; - typedef Kokkos::TeamPolicy policy_type; - typedef ExecutionSpace execution_space; + using value_type = double; + using policy_type = Kokkos::TeamPolicy; + using execution_space = ExecutionSpace; Kokkos::View flag; functor_reduce(Kokkos::View flag_) @@ -882,8 +717,14 @@ bool Test(int test) { test_scalar(317, team_size, test); passed = passed && test_scalar(317, team_size, test); passed = passed && test_scalar(317, team_size, test); - passed = - passed && test_scalar(317, team_size, test); + passed = passed && + test_scalar(317, team_size, test); + passed = passed && test_scalar, ExecutionSpace>( + 317, team_size, test); + passed = passed && test_scalar, ExecutionSpace>( + 317, team_size, test); + passed = passed && test_scalar, ExecutionSpace>( + 317, team_size, test); return passed; } @@ -899,8 +740,8 @@ namespace Test { template class TestTripleNestedReduce { public: - typedef DeviceType execution_space; - typedef typename execution_space::size_type size_type; + using execution_space = DeviceType; + using size_type = typename execution_space::size_type; TestTripleNestedReduce(const size_type &nrows, const size_type &ncols, const size_type &team_size, @@ -920,17 +761,17 @@ class TestTripleNestedReduce { } #endif - // typedef Kokkos::LayoutLeft Layout; - typedef Kokkos::LayoutRight Layout; + // using Layout = Kokkos::LayoutLeft; + using Layout = Kokkos::LayoutRight; - typedef Kokkos::View ViewVector; - typedef Kokkos::View ViewMatrix; + using ViewVector = Kokkos::View; + using ViewMatrix = Kokkos::View; ViewVector y("y", nrows); ViewVector x("x", ncols); ViewMatrix A("A", nrows, ncols); - typedef Kokkos::RangePolicy range_policy; + using range_policy = Kokkos::RangePolicy; // Initialize y vector. Kokkos::parallel_for( @@ -941,8 +782,8 @@ class TestTripleNestedReduce { range_policy(0, ncols), KOKKOS_LAMBDA(const int i) { x(i) = 1; }); Kokkos::fence(); - typedef Kokkos::TeamPolicy team_policy; - typedef typename Kokkos::TeamPolicy::member_type member_type; + using team_policy = Kokkos::TeamPolicy; + using member_type = typename Kokkos::TeamPolicy::member_type; // Initialize A matrix, note 2D indexing computation. Kokkos::parallel_for( @@ -1000,8 +841,8 @@ class TestTripleNestedReduce { template class TestTripleNestedReduce { public: - typedef DeviceType execution_space; - typedef typename execution_space::size_type size_type; + using execution_space = DeviceType; + using size_type = typename execution_space::size_type; TestTripleNestedReduce(const size_type &, const size_type, const size_type &, const size_type) {} @@ -1009,7 +850,7 @@ class TestTripleNestedReduce { #endif -#if !defined(KOKKOS_IMPL_CUDA_CLANG_WORKAROUND) +#if !(defined(KOKKOS_IMPL_CUDA_CLANG_WORKAROUND) || defined(KOKKOS_ENABLE_HIP)) TEST(TEST_CATEGORY, team_vector) { ASSERT_TRUE((TestTeamVector::Test(0))); ASSERT_TRUE((TestTeamVector::Test(1))); diff --git a/lib/kokkos/core/unit_test/TestTeamVectorRange.hpp b/lib/kokkos/core/unit_test/TestTeamVectorRange.hpp index cc83785185971bbd3a01c09478bccd7dac13ba44..1b64fef0507ac45863ce62e8d2f375a877035891 100644 --- a/lib/kokkos/core/unit_test/TestTeamVectorRange.hpp +++ b/lib/kokkos/core/unit_test/TestTeamVectorRange.hpp @@ -207,7 +207,7 @@ struct my_complex { namespace Kokkos { template <> struct reduction_identity { - typedef reduction_identity t_red_ident; + using t_red_ident = reduction_identity; KOKKOS_FORCEINLINE_FUNCTION static TestTeamVectorRange::my_complex sum() { return TestTeamVectorRange::my_complex(t_red_ident::sum()); } @@ -221,8 +221,8 @@ namespace TestTeamVectorRange { template struct functor_teamvector_for { - typedef Kokkos::TeamPolicy policy_type; - typedef ExecutionSpace execution_space; + using policy_type = Kokkos::TeamPolicy; + using execution_space = ExecutionSpace; Kokkos::View flag; @@ -230,16 +230,16 @@ struct functor_teamvector_for { Kokkos::View flag_) : flag(flag_) {} - typedef typename ExecutionSpace::scratch_memory_space shmem_space; - typedef Kokkos::View - shared_int; + using shmem_space = typename ExecutionSpace::scratch_memory_space; + using shared_int = + Kokkos::View; unsigned team_shmem_size(int /*team_size*/) const { return shared_int::shmem_size(131); } KOKKOS_INLINE_FUNCTION void operator()(typename policy_type::member_type team) const { - typedef typename shmem_space::size_type size_type; + using size_type = typename shmem_space::size_type; const size_type shmemSize = 131; shared_int values = shared_int(team.team_shmem(), shmemSize); @@ -290,8 +290,8 @@ struct functor_teamvector_for { template struct functor_teamvector_reduce { - typedef Kokkos::TeamPolicy policy_type; - typedef ExecutionSpace execution_space; + using policy_type = Kokkos::TeamPolicy; + using execution_space = ExecutionSpace; Kokkos::View flag; @@ -299,9 +299,9 @@ struct functor_teamvector_reduce { Kokkos::View flag_) : flag(flag_) {} - typedef typename ExecutionSpace::scratch_memory_space shmem_space; - typedef Kokkos::View - shared_scalar_t; + using shmem_space = typename ExecutionSpace::scratch_memory_space; + using shared_scalar_t = + Kokkos::View; unsigned team_shmem_size(int team_size) const { return shared_scalar_t::shmem_size(team_size * 13); } @@ -345,9 +345,9 @@ struct functor_teamvector_reduce { if (test != value) { if (team.league_rank() == 0) { printf("FAILED teamvector_parallel_reduce %i %i %lf %lf %lu\n", - team.league_rank(), team.team_rank(), + (int)team.league_rank(), (int)team.team_rank(), static_cast(test), static_cast(value), - sizeof(Scalar)); + static_cast(sizeof(Scalar))); } flag() = 1; @@ -357,8 +357,10 @@ struct functor_teamvector_reduce { printf( "FAILED teamvector_parallel_reduce with shared result %i %i %lf " "%lf %lu\n", - team.league_rank(), team.team_rank(), static_cast(test), - static_cast(shared_value(0)), sizeof(Scalar)); + static_cast(team.league_rank()), + static_cast(team.team_rank()), static_cast(test), + static_cast(shared_value(0)), + static_cast(sizeof(Scalar))); } flag() = 1; @@ -369,8 +371,8 @@ struct functor_teamvector_reduce { template struct functor_teamvector_reduce_reducer { - typedef Kokkos::TeamPolicy policy_type; - typedef ExecutionSpace execution_space; + using policy_type = Kokkos::TeamPolicy; + using execution_space = ExecutionSpace; Kokkos::View flag; @@ -378,9 +380,9 @@ struct functor_teamvector_reduce_reducer { Kokkos::View flag_) : flag(flag_) {} - typedef typename ExecutionSpace::scratch_memory_space shmem_space; - typedef Kokkos::View - shared_scalar_t; + using shmem_space = typename ExecutionSpace::scratch_memory_space; + using shared_scalar_t = + Kokkos::View; unsigned team_shmem_size(int team_size) const { return shared_scalar_t::shmem_size(team_size * 13); } diff --git a/lib/kokkos/core/unit_test/TestTemplateMetaFunctions.hpp b/lib/kokkos/core/unit_test/TestTemplateMetaFunctions.hpp index b9c16f506c2f52fd16f4496decd8940f3fa9bf7b..a0bc7c4304a040a10bc182e5d23d7c9ba08c4110 100644 --- a/lib/kokkos/core/unit_test/TestTemplateMetaFunctions.hpp +++ b/lib/kokkos/core/unit_test/TestTemplateMetaFunctions.hpp @@ -50,8 +50,8 @@ namespace { template struct SumPlain { - typedef ExecutionSpace execution_space; - typedef typename Kokkos::View type; + using execution_space = ExecutionSpace; + using type = typename Kokkos::View; type view; @@ -63,9 +63,9 @@ struct SumPlain { template struct SumInitJoinFinalValueType { - typedef ExecutionSpace execution_space; - typedef typename Kokkos::View type; - typedef Scalar value_type; + using execution_space = ExecutionSpace; + using type = typename Kokkos::View; + using value_type = Scalar; type view; @@ -85,9 +85,9 @@ struct SumInitJoinFinalValueType { template struct SumInitJoinFinalValueType2 { - typedef ExecutionSpace execution_space; - typedef typename Kokkos::View type; - typedef Scalar value_type; + using execution_space = ExecutionSpace; + using type = typename Kokkos::View; + using value_type = Scalar; type view; @@ -107,9 +107,9 @@ struct SumInitJoinFinalValueType2 { template struct SumInitJoinFinalValueTypeArray { - typedef ExecutionSpace execution_space; - typedef typename Kokkos::View type; - typedef Scalar value_type[]; + using execution_space = ExecutionSpace; + using type = typename Kokkos::View; + using value_type = Scalar[]; type view; int n; @@ -140,9 +140,9 @@ struct SumInitJoinFinalValueTypeArray { template struct SumWrongInitJoinFinalValueType { - typedef ExecutionSpace execution_space; - typedef typename Kokkos::View type; - typedef Scalar value_type; + using execution_space = ExecutionSpace; + using type = typename Kokkos::View; + using value_type = Scalar; type view; @@ -162,7 +162,7 @@ struct SumWrongInitJoinFinalValueType { template void TestTemplateMetaFunctions() { - typedef typename Kokkos::View type; + using type = typename Kokkos::View; type a("A", 100); /* int sum_plain_has_init_arg = Kokkos::Impl::FunctorHasInit< SumPlain -#include - -namespace TestTile { - -template -struct ReduceTileErrors { - typedef Device execution_space; - typedef Kokkos::View array_type; - typedef Kokkos::View - tile_type; - typedef ptrdiff_t value_type; - - array_type m_array; - - ReduceTileErrors(array_type a) : m_array(a) {} - - KOKKOS_INLINE_FUNCTION - static void init(value_type& errors) { errors = 0; } - - KOKKOS_INLINE_FUNCTION - static void join(volatile value_type& errors, - const volatile value_type& src_errors) { - errors += src_errors; - } - - // Initialize. - KOKKOS_INLINE_FUNCTION - void operator()(size_t iwork) const { - const size_t i = iwork % m_array.extent(0); - const size_t j = iwork / m_array.extent(0); - - if (j < m_array.extent(1)) { - m_array(i, j) = &m_array(i, j) - &m_array(0, 0); - - // printf( "m_array(%d, %d) = %d\n", int( i ), int( j ), int( m_array( i, - // j ) ) ); - } - } - - // Verify: - KOKKOS_INLINE_FUNCTION - void operator()(size_t iwork, value_type& errors) const { - const size_t tile_dim0 = - (m_array.extent(0) + TileLayout::N0 - 1) / TileLayout::N0; - const size_t tile_dim1 = - (m_array.extent(1) + TileLayout::N1 - 1) / TileLayout::N1; - - const size_t itile = iwork % tile_dim0; - const size_t jtile = iwork / tile_dim0; - - if (jtile < tile_dim1) { - tile_type tile = Kokkos::tile_subview(m_array, itile, jtile); - - if (tile(0, 0) != ptrdiff_t((itile + jtile * tile_dim0) * TileLayout::N0 * - TileLayout::N1)) { - ++errors; - } else { - for (size_t j = 0; j < size_t(TileLayout::N1); ++j) { - for (size_t i = 0; i < size_t(TileLayout::N0); ++i) { - const size_t iglobal = i + itile * TileLayout::N0; - const size_t jglobal = j + jtile * TileLayout::N1; - - if (iglobal < m_array.extent(0) && jglobal < m_array.extent(1)) { - if (tile(i, j) != ptrdiff_t(tile(0, 0) + i + j * TileLayout::N0)) - ++errors; - - // printf( "tile(%d, %d)(%d, %d) = %d\n", int( itile ), int( jtile - // ), int( i ), int( j ), int( tile( i, j ) ) ); - } - } - } - } - } - } -}; - -template -void test(const size_t dim0, const size_t dim1) { - typedef Kokkos::LayoutTileLeft array_layout; - typedef ReduceTileErrors functor_type; - - const size_t tile_dim0 = (dim0 + N0 - 1) / N0; - const size_t tile_dim1 = (dim1 + N1 - 1) / N1; - - typename functor_type::array_type array("", dim0, dim1); - - Kokkos::parallel_for(Kokkos::RangePolicy(0, dim0 * dim1), - functor_type(array)); - - ptrdiff_t error = 0; - - Kokkos::parallel_reduce( - Kokkos::RangePolicy(0, tile_dim0 * tile_dim1), - functor_type(array), error); - - EXPECT_EQ(error, ptrdiff_t(0)); -} - -} // namespace TestTile - -namespace Test { -TEST(TEST_CATEGORY, tile_layout) { - TestTile::test(1, 1); - TestTile::test(2, 3); - TestTile::test(9, 10); - - TestTile::test(1, 1); - TestTile::test(2, 3); - TestTile::test(4, 4); - TestTile::test(9, 9); - - TestTile::test(9, 9); - TestTile::test(9, 9); - - TestTile::test(1, 1); - TestTile::test(4, 4); - TestTile::test(9, 9); - TestTile::test(9, 11); - - TestTile::test(1, 1); - TestTile::test(4, 4); - TestTile::test(9, 9); - TestTile::test(9, 11); -} - -} // namespace Test - -#endif // KOKKOS_ENABLE_DEPRECATED_CODE -//===================================================================== - -#endif // TEST_TILE_HPP diff --git a/lib/kokkos/core/unit_test/TestUniqueToken.hpp b/lib/kokkos/core/unit_test/TestUniqueToken.hpp index c85ba1afc31daa989f525270df7de8c8466db99f..e1455d7bbb50210fd74ffdb2f16cf0a9ac592fc4 100644 --- a/lib/kokkos/core/unit_test/TestUniqueToken.hpp +++ b/lib/kokkos/core/unit_test/TestUniqueToken.hpp @@ -48,15 +48,13 @@ namespace Test { -template +template class TestUniqueToken { public: - typedef typename Space::execution_space execution_space; - typedef Kokkos::View view_type; + using execution_space = typename Space::execution_space; + using view_type = Kokkos::View; - Kokkos::Experimental::UniqueToken< - execution_space, Kokkos::Experimental::UniqueTokenScope::Global> - tokens; + Kokkos::Experimental::UniqueToken tokens; view_type verify; view_type counts; @@ -64,7 +62,9 @@ class TestUniqueToken { KOKKOS_INLINE_FUNCTION void operator()(long) const { - const int32_t t = tokens.acquire(); + Kokkos::Experimental::AcquireUniqueToken token_val( + tokens); + const int32_t t = token_val.value(); bool ok = true; @@ -79,8 +79,6 @@ class TestUniqueToken { if (!ok) { Kokkos::atomic_fetch_add(&errors(0), 1); } - - tokens.release(t); } TestUniqueToken() @@ -129,6 +127,118 @@ class TestUniqueToken { } }; -TEST(TEST_CATEGORY, unique_token) { TestUniqueToken::run(); } +TEST(TEST_CATEGORY, unique_token_global) { + TestUniqueToken::run(); +} + +TEST(TEST_CATEGORY, unique_token_instance) { + TestUniqueToken::run(); +} + +template +class TestAcquireTeamUniqueToken { + public: + using execution_space = typename Space::execution_space; + using view_type = Kokkos::View; + using scratch_view = + Kokkos::View; + using team_policy_type = Kokkos::TeamPolicy; + using team_member_type = typename team_policy_type::member_type; + using tokens_type = Kokkos::Experimental::UniqueToken; + + tokens_type tokens; + + view_type verify; + view_type counts; + view_type errors; + + KOKKOS_INLINE_FUNCTION + void operator()(team_member_type team) const { + Kokkos::Experimental::AcquireTeamUniqueToken token_val( + tokens, team); + scratch_view team_rank_0_token_val(team.team_scratch(0)); + const int32_t t = token_val.value(); + + bool ok = true; + + ok = ok && 0 <= t; + ok = ok && t < tokens.size(); + + Kokkos::single(Kokkos::PerTeam(team), [&]() { + ok = ok && 0 == Kokkos::atomic_fetch_add(&verify(t), 1); + + Kokkos::atomic_fetch_add(&counts(t), 1); + + ok = ok && 1 == Kokkos::atomic_fetch_add(&verify(t), -1); + }); + + if (team.team_rank() == 0) { + team_rank_0_token_val() = t; + } + team.team_barrier(); + ok = ok && team_rank_0_token_val() == t; + + if (!ok) { + Kokkos::atomic_fetch_add(&errors(0), 1); + } + } + + TestAcquireTeamUniqueToken(int team_size) + : tokens(execution_space::concurrency() / team_size, execution_space()), + verify("TestAcquireTeamUniqueTokenVerify", tokens.size()), + counts("TestAcquireTeamUniqueTokenCounts", tokens.size()), + errors("TestAcquireTeamUniqueTokenErrors", 1) {} + + static void run() { + const int max_team_size = team_policy_type(1, 1).team_size_max( + TestAcquireTeamUniqueToken(1), Kokkos::ParallelForTag()); + const int team_size = std::min(2, max_team_size); + TestAcquireTeamUniqueToken self(team_size); + + { + const int duplicate = 100; + const long n = duplicate * self.tokens.size(); + + team_policy_type team_policy(n, team_size); + team_policy.set_scratch_size( + 0, Kokkos::PerTeam(Kokkos::Experimental::AcquireTeamUniqueToken< + team_policy_type>::shmem_size() + + scratch_view::shmem_size())); + + Kokkos::parallel_for(team_policy, self); + Kokkos::fence(); + } + + typename view_type::HostMirror host_counts = + Kokkos::create_mirror_view(self.counts); + + Kokkos::deep_copy(host_counts, self.counts); + + int32_t max = 0; + + { + const long n = host_counts.extent(0); + for (long i = 0; i < n; ++i) { + if (max < host_counts[i]) max = host_counts[i]; + } + } + + std::cout << "TestAcquireTeamUniqueToken max reuse = " << max << std::endl; + + typename view_type::HostMirror host_errors = + Kokkos::create_mirror_view(self.errors); + + Kokkos::deep_copy(host_errors, self.errors); + + ASSERT_EQ(host_errors(0), 0); + } +}; + +TEST(TEST_CATEGORY, acquire_team_unique_token) { + TestAcquireTeamUniqueToken::run(); +} } // namespace Test diff --git a/lib/kokkos/core/unit_test/TestViewAPI.hpp b/lib/kokkos/core/unit_test/TestViewAPI.hpp index b9847773b60ca8fc455f1e5dd33e663d7e80692d..717d8707190eee54ad15cc0f9a10ac3813898b4b 100644 --- a/lib/kokkos/core/unit_test/TestViewAPI.hpp +++ b/lib/kokkos/core/unit_test/TestViewAPI.hpp @@ -65,12 +65,12 @@ size_t allocation_count(const Kokkos::View &view) { template struct TestViewOperator { - typedef typename DeviceType::execution_space execution_space; + using execution_space = typename DeviceType::execution_space; enum { N = 1000 }; enum { D = 3 }; - typedef Kokkos::View view_type; + using view_type = Kokkos::View; const view_type v1; const view_type v2; @@ -97,11 +97,11 @@ struct TestViewOperator_LeftAndRight; template struct TestViewOperator_LeftAndRight { - typedef typename DeviceType::execution_space execution_space; - typedef typename DeviceType::memory_space memory_space; - typedef typename execution_space::size_type size_type; + using execution_space = typename DeviceType::execution_space; + using memory_space = typename DeviceType::memory_space; + using size_type = typename execution_space::size_type; - typedef int value_type; + using value_type = int; KOKKOS_INLINE_FUNCTION static void join(volatile value_type &update, @@ -112,11 +112,11 @@ struct TestViewOperator_LeftAndRight { KOKKOS_INLINE_FUNCTION static void init(value_type &update) { update = 0; } - typedef Kokkos::View left_view; - typedef Kokkos::View - right_view; - typedef Kokkos::View - stride_view; + using left_view = Kokkos::View; + using right_view = + Kokkos::View; + using stride_view = + Kokkos::View; left_view left; right_view right; @@ -193,11 +193,11 @@ struct TestViewOperator_LeftAndRight { template struct TestViewOperator_LeftAndRight { - typedef typename DeviceType::execution_space execution_space; - typedef typename DeviceType::memory_space memory_space; - typedef typename execution_space::size_type size_type; + using execution_space = typename DeviceType::execution_space; + using memory_space = typename DeviceType::memory_space; + using size_type = typename execution_space::size_type; - typedef int value_type; + using value_type = int; KOKKOS_INLINE_FUNCTION static void join(volatile value_type &update, @@ -208,9 +208,9 @@ struct TestViewOperator_LeftAndRight { KOKKOS_INLINE_FUNCTION static void init(value_type &update) { update = 0; } - typedef Kokkos::View left_view; - typedef Kokkos::View - right_view; + using left_view = Kokkos::View; + using right_view = + Kokkos::View; left_view left; right_view right; @@ -271,11 +271,11 @@ struct TestViewOperator_LeftAndRight { template struct TestViewOperator_LeftAndRight { - typedef typename DeviceType::execution_space execution_space; - typedef typename DeviceType::memory_space memory_space; - typedef typename execution_space::size_type size_type; + using execution_space = typename DeviceType::execution_space; + using memory_space = typename DeviceType::memory_space; + using size_type = typename execution_space::size_type; - typedef int value_type; + using value_type = int; KOKKOS_INLINE_FUNCTION static void join(volatile value_type &update, @@ -286,9 +286,9 @@ struct TestViewOperator_LeftAndRight { KOKKOS_INLINE_FUNCTION static void init(value_type &update) { update = 0; } - typedef Kokkos::View left_view; - typedef Kokkos::View - right_view; + using left_view = Kokkos::View; + using right_view = + Kokkos::View; left_view left; right_view right; @@ -347,11 +347,11 @@ struct TestViewOperator_LeftAndRight { template struct TestViewOperator_LeftAndRight { - typedef typename DeviceType::execution_space execution_space; - typedef typename DeviceType::memory_space memory_space; - typedef typename execution_space::size_type size_type; + using execution_space = typename DeviceType::execution_space; + using memory_space = typename DeviceType::memory_space; + using size_type = typename execution_space::size_type; - typedef int value_type; + using value_type = int; KOKKOS_INLINE_FUNCTION static void join(volatile value_type &update, @@ -362,11 +362,11 @@ struct TestViewOperator_LeftAndRight { KOKKOS_INLINE_FUNCTION static void init(value_type &update) { update = 0; } - typedef Kokkos::View left_view; - typedef Kokkos::View - right_view; - typedef Kokkos::View - stride_view; + using left_view = Kokkos::View; + using right_view = + Kokkos::View; + using stride_view = + Kokkos::View; left_view left; right_view right; @@ -435,11 +435,11 @@ struct TestViewOperator_LeftAndRight { template struct TestViewOperator_LeftAndRight { - typedef typename DeviceType::execution_space execution_space; - typedef typename DeviceType::memory_space memory_space; - typedef typename execution_space::size_type size_type; + using execution_space = typename DeviceType::execution_space; + using memory_space = typename DeviceType::memory_space; + using size_type = typename execution_space::size_type; - typedef int value_type; + using value_type = int; KOKKOS_INLINE_FUNCTION static void join(volatile value_type &update, @@ -450,9 +450,9 @@ struct TestViewOperator_LeftAndRight { KOKKOS_INLINE_FUNCTION static void init(value_type &update) { update = 0; } - typedef Kokkos::View left_view; - typedef Kokkos::View - right_view; + using left_view = Kokkos::View; + using right_view = + Kokkos::View; left_view left; right_view right; @@ -505,11 +505,11 @@ struct TestViewOperator_LeftAndRight { template struct TestViewOperator_LeftAndRight { - typedef typename DeviceType::execution_space execution_space; - typedef typename DeviceType::memory_space memory_space; - typedef typename execution_space::size_type size_type; + using execution_space = typename DeviceType::execution_space; + using memory_space = typename DeviceType::memory_space; + using size_type = typename execution_space::size_type; - typedef int value_type; + using value_type = int; KOKKOS_INLINE_FUNCTION static void join(volatile value_type &update, @@ -520,11 +520,11 @@ struct TestViewOperator_LeftAndRight { KOKKOS_INLINE_FUNCTION static void init(value_type &update) { update = 0; } - typedef Kokkos::View left_view; - typedef Kokkos::View - right_view; - typedef Kokkos::View - stride_view; + using left_view = Kokkos::View; + using right_view = + Kokkos::View; + using stride_view = + Kokkos::View; left_view left; right_view right; @@ -586,32 +586,23 @@ struct TestViewOperator_LeftAndRight { for (unsigned i0 = 0; i0 < unsigned(left.extent(0)); ++i0) for (unsigned i1 = 0; i1 < unsigned(left.extent(1)); ++i1) for (unsigned i2 = 0; i2 < unsigned(left.extent(2)); ++i2) { -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - if (&left(i0, i1, i2) != &left(i0, i1, i2, 0, 0, 0, 0, 0)) { - update |= 3; - } - if (&right(i0, i1, i2) != &right(i0, i1, i2, 0, 0, 0, 0, 0)) { - update |= 3; - } -#else if (&left(i0, i1, i2) != &left.access(i0, i1, i2, 0, 0, 0, 0, 0)) { update |= 3; } if (&right(i0, i1, i2) != &right.access(i0, i1, i2, 0, 0, 0, 0, 0)) { update |= 3; } -#endif } } }; template struct TestViewOperator_LeftAndRight { - typedef typename DeviceType::execution_space execution_space; - typedef typename DeviceType::memory_space memory_space; - typedef typename execution_space::size_type size_type; + using execution_space = typename DeviceType::execution_space; + using memory_space = typename DeviceType::memory_space; + using size_type = typename execution_space::size_type; - typedef int value_type; + using value_type = int; KOKKOS_INLINE_FUNCTION static void join(volatile value_type &update, @@ -622,9 +613,9 @@ struct TestViewOperator_LeftAndRight { KOKKOS_INLINE_FUNCTION static void init(value_type &update) { update = 0; } - typedef Kokkos::View left_view; - typedef Kokkos::View - right_view; + using left_view = Kokkos::View; + using right_view = + Kokkos::View; left_view left; right_view right; @@ -671,32 +662,23 @@ struct TestViewOperator_LeftAndRight { for (unsigned i0 = 0; i0 < unsigned(left.extent(0)); ++i0) for (unsigned i1 = 0; i1 < unsigned(left.extent(1)); ++i1) { -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - if (&left(i0, i1) != &left(i0, i1, 0, 0, 0, 0, 0, 0)) { - update |= 3; - } - if (&right(i0, i1) != &right(i0, i1, 0, 0, 0, 0, 0, 0)) { - update |= 3; - } -#else if (&left(i0, i1) != &left.access(i0, i1, 0, 0, 0, 0, 0, 0)) { update |= 3; } if (&right(i0, i1) != &right.access(i0, i1, 0, 0, 0, 0, 0, 0)) { update |= 3; } -#endif } } }; template struct TestViewOperator_LeftAndRight { - typedef typename DeviceType::execution_space execution_space; - typedef typename DeviceType::memory_space memory_space; - typedef typename execution_space::size_type size_type; + using execution_space = typename DeviceType::execution_space; + using memory_space = typename DeviceType::memory_space; + using size_type = typename execution_space::size_type; - typedef int value_type; + using value_type = int; KOKKOS_INLINE_FUNCTION static void join(volatile value_type &update, @@ -707,11 +689,11 @@ struct TestViewOperator_LeftAndRight { KOKKOS_INLINE_FUNCTION static void init(value_type &update) { update = 0; } - typedef Kokkos::View left_view; - typedef Kokkos::View - right_view; - typedef Kokkos::View - stride_view; + using left_view = Kokkos::View; + using right_view = + Kokkos::View; + using stride_view = + Kokkos::View; left_view left; right_view right; @@ -741,21 +723,12 @@ struct TestViewOperator_LeftAndRight { KOKKOS_INLINE_FUNCTION void operator()(const size_type, value_type &update) const { for (unsigned i0 = 0; i0 < unsigned(left.extent(0)); ++i0) { -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - if (&left(i0) != &left(i0, 0, 0, 0, 0, 0, 0, 0)) { - update |= 3; - } - if (&right(i0) != &right(i0, 0, 0, 0, 0, 0, 0, 0)) { - update |= 3; - } -#else if (&left(i0) != &left.access(i0, 0, 0, 0, 0, 0, 0, 0)) { update |= 3; } if (&right(i0) != &right.access(i0, 0, 0, 0, 0, 0, 0, 0)) { update |= 3; } -#endif if (&left(i0) != &left_stride(i0)) { update |= 4; } @@ -846,6 +819,44 @@ struct TestViewMirror { return v; } + static void test_allocated() { + using ExecutionSpace = typename DeviceType::execution_space; + using dynamic_view = Kokkos::View; + using static_view = Kokkos::View; + using unmanaged_view = + Kokkos::View >; + int const N = 100; + + dynamic_view d1; + static_view s1; + unmanaged_view u1; + ASSERT_FALSE(d1.is_allocated()); + ASSERT_FALSE(s1.is_allocated()); + ASSERT_FALSE(u1.is_allocated()); + + d1 = dynamic_view("d1", N); + dynamic_view d2(d1); + dynamic_view d3("d3", N); + ASSERT_TRUE(d1.is_allocated()); + ASSERT_TRUE(d2.is_allocated()); + ASSERT_TRUE(d3.is_allocated()); + + s1 = static_view("s1"); + static_view s2(s1); + static_view s3("s3"); + ASSERT_TRUE(s1.is_allocated()); + ASSERT_TRUE(s2.is_allocated()); + ASSERT_TRUE(s3.is_allocated()); + + u1 = unmanaged_view(d1.data(), N); + unmanaged_view u2(u1); + unmanaged_view u3(d1.data(), N); + ASSERT_TRUE(u1.is_allocated()); + ASSERT_TRUE(u2.is_allocated()); + ASSERT_TRUE(u3.is_allocated()); + } + static void test_mirror_copy_const_data_type() { using ExecutionSpace = typename DeviceType::execution_space; int const N = 100; @@ -859,9 +870,8 @@ struct TestViewMirror { template struct CopyUnInit { - typedef typename Kokkos::Impl::MirrorViewType< - Space, double *, Layout, Kokkos::HostSpace, MemoryTraits>::view_type - mirror_view_type; + using mirror_view_type = typename Kokkos::Impl::MirrorViewType< + Space, double *, Layout, Kokkos::HostSpace, MemoryTraits>::view_type; mirror_view_type a_d; @@ -913,6 +923,7 @@ struct TestViewMirror { test_mirror_copy >(); test_mirror_copy >(); test_mirror_copy_const_data_type(); + test_allocated(); test_mirror_no_initialize >(); test_mirror_no_initialize >(); } @@ -923,19 +934,19 @@ struct TestViewMirror { template class TestViewAPI { public: - typedef DeviceType device; + using device = DeviceType; enum { N0 = 1000, N1 = 3, N2 = 5, N3 = 7 }; - typedef Kokkos::View dView0; - typedef Kokkos::View dView1; - typedef Kokkos::View dView2; - typedef Kokkos::View dView3; - typedef Kokkos::View dView4; - typedef Kokkos::View const_dView4; - typedef Kokkos::View - dView4_unmanaged; - typedef typename dView0::host_mirror_space host; + using dView0 = Kokkos::View; + using dView1 = Kokkos::View; + using dView2 = Kokkos::View; + using dView3 = Kokkos::View; + using dView4 = Kokkos::View; + using const_dView4 = Kokkos::View; + using dView4_unmanaged = + Kokkos::View; + using host = typename dView0::host_mirror_space; static void run_test_view_operator_a() { { @@ -974,8 +985,8 @@ class TestViewAPI { } static void run_test_mirror() { - typedef Kokkos::View view_type; - typedef typename view_type::HostMirror mirror_type; + using view_type = Kokkos::View; + using mirror_type = typename view_type::HostMirror; static_assert(std::is_same::value, @@ -991,7 +1002,7 @@ class TestViewAPI { } static void run_test_scalar() { - typedef typename dView0::HostMirror hView0; + using hView0 = typename dView0::HostMirror; dView0 dx, dy; hView0 hx, hy; @@ -1014,16 +1025,16 @@ class TestViewAPI { static void run_test() { // mfh 14 Feb 2014: This test doesn't actually create instances of - // these types. In order to avoid "declared but unused typedef" + // these types. In order to avoid "unused type alias" // warnings, we declare empty instances of these types, with the // usual "(void)" marker to avoid compiler warnings for unused // variables. - typedef typename dView0::HostMirror hView0; - typedef typename dView1::HostMirror hView1; - typedef typename dView2::HostMirror hView2; - typedef typename dView3::HostMirror hView3; - typedef typename dView4::HostMirror hView4; + using hView0 = typename dView0::HostMirror; + using hView1 = typename dView1::HostMirror; + using hView2 = typename dView2::HostMirror; + using hView3 = typename dView3::HostMirror; + using hView4 = typename dView4::HostMirror; { hView0 thing; @@ -1082,13 +1093,7 @@ class TestViewAPI { { // Destruction of this view should be harmless. - const_dView4 unmanaged_from_ptr_const_dx(dx.data(), dx.extent(0) -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - , - dx.extent(1), dx.extent(2), - dx.extent(3) -#endif - ); + const_dView4 unmanaged_from_ptr_const_dx(dx.data(), dx.extent(0)); } const_dView4 const_dx = dx; @@ -1294,7 +1299,7 @@ class TestViewAPI { } } - typedef T DataType[2]; + using DataType = T[2]; static void check_auto_conversion_to_const( const Kokkos::View &arg_const, @@ -1303,10 +1308,10 @@ class TestViewAPI { } static void run_test_const() { - typedef Kokkos::View typeX; - typedef Kokkos::View const_typeX; - typedef Kokkos::View - const_typeR; + using typeX = Kokkos::View; + using const_typeX = Kokkos::View; + using const_typeR = + Kokkos::View; typeX x("X"); const_typeX xc = x; @@ -1331,7 +1336,7 @@ class TestViewAPI { } static void run_test_subview() { - typedef Kokkos::View sView; + using sView = Kokkos::View; dView0 d0("d0"); dView1 d1("d1", N0); @@ -1347,13 +1352,13 @@ class TestViewAPI { } static void run_test_subview_strided() { - typedef Kokkos::View view_left_4; - typedef Kokkos::View view_right_4; - typedef Kokkos::View view_left_2; - typedef Kokkos::View view_right_2; + using view_left_4 = Kokkos::View; + using view_right_4 = Kokkos::View; + using view_left_2 = Kokkos::View; + using view_right_2 = Kokkos::View; - typedef Kokkos::View view_stride_1; - typedef Kokkos::View view_stride_2; + using view_stride_1 = Kokkos::View; + using view_stride_2 = Kokkos::View; view_left_2 xl2("xl2", 100, 200); view_right_2 xr2("xr2", 100, 200); @@ -1392,18 +1397,18 @@ class TestViewAPI { static void run_test_vector() { static const unsigned Length = 1000, Count = 8; - typedef Kokkos::View vector_type; - typedef Kokkos::View multivector_type; + using vector_type = Kokkos::View; + using multivector_type = Kokkos::View; - typedef Kokkos::View vector_right_type; - typedef Kokkos::View - multivector_right_type; + using vector_right_type = Kokkos::View; + using multivector_right_type = + Kokkos::View; - typedef Kokkos::View - const_vector_right_type; - typedef Kokkos::View const_vector_type; - typedef Kokkos::View - const_multivector_type; + using const_vector_right_type = + Kokkos::View; + using const_vector_type = Kokkos::View; + using const_multivector_type = + Kokkos::View; multivector_type mv = multivector_type("mv", Length, Count); multivector_right_type mv_right = diff --git a/lib/kokkos/core/unit_test/TestViewAPI_e.hpp b/lib/kokkos/core/unit_test/TestViewAPI_e.hpp index 40ae0836307b49da833d3b03e4fb380baf56e691..be57bcfe387e7a949a0a72749c5cf0e16d10c79e 100644 --- a/lib/kokkos/core/unit_test/TestViewAPI_e.hpp +++ b/lib/kokkos/core/unit_test/TestViewAPI_e.hpp @@ -59,11 +59,11 @@ TEST(TEST_CATEGORY, view_remap) { std::conditional::value, \ Kokkos::CudaHostPinnedSpace, TEST_EXECSPACE>::type #else -#ifdef KOKKOS_ENABLE_ROCM -#define EXECSPACE \ - std::conditional< \ - std::is_same::value, \ - Kokkos::Experimental::ROCmHostPinnedSpace, TEST_EXECSPACE>::type +#ifdef KOKKOS_ENABLE_HIP +#define EXECSPACE \ + std::conditional< \ + std::is_same::value, \ + Kokkos::Experimental::HIPHostPinnedSpace, TEST_EXECSPACE>::type #else #if defined(KOKKOS_ENABLE_OPENMPTARGET) #define EXECSPACE Kokkos::HostSpace @@ -73,14 +73,14 @@ TEST(TEST_CATEGORY, view_remap) { #endif #endif - typedef Kokkos::View - output_type; + using output_type = + Kokkos::View; - typedef Kokkos::View - input_type; + using input_type = + Kokkos::View; - typedef Kokkos::View - diff_type; + using diff_type = + Kokkos::View; output_type output("output", N0); input_type input("input", N0, N1); diff --git a/lib/kokkos/core/unit_test/TestViewCtorPropEmbeddedDim.hpp b/lib/kokkos/core/unit_test/TestViewCtorPropEmbeddedDim.hpp index 30701b3a4e289dcd1cc6522c9da0c327b8b9382d..04fb6e1397f36bf6a586f2a8b5557b5183f3b33d 100644 --- a/lib/kokkos/core/unit_test/TestViewCtorPropEmbeddedDim.hpp +++ b/lib/kokkos/core/unit_test/TestViewCtorPropEmbeddedDim.hpp @@ -87,10 +87,10 @@ struct TestViewCtorProp_EmbeddedDim { { // Two views auto view_alloc_arg = Kokkos::common_view_alloc_prop(vi1, vd1); - typedef - typename decltype(view_alloc_arg)::value_type CommonViewValueType; - typedef typename Kokkos::View CVT; - typedef typename CVT::HostMirror HostCVT; + using CommonViewValueType = + typename decltype(view_alloc_arg)::value_type; + using CVT = typename Kokkos::View; + using HostCVT = typename CVT::HostMirror; // Construct View using the common type; for case of specialization, an // 'embedded_dim' would be stored by view_alloc_arg @@ -128,10 +128,10 @@ struct TestViewCtorProp_EmbeddedDim { { // Single view auto view_alloc_arg = Kokkos::common_view_alloc_prop(vi1); - typedef - typename decltype(view_alloc_arg)::value_type CommonViewValueType; - typedef typename Kokkos::View CVT; - typedef typename CVT::HostMirror HostCVT; + using CommonViewValueType = + typename decltype(view_alloc_arg)::value_type; + using CVT = typename Kokkos::View; + using HostCVT = typename CVT::HostMirror; // Construct View using the common type; for case of specialization, an // 'embedded_dim' would be stored by view_alloc_arg diff --git a/lib/kokkos/core/unit_test/TestViewLayoutStrideAssignment.hpp b/lib/kokkos/core/unit_test/TestViewLayoutStrideAssignment.hpp index 583d135f351a1eeb7306105d00f0b022d7160ee5..462dd523f43ef6ca93925e440af9001ebeb743de 100644 --- a/lib/kokkos/core/unit_test/TestViewLayoutStrideAssignment.hpp +++ b/lib/kokkos/core/unit_test/TestViewLayoutStrideAssignment.hpp @@ -54,12 +54,12 @@ namespace Test { TEST(TEST_CATEGORY, view_layoutstride_left_to_layoutleft_assignment) { - typedef TEST_EXECSPACE exec_space; + using exec_space = TEST_EXECSPACE; auto t = time(nullptr); srand(t); // Use current time as seed for random generator printf("view_layoutstride_left_to_layoutleft_assignment: srand(%lu)\n", - size_t(t)); + static_cast(t)); { // Assignment of rank-1 LayoutLeft = LayoutStride int ndims = 1; @@ -336,12 +336,12 @@ TEST(TEST_CATEGORY, view_layoutstride_left_to_layoutleft_assignment) { } TEST(TEST_CATEGORY, view_layoutstride_right_to_layoutright_assignment) { - typedef TEST_EXECSPACE exec_space; + using exec_space = TEST_EXECSPACE; auto t = time(nullptr); srand(t); // Use current time as seed for random generator printf("view_layoutstride_right_to_layoutright_assignment: srand(%lu)\n", - size_t(t)); + static_cast(t)); { // Assignment of rank-1 LayoutRight = LayoutStride int ndims = 1; @@ -618,12 +618,12 @@ TEST(TEST_CATEGORY, view_layoutstride_right_to_layoutright_assignment) { } TEST(TEST_CATEGORY_DEATH, view_layoutstride_right_to_layoutleft_assignment) { - typedef TEST_EXECSPACE exec_space; + using exec_space = TEST_EXECSPACE; auto t = time(nullptr); srand(t); // Use current time as seed for random generator printf("view_layoutstride_right_to_layoutleft_assignment: srand(%lu)\n", - size_t(t)); + static_cast(t)); { // Assignment of rank-1 LayoutLeft = LayoutStride (LayoutRight compatible) int ndims = 1; @@ -661,6 +661,10 @@ TEST(TEST_CATEGORY_DEATH, view_layoutstride_right_to_layoutleft_assignment) { ASSERT_EQ(dst.span(), src.span()); ASSERT_EQ(test, true); } +// WORKAROUND OPENMPTARGET : death tests don't seem to work ... +#ifdef KOKKOS_ENABLE_OPENMPTARGET + return; +#endif { // Assignment of rank-2 LayoutLeft = LayoutStride (LayoutRight compatible) int ndims = 2; int dims[] = {10, 9}; @@ -769,12 +773,12 @@ TEST(TEST_CATEGORY_DEATH, view_layoutstride_right_to_layoutleft_assignment) { } TEST(TEST_CATEGORY_DEATH, view_layoutstride_left_to_layoutright_assignment) { - typedef TEST_EXECSPACE exec_space; + using exec_space = TEST_EXECSPACE; auto t = time(nullptr); srand(t); // Use current time as seed for random generator printf("view_layoutstride_left_to_layoutright_assignment: srand(%lu)\n", - size_t(t)); + static_cast(t)); { // Assignment of rank-1 LayoutRight = LayoutStride (LayoutLeft compatible) int ndims = 1; @@ -812,6 +816,10 @@ TEST(TEST_CATEGORY_DEATH, view_layoutstride_left_to_layoutright_assignment) { ASSERT_EQ(dst.span(), src.span()); ASSERT_EQ(test, true); } +// WORKAROUND OPENMPTARGET : death tests don't seem to work ... +#ifdef KOKKOS_ENABLE_OPENMPTARGET + return; +#endif { // Assignment of rank-2 LayoutRight = LayoutStride (LayoutLeft compatible) int ndims = 2; int dims[] = {10, 9}; diff --git a/lib/kokkos/core/unit_test/TestViewLayoutTiled.hpp b/lib/kokkos/core/unit_test/TestViewLayoutTiled.hpp index 75eef2d69e9c05c913e1c7efb84229f8f9c06209..2510a1244664c4b902160faf5f93d022e48ed7aa 100644 --- a/lib/kokkos/core/unit_test/TestViewLayoutTiled.hpp +++ b/lib/kokkos/core/unit_test/TestViewLayoutTiled.hpp @@ -54,12 +54,11 @@ namespace Test { -#ifndef KOKKOS_ENABLE_DEPRECATED_CODE namespace { template struct TestViewLayoutTiled { - typedef double Scalar; + using Scalar = double; static constexpr int T0 = 2; static constexpr int T1 = 4; @@ -71,46 +70,46 @@ struct TestViewLayoutTiled { static constexpr int T7 = 2; // Rank 2 - typedef Kokkos::Experimental::LayoutTiled - LayoutLL_2D_2x4; - typedef Kokkos::Experimental::LayoutTiled - LayoutRL_2D_2x4; - typedef Kokkos::Experimental::LayoutTiled - LayoutLR_2D_2x4; - typedef Kokkos::Experimental::LayoutTiled - LayoutRR_2D_2x4; + using LayoutLL_2D_2x4 = + Kokkos::Experimental::LayoutTiled; + using LayoutRL_2D_2x4 = + Kokkos::Experimental::LayoutTiled; + using LayoutLR_2D_2x4 = + Kokkos::Experimental::LayoutTiled; + using LayoutRR_2D_2x4 = + Kokkos::Experimental::LayoutTiled; // Rank 3 - typedef Kokkos::Experimental::LayoutTiled - LayoutLL_3D_2x4x4; - typedef Kokkos::Experimental::LayoutTiled - LayoutRL_3D_2x4x4; - typedef Kokkos::Experimental::LayoutTiled - LayoutLR_3D_2x4x4; - typedef Kokkos::Experimental::LayoutTiled - LayoutRR_3D_2x4x4; + using LayoutLL_3D_2x4x4 = + Kokkos::Experimental::LayoutTiled; + using LayoutRL_3D_2x4x4 = + Kokkos::Experimental::LayoutTiled; + using LayoutLR_3D_2x4x4 = + Kokkos::Experimental::LayoutTiled; + using LayoutRR_3D_2x4x4 = + Kokkos::Experimental::LayoutTiled; // Rank 4 - typedef Kokkos::Experimental::LayoutTiled< - Kokkos::Iterate::Left, Kokkos::Iterate::Left, T0, T1, T2, T3> - LayoutLL_4D_2x4x4x2; - typedef Kokkos::Experimental::LayoutTiled< - Kokkos::Iterate::Right, Kokkos::Iterate::Left, T0, T1, T2, T3> - LayoutRL_4D_2x4x4x2; - typedef Kokkos::Experimental::LayoutTiled< - Kokkos::Iterate::Left, Kokkos::Iterate::Right, T0, T1, T2, T3> - LayoutLR_4D_2x4x4x2; - typedef Kokkos::Experimental::LayoutTiled< - Kokkos::Iterate::Right, Kokkos::Iterate::Right, T0, T1, T2, T3> - LayoutRR_4D_2x4x4x2; + using LayoutLL_4D_2x4x4x2 = + Kokkos::Experimental::LayoutTiled; + using LayoutRL_4D_2x4x4x2 = + Kokkos::Experimental::LayoutTiled; + using LayoutLR_4D_2x4x4x2 = + Kokkos::Experimental::LayoutTiled; + using LayoutRR_4D_2x4x4x2 = + Kokkos::Experimental::LayoutTiled; #if !defined(KOKKOS_ENABLE_CXX11_DISPATCH_LAMBDA) static void test_view_layout_tiled_2d(const int, const int) { @@ -123,8 +122,8 @@ struct TestViewLayoutTiled { // Test create_mirror_view, deep_copy // Create LL View { - typedef typename Kokkos::View - ViewType; + using ViewType = + typename Kokkos::View; ViewType v("v", N0, N1); typename ViewType::HostMirror hv = Kokkos::create_mirror_view(v); @@ -188,8 +187,8 @@ struct TestViewLayoutTiled { // Create RL View { - typedef typename Kokkos::View - ViewType; + using ViewType = + typename Kokkos::View; Kokkos::View v("v", N0, N1); typename ViewType::HostMirror hv = Kokkos::create_mirror_view(v); @@ -254,8 +253,8 @@ struct TestViewLayoutTiled { // Create LR View { - typedef typename Kokkos::View - ViewType; + using ViewType = + typename Kokkos::View; Kokkos::View v("v", N0, N1); typename ViewType::HostMirror hv = Kokkos::create_mirror_view(v); @@ -320,8 +319,8 @@ struct TestViewLayoutTiled { // Create RR View { - typedef typename Kokkos::View - ViewType; + using ViewType = + typename Kokkos::View; Kokkos::View v("v", N0, N1); typename ViewType::HostMirror hv = Kokkos::create_mirror_view(v); @@ -399,7 +398,7 @@ struct TestViewLayoutTiled { // Create LL View { - typedef Kokkos::View ViewType; + using ViewType = Kokkos::View; Kokkos::View dv("dv", N0, N1, N2); @@ -470,7 +469,7 @@ struct TestViewLayoutTiled { // Create RL View { - typedef Kokkos::View ViewType; + using ViewType = Kokkos::View; Kokkos::View dv("dv", N0, N1, N2); @@ -541,7 +540,7 @@ struct TestViewLayoutTiled { // Create LR View { - typedef Kokkos::View ViewType; + using ViewType = Kokkos::View; Kokkos::View dv("dv", N0, N1, N2); @@ -612,7 +611,7 @@ struct TestViewLayoutTiled { // Create RR View { - typedef Kokkos::View ViewType; + using ViewType = Kokkos::View; Kokkos::View dv("dv", N0, N1, N2); @@ -698,7 +697,7 @@ struct TestViewLayoutTiled { // Create LL View { - typedef Kokkos::View ViewType; + using ViewType = Kokkos::View; Kokkos::View dv("dv", N0, N1, N2, N3); @@ -780,7 +779,7 @@ struct TestViewLayoutTiled { // Create RL View { - typedef Kokkos::View ViewType; + using ViewType = Kokkos::View; Kokkos::View dv("dv", N0, N1, N2, N3); @@ -863,7 +862,7 @@ struct TestViewLayoutTiled { // Create LR View { - typedef Kokkos::View ViewType; + using ViewType = Kokkos::View; Kokkos::View dv("dv", N0, N1, N2, N3); @@ -947,7 +946,7 @@ struct TestViewLayoutTiled { // Create RR View { - typedef Kokkos::View ViewType; + using ViewType = Kokkos::View; Kokkos::View dv("dv", N0, N1, N2, N3); @@ -1776,5 +1775,4 @@ TEST(TEST_CATEGORY, view_layouttiled_subtile) { TestViewLayoutTiled::test_view_layout_tiled_subtile_4d( 4, 12, 16, 12); } -#endif } // namespace Test diff --git a/lib/kokkos/core/unit_test/TestViewMapping_a.hpp b/lib/kokkos/core/unit_test/TestViewMapping_a.hpp index 7bd6353c2b8f881e80f429a30cab75859246fba0..084246a274f29973cdc9ff007077ce9b2dcd678c 100644 --- a/lib/kokkos/core/unit_test/TestViewMapping_a.hpp +++ b/lib/kokkos/core/unit_test/TestViewMapping_a.hpp @@ -54,28 +54,28 @@ namespace Test { template void test_view_mapping() { - typedef typename Space::execution_space ExecSpace; + using ExecSpace = typename Space::execution_space; - typedef Kokkos::Impl::ViewDimension<> dim_0; - typedef Kokkos::Impl::ViewDimension<2> dim_s2; - typedef Kokkos::Impl::ViewDimension<2, 3> dim_s2_s3; - typedef Kokkos::Impl::ViewDimension<2, 3, 4> dim_s2_s3_s4; + using dim_0 = Kokkos::Impl::ViewDimension<>; + using dim_s2 = Kokkos::Impl::ViewDimension<2>; + using dim_s2_s3 = Kokkos::Impl::ViewDimension<2, 3>; + using dim_s2_s3_s4 = Kokkos::Impl::ViewDimension<2, 3, 4>; - typedef Kokkos::Impl::ViewDimension<0> dim_s0; - typedef Kokkos::Impl::ViewDimension<0, 3> dim_s0_s3; - typedef Kokkos::Impl::ViewDimension<0, 3, 4> dim_s0_s3_s4; + using dim_s0 = Kokkos::Impl::ViewDimension<0>; + using dim_s0_s3 = Kokkos::Impl::ViewDimension<0, 3>; + using dim_s0_s3_s4 = Kokkos::Impl::ViewDimension<0, 3, 4>; - typedef Kokkos::Impl::ViewDimension<0, 0> dim_s0_s0; - typedef Kokkos::Impl::ViewDimension<0, 0, 4> dim_s0_s0_s4; + using dim_s0_s0 = Kokkos::Impl::ViewDimension<0, 0>; + using dim_s0_s0_s4 = Kokkos::Impl::ViewDimension<0, 0, 4>; - typedef Kokkos::Impl::ViewDimension<0, 0, 0> dim_s0_s0_s0; - typedef Kokkos::Impl::ViewDimension<0, 0, 0, 0> dim_s0_s0_s0_s0; - typedef Kokkos::Impl::ViewDimension<0, 0, 0, 0, 0> dim_s0_s0_s0_s0_s0; - typedef Kokkos::Impl::ViewDimension<0, 0, 0, 0, 0, 0> dim_s0_s0_s0_s0_s0_s0; - typedef Kokkos::Impl::ViewDimension<0, 0, 0, 0, 0, 0, 0> - dim_s0_s0_s0_s0_s0_s0_s0; - typedef Kokkos::Impl::ViewDimension<0, 0, 0, 0, 0, 0, 0, 0> - dim_s0_s0_s0_s0_s0_s0_s0_s0; + using dim_s0_s0_s0 = Kokkos::Impl::ViewDimension<0, 0, 0>; + using dim_s0_s0_s0_s0 = Kokkos::Impl::ViewDimension<0, 0, 0, 0>; + using dim_s0_s0_s0_s0_s0 = Kokkos::Impl::ViewDimension<0, 0, 0, 0, 0>; + using dim_s0_s0_s0_s0_s0_s0 = Kokkos::Impl::ViewDimension<0, 0, 0, 0, 0, 0>; + using dim_s0_s0_s0_s0_s0_s0_s0 = + Kokkos::Impl::ViewDimension<0, 0, 0, 0, 0, 0, 0>; + using dim_s0_s0_s0_s0_s0_s0_s0_s0 = + Kokkos::Impl::ViewDimension<0, 0, 0, 0, 0, 0, 0, 0>; // Fully static dimensions should not be larger than an int. #ifndef _WIN32 // For some reason on Windows the first test here fails with @@ -190,14 +190,14 @@ void test_view_mapping() { //---------------------------------------- - typedef Kokkos::Impl::ViewOffset - stride_s0_s0_s0; + using stride_s0_s0_s0 = + Kokkos::Impl::ViewOffset; //---------------------------------------- // Static dimension. { - typedef Kokkos::Impl::ViewOffset - left_s2_s3_s4; + using left_s2_s3_s4 = + Kokkos::Impl::ViewOffset; ASSERT_EQ(sizeof(left_s2_s3_s4), sizeof(dim_s2_s3_s4)); @@ -228,8 +228,8 @@ void test_view_mapping() { //---------------------------------------- // Small dimension is unpadded. { - typedef Kokkos::Impl::ViewOffset - left_s0_s0_s4; + using left_s0_s0_s4 = + Kokkos::Impl::ViewOffset; left_s0_s0_s4 dyn_off3(std::integral_constant(), Kokkos::LayoutLeft(2, 3, 0, 0, 0, 0, 0, 0)); @@ -280,8 +280,8 @@ void test_view_mapping() { constexpr int N0 = 2000; constexpr int N1 = 300; - typedef Kokkos::Impl::ViewOffset - left_s0_s0_s4; + using left_s0_s0_s4 = + Kokkos::Impl::ViewOffset; left_s0_s0_s4 dyn_off3(std::integral_constant(), Kokkos::LayoutLeft(N0, N1, 0, 0, 0, 0, 0, 0)); @@ -319,8 +319,8 @@ void test_view_mapping() { //---------------------------------------- // Static dimension. { - typedef Kokkos::Impl::ViewOffset - right_s2_s3_s4; + using right_s2_s3_s4 = + Kokkos::Impl::ViewOffset; ASSERT_EQ(sizeof(right_s2_s3_s4), sizeof(dim_s2_s3_s4)); @@ -355,8 +355,8 @@ void test_view_mapping() { //---------------------------------------- // Small dimension is unpadded. { - typedef Kokkos::Impl::ViewOffset - right_s0_s0_s4; + using right_s0_s0_s4 = + Kokkos::Impl::ViewOffset; right_s0_s0_s4 dyn_off3(std::integral_constant(), Kokkos::LayoutRight(2, 3, 0, 0, 0, 0, 0, 0)); @@ -396,8 +396,8 @@ void test_view_mapping() { constexpr int N0 = 2000; constexpr int N1 = 300; - typedef Kokkos::Impl::ViewOffset - right_s0_s0_s4; + using right_s0_s0_s4 = + Kokkos::Impl::ViewOffset; right_s0_s0_s4 dyn_off3(std::integral_constant(), Kokkos::LayoutRight(N0, N1, 0, 0, 0, 0, 0, 0)); @@ -436,7 +436,7 @@ void test_view_mapping() { // Subview. { // Mapping rank 4 to rank 3 - typedef Kokkos::Impl::SubviewExtents<4, 3> SubviewExtents; + using SubviewExtents = Kokkos::Impl::SubviewExtents<4, 3>; constexpr int N0 = 1000; constexpr int N1 = 2000; @@ -471,8 +471,8 @@ void test_view_mapping() { constexpr int sub_N1 = 200; constexpr int sub_N2 = 4; - typedef Kokkos::Impl::ViewOffset - left_s0_s0_s4; + using left_s0_s0_s4 = + Kokkos::Impl::ViewOffset; left_s0_s0_s4 dyn_off3(std::integral_constant(), Kokkos::LayoutLeft(N0, N1, 0, 0, 0, 0, 0, 0)); @@ -508,8 +508,8 @@ void test_view_mapping() { constexpr int sub_N1 = 200; constexpr int sub_N2 = 4; - typedef Kokkos::Impl::ViewOffset - right_s0_s0_s4; + using right_s0_s0_s4 = + Kokkos::Impl::ViewOffset; right_s0_s0_s4 dyn_off3(std::integral_constant(), Kokkos::LayoutRight(N0, N1, 0, 0, 0, 0, 0, 0)); @@ -552,10 +552,10 @@ void test_view_mapping() { { using namespace Kokkos::Impl; - typedef ViewArrayAnalysis a_int_r1; - typedef ViewArrayAnalysis a_int_r5; - typedef ViewArrayAnalysis a_const_int_r1; - typedef ViewArrayAnalysis a_const_int_r5; + using a_int_r1 = ViewArrayAnalysis; + using a_int_r5 = ViewArrayAnalysis; + using a_const_int_r1 = ViewArrayAnalysis; + using a_const_int_r5 = ViewArrayAnalysis; static_assert(a_int_r1::dimension::rank == 1, ""); static_assert(a_int_r1::dimension::rank_dynamic == 1, ""); @@ -610,10 +610,10 @@ void test_view_mapping() { { using namespace Kokkos::Impl; - typedef int t_i4[4]; + using t_i4 = int[4]; // Dimensions of t_i4 are appended to the multdimensional array. - typedef ViewArrayAnalysis a_int_r5; + using a_int_r5 = ViewArrayAnalysis; static_assert(a_int_r5::dimension::rank == 5, ""); static_assert(a_int_r5::dimension::rank_dynamic == 3, ""); @@ -629,7 +629,7 @@ void test_view_mapping() { { using namespace Kokkos::Impl; - typedef ViewDataAnalysis a_const_int_r1; + using a_const_int_r1 = ViewDataAnalysis; static_assert( std::is_same::value, ""); @@ -661,7 +661,7 @@ void test_view_mapping() { std::is_same::value, ""); - typedef ViewDataAnalysis a_const_int_r3; + using a_const_int_r3 = ViewDataAnalysis; static_assert( std::is_same::value, ""); @@ -708,8 +708,8 @@ void test_view_mapping() { { constexpr int N = 10; - typedef Kokkos::View T; - typedef Kokkos::View C; + using T = Kokkos::View; + using C = Kokkos::View; int data[N]; @@ -788,8 +788,8 @@ void test_view_mapping() { { constexpr int N = 10; - typedef Kokkos::View T; - typedef Kokkos::View C; + using T = Kokkos::View; + using C = Kokkos::View; T vr1("vr1", N); C cr1(vr1); @@ -835,8 +835,8 @@ void test_view_mapping() { // Testing proper handling of zero-length allocations. { constexpr int N = 0; - typedef Kokkos::View T; - typedef Kokkos::View C; + using T = Kokkos::View; + using C = Kokkos::View; T vr1("vr1", N); C cr1(vr1); @@ -852,8 +852,8 @@ void test_view_mapping() { typename ExecSpace::memory_space::execution_space>::value) { using namespace Kokkos; - typedef typename ExecSpace::memory_space memory_space; - typedef View V; + using memory_space = typename ExecSpace::memory_space; + using V = View; constexpr int N = 10; @@ -874,10 +874,10 @@ void test_view_mapping() { } { - typedef Kokkos::ViewTraits - traits_t; - typedef Kokkos::Impl::ViewDimension<0, 0, 0> dims_t; - typedef Kokkos::Impl::ViewOffset offset_t; + using traits_t = + Kokkos::ViewTraits; + using dims_t = Kokkos::Impl::ViewDimension<0, 0, 0>; + using offset_t = Kokkos::Impl::ViewOffset; Kokkos::LayoutStride stride; @@ -906,9 +906,9 @@ void test_view_mapping() { } { - typedef Kokkos::View V; - typedef typename V::HostMirror M; - typedef typename Kokkos::View::array_layout layout_type; + using V = Kokkos::View; + using M = typename V::HostMirror; + using layout_type = typename Kokkos::View::array_layout; constexpr int N0 = 10; constexpr int N1 = 11; @@ -980,11 +980,10 @@ void test_view_mapping() { } { - typedef Kokkos::View V; - typedef typename V::HostMirror M; - typedef - typename Kokkos::View::array_layout - layout_type; + using V = Kokkos::View; + using M = typename V::HostMirror; + using layout_type = + typename Kokkos::View::array_layout; constexpr int N0 = 10; constexpr int N1 = 11; @@ -1034,8 +1033,8 @@ void test_view_mapping() { } { - typedef Kokkos::View V; - typedef Kokkos::View U; + using V = Kokkos::View; + using U = Kokkos::View; V a("a", 10); @@ -1075,8 +1074,8 @@ void test_view_mapping() { !(defined(KOKKOS_ENABLE_HPX) && defined(KOKKOS_ENABLE_HPX_ASYNC_DISPATCH)) // Cannot launch host lambda when CUDA lambda is enabled. - typedef typename Kokkos::Impl::HostMirror::Space::execution_space - host_exec_space; + using host_exec_space = + typename Kokkos::Impl::HostMirror::Space::execution_space; int errors = 0; Kokkos::parallel_reduce( @@ -1104,20 +1103,12 @@ struct TestViewMapOperator { static_assert(ViewType::reference_type_is_lvalue_reference, "Test only valid for lvalue reference type"); -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - const ViewType v; -#else ViewType v; -#endif KOKKOS_INLINE_FUNCTION void test_left(size_t i0, int64_t& error_count) const { -#ifdef KOKKOS_ENABLE_DEPPRECATED_CODE - typename ViewType::value_type* const base_ptr = &v(0, 0, 0, 0, 0, 0, 0, 0); -#else typename ViewType::value_type* const base_ptr = &v.access(0, 0, 0, 0, 0, 0, 0, 0); -#endif const size_t n1 = v.extent(1); const size_t n2 = v.extent(2); const size_t n3 = v.extent(3); @@ -1135,13 +1126,8 @@ struct TestViewMapOperator { for (size_t i3 = 0; i3 < n3; ++i3) for (size_t i2 = 0; i2 < n2; ++i2) for (size_t i1 = 0; i1 < n1; ++i1) { -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - const int64_t d = - &v(i0, i1, i2, i3, i4, i5, i6, i7) - base_ptr; -#else const int64_t d = &v.access(i0, i1, i2, i3, i4, i5, i6, i7) - base_ptr; -#endif if (d < offset) ++error_count; offset = d; } @@ -1151,12 +1137,8 @@ struct TestViewMapOperator { KOKKOS_INLINE_FUNCTION void test_right(size_t i0, int64_t& error_count) const { -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - typename ViewType::value_type* const base_ptr = &v(0, 0, 0, 0, 0, 0, 0, 0); -#else typename ViewType::value_type* const base_ptr = &v.access(0, 0, 0, 0, 0, 0, 0, 0); -#endif const size_t n1 = v.extent(1); const size_t n2 = v.extent(2); const size_t n3 = v.extent(3); @@ -1174,13 +1156,8 @@ struct TestViewMapOperator { for (size_t i5 = 0; i5 < n5; ++i5) for (size_t i6 = 0; i6 < n6; ++i6) for (size_t i7 = 0; i7 < n7; ++i7) { -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - const int64_t d = - &v(i0, i1, i2, i3, i4, i5, i6, i7) - base_ptr; -#else const int64_t d = &v.access(i0, i1, i2, i3, i4, i5, i6, i7) - base_ptr; -#endif if (d < offset) ++error_count; offset = d; } @@ -1208,10 +1185,6 @@ struct TestViewMapOperator { enum { N6 = 4 }; enum { N7 = 3 }; -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - TestViewMapOperator() : v("Test", N0, N1, N2, N3, N4, N5, N6, N7) {} - -#else TestViewMapOperator() { const size_t dyn_rank = v.rank_dynamic; const std::string label("Test"); @@ -1229,7 +1202,6 @@ struct TestViewMapOperator { } } -#endif void run() { ASSERT_EQ(v.extent(0), (0 < ViewType::rank ? TestViewMapOperator::N0 : 1)); @@ -1262,7 +1234,7 @@ struct TestViewMapOperator { template void test_view_mapping_operator() { - typedef typename Space::execution_space ExecSpace; + using ExecSpace = typename Space::execution_space; { TestViewMapOperator > f; diff --git a/lib/kokkos/core/unit_test/TestViewMapping_b.hpp b/lib/kokkos/core/unit_test/TestViewMapping_b.hpp index 63ec635323bd537ce7a2670a5d1b550b9bc58e1f..96eca79f6ca210bb222460ef0a1842ee0fb1b5f5 100644 --- a/lib/kokkos/core/unit_test/TestViewMapping_b.hpp +++ b/lib/kokkos/core/unit_test/TestViewMapping_b.hpp @@ -56,13 +56,13 @@ namespace Test { template struct TestViewMappingAtomic { - typedef typename Space::execution_space ExecSpace; - typedef typename Space::memory_space MemSpace; + using ExecSpace = typename Space::execution_space; + using MemSpace = typename Space::memory_space; - typedef Kokkos::MemoryTraits mem_trait; + using mem_trait = Kokkos::MemoryTraits; - typedef Kokkos::View T; - typedef Kokkos::View T_atom; + using T = Kokkos::View; + using T_atom = Kokkos::View; T x; T_atom x_atom; @@ -166,7 +166,7 @@ struct MappingClassValueType { template void test_view_mapping_class_value() { - typedef typename Space::execution_space ExecSpace; + using ExecSpace = typename Space::execution_space; ExecSpace().fence(); { @@ -187,12 +187,12 @@ TEST(TEST_CATEGORY, view_mapping_class_value) { namespace Test { TEST(TEST_CATEGORY, view_mapping_assignable) { - typedef TEST_EXECSPACE exec_space; + using exec_space = TEST_EXECSPACE; { // Assignment of rank-0 Left = Right - typedef Kokkos::ViewTraits dst_traits; - typedef Kokkos::ViewTraits src_traits; - typedef Kokkos::Impl::ViewMapping mapping; + using dst_traits = Kokkos::ViewTraits; + using src_traits = Kokkos::ViewTraits; + using mapping = Kokkos::Impl::ViewMapping; static_assert(mapping::is_assignable, ""); Kokkos::View src; @@ -201,9 +201,9 @@ TEST(TEST_CATEGORY, view_mapping_assignable) { } { // Assignment of rank-0 Right = Left - typedef Kokkos::ViewTraits dst_traits; - typedef Kokkos::ViewTraits src_traits; - typedef Kokkos::Impl::ViewMapping mapping; + using dst_traits = Kokkos::ViewTraits; + using src_traits = Kokkos::ViewTraits; + using mapping = Kokkos::Impl::ViewMapping; static_assert(mapping::is_assignable, ""); Kokkos::View src; @@ -212,11 +212,11 @@ TEST(TEST_CATEGORY, view_mapping_assignable) { } { // Assignment of rank-1 Left = Right - typedef Kokkos::ViewTraits - dst_traits; - typedef Kokkos::ViewTraits - src_traits; - typedef Kokkos::Impl::ViewMapping mapping; + using dst_traits = + Kokkos::ViewTraits; + using src_traits = + Kokkos::ViewTraits; + using mapping = Kokkos::Impl::ViewMapping; static_assert(mapping::is_assignable, ""); Kokkos::View src; @@ -225,11 +225,11 @@ TEST(TEST_CATEGORY, view_mapping_assignable) { } { // Assignment of rank-1 Right = Left - typedef Kokkos::ViewTraits - dst_traits; - typedef Kokkos::ViewTraits - src_traits; - typedef Kokkos::Impl::ViewMapping mapping; + using dst_traits = + Kokkos::ViewTraits; + using src_traits = + Kokkos::ViewTraits; + using mapping = Kokkos::Impl::ViewMapping; static_assert(mapping::is_assignable, ""); Kokkos::View src; @@ -238,20 +238,20 @@ TEST(TEST_CATEGORY, view_mapping_assignable) { } { // Assignment of rank-2 Left = Right - typedef Kokkos::ViewTraits - dst_traits; - typedef Kokkos::ViewTraits - src_traits; - typedef Kokkos::Impl::ViewMapping mapping; + using dst_traits = + Kokkos::ViewTraits; + using src_traits = + Kokkos::ViewTraits; + using mapping = Kokkos::Impl::ViewMapping; static_assert(!mapping::is_assignable, ""); } { // Assignment of rank-2 Right = Left - typedef Kokkos::ViewTraits - dst_traits; - typedef Kokkos::ViewTraits - src_traits; - typedef Kokkos::Impl::ViewMapping mapping; + using dst_traits = + Kokkos::ViewTraits; + using src_traits = + Kokkos::ViewTraits; + using mapping = Kokkos::Impl::ViewMapping; static_assert(!mapping::is_assignable, ""); } } diff --git a/lib/kokkos/core/unit_test/TestViewMapping_subview.hpp b/lib/kokkos/core/unit_test/TestViewMapping_subview.hpp index d5e9ce7de1d0062fec0208235818e770e3be94f7..c8300d9eab45c1dc76fe3ee0d3de127372ccf00c 100644 --- a/lib/kokkos/core/unit_test/TestViewMapping_subview.hpp +++ b/lib/kokkos/core/unit_test/TestViewMapping_subview.hpp @@ -54,30 +54,30 @@ namespace Test { template struct TestViewMappingSubview { - typedef typename Space::execution_space ExecSpace; - typedef typename Space::memory_space MemSpace; + using ExecSpace = typename Space::execution_space; + using MemSpace = typename Space::memory_space; - typedef Kokkos::pair range; + using range = Kokkos::pair; enum { AN = 10 }; - typedef Kokkos::View AT; - typedef Kokkos::View ACT; - typedef Kokkos::Subview AS; + using AT = Kokkos::View; + using ACT = Kokkos::View; + using AS = Kokkos::Subview; enum { BN0 = 10, BN1 = 11, BN2 = 12 }; - typedef Kokkos::View BT; - typedef Kokkos::Subview BS; + using BT = Kokkos::View; + using BS = Kokkos::Subview; enum { CN0 = 10, CN1 = 11, CN2 = 12 }; - typedef Kokkos::View CT; - typedef Kokkos::Subview CS; + using CT = Kokkos::View; + using CS = Kokkos::Subview; enum { DN0 = 10, DN1 = 11, DN2 = 12, DN3 = 13, DN4 = 14 }; - typedef Kokkos::View DT; - typedef Kokkos::Subview DS; + using DT = Kokkos::View; + using DS = Kokkos::Subview; - typedef Kokkos::View DLT; - typedef Kokkos::Subview DLS1; + using DLT = Kokkos::View; + using DLS1 = Kokkos::Subview; #if !defined(KOKKOS_IMPL_CUDA_VERSION_9_WORKAROUND) static_assert( @@ -87,8 +87,8 @@ struct TestViewMappingSubview { "LayoutLeft"); #endif - typedef Kokkos::View DRT; - typedef Kokkos::Subview DRS1; + using DRT = Kokkos::View; + using DRS1 = Kokkos::Subview; #if !defined(KOKKOS_IMPL_CUDA_VERSION_9_WORKAROUND) static_assert( diff --git a/lib/kokkos/core/unit_test/TestViewResize.hpp b/lib/kokkos/core/unit_test/TestViewResize.hpp index 0f1e5188c8b5e2165dcc55983abd2a54115103fd..9a378e521163dcfe49d498dd51d157ddb389f33b 100644 --- a/lib/kokkos/core/unit_test/TestViewResize.hpp +++ b/lib/kokkos/core/unit_test/TestViewResize.hpp @@ -50,7 +50,7 @@ namespace Test { TEST(TEST_CATEGORY, view_resize) { - typedef TEST_EXECSPACE ExecSpace; + using ExecSpace = TEST_EXECSPACE; TestViewResize::testResize(); } diff --git a/lib/kokkos/core/unit_test/TestViewSubview.hpp b/lib/kokkos/core/unit_test/TestViewSubview.hpp index 48be58c2e994441c86703221d9192dc8f3fea9eb..a8af720ab93d4e8761808e425fe07b13701d582c 100644 --- a/lib/kokkos/core/unit_test/TestViewSubview.hpp +++ b/lib/kokkos/core/unit_test/TestViewSubview.hpp @@ -133,8 +133,8 @@ struct getView { template struct fill_1D { - typedef typename Space::execution_space execution_space; - typedef typename ViewType::size_type size_type; + using execution_space = typename Space::execution_space; + using size_type = typename ViewType::size_type; ViewType a; double val; @@ -147,8 +147,8 @@ struct fill_1D { template struct fill_2D { - typedef typename Space::execution_space execution_space; - typedef typename ViewType::size_type size_type; + using execution_space = typename Space::execution_space; + using size_type = typename ViewType::size_type; ViewType a; double val; @@ -165,8 +165,8 @@ struct fill_2D { template void test_auto_1d() { - typedef Kokkos::View mv_type; - typedef typename mv_type::size_type size_type; + using mv_type = Kokkos::View; + using size_type = typename mv_type::size_type; const double ZERO = 0.0; const double ONE = 1.0; @@ -311,10 +311,20 @@ void test_1d_strided_assignment() { Space>(true, true, true, true, 17, 1); } +template +void make_subview(bool use_constructor, NewView& v, OrigView org, + Args... args) { + if (use_constructor) { + v = NewView(org, args...); + } else { + v = Kokkos::subview(org, args...); + } +} + template -void test_left_0() { - typedef Kokkos::View - view_static_8_type; +void test_left_0(bool constr) { + using view_static_8_type = + Kokkos::View; if (Kokkos::Impl::SpaceAccessibility< Kokkos::HostSpace, typename Space::memory_space>::accessible) { @@ -322,22 +332,41 @@ void test_left_0() { ASSERT_TRUE(x_static_8.span_is_contiguous()); - Kokkos::View x0 = - Kokkos::subview(x_static_8, 0, 0, 0, 0, 0, 0, 0, 0); + Kokkos::View x0; + make_subview(constr, x0, x_static_8, 0, 0, 0, 0, 0, 0, 0, 0); ASSERT_TRUE(x0.span_is_contiguous()); + ASSERT_EQ(x0.span(), 1); ASSERT_TRUE(&x0() == &x_static_8(0, 0, 0, 0, 0, 0, 0, 0)); - Kokkos::View x1 = Kokkos::subview( - x_static_8, Kokkos::pair(0, 2), 1, 2, 3, 0, 1, 2, 3); + Kokkos::View x1; + make_subview(constr, x1, x_static_8, Kokkos::pair(0, 2), 1, 2, 3, + 0, 1, 2, 3); ASSERT_TRUE(x1.span_is_contiguous()); + ASSERT_EQ(x1.span(), 2); ASSERT_TRUE(&x1(0) == &x_static_8(0, 1, 2, 3, 0, 1, 2, 3)); ASSERT_TRUE(&x1(1) == &x_static_8(1, 1, 2, 3, 0, 1, 2, 3)); - Kokkos::View x2 = - Kokkos::subview(x_static_8, Kokkos::pair(0, 2), 1, 2, 3, - Kokkos::pair(0, 2), 1, 2, 3); + Kokkos::View x_deg1; + make_subview(constr, x_deg1, x_static_8, Kokkos::pair(0, 0), 1, 2, + 3, 0, 1, 2, 3); + + ASSERT_TRUE(x_deg1.span_is_contiguous()); + ASSERT_EQ(x_deg1.span(), 0); + ASSERT_EQ(x_deg1.data(), &x_static_8(0, 1, 2, 3, 0, 1, 2, 3)); + + Kokkos::View x_deg2; + make_subview(constr, x_deg2, x_static_8, Kokkos::pair(2, 2), 2, 3, + 4, 1, 2, 3, 4); + + ASSERT_TRUE(x_deg2.span_is_contiguous()); + ASSERT_EQ(x_deg2.span(), 0); + ASSERT_EQ(x_deg2.data(), x_static_8.data() + x_static_8.span()); + + Kokkos::View x2; + make_subview(constr, x2, x_static_8, Kokkos::pair(0, 2), 1, 2, 3, + Kokkos::pair(0, 2), 1, 2, 3); ASSERT_TRUE(!x2.span_is_contiguous()); ASSERT_TRUE(&x2(0, 0) == &x_static_8(0, 1, 2, 3, 0, 1, 2, 3)); @@ -346,9 +375,9 @@ void test_left_0() { ASSERT_TRUE(&x2(1, 1) == &x_static_8(1, 1, 2, 3, 1, 1, 2, 3)); // Kokkos::View< int**, Kokkos::LayoutLeft, Space > error_2 = - Kokkos::View sx2 = - Kokkos::subview(x_static_8, 1, Kokkos::pair(0, 2), 2, 3, - Kokkos::pair(0, 2), 1, 2, 3); + Kokkos::View sx2; + make_subview(constr, sx2, x_static_8, 1, Kokkos::pair(0, 2), 2, 3, + Kokkos::pair(0, 2), 1, 2, 3); ASSERT_TRUE(!sx2.span_is_contiguous()); ASSERT_TRUE(&sx2(0, 0) == &x_static_8(1, 0, 2, 3, 0, 1, 2, 3)); @@ -356,15 +385,16 @@ void test_left_0() { ASSERT_TRUE(&sx2(0, 1) == &x_static_8(1, 0, 2, 3, 1, 1, 2, 3)); ASSERT_TRUE(&sx2(1, 1) == &x_static_8(1, 1, 2, 3, 1, 1, 2, 3)); - Kokkos::View sx4 = - Kokkos::subview(x_static_8, 0, Kokkos::pair(0, 2) /* of [3] */ - , - 1, Kokkos::pair(1, 3) /* of [5] */ - , - 1, Kokkos::pair(0, 2) /* of [3] */ - , - 2, Kokkos::pair(2, 4) /* of [5] */ - ); + Kokkos::View sx4; + make_subview(constr, sx4, x_static_8, 0, + Kokkos::pair(0, 2) /* of [3] */ + , + 1, Kokkos::pair(1, 3) /* of [5] */ + , + 1, Kokkos::pair(0, 2) /* of [3] */ + , + 2, Kokkos::pair(2, 4) /* of [5] */ + ); ASSERT_TRUE(!sx4.span_is_contiguous()); @@ -380,9 +410,15 @@ void test_left_0() { } template -void test_left_1() { - typedef Kokkos::View - view_type; +void test_left_0() { + test_left_0(true); + test_left_0(false); +} + +template +void test_left_1(bool use_constr) { + using view_type = + Kokkos::View; if (Kokkos::Impl::SpaceAccessibility< Kokkos::HostSpace, typename Space::memory_space>::accessible) { @@ -390,22 +426,39 @@ void test_left_1() { ASSERT_TRUE(x8.span_is_contiguous()); - Kokkos::View x0 = - Kokkos::subview(x8, 0, 0, 0, 0, 0, 0, 0, 0); + Kokkos::View x0; + make_subview(use_constr, x0, x8, 0, 0, 0, 0, 0, 0, 0, 0); ASSERT_TRUE(x0.span_is_contiguous()); ASSERT_TRUE(&x0() == &x8(0, 0, 0, 0, 0, 0, 0, 0)); - Kokkos::View x1 = - Kokkos::subview(x8, Kokkos::pair(0, 2), 1, 2, 3, 0, 1, 2, 3); + Kokkos::View x1; + make_subview(use_constr, x1, x8, Kokkos::pair(0, 2), 1, 2, 3, 0, + 1, 2, 3); ASSERT_TRUE(x1.span_is_contiguous()); ASSERT_TRUE(&x1(0) == &x8(0, 1, 2, 3, 0, 1, 2, 3)); ASSERT_TRUE(&x1(1) == &x8(1, 1, 2, 3, 0, 1, 2, 3)); - Kokkos::View x2 = - Kokkos::subview(x8, Kokkos::pair(0, 2), 1, 2, 3, - Kokkos::pair(0, 2), 1, 2, 3); + Kokkos::View x1_deg1; + make_subview(use_constr, x1_deg1, x8, Kokkos::pair(0, 0), 1, 2, 3, + 0, 1, 2, 3); + + ASSERT_TRUE(x1_deg1.span_is_contiguous()); + ASSERT_EQ(0, x1_deg1.span()); + ASSERT_EQ(x1_deg1.data(), &x8(0, 1, 2, 3, 0, 1, 2, 3)); + + Kokkos::View x1_deg2; + make_subview(use_constr, x1_deg2, x8, Kokkos::pair(2, 2), 2, 3, 4, + 1, 2, 3, 4); + + ASSERT_EQ(0, x1_deg2.span()); + ASSERT_TRUE(x1_deg2.span_is_contiguous()); + ASSERT_EQ(x1_deg2.data(), x8.data() + x8.span()); + + Kokkos::View x2; + make_subview(use_constr, x2, x8, Kokkos::pair(0, 2), 1, 2, 3, + Kokkos::pair(0, 2), 1, 2, 3); ASSERT_TRUE(!x2.span_is_contiguous()); ASSERT_TRUE(&x2(0, 0) == &x8(0, 1, 2, 3, 0, 1, 2, 3)); @@ -413,10 +466,15 @@ void test_left_1() { ASSERT_TRUE(&x2(0, 1) == &x8(0, 1, 2, 3, 1, 1, 2, 3)); ASSERT_TRUE(&x2(1, 1) == &x8(1, 1, 2, 3, 1, 1, 2, 3)); + Kokkos::View x2_deg2; + make_subview(use_constr, x2_deg2, x8, Kokkos::pair(2, 2), 2, 3, 4, + 1, 2, Kokkos::pair(2, 3), 4); + ASSERT_EQ(0, x2_deg2.span()); + // Kokkos::View< int**, Kokkos::LayoutLeft, Space > error_2 = - Kokkos::View sx2 = - Kokkos::subview(x8, 1, Kokkos::pair(0, 2), 2, 3, - Kokkos::pair(0, 2), 1, 2, 3); + Kokkos::View sx2; + make_subview(use_constr, sx2, x8, 1, Kokkos::pair(0, 2), 2, 3, + Kokkos::pair(0, 2), 1, 2, 3); ASSERT_TRUE(!sx2.span_is_contiguous()); ASSERT_TRUE(&sx2(0, 0) == &x8(1, 0, 2, 3, 0, 1, 2, 3)); @@ -424,15 +482,21 @@ void test_left_1() { ASSERT_TRUE(&sx2(0, 1) == &x8(1, 0, 2, 3, 1, 1, 2, 3)); ASSERT_TRUE(&sx2(1, 1) == &x8(1, 1, 2, 3, 1, 1, 2, 3)); - Kokkos::View sx4 = - Kokkos::subview(x8, 0, Kokkos::pair(0, 2) /* of [3] */ - , - 1, Kokkos::pair(1, 3) /* of [5] */ - , - 1, Kokkos::pair(0, 2) /* of [3] */ - , - 2, Kokkos::pair(2, 4) /* of [5] */ - ); + Kokkos::View sx2_deg; + make_subview(use_constr, sx2, x8, 1, Kokkos::pair(0, 0), 2, 3, + Kokkos::pair(0, 2), 1, 2, 3); + ASSERT_EQ(0, sx2_deg.span()); + + Kokkos::View sx4; + make_subview(use_constr, sx4, x8, 0, + Kokkos::pair(0, 2) /* of [3] */ + , + 1, Kokkos::pair(1, 3) /* of [5] */ + , + 1, Kokkos::pair(0, 2) /* of [3] */ + , + 2, Kokkos::pair(2, 4) /* of [5] */ + ); ASSERT_TRUE(!sx4.span_is_contiguous()); @@ -446,9 +510,15 @@ void test_left_1() { } } +template +void test_left_1() { + test_left_1(true); + test_left_1(false); +} + template void test_left_2() { - typedef Kokkos::View view_type; + using view_type = Kokkos::View; if (Kokkos::Impl::SpaceAccessibility< Kokkos::HostSpace, typename Space::memory_space>::accessible) { @@ -514,7 +584,7 @@ void test_left_2() { template void test_left_3() { - typedef Kokkos::View view_type; + using view_type = Kokkos::View; if (Kokkos::Impl::SpaceAccessibility< Kokkos::HostSpace, typename Space::memory_space>::accessible) { @@ -570,29 +640,31 @@ void test_left_3() { //---------------------------------------------------------------------------- template -void test_right_0() { - typedef Kokkos::View - view_static_8_type; +void test_right_0(bool use_constr) { + using view_static_8_type = + Kokkos::View; if (Kokkos::Impl::SpaceAccessibility< Kokkos::HostSpace, typename Space::memory_space>::accessible) { view_static_8_type x_static_8("x_static_right_8"); - Kokkos::View x0 = - Kokkos::subview(x_static_8, 0, 0, 0, 0, 0, 0, 0, 0); + Kokkos::View x0; + make_subview(use_constr, x0, x_static_8, 0, 0, 0, 0, 0, 0, 0, 0); ASSERT_TRUE(&x0() == &x_static_8(0, 0, 0, 0, 0, 0, 0, 0)); - Kokkos::View x1 = Kokkos::subview( - x_static_8, 0, 1, 2, 3, 0, 1, 2, Kokkos::pair(1, 3)); + Kokkos::View x1; + make_subview(use_constr, x1, x_static_8, 0, 1, 2, 3, 0, 1, 2, + Kokkos::pair(1, 3)); ASSERT_TRUE(x1.extent(0) == 2); ASSERT_TRUE(&x1(0) == &x_static_8(0, 1, 2, 3, 0, 1, 2, 1)); ASSERT_TRUE(&x1(1) == &x_static_8(0, 1, 2, 3, 0, 1, 2, 2)); - Kokkos::View x2 = - Kokkos::subview(x_static_8, 0, 1, 2, Kokkos::pair(1, 3), 0, 1, - 2, Kokkos::pair(1, 3)); + Kokkos::View x2; + make_subview(use_constr, x2, x_static_8, 0, 1, 2, + Kokkos::pair(1, 3), 0, 1, 2, + Kokkos::pair(1, 3)); ASSERT_TRUE(x2.extent(0) == 2); ASSERT_TRUE(x2.extent(1) == 2); @@ -602,9 +674,9 @@ void test_right_0() { ASSERT_TRUE(&x2(1, 1) == &x_static_8(0, 1, 2, 2, 0, 1, 2, 2)); // Kokkos::View< int**, Kokkos::LayoutRight, Space > error_2 = - Kokkos::View sx2 = - Kokkos::subview(x_static_8, 1, Kokkos::pair(0, 2), 2, 3, - Kokkos::pair(0, 2), 1, 2, 3); + Kokkos::View sx2; + make_subview(use_constr, sx2, x_static_8, 1, Kokkos::pair(0, 2), + 2, 3, Kokkos::pair(0, 2), 1, 2, 3); ASSERT_TRUE(sx2.extent(0) == 2); ASSERT_TRUE(sx2.extent(1) == 2); @@ -613,15 +685,16 @@ void test_right_0() { ASSERT_TRUE(&sx2(0, 1) == &x_static_8(1, 0, 2, 3, 1, 1, 2, 3)); ASSERT_TRUE(&sx2(1, 1) == &x_static_8(1, 1, 2, 3, 1, 1, 2, 3)); - Kokkos::View sx4 = - Kokkos::subview(x_static_8, 0, Kokkos::pair(0, 2) /* of [3] */ - , - 1, Kokkos::pair(1, 3) /* of [5] */ - , - 1, Kokkos::pair(0, 2) /* of [3] */ - , - 2, Kokkos::pair(2, 4) /* of [5] */ - ); + Kokkos::View sx4; + make_subview(use_constr, sx4, x_static_8, 0, + Kokkos::pair(0, 2) /* of [3] */ + , + 1, Kokkos::pair(1, 3) /* of [5] */ + , + 1, Kokkos::pair(0, 2) /* of [3] */ + , + 2, Kokkos::pair(2, 4) /* of [5] */ + ); ASSERT_TRUE(sx4.extent(0) == 2); ASSERT_TRUE(sx4.extent(1) == 2); @@ -639,53 +712,76 @@ void test_right_0() { } template -void test_right_1() { - typedef Kokkos::View - view_type; +void test_right_0() { + test_right_0(true); + test_right_0(false); +} + +template +void test_right_1(bool use_constr) { + using view_type = + Kokkos::View; if (Kokkos::Impl::SpaceAccessibility< Kokkos::HostSpace, typename Space::memory_space>::accessible) { view_type x8("x_right_8", 2, 3, 4, 5); - Kokkos::View x0 = - Kokkos::subview(x8, 0, 0, 0, 0, 0, 0, 0, 0); + Kokkos::View x0; + make_subview(use_constr, x0, x8, 0, 0, 0, 0, 0, 0, 0, 0); ASSERT_TRUE(&x0() == &x8(0, 0, 0, 0, 0, 0, 0, 0)); - Kokkos::View x1 = - Kokkos::subview(x8, 0, 1, 2, 3, 0, 1, 2, Kokkos::pair(1, 3)); + Kokkos::View x1; + make_subview(use_constr, x1, x8, 0, 1, 2, 3, 0, 1, 2, + Kokkos::pair(1, 3)); ASSERT_TRUE(&x1(0) == &x8(0, 1, 2, 3, 0, 1, 2, 1)); ASSERT_TRUE(&x1(1) == &x8(0, 1, 2, 3, 0, 1, 2, 2)); - Kokkos::View x2 = - Kokkos::subview(x8, 0, 1, 2, Kokkos::pair(1, 3), 0, 1, 2, - Kokkos::pair(1, 3)); + Kokkos::View x1_deg1; + make_subview(use_constr, x1_deg1, x8, 0, 1, 2, 3, 0, 1, 2, + Kokkos::pair(3, 3)); + ASSERT_EQ(0, x1_deg1.span()); + + Kokkos::View x2; + make_subview(use_constr, x2, x8, 0, 1, 2, Kokkos::pair(1, 3), 0, + 1, 2, Kokkos::pair(1, 3)); ASSERT_TRUE(&x2(0, 0) == &x8(0, 1, 2, 1, 0, 1, 2, 1)); ASSERT_TRUE(&x2(1, 0) == &x8(0, 1, 2, 2, 0, 1, 2, 1)); ASSERT_TRUE(&x2(0, 1) == &x8(0, 1, 2, 1, 0, 1, 2, 2)); ASSERT_TRUE(&x2(1, 1) == &x8(0, 1, 2, 2, 0, 1, 2, 2)); + Kokkos::View x2_deg2; + make_subview(use_constr, x2_deg2, x8, 0, 1, 2, Kokkos::pair(1, 3), + 0, 1, 2, Kokkos::pair(3, 3)); + ASSERT_EQ(0, x2_deg2.span()); + // Kokkos::View< int**, Kokkos::LayoutRight, Space > error_2 = - Kokkos::View sx2 = - Kokkos::subview(x8, 1, Kokkos::pair(0, 2), 2, 3, - Kokkos::pair(0, 2), 1, 2, 3); + Kokkos::View sx2; + make_subview(use_constr, sx2, x8, 1, Kokkos::pair(0, 2), 2, 3, + Kokkos::pair(0, 2), 1, 2, 3); ASSERT_TRUE(&sx2(0, 0) == &x8(1, 0, 2, 3, 0, 1, 2, 3)); ASSERT_TRUE(&sx2(1, 0) == &x8(1, 1, 2, 3, 0, 1, 2, 3)); ASSERT_TRUE(&sx2(0, 1) == &x8(1, 0, 2, 3, 1, 1, 2, 3)); ASSERT_TRUE(&sx2(1, 1) == &x8(1, 1, 2, 3, 1, 1, 2, 3)); - Kokkos::View sx4 = - Kokkos::subview(x8, 0, Kokkos::pair(0, 2) /* of [3] */ - , - 1, Kokkos::pair(1, 3) /* of [5] */ - , - 1, Kokkos::pair(0, 2) /* of [3] */ - , - 2, Kokkos::pair(2, 4) /* of [5] */ - ); + Kokkos::View sx2_deg; + make_subview(use_constr, sx2_deg, x8, 1, Kokkos::pair(0, 2), 2, 3, + 1, 1, 2, Kokkos::pair(3, 3)); + ASSERT_EQ(0, sx2_deg.span()); + + Kokkos::View sx4; + make_subview(use_constr, sx4, x8, 0, + Kokkos::pair(0, 2) /* of [3] */ + , + 1, Kokkos::pair(1, 3) /* of [5] */ + , + 1, Kokkos::pair(0, 2) /* of [3] */ + , + 2, Kokkos::pair(2, 4) /* of [5] */ + ); for (int i0 = 0; i0 < (int)sx4.extent(0); ++i0) for (int i1 = 0; i1 < (int)sx4.extent(1); ++i1) @@ -697,9 +793,15 @@ void test_right_1() { } } +template +void test_right_1() { + test_right_1(true); + test_right_1(false); +} + template void test_right_3() { - typedef Kokkos::View view_type; + using view_type = Kokkos::View; if (Kokkos::Impl::SpaceAccessibility< Kokkos::HostSpace, typename Space::memory_space>::accessible) { @@ -761,76 +863,360 @@ constexpr int N2 = 17; constexpr int N3 = 5; constexpr int N4 = 7; -template -void test_Check1D(SubView a, View b, std::pair range) { - int errors = 0; +template +struct FillView_1D { + using view_t = Kokkos::View; + view_t a; + using policy_t = Kokkos::RangePolicy; + + FillView_1D(view_t a_) : a(a_) {} - for (int i = 0; i < range.second - range.first; i++) { - if (a(i) != b(i + range.first)) errors++; + void run() { + Kokkos::parallel_for("FillView_1D", policy_t(0, a.extent(0)), *this); } + KOKKOS_INLINE_FUNCTION + void operator()(int i) const { a(i) = i; } +}; + +template +struct FillView_3D { + using exec_t = typename Space::execution_space; + using view_t = Kokkos::View; + using rank_t = Kokkos::Rank< + view_t::Rank, + std::is_same::value ? Kokkos::Iterate::Left + : Kokkos::Iterate::Right, + std::is_same::value ? Kokkos::Iterate::Left + : Kokkos::Iterate::Right>; + using policy_t = Kokkos::MDRangePolicy; - if (errors > 0) { - std::cout << "Error Suviews test_Check1D: " << errors << std::endl; + view_t a; + + FillView_3D(view_t a_) : a(a_) {} + + void run() { + Kokkos::parallel_for( + "FillView_3D", + policy_t({0, 0, 0}, {a.extent(0), a.extent(1), a.extent(2)}), *this); } - ASSERT_TRUE(errors == 0); -} + KOKKOS_INLINE_FUNCTION + void operator()(int i0, int i1, int i2) const { + a(i0, i1, i2) = 1000000 * i0 + 1000 * i1 + i2; + } +}; -template -void test_Check1D2D(SubView a, View b, int i0, std::pair range) { - int errors = 0; +template +struct FillView_4D { + using exec_t = typename Space::execution_space; + using view_t = Kokkos::View; + using rank_t = Kokkos::Rank< + view_t::Rank, + std::is_same::value ? Kokkos::Iterate::Left + : Kokkos::Iterate::Right, + std::is_same::value ? Kokkos::Iterate::Left + : Kokkos::Iterate::Right>; + using policy_t = Kokkos::MDRangePolicy; + + view_t a; + + FillView_4D(view_t a_) : a(a_) {} + + void run() { + Kokkos::parallel_for("FillView_4D", + policy_t({0, 0, 0, 0}, {a.extent(0), a.extent(1), + a.extent(2), a.extent(3)}), + *this); + } - for (int i1 = 0; i1 < range.second - range.first; i1++) { - if (a(i1) != b(i0, i1 + range.first)) errors++; + KOKKOS_INLINE_FUNCTION + void operator()(int i0, int i1, int i2, int i3) const { + a(i0, i1, i2, i3) = 1000000 * i0 + 10000 * i1 + 100 * i2 + i3; } +}; - if (errors > 0) { - std::cout << "Error Suviews test_Check1D2D: " << errors << std::endl; +template +struct FillView_5D { + using exec_t = typename Space::execution_space; + using view_t = Kokkos::View; + using rank_t = Kokkos::Rank< + view_t::Rank, + std::is_same::value ? Kokkos::Iterate::Left + : Kokkos::Iterate::Right, + std::is_same::value ? Kokkos::Iterate::Left + : Kokkos::Iterate::Right>; + using policy_t = Kokkos::MDRangePolicy; + + view_t a; + + FillView_5D(view_t a_) : a(a_) {} + + void run() { + Kokkos::parallel_for( + "FillView_5D", + policy_t({0, 0, 0, 0, 0}, {a.extent(0), a.extent(1), a.extent(2), + a.extent(3), a.extent(4)}), + *this); } - ASSERT_TRUE(errors == 0); -} + KOKKOS_INLINE_FUNCTION + void operator()(int i0, int i1, int i2, int i3, int i4) const { + a(i0, i1, i2, i3, i4) = 1000000 * i0 + 10000 * i1 + 100 * i2 + 10 * i3 + i4; + } +}; -template -void test_Check2D3D(SubView a, View b, int i0, std::pair range1, - std::pair range2) { - int errors = 0; +template +struct CheckSubviewCorrectness_1D_1D { + using policy_t = Kokkos::RangePolicy; + View a; + SubView b; + int offset; + + CheckSubviewCorrectness_1D_1D(View a_, SubView b_, int o) + : a(a_), b(b_), offset(o) {} + + void run() { + int errors = 0; + Kokkos::parallel_reduce("CheckSubView_1D_1D", policy_t(0, b.size()), *this, + errors); + ASSERT_TRUE(errors == 0); + } - for (int i1 = 0; i1 < range1.second - range1.first; i1++) { - for (int i2 = 0; i2 < range2.second - range2.first; i2++) { - if (a(i1, i2) != b(i0, i1 + range1.first, i2 + range2.first)) errors++; + KOKKOS_INLINE_FUNCTION + void operator()(const int& i, int& e) const { + if (a(i + offset) != b(i)) { + e++; } } +}; - if (errors > 0) { - std::cout << "Error Suviews test_Check2D3D: " << errors << std::endl; +template +struct CheckSubviewCorrectness_1D_2D { + using policy_t = Kokkos::RangePolicy; + View a; + SubView b; + int i0; + int offset; + + CheckSubviewCorrectness_1D_2D(View a_, SubView b_, int i0_, int o) + : a(a_), b(b_), i0(i0_), offset(o) {} + + void run() { + int errors = 0; + Kokkos::parallel_reduce("CheckSubView_1D_2D", policy_t(0, b.size()), *this, + errors); + ASSERT_TRUE(errors == 0); } - ASSERT_TRUE(errors == 0); -} + KOKKOS_INLINE_FUNCTION + void operator()(const int& i1, int& e) const { + if (a(i0, i1 + offset) != b(i1)) { + e++; + } + } +}; -template -void test_Check3D5D(SubView a, View b, int i0, int i1, - std::pair range2, std::pair range3, - std::pair range4) { - int errors = 0; - - for (int i2 = 0; i2 < range2.second - range2.first; i2++) { - for (int i3 = 0; i3 < range3.second - range3.first; i3++) { - for (int i4 = 0; i4 < range4.second - range4.first; i4++) { - if (a(i2, i3, i4) != b(i0, i1, i2 + range2.first, i3 + range3.first, - i4 + range4.first)) { - errors++; - } - } +template +struct CheckSubviewCorrectness_2D_3D { + using policy_t = Kokkos::RangePolicy; + using layout = typename View::array_layout; + View a; + SubView b; + int i0; + int offset_1; + int offset_2; + + CheckSubviewCorrectness_2D_3D(View a_, SubView b_, int i0_, int o1, int o2) + : a(a_), b(b_), i0(i0_), offset_1(o1), offset_2(o2) {} + + void run() { + int errors = 0; + Kokkos::parallel_reduce("CheckSubView_2D_3D", policy_t(0, b.size()), *this, + errors); + ASSERT_TRUE(errors == 0); + } + + KOKKOS_INLINE_FUNCTION + void operator()(const int& ii, int& e) const { + const int i1 = std::is_same::value + ? ii % b.extent(0) + : ii / b.extent(1); + + const int i2 = std::is_same::value + ? ii / b.extent(0) + : ii % b.extent(1); + + if (a(i0, i1 + offset_1, i2 + offset_2) != b(i1, i2)) { + e++; } } +}; - if (errors > 0) { - std::cout << "Error Suviews test_Check3D5D: " << errors << std::endl; +template +struct CheckSubviewCorrectness_3D_3D { + using policy_t = Kokkos::RangePolicy; + using layout = typename View::array_layout; + View a; + SubView b; + int offset_0; + int offset_2; + + CheckSubviewCorrectness_3D_3D(View a_, SubView b_, int o0, int o2) + : a(a_), b(b_), offset_0(o0), offset_2(o2) {} + + void run() { + int errors = 0; + Kokkos::parallel_reduce("CheckSubView_3D_3D", policy_t(0, b.size()), *this, + errors); + ASSERT_TRUE(errors == 0); } - ASSERT_TRUE(errors == 0); + KOKKOS_INLINE_FUNCTION + void operator()(const int& ii, int& e) const { + const int i0 = std::is_same::value + ? ii % b.extent(0) + : ii / (b.extent(1) * b.extent(2)); + + const int i1 = std::is_same::value + ? (ii / b.extent(0)) % b.extent(1) + : (ii / b.extent(2)) % b.extent(1); + + const int i2 = std::is_same::value + ? ii / (b.extent(0) * b.extent(1)) + : ii % b.extent(2); + + if (a(i0 + offset_0, i1, i2 + offset_2) != b(i0, i1, i2)) { + e++; + } + } +}; + +template +struct CheckSubviewCorrectness_3D_4D { + using policy_t = Kokkos::RangePolicy; + using layout = typename View::array_layout; + View a; + SubView b; + int index; + int offset_0, offset_2; + + CheckSubviewCorrectness_3D_4D(View a_, SubView b_, int index_, int o0, int o2) + : a(a_), b(b_), index(index_), offset_0(o0), offset_2(o2) {} + + void run() { + int errors = 0; + Kokkos::parallel_reduce("CheckSubView_3D_4D", policy_t(0, b.size()), *this, + errors); + ASSERT_TRUE(errors == 0); + } + + KOKKOS_INLINE_FUNCTION + void operator()(const int& ii, int& e) const { + const int i = std::is_same::value + ? ii % b.extent(0) + : ii / (b.extent(1) * b.extent(2)); + + const int j = std::is_same::value + ? (ii / b.extent(0)) % b.extent(1) + : (ii / b.extent(2)) % b.extent(1); + + const int k = std::is_same::value + ? ii / (b.extent(0) * b.extent(1)) + : ii % b.extent(2); + + int i0, i1, i2, i3; + + if (std::is_same::value) { + i0 = i + offset_0; + i1 = j; + i2 = k + offset_2; + i3 = index; + } else { + i0 = index; + i1 = i + offset_0; + i2 = j; + i3 = k + offset_2; + } + + if (a(i0, i1, i2, i3) != b(i, j, k)) e++; + } +}; + +template +struct CheckSubviewCorrectness_3D_5D { + using policy_t = Kokkos::RangePolicy; + using layout = typename View::array_layout; + View a; + SubView b; + int i0, i1; + int offset_2, offset_3, offset_4; + + CheckSubviewCorrectness_3D_5D(View a_, SubView b_, int i0_, int i1_, int o2, + int o3, int o4) + : a(a_), + b(b_), + i0(i0_), + i1(i1_), + offset_2(o2), + offset_3(o3), + offset_4(o4) {} + + void run() { + int errors = 0; + Kokkos::parallel_reduce("CheckSubView_3D_5D", policy_t(0, b.size()), *this, + errors); + ASSERT_TRUE(errors == 0); + } + + KOKKOS_INLINE_FUNCTION + void operator()(const int& ii, int& e) const { + const int i2 = std::is_same::value + ? ii % b.extent(0) + : ii / (b.extent(1) * b.extent(2)); + + const int i3 = std::is_same::value + ? (ii / b.extent(0)) % b.extent(1) + : (ii / b.extent(2)) % b.extent(1); + + const int i4 = std::is_same::value + ? ii / (b.extent(0) * b.extent(1)) + : ii % b.extent(2); + + if (a(i0, i1, i2 + offset_2, i3 + offset_3, i4 + offset_4) != + b(i2, i3, i4)) { + e++; + } + } +}; + +template +void test_Check1D(SubView a, View b, Kokkos::pair range) { + CheckSubviewCorrectness_1D_1D check(b, a, range.first); + check.run(); +} + +template +void test_Check1D2D(SubView a, View b, int i0, std::pair range) { + CheckSubviewCorrectness_1D_2D check(b, a, i0, range.first); + check.run(); +} + +template +void test_Check2D3D(SubView a, View b, int i0, std::pair range1, + std::pair range2) { + CheckSubviewCorrectness_2D_3D check(b, a, i0, range1.first, + range2.first); + check.run(); +} + +template +void test_Check3D5D(SubView a, View b, int i0, int i1, + Kokkos::pair range2, + Kokkos::pair range3, + Kokkos::pair range4) { + CheckSubviewCorrectness_3D_5D check( + b, a, i0, i1, range2.first, range3.first, range4.first); + check.run(); } template a_org("A", N0); Kokkos::View a(a_org); Kokkos::fence(); - for (int i = 0; i < N0; i++) a_org(i) = i; + + Impl::FillView_1D fill(a_org); + fill.run(); Kokkos::View a1(a); Kokkos::fence(); @@ -876,11 +1264,8 @@ void test_2d_subview_3d_impl_type() { Kokkos::View a_org("A", N0, N1, N2); Kokkos::View a(a_org); - for (int i0 = 0; i0 < N0; i0++) - for (int i1 = 0; i1 < N1; i1++) - for (int i2 = 0; i2 < N2; i2++) { - a_org(i0, i1, i2) = i0 * 1000000 + i1 * 1000 + i2; - } + Impl::FillView_3D fill(a_org); + fill.run(); Kokkos::View a1; a1 = Kokkos::subview(a, 3, Kokkos::ALL, Kokkos::ALL); @@ -961,14 +1346,8 @@ void test_3d_subview_5d_impl_type() { Kokkos::View a_org("A", N0, N1, N2, N3, N4); Kokkos::View a(a_org); - for (int i0 = 0; i0 < N0; i0++) - for (int i1 = 0; i1 < N1; i1++) - for (int i2 = 0; i2 < N2; i2++) - for (int i3 = 0; i3 < N3; i3++) - for (int i4 = 0; i4 < N4; i4++) { - a_org(i0, i1, i2, i3, i4) = - i0 * 1000000 + i1 * 10000 + i2 * 100 + i3 * 10 + i4; - } + Impl::FillView_5D fill(a_org); + fill.run(); Kokkos::View a1; a1 = Kokkos::subview(a, 3, 5, Kokkos::ALL, Kokkos::ALL, Kokkos::ALL); @@ -1245,7 +1624,7 @@ inline void test_subview_legal_args_right() { ASSERT_EQ(0, (Kokkos::Impl::SubviewLegalArgsCompileTime< Kokkos::LayoutRight, Kokkos::LayoutRight, 3, 5, 0, int, Kokkos::Impl::ALL_t, Kokkos::Impl::ALL_t, int, - Kokkos::pair >::value)); + Kokkos::pair>::value)); ASSERT_EQ(0, (Kokkos::Impl::SubviewLegalArgsCompileTime< Kokkos::LayoutRight, Kokkos::LayoutRight, 3, 5, 0, int, Kokkos::Impl::ALL_t, Kokkos::Impl::ALL_t, int, @@ -1253,7 +1632,7 @@ inline void test_subview_legal_args_right() { ASSERT_EQ(0, (Kokkos::Impl::SubviewLegalArgsCompileTime< Kokkos::LayoutRight, Kokkos::LayoutRight, 3, 5, 0, int, Kokkos::Impl::ALL_t, Kokkos::pair, int, - Kokkos::pair >::value)); + Kokkos::pair>::value)); ASSERT_EQ(0, (Kokkos::Impl::SubviewLegalArgsCompileTime< Kokkos::LayoutRight, Kokkos::LayoutRight, 3, 5, 0, int, Kokkos::Impl::ALL_t, Kokkos::pair, int, @@ -1261,7 +1640,7 @@ inline void test_subview_legal_args_right() { ASSERT_EQ(0, (Kokkos::Impl::SubviewLegalArgsCompileTime< Kokkos::LayoutRight, Kokkos::LayoutRight, 3, 5, 0, int, Kokkos::pair, Kokkos::Impl::ALL_t, int, - Kokkos::pair >::value)); + Kokkos::pair>::value)); ASSERT_EQ(0, (Kokkos::Impl::SubviewLegalArgsCompileTime< Kokkos::LayoutRight, Kokkos::LayoutRight, 3, 5, 0, int, Kokkos::pair, Kokkos::Impl::ALL_t, int, @@ -1269,7 +1648,7 @@ inline void test_subview_legal_args_right() { ASSERT_EQ(0, (Kokkos::Impl::SubviewLegalArgsCompileTime< Kokkos::LayoutRight, Kokkos::LayoutRight, 3, 5, 0, int, Kokkos::pair, Kokkos::pair, int, - Kokkos::pair >::value)); + Kokkos::pair>::value)); ASSERT_EQ(0, (Kokkos::Impl::SubviewLegalArgsCompileTime< Kokkos::LayoutRight, Kokkos::LayoutRight, 3, 5, 0, int, Kokkos::pair, Kokkos::pair, int, @@ -1278,7 +1657,7 @@ inline void test_subview_legal_args_right() { ASSERT_EQ(0, (Kokkos::Impl::SubviewLegalArgsCompileTime< Kokkos::LayoutRight, Kokkos::LayoutRight, 3, 5, 0, int, int, Kokkos::Impl::ALL_t, Kokkos::Impl::ALL_t, - Kokkos::pair >::value)); + Kokkos::pair>::value)); ASSERT_EQ(1, (Kokkos::Impl::SubviewLegalArgsCompileTime< Kokkos::LayoutRight, Kokkos::LayoutRight, 3, 5, 0, int, int, Kokkos::Impl::ALL_t, Kokkos::Impl::ALL_t, @@ -1286,7 +1665,7 @@ inline void test_subview_legal_args_right() { ASSERT_EQ(0, (Kokkos::Impl::SubviewLegalArgsCompileTime< Kokkos::LayoutRight, Kokkos::LayoutRight, 3, 5, 0, int, int, Kokkos::Impl::ALL_t, Kokkos::pair, - Kokkos::pair >::value)); + Kokkos::pair>::value)); ASSERT_EQ(0, (Kokkos::Impl::SubviewLegalArgsCompileTime< Kokkos::LayoutRight, Kokkos::LayoutRight, 3, 5, 0, int, int, Kokkos::Impl::ALL_t, Kokkos::pair, @@ -1294,7 +1673,7 @@ inline void test_subview_legal_args_right() { ASSERT_EQ(0, (Kokkos::Impl::SubviewLegalArgsCompileTime< Kokkos::LayoutRight, Kokkos::LayoutRight, 3, 5, 0, int, int, Kokkos::pair, Kokkos::Impl::ALL_t, - Kokkos::pair >::value)); + Kokkos::pair>::value)); ASSERT_EQ(1, (Kokkos::Impl::SubviewLegalArgsCompileTime< Kokkos::LayoutRight, Kokkos::LayoutRight, 3, 5, 0, int, int, Kokkos::pair, Kokkos::Impl::ALL_t, @@ -1302,7 +1681,7 @@ inline void test_subview_legal_args_right() { ASSERT_EQ(0, (Kokkos::Impl::SubviewLegalArgsCompileTime< Kokkos::LayoutRight, Kokkos::LayoutRight, 3, 5, 0, int, int, Kokkos::pair, Kokkos::pair, - Kokkos::pair >::value)); + Kokkos::pair>::value)); ASSERT_EQ(0, (Kokkos::Impl::SubviewLegalArgsCompileTime< Kokkos::LayoutRight, Kokkos::LayoutRight, 3, 5, 0, int, int, Kokkos::pair, Kokkos::pair, @@ -1315,7 +1694,7 @@ inline void test_subview_legal_args_right() { ASSERT_EQ(0, (Kokkos::Impl::SubviewLegalArgsCompileTime< Kokkos::LayoutRight, Kokkos::LayoutRight, 3, 3, 0, Kokkos::Impl::ALL_t, Kokkos::Impl::ALL_t, - Kokkos::pair >::value)); + Kokkos::pair>::value)); ASSERT_EQ(1, (Kokkos::Impl::SubviewLegalArgsCompileTime< Kokkos::LayoutRight, Kokkos::LayoutRight, 3, 3, 0, Kokkos::pair, Kokkos::Impl::ALL_t, @@ -1323,7 +1702,7 @@ inline void test_subview_legal_args_right() { ASSERT_EQ(0, (Kokkos::Impl::SubviewLegalArgsCompileTime< Kokkos::LayoutRight, Kokkos::LayoutRight, 3, 3, 0, Kokkos::pair, Kokkos::Impl::ALL_t, - Kokkos::pair >::value)); + Kokkos::pair>::value)); ASSERT_EQ(0, (Kokkos::Impl::SubviewLegalArgsCompileTime< Kokkos::LayoutRight, Kokkos::LayoutRight, 3, 3, 0, Kokkos::Impl::ALL_t, Kokkos::pair, @@ -1331,7 +1710,7 @@ inline void test_subview_legal_args_right() { ASSERT_EQ(0, (Kokkos::Impl::SubviewLegalArgsCompileTime< Kokkos::LayoutRight, Kokkos::LayoutRight, 3, 3, 0, Kokkos::Impl::ALL_t, Kokkos::pair, - Kokkos::pair >::value)); + Kokkos::pair>::value)); ASSERT_EQ(0, (Kokkos::Impl::SubviewLegalArgsCompileTime< Kokkos::LayoutRight, Kokkos::LayoutRight, 3, 3, 0, Kokkos::pair, Kokkos::pair, @@ -1339,7 +1718,7 @@ inline void test_subview_legal_args_right() { ASSERT_EQ(0, (Kokkos::Impl::SubviewLegalArgsCompileTime< Kokkos::LayoutRight, Kokkos::LayoutRight, 3, 3, 0, Kokkos::pair, Kokkos::pair, - Kokkos::pair >::value)); + Kokkos::pair>::value)); } inline void test_subview_legal_args_left() { @@ -1490,7 +1869,7 @@ inline void test_subview_legal_args_left() { ASSERT_EQ(0, (Kokkos::Impl::SubviewLegalArgsCompileTime< Kokkos::LayoutLeft, Kokkos::LayoutLeft, 3, 5, 0, int, Kokkos::Impl::ALL_t, Kokkos::Impl::ALL_t, int, - Kokkos::pair >::value)); + Kokkos::pair>::value)); ASSERT_EQ(0, (Kokkos::Impl::SubviewLegalArgsCompileTime< Kokkos::LayoutLeft, Kokkos::LayoutLeft, 3, 5, 0, int, Kokkos::Impl::ALL_t, Kokkos::Impl::ALL_t, int, @@ -1498,7 +1877,7 @@ inline void test_subview_legal_args_left() { ASSERT_EQ(0, (Kokkos::Impl::SubviewLegalArgsCompileTime< Kokkos::LayoutLeft, Kokkos::LayoutLeft, 3, 5, 0, int, Kokkos::Impl::ALL_t, Kokkos::pair, int, - Kokkos::pair >::value)); + Kokkos::pair>::value)); ASSERT_EQ(0, (Kokkos::Impl::SubviewLegalArgsCompileTime< Kokkos::LayoutLeft, Kokkos::LayoutLeft, 3, 5, 0, int, Kokkos::Impl::ALL_t, Kokkos::pair, int, @@ -1506,7 +1885,7 @@ inline void test_subview_legal_args_left() { ASSERT_EQ(0, (Kokkos::Impl::SubviewLegalArgsCompileTime< Kokkos::LayoutLeft, Kokkos::LayoutLeft, 3, 5, 0, int, Kokkos::pair, Kokkos::Impl::ALL_t, int, - Kokkos::pair >::value)); + Kokkos::pair>::value)); ASSERT_EQ(0, (Kokkos::Impl::SubviewLegalArgsCompileTime< Kokkos::LayoutLeft, Kokkos::LayoutLeft, 3, 5, 0, int, Kokkos::pair, Kokkos::Impl::ALL_t, int, @@ -1514,7 +1893,7 @@ inline void test_subview_legal_args_left() { ASSERT_EQ(0, (Kokkos::Impl::SubviewLegalArgsCompileTime< Kokkos::LayoutLeft, Kokkos::LayoutLeft, 3, 5, 0, int, Kokkos::pair, Kokkos::pair, int, - Kokkos::pair >::value)); + Kokkos::pair>::value)); ASSERT_EQ(0, (Kokkos::Impl::SubviewLegalArgsCompileTime< Kokkos::LayoutLeft, Kokkos::LayoutLeft, 3, 5, 0, int, Kokkos::pair, Kokkos::pair, int, @@ -1523,7 +1902,7 @@ inline void test_subview_legal_args_left() { ASSERT_EQ(0, (Kokkos::Impl::SubviewLegalArgsCompileTime< Kokkos::LayoutLeft, Kokkos::LayoutLeft, 3, 5, 0, int, int, Kokkos::Impl::ALL_t, Kokkos::Impl::ALL_t, - Kokkos::pair >::value)); + Kokkos::pair>::value)); ASSERT_EQ(0, (Kokkos::Impl::SubviewLegalArgsCompileTime< Kokkos::LayoutLeft, Kokkos::LayoutLeft, 3, 5, 0, int, int, Kokkos::Impl::ALL_t, Kokkos::Impl::ALL_t, @@ -1531,7 +1910,7 @@ inline void test_subview_legal_args_left() { ASSERT_EQ(0, (Kokkos::Impl::SubviewLegalArgsCompileTime< Kokkos::LayoutLeft, Kokkos::LayoutLeft, 3, 5, 0, int, int, Kokkos::Impl::ALL_t, Kokkos::pair, - Kokkos::pair >::value)); + Kokkos::pair>::value)); ASSERT_EQ(0, (Kokkos::Impl::SubviewLegalArgsCompileTime< Kokkos::LayoutLeft, Kokkos::LayoutLeft, 3, 5, 0, int, int, Kokkos::Impl::ALL_t, Kokkos::pair, @@ -1539,7 +1918,7 @@ inline void test_subview_legal_args_left() { ASSERT_EQ(0, (Kokkos::Impl::SubviewLegalArgsCompileTime< Kokkos::LayoutLeft, Kokkos::LayoutLeft, 3, 5, 0, int, int, Kokkos::pair, Kokkos::Impl::ALL_t, - Kokkos::pair >::value)); + Kokkos::pair>::value)); ASSERT_EQ(0, (Kokkos::Impl::SubviewLegalArgsCompileTime< Kokkos::LayoutLeft, Kokkos::LayoutLeft, 3, 5, 0, int, int, Kokkos::pair, Kokkos::Impl::ALL_t, @@ -1547,7 +1926,7 @@ inline void test_subview_legal_args_left() { ASSERT_EQ(0, (Kokkos::Impl::SubviewLegalArgsCompileTime< Kokkos::LayoutLeft, Kokkos::LayoutLeft, 3, 5, 0, int, int, Kokkos::pair, Kokkos::pair, - Kokkos::pair >::value)); + Kokkos::pair>::value)); ASSERT_EQ(0, (Kokkos::Impl::SubviewLegalArgsCompileTime< Kokkos::LayoutLeft, Kokkos::LayoutLeft, 3, 5, 0, int, int, Kokkos::pair, Kokkos::pair, @@ -1557,7 +1936,7 @@ inline void test_subview_legal_args_left() { 1, (Kokkos::Impl::SubviewLegalArgsCompileTime< Kokkos::LayoutLeft, Kokkos::LayoutLeft, 3, 3, 0, Kokkos::Impl::ALL_t, - Kokkos::Impl::ALL_t, Kokkos::pair >::value)); + Kokkos::Impl::ALL_t, Kokkos::pair>::value)); ASSERT_EQ( 1, (Kokkos::Impl::SubviewLegalArgsCompileTime< @@ -1566,7 +1945,7 @@ inline void test_subview_legal_args_left() { ASSERT_EQ(1, (Kokkos::Impl::SubviewLegalArgsCompileTime< Kokkos::LayoutLeft, Kokkos::LayoutLeft, 3, 3, 0, Kokkos::pair, Kokkos::Impl::ALL_t, - Kokkos::pair >::value)); + Kokkos::pair>::value)); ASSERT_EQ(1, (Kokkos::Impl::SubviewLegalArgsCompileTime< Kokkos::LayoutLeft, Kokkos::LayoutLeft, 3, 3, 0, Kokkos::pair, Kokkos::Impl::ALL_t, @@ -1580,7 +1959,7 @@ inline void test_subview_legal_args_left() { 0, (Kokkos::Impl::SubviewLegalArgsCompileTime< Kokkos::LayoutLeft, Kokkos::LayoutLeft, 3, 3, 0, Kokkos::Impl::ALL_t, - Kokkos::pair, Kokkos::pair >::value)); + Kokkos::pair, Kokkos::pair>::value)); ASSERT_EQ(0, (Kokkos::Impl::SubviewLegalArgsCompileTime< Kokkos::LayoutLeft, Kokkos::LayoutLeft, 3, 3, 0, Kokkos::pair, Kokkos::pair, @@ -1588,7 +1967,7 @@ inline void test_subview_legal_args_left() { ASSERT_EQ(0, (Kokkos::Impl::SubviewLegalArgsCompileTime< Kokkos::LayoutLeft, Kokkos::LayoutLeft, 3, 3, 0, Kokkos::pair, Kokkos::pair, - Kokkos::pair >::value)); + Kokkos::pair>::value)); } } // namespace Impl @@ -1653,203 +2032,46 @@ void test_3d_subview_5d_left() { MemTraits>(); } -namespace Impl { - -template -struct FillView_3D { - Kokkos::View a; - - KOKKOS_INLINE_FUNCTION - void operator()(const int& ii) const { - const int i = std::is_same::value - ? ii % a.extent(0) - : ii / (a.extent(1) * a.extent(2)); - - const int j = std::is_same::value - ? (ii / a.extent(0)) % a.extent(1) - : (ii / a.extent(2)) % a.extent(1); - - const int k = std::is_same::value - ? ii / (a.extent(0) * a.extent(1)) - : ii % a.extent(2); - - a(i, j, k) = 1000000 * i + 1000 * j + k; - } -}; - -template -struct FillView_4D { - Kokkos::View a; - - KOKKOS_INLINE_FUNCTION - void operator()(const int& ii) const { - const int i = std::is_same::value - ? ii % a.extent(0) - : ii / (a.extent(1) * a.extent(2) * a.extent(3)); - - const int j = std::is_same::value - ? (ii / a.extent(0)) % a.extent(1) - : (ii / (a.extent(2) * a.extent(3)) % a.extent(1)); - - const int k = std::is_same::value - ? (ii / (a.extent(0) * a.extent(1))) % a.extent(2) - : (ii / a.extent(3)) % a.extent(2); - - const int l = std::is_same::value - ? ii / (a.extent(0) * a.extent(1) * a.extent(2)) - : ii % a.extent(3); - - a(i, j, k, l) = 1000000 * i + 10000 * j + 100 * k + l; - } -}; - -template -struct CheckSubviewCorrectness_3D_3D { - Kokkos::View a; - Kokkos::View b; - int offset_0, offset_2; - - KOKKOS_INLINE_FUNCTION - void operator()(const int& ii) const { - const int i = std::is_same::value - ? ii % b.extent(0) - : ii / (b.extent(1) * b.extent(2)); - - const int j = std::is_same::value - ? (ii / b.extent(0)) % b.extent(1) - : (ii / b.extent(2)) % b.extent(1); - - const int k = std::is_same::value - ? ii / (b.extent(0) * b.extent(1)) - : ii % b.extent(2); - - if (a(i + offset_0, j, k + offset_2) != b(i, j, k)) { - Kokkos::abort( - "Error: check_subview_correctness 3D-3D (LayoutLeft -> LayoutLeft or " - "LayoutRight -> LayoutRight)"); - } - } -}; - -template -struct CheckSubviewCorrectness_3D_4D { - Kokkos::View a; - Kokkos::View b; - int offset_0, offset_2, index; - - KOKKOS_INLINE_FUNCTION - void operator()(const int& ii) const { - const int i = std::is_same::value - ? ii % b.extent(0) - : ii / (b.extent(1) * b.extent(2)); - - const int j = std::is_same::value - ? (ii / b.extent(0)) % b.extent(1) - : (ii / b.extent(2)) % b.extent(1); - - const int k = std::is_same::value - ? ii / (b.extent(0) * b.extent(1)) - : ii % b.extent(2); - - int i0, i1, i2, i3; - - if (std::is_same::value) { - i0 = i + offset_0; - i1 = j; - i2 = k + offset_2; - i3 = index; - } else { - i0 = index; - i1 = i + offset_0; - i2 = j; - i3 = k + offset_2; - } - - if (a(i0, i1, i2, i3) != b(i, j, k)) { - Kokkos::abort( - "Error: check_subview_correctness 3D-4D (LayoutLeft -> LayoutLeft or " - "LayoutRight -> LayoutRight)"); - } - } -}; - -} // namespace Impl - template void test_layoutleft_to_layoutleft() { Impl::test_subview_legal_args_left(); + using view3D_t = Kokkos::View; + using view4D_t = Kokkos::View; { - Kokkos::View a("A", 100, 4, 3); - Kokkos::View b( - a, Kokkos::pair(16, 32), Kokkos::ALL, Kokkos::ALL); - - Impl::FillView_3D fill; - fill.a = a; - Kokkos::parallel_for(Kokkos::RangePolicy( - 0, a.extent(0) * a.extent(1) * a.extent(2)), - fill); - - Impl::CheckSubviewCorrectness_3D_3D - check; - check.a = a; - check.b = b; - check.offset_0 = 16; - check.offset_2 = 0; - Kokkos::parallel_for(Kokkos::RangePolicy( - 0, b.extent(0) * b.extent(1) * b.extent(2)), - check); - Kokkos::fence(); + view3D_t a("A", 100, 4, 3); + view3D_t b(a, Kokkos::pair(16, 32), Kokkos::ALL, Kokkos::ALL); + + Impl::FillView_3D fill(a); + fill.run(); + + Impl::CheckSubviewCorrectness_3D_3D check(a, b, 16, 0); + check.run(); } { - Kokkos::View a("A", 100, 4, 5); - Kokkos::View b( - a, Kokkos::pair(16, 32), Kokkos::ALL, - Kokkos::pair(1, 3)); - - Impl::FillView_3D fill; - fill.a = a; - Kokkos::parallel_for(Kokkos::RangePolicy( - 0, a.extent(0) * a.extent(1) * a.extent(2)), - fill); - - Impl::CheckSubviewCorrectness_3D_3D - check; - check.a = a; - check.b = b; - check.offset_0 = 16; - check.offset_2 = 1; - Kokkos::parallel_for(Kokkos::RangePolicy( - 0, b.extent(0) * b.extent(1) * b.extent(2)), - check); - Kokkos::fence(); + view3D_t a("A", 100, 4, 5); + view3D_t b(a, Kokkos::pair(16, 32), Kokkos::ALL, + Kokkos::pair(1, 3)); + + Impl::FillView_3D fill(a); + fill.run(); + + Impl::CheckSubviewCorrectness_3D_3D check(a, b, 16, 1); + check.run(); } { - Kokkos::View a("A", 100, 4, 5, 3); - Kokkos::View b( - a, Kokkos::pair(16, 32), Kokkos::ALL, - Kokkos::pair(1, 3), 1); + view4D_t a("A", 100, 4, 5, 3); + view3D_t b(a, Kokkos::pair(16, 32), Kokkos::ALL, + Kokkos::pair(1, 3), 1); - Impl::FillView_4D fill; - fill.a = a; - Kokkos::parallel_for( - Kokkos::RangePolicy( - 0, a.extent(0) * a.extent(1) * a.extent(2) * a.extent(3)), - fill); - - Impl::CheckSubviewCorrectness_3D_4D - check; - check.a = a; - check.b = b; - check.offset_0 = 16; - check.offset_2 = 1; - check.index = 1; - Kokkos::parallel_for(Kokkos::RangePolicy( - 0, b.extent(0) * b.extent(1) * b.extent(2)), - check); - Kokkos::fence(); + Impl::FillView_4D fill(a); + fill.run(); + + Impl::CheckSubviewCorrectness_3D_4D check(a, b, 1, 16, + 1); + check.run(); } } @@ -1857,55 +2079,30 @@ template void test_layoutright_to_layoutright() { Impl::test_subview_legal_args_right(); + using view3D_t = Kokkos::View; + using view4D_t = Kokkos::View; { - Kokkos::View a("A", 100, 4, 3); - Kokkos::View b( - a, Kokkos::pair(16, 32), Kokkos::ALL, Kokkos::ALL); - - Impl::FillView_3D fill; - fill.a = a; - Kokkos::parallel_for(Kokkos::RangePolicy( - 0, a.extent(0) * a.extent(1) * a.extent(2)), - fill); - - Impl::CheckSubviewCorrectness_3D_3D - check; - check.a = a; - check.b = b; - check.offset_0 = 16; - check.offset_2 = 0; - Kokkos::parallel_for(Kokkos::RangePolicy( - 0, b.extent(0) * b.extent(1) * b.extent(2)), - check); - Kokkos::fence(); - } + view3D_t a("A", 100, 4, 3); + view3D_t b(a, Kokkos::pair(16, 32), Kokkos::ALL, Kokkos::ALL); + Impl::FillView_3D fill(a); + fill.run(); + + Impl::CheckSubviewCorrectness_3D_3D check(a, b, 16, 0); + check.run(); + } { - Kokkos::View a("A", 3, 4, 5, 100); - Kokkos::View b( - a, 1, Kokkos::pair(1, 3), Kokkos::ALL, Kokkos::ALL); + view4D_t a("A", 3, 4, 5, 100); + view3D_t b(a, 1, Kokkos::pair(1, 3), Kokkos::ALL, Kokkos::ALL); - Impl::FillView_4D fill; - fill.a = a; - Kokkos::parallel_for( - Kokkos::RangePolicy( - 0, a.extent(0) * a.extent(1) * a.extent(2) * a.extent(3)), - fill); - - Impl::CheckSubviewCorrectness_3D_4D - check; - check.a = a; - check.b = b; - check.offset_0 = 1; - check.offset_2 = 0; - check.index = 1; - Kokkos::parallel_for(Kokkos::RangePolicy( - 0, b.extent(0) * b.extent(1) * b.extent(2)), - check); - Kokkos::fence(); + Impl::FillView_4D fill(a); + fill.run(); + + Impl::CheckSubviewCorrectness_3D_4D check(a, b, 1, 1, + 0); + check.run(); } } - //---------------------------------------------------------------------------- template @@ -1940,7 +2137,7 @@ template struct get_view_type; template -struct get_view_type > { +struct get_view_type> { using type = T; }; diff --git a/lib/kokkos/core/unit_test/Test_InterOp_Streams.hpp b/lib/kokkos/core/unit_test/Test_InterOp_Streams.hpp new file mode 100644 index 0000000000000000000000000000000000000000..4c16147a360c0f6797cd4d7c3b3b541a75470b03 --- /dev/null +++ b/lib/kokkos/core/unit_test/Test_InterOp_Streams.hpp @@ -0,0 +1,144 @@ +/* +//@HEADER +// ************************************************************************ +// +// Kokkos v. 3.0 +// Copyright (2020) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). +// +// Under the terms of Contract DE-NA0003525 with NTESS, +// the U.S. Government retains certain rights in this software. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// +// 3. Neither the name of the Corporation nor the names of the +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY +// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE +// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// +// Questions? Contact Christian R. Trott (crtrott@sandia.gov) +// +// ************************************************************************ +//@HEADER +*/ + +#include + +namespace Test { + +__global__ void offset_streams(int* p) { + int idx = blockIdx.x * blockDim.x + threadIdx.x; + if (idx < 100) { + p[idx] += idx; + } +} + +template +struct FunctorRange { + Kokkos::View> a; + FunctorRange( + Kokkos::View> + a_) + : a(a_) {} + + KOKKOS_INLINE_FUNCTION + void operator()(const int i) const { a(i) += 1; } +}; + +template +struct FunctorRangeReduce { + Kokkos::View> a; + FunctorRangeReduce( + Kokkos::View> + a_) + : a(a_) {} + + KOKKOS_INLINE_FUNCTION + void operator()(const int i, int& lsum) const { lsum += a(i); } +}; + +template +struct FunctorMDRange { + Kokkos::View> a; + FunctorMDRange( + Kokkos::View> + a_) + : a(a_) {} + + KOKKOS_INLINE_FUNCTION + void operator()(const int i, const int j) const { a(i * 10 + j) += 1; } +}; + +template +struct FunctorMDRangeReduce { + Kokkos::View> a; + FunctorMDRangeReduce( + Kokkos::View> + a_) + : a(a_) {} + + KOKKOS_INLINE_FUNCTION + void operator()(const int i, const int j, int& lsum) const { + lsum += a(i * 10 + j); + } +}; + +template +struct FunctorTeam { + Kokkos::View> a; + FunctorTeam( + Kokkos::View> + a_) + : a(a_) {} + + KOKKOS_INLINE_FUNCTION + void operator()( + typename Kokkos::TeamPolicy::member_type const& team) + const { + int i = team.league_rank(); + Kokkos::parallel_for(Kokkos::TeamThreadRange(team, 10), + [&](const int j) { a(i * 10 + j) += 1; }); + } +}; + +template +struct FunctorTeamReduce { + Kokkos::View> a; + FunctorTeamReduce( + Kokkos::View> + a_) + : a(a_) {} + + KOKKOS_INLINE_FUNCTION + void operator()( + typename Kokkos::TeamPolicy::member_type const& team, + int& lsum) const { + int i = team.league_rank(); + int team_sum; + Kokkos::parallel_reduce( + Kokkos::TeamThreadRange(team, 10), + [&](const int j, int& tsum) { tsum += a(i * 10 + j); }, team_sum); + Kokkos::single(Kokkos::PerTeam(team), [&]() { lsum += team_sum; }); + } +}; +} // namespace Test diff --git a/lib/kokkos/core/unit_test/UnitTestConfig.make b/lib/kokkos/core/unit_test/UnitTestConfig.make deleted file mode 100644 index 5c93bf69fbda1d0388aa833aa790b8b91e116e01..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/UnitTestConfig.make +++ /dev/null @@ -1,52 +0,0 @@ -KOKKOS_PATH = ../.. - -# See $(KOKKOS_PATH)/Makefile.kokkos and $(KOKKOS_PATH)/generate_makefile.bash -KOKKOS_ARCH_OPTIONS="None AMDAVX ARMv80 ARMv81 ARMv8-ThunderX \ - BGQ Power7 Power8 Power9 \ - WSM SNB HSW BDW SKX KNC KNL \ - Kepler Kepler30 Kepler32 Kepler35 Kepler37 \ - Maxwell Maxwell50 Maxwell52 Maxwell53 Pascal60 Pascal61" -#KOKKOS_ARCH_OPTIONS="AMDAVX" - -KOKKOS_DEVICE_OPTIONS="Cuda ROCm OpenMP Pthread Serial" -#KOKKOS_DEVICE_OPTIONS="Cuda" - -# Configure paths to enable environment query in Makefile.kokkos to work -ROCM_HCC_PATH="config" -CXX="./config/cxx" -ipath=env CXX=$(CXX) env PATH=./config:$$PATH env ROCM_HCC_PATH=$(ROCM_HCC_PATH) - -# Defined in core/src/Makefile -- this should be consistent -KOKKOS_MAKEFILE=Makefile.kokkos -KOKKOS_CMAKEFILE=kokkos_generated_settings.cmake - -# Defined in Makefile.kokkos -- this should be consistent -KOKKOS_INTERNAL_CONFIG_TMP=KokkosCore_config.tmp -KOKKOS_CONFIG_HEADER=KokkosCore_config.h - -d='\#' - -# diff => 0 is no difference. if => 0 is false -testmake=if test "`testmake.sh $1 $2 $3`" = 'Passed'; then echo OK $d $1; else echo not OK $d $1; fi -testconf=if test "`diffconfig.sh $1`" = 'Passed'; then echo OK $d $1; else echo not OK $d $1; fi - -# testing tmp and cmakefile files is unnecessary here -test: - @for karch in "$(KOKKOS_ARCH_OPTIONS)"; do \ - for device in "$(KOKKOS_DEVICE_OPTIONS)"; do \ - $(ipath) KOKKOS_DEVICES=$$device KOKKOS_ARCH=$$karch make -e -f ../src/Makefile build-makefile-cmake-kokkos; \ - rm -f $(KOKKOS_INTERNAL_CONFIG_TMP) $(KOKKOS_CMAKEFILE); \ - prfx="$$karch"_"$$device"_; \ - newmake="$$prfx"$(KOKKOS_MAKEFILE); \ - newconf="$$prfx"$(KOKKOS_CONFIG_HEADER); \ - mv $(KOKKOS_MAKEFILE) config/tmpstore/$$newmake; \ - mv $(KOKKOS_CONFIG_HEADER) config/tmpstore/$$newconf; \ - $(call testmake,$$newmake,$$karch,$$device); \ - $(call testconf,$$newconf); \ - done; \ - done - -test-cmake: - @cd config/cmaketest; \ - cmake . ; \ - make test diff --git a/lib/kokkos/core/unit_test/config/bin/hcc-config b/lib/kokkos/core/unit_test/config/bin/hcc-config deleted file mode 100755 index fc09138bcc607eb0b750ecd5c6f20c591885f57e..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/bin/hcc-config +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/sh -echo "--foo --bar" diff --git a/lib/kokkos/core/unit_test/config/clang b/lib/kokkos/core/unit_test/config/clang deleted file mode 100755 index 34c69194106abcee50cfcbc69a0e789544dd6396..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/clang +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -echo="Apple LLVM version 8.1.0 (clang-802.0.42)" -echo="Target: x86_64-apple-darwin16.7.0" -echo="Thread model: posix" -echo="InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin" diff --git a/lib/kokkos/core/unit_test/config/cmaketest/CMakeLists.txt b/lib/kokkos/core/unit_test/config/cmaketest/CMakeLists.txt deleted file mode 100644 index 5d5901739447b66c4ac5c73182482d4a055dee31..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/cmaketest/CMakeLists.txt +++ /dev/null @@ -1,79 +0,0 @@ -cmake_minimum_required(VERSION 3.1 FATAL_ERROR) -project(Kokkos CXX) - -enable_testing() - -# Initialization -get_filename_component(KOKKOS_TESTDIR ${CMAKE_SOURCE_DIR}/../.. REALPATH) -get_filename_component(KOKKOS_SRCDIR ${CMAKE_SOURCE_DIR}/../../../.. REALPATH) -set(KOKKOS_SRC_PATH ${KOKKOS_SRCDIR}) -set(KOKKOS_PATH ${KOKKOS_SRC_PATH}) - -set(CXX ${KOKKOS_TESTDIR}/config/cxx) - -# Defined in core/src/Makefile -- this should be consistent -set(KOKKOS_MAKEFILE Makefile.kokkos) -set(KOKKOS_CMAKEFILE kokkos_generated_settings.cmake) - -# Defined in Makefile.kokkos -- this should be consistent -set(KOKKOS_INTERNAL_CONFIG_TMP KokkosCore_config.tmp) -set(KOKKOS_CONFIG_HEADER KokkosCore_config.h) - -include(${KOKKOS_SRCDIR}/cmake/kokkos_options.cmake) -foreach(KOKKOS_DEV ${KOKKOS_DEVICES_LIST}) -# Do some initialization: Want to turn everything off for testing - string(TOUPPER ${KOKKOS_DEV} KOKKOS_DEVUC) - set(KOKKOS_ENABLE_${KOKKOS_DEVUC} OFF) -endforeach() - - -#TEST set(KOKKOS_HOST_ARCH_LIST ARMv80) -#TEST set(KOKKOS_DEVICES_LIST Cuda) -#set(KOKKOS_HOST_ARCH_LIST AMDAVX) -#set(KOKKOS_DEVICES_LIST Cuda) - -foreach(KOKKOS_HOST_ARCH ${KOKKOS_HOST_ARCH_LIST}) - foreach(KOKKOS_DEV ${KOKKOS_DEVICES_LIST}) - string(TOUPPER ${KOKKOS_DEV} KOKKOS_DEVUC) - set(KOKKOS_ENABLE_${KOKKOS_DEVUC} On) - - set(KOKKOS_CMAKE_VERBOSE True) - include(${KOKKOS_SRCDIR}/cmake/kokkos_options.cmake) - set(KOKKOS_SETTINGS ${KOKKOS_SETTINGS} ROCM_HCC_PATH=${KOKKOS_TESTDIR}/config) - - #message(STATUS "${KOKKOS_SETTINGS} make -f ${KOKKOS_SRCDIR}/core/src/Makefile build-makefile-cmake-kokkos") - execute_process( - COMMAND ${KOKKOS_SETTINGS} make -f ${KOKKOS_SRCDIR}/core/src/Makefile build-makefile-cmake-kokkos - WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" - OUTPUT_FILE ${CMAKE_BINARY_DIR}/core_src_make.out - RESULT_VARIABLE res - ) - #message(STATUS "RESULT ${res}") - - file(REMOVE ${KOKKOS_INTERNAL_CONFIG_TMP} ${KOKKOS_MAKEFILE}) - set(PREFIX "${KOKKOS_HOST_ARCH}_${KOKKOS_DEV}_") - set(NEWCMAKE ${PREFIX}${KOKKOS_CMAKEFILE}) - set(NEWCONFH ${PREFIX}${KOKKOS_CONFIG_HEADER}) - file(RENAME ${KOKKOS_CMAKEFILE} ${NEWCMAKE}) - file(RENAME ${KOKKOS_CONFIG_HEADER} ${NEWCONFH}) - - add_test(NAME ${NEWCMAKE}-test - COMMAND ${KOKKOS_TESTDIR}/testmake.sh ${NEWCMAKE} ${KOKKOS_HOST_ARCH} ${KOKKOS_DEV} - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} - ) - set_tests_properties(${NEWCMAKE}-test - PROPERTIES PASS_REGULAR_EXPRESSION Passed - TIMEOUT 15 - ) - add_test(NAME ${NEWCONFH}-test - COMMAND ${KOKKOS_TESTDIR}/diffconfig.sh ${NEWCONFH} - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} - ) - set_tests_properties(${NEWCONFH}-test - PROPERTIES PASS_REGULAR_EXPRESSION Passed - TIMEOUT 15 - ) - set(KOKKOS_ENABLE_${KOKKOS_DEVUC} Off) - - endforeach() -endforeach() diff --git a/lib/kokkos/core/unit_test/config/cxx b/lib/kokkos/core/unit_test/config/cxx deleted file mode 100755 index f25d7714a5aab6debd20424661d2bc92add9b571..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/cxx +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -echo "g++ (GCC) 6.3.1 20161221 (Red Hat 6.3.1-1)" -echo "Copyright (C) 2016 Free Software Foundation, Inc." -echo "This is free software; see the source for copying conditions. There is NO" -echo "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." diff --git a/lib/kokkos/core/unit_test/config/mpic++ b/lib/kokkos/core/unit_test/config/mpic++ deleted file mode 100755 index f25d7714a5aab6debd20424661d2bc92add9b571..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/mpic++ +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -echo "g++ (GCC) 6.3.1 20161221 (Red Hat 6.3.1-1)" -echo "Copyright (C) 2016 Free Software Foundation, Inc." -echo "This is free software; see the source for copying conditions. There is NO" -echo "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." diff --git a/lib/kokkos/core/unit_test/config/nvcc b/lib/kokkos/core/unit_test/config/nvcc deleted file mode 100755 index b5bcbf234cf08d351f63aaa176a25a98308131d2..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/nvcc +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -echo "nvcc: NVIDIA (R) Cuda compiler driver" -echo "Copyright (c) 2005-2016 NVIDIA Corporation" -echo "Built on Tue_Jan_10_13:22:03_CST_2017" -echo "Cuda compilation tools, release 8.0, V8.0.61" diff --git a/lib/kokkos/core/unit_test/config/results/AMDAVX_Cuda_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/AMDAVX_Cuda_KokkosCore_config.h deleted file mode 100644 index 1a737a3b2fec1339cc9907b28206e4ee2c0ab0e9..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/AMDAVX_Cuda_KokkosCore_config.h +++ /dev/null @@ -1,18 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:22:09 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_CUDA 1 -#define KOKKOS_HAVE_SERIAL 1 -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ -#define KOKKOS_ARCH_AVX 1 diff --git a/lib/kokkos/core/unit_test/config/results/AMDAVX_OpenMP_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/AMDAVX_OpenMP_KokkosCore_config.h deleted file mode 100644 index 7a704e41852fa7f57b255ab97ae320f51e9936af..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/AMDAVX_OpenMP_KokkosCore_config.h +++ /dev/null @@ -1,17 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:22:10 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_OPENMP 1 -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ -#define KOKKOS_ARCH_AVX 1 diff --git a/lib/kokkos/core/unit_test/config/results/AMDAVX_Pthread_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/AMDAVX_Pthread_KokkosCore_config.h deleted file mode 100644 index c478a5c252ae406cae5e69dd6e1f7d06f83b1055..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/AMDAVX_Pthread_KokkosCore_config.h +++ /dev/null @@ -1,17 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:22:10 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_PTHREAD 1 -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ -#define KOKKOS_ARCH_AVX 1 diff --git a/lib/kokkos/core/unit_test/config/results/AMDAVX_ROCm_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/AMDAVX_ROCm_KokkosCore_config.h deleted file mode 100644 index 7b7e2b815344eb455bc66c27cdbe0d0c457b8817..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/AMDAVX_ROCm_KokkosCore_config.h +++ /dev/null @@ -1,18 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:22:09 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_ENABLE_ROCM 1 -#define KOKKOS_HAVE_SERIAL 1 -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ -#define KOKKOS_ARCH_AVX 1 diff --git a/lib/kokkos/core/unit_test/config/results/AMDAVX_Serial_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/AMDAVX_Serial_KokkosCore_config.h deleted file mode 100644 index 9930bacc47ddd91c4bd468b8d7d3cd5a3f918e51..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/AMDAVX_Serial_KokkosCore_config.h +++ /dev/null @@ -1,17 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:22:11 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_SERIAL 1 -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ -#define KOKKOS_ARCH_AVX 1 diff --git a/lib/kokkos/core/unit_test/config/results/ARMv8-ThunderX_Cuda_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/ARMv8-ThunderX_Cuda_KokkosCore_config.h deleted file mode 100644 index 7f172c00e42f0c767fdba70b05930617cf42ce27..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/ARMv8-ThunderX_Cuda_KokkosCore_config.h +++ /dev/null @@ -1,19 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:22:17 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_CUDA 1 -#define KOKKOS_HAVE_SERIAL 1 -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ -#define KOKKOS_ARCH_ARMV80 1 -#define KOKKOS_ARCH_ARMV8_THUNDERX 1 diff --git a/lib/kokkos/core/unit_test/config/results/ARMv8-ThunderX_OpenMP_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/ARMv8-ThunderX_OpenMP_KokkosCore_config.h deleted file mode 100644 index d25b832ca2ba038018dadd1e1a93e26cb7cf5614..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/ARMv8-ThunderX_OpenMP_KokkosCore_config.h +++ /dev/null @@ -1,18 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:22:18 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_OPENMP 1 -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ -#define KOKKOS_ARCH_ARMV80 1 -#define KOKKOS_ARCH_ARMV8_THUNDERX 1 diff --git a/lib/kokkos/core/unit_test/config/results/ARMv8-ThunderX_Pthread_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/ARMv8-ThunderX_Pthread_KokkosCore_config.h deleted file mode 100644 index cd3a603092381bdcf67f8153e7cea7558a5ffc65..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/ARMv8-ThunderX_Pthread_KokkosCore_config.h +++ /dev/null @@ -1,18 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:22:19 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_PTHREAD 1 -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ -#define KOKKOS_ARCH_ARMV80 1 -#define KOKKOS_ARCH_ARMV8_THUNDERX 1 diff --git a/lib/kokkos/core/unit_test/config/results/ARMv8-ThunderX_ROCm_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/ARMv8-ThunderX_ROCm_KokkosCore_config.h deleted file mode 100644 index 86b9f845859ad4239613299707c1e75bb1d0c3ab..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/ARMv8-ThunderX_ROCm_KokkosCore_config.h +++ /dev/null @@ -1,19 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:22:18 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_ENABLE_ROCM 1 -#define KOKKOS_HAVE_SERIAL 1 -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ -#define KOKKOS_ARCH_ARMV80 1 -#define KOKKOS_ARCH_ARMV8_THUNDERX 1 diff --git a/lib/kokkos/core/unit_test/config/results/ARMv8-ThunderX_Serial_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/ARMv8-ThunderX_Serial_KokkosCore_config.h deleted file mode 100644 index 75ada8c01ffcef1e8aa732ecbddf278cd65885a6..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/ARMv8-ThunderX_Serial_KokkosCore_config.h +++ /dev/null @@ -1,18 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:22:19 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_SERIAL 1 -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ -#define KOKKOS_ARCH_ARMV80 1 -#define KOKKOS_ARCH_ARMV8_THUNDERX 1 diff --git a/lib/kokkos/core/unit_test/config/results/ARMv80_Cuda_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/ARMv80_Cuda_KokkosCore_config.h deleted file mode 100644 index 796c0aab6537565a054fe41d3e6a0276914ea456..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/ARMv80_Cuda_KokkosCore_config.h +++ /dev/null @@ -1,18 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:22:12 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_CUDA 1 -#define KOKKOS_HAVE_SERIAL 1 -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ -#define KOKKOS_ARCH_ARMV80 1 diff --git a/lib/kokkos/core/unit_test/config/results/ARMv80_OpenMP_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/ARMv80_OpenMP_KokkosCore_config.h deleted file mode 100644 index dcf7ff7ea29c7ca1179ddc4098b592a97343842b..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/ARMv80_OpenMP_KokkosCore_config.h +++ /dev/null @@ -1,17 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:22:13 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_OPENMP 1 -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ -#define KOKKOS_ARCH_ARMV80 1 diff --git a/lib/kokkos/core/unit_test/config/results/ARMv80_Pthread_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/ARMv80_Pthread_KokkosCore_config.h deleted file mode 100644 index 298966b6d4d4f101a0f9547c95bcecc5e6e16998..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/ARMv80_Pthread_KokkosCore_config.h +++ /dev/null @@ -1,17 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:22:14 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_PTHREAD 1 -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ -#define KOKKOS_ARCH_ARMV80 1 diff --git a/lib/kokkos/core/unit_test/config/results/ARMv80_ROCm_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/ARMv80_ROCm_KokkosCore_config.h deleted file mode 100644 index c2b4f146cbb526d91853208ec54039a850ec8702..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/ARMv80_ROCm_KokkosCore_config.h +++ /dev/null @@ -1,18 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:22:12 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_ENABLE_ROCM 1 -#define KOKKOS_HAVE_SERIAL 1 -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ -#define KOKKOS_ARCH_ARMV80 1 diff --git a/lib/kokkos/core/unit_test/config/results/ARMv80_Serial_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/ARMv80_Serial_KokkosCore_config.h deleted file mode 100644 index fe5fe6644513bdfc65b2f58de4ac32f4b136a033..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/ARMv80_Serial_KokkosCore_config.h +++ /dev/null @@ -1,17 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:22:14 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_SERIAL 1 -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ -#define KOKKOS_ARCH_ARMV80 1 diff --git a/lib/kokkos/core/unit_test/config/results/ARMv81_Cuda_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/ARMv81_Cuda_KokkosCore_config.h deleted file mode 100644 index 3d02142438bd717fc2317d9b3f65102b408ff821..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/ARMv81_Cuda_KokkosCore_config.h +++ /dev/null @@ -1,18 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:22:15 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_CUDA 1 -#define KOKKOS_HAVE_SERIAL 1 -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ -#define KOKKOS_ARCH_ARMV81 1 diff --git a/lib/kokkos/core/unit_test/config/results/ARMv81_OpenMP_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/ARMv81_OpenMP_KokkosCore_config.h deleted file mode 100644 index aa194c77be747dab77c87a3a723eeaf6b3faec28..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/ARMv81_OpenMP_KokkosCore_config.h +++ /dev/null @@ -1,17 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:22:16 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_OPENMP 1 -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ -#define KOKKOS_ARCH_ARMV81 1 diff --git a/lib/kokkos/core/unit_test/config/results/ARMv81_Pthread_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/ARMv81_Pthread_KokkosCore_config.h deleted file mode 100644 index 6d2dbeeef4869197888c1e0a3d3aa1274ce308bd..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/ARMv81_Pthread_KokkosCore_config.h +++ /dev/null @@ -1,17 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:22:16 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_PTHREAD 1 -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ -#define KOKKOS_ARCH_ARMV81 1 diff --git a/lib/kokkos/core/unit_test/config/results/ARMv81_ROCm_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/ARMv81_ROCm_KokkosCore_config.h deleted file mode 100644 index 28a56596b4bffaabc1ca827e53638dc79ecfe6f7..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/ARMv81_ROCm_KokkosCore_config.h +++ /dev/null @@ -1,18 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:22:15 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_ENABLE_ROCM 1 -#define KOKKOS_HAVE_SERIAL 1 -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ -#define KOKKOS_ARCH_ARMV81 1 diff --git a/lib/kokkos/core/unit_test/config/results/ARMv81_Serial_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/ARMv81_Serial_KokkosCore_config.h deleted file mode 100644 index 1d29fd139050e792af20b7b575fa03cbe473886a..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/ARMv81_Serial_KokkosCore_config.h +++ /dev/null @@ -1,17 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:22:16 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_SERIAL 1 -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ -#define KOKKOS_ARCH_ARMV81 1 diff --git a/lib/kokkos/core/unit_test/config/results/BDW_Cuda_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/BDW_Cuda_KokkosCore_config.h deleted file mode 100644 index ce2582b23ff3971072f78595d4407116c2f2acd9..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/BDW_Cuda_KokkosCore_config.h +++ /dev/null @@ -1,24 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:22:37 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_CUDA 1 -#define KOKKOS_HAVE_SERIAL 1 -#ifndef __CUDA_ARCH__ -#define KOKKOS_ENABLE_TM -#endif -#ifndef __CUDA_ARCH__ -#define KOKKOS_USE_ISA_X86_64 -#endif -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ -#define KOKKOS_ARCH_AVX2 1 diff --git a/lib/kokkos/core/unit_test/config/results/BDW_OpenMP_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/BDW_OpenMP_KokkosCore_config.h deleted file mode 100644 index 118d1b225f4c223e2efb353738599eecd2c20f34..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/BDW_OpenMP_KokkosCore_config.h +++ /dev/null @@ -1,23 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:22:38 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_OPENMP 1 -#ifndef __CUDA_ARCH__ -#define KOKKOS_ENABLE_TM -#endif -#ifndef __CUDA_ARCH__ -#define KOKKOS_USE_ISA_X86_64 -#endif -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ -#define KOKKOS_ARCH_AVX2 1 diff --git a/lib/kokkos/core/unit_test/config/results/BDW_Pthread_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/BDW_Pthread_KokkosCore_config.h deleted file mode 100644 index 6d0215baf6de357cb7a338d34beb0c62fb2744d2..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/BDW_Pthread_KokkosCore_config.h +++ /dev/null @@ -1,23 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:22:38 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_PTHREAD 1 -#ifndef __CUDA_ARCH__ -#define KOKKOS_ENABLE_TM -#endif -#ifndef __CUDA_ARCH__ -#define KOKKOS_USE_ISA_X86_64 -#endif -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ -#define KOKKOS_ARCH_AVX2 1 diff --git a/lib/kokkos/core/unit_test/config/results/BDW_ROCm_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/BDW_ROCm_KokkosCore_config.h deleted file mode 100644 index 3f86d055afd7572dc585ed4945c48f8dbee4cbcb..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/BDW_ROCm_KokkosCore_config.h +++ /dev/null @@ -1,24 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:22:37 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_ENABLE_ROCM 1 -#define KOKKOS_HAVE_SERIAL 1 -#ifndef __CUDA_ARCH__ -#define KOKKOS_ENABLE_TM -#endif -#ifndef __CUDA_ARCH__ -#define KOKKOS_USE_ISA_X86_64 -#endif -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ -#define KOKKOS_ARCH_AVX2 1 diff --git a/lib/kokkos/core/unit_test/config/results/BDW_Serial_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/BDW_Serial_KokkosCore_config.h deleted file mode 100644 index fba671ab1a512594582bc78caa1bbc63060550f9..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/BDW_Serial_KokkosCore_config.h +++ /dev/null @@ -1,23 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:22:39 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_SERIAL 1 -#ifndef __CUDA_ARCH__ -#define KOKKOS_ENABLE_TM -#endif -#ifndef __CUDA_ARCH__ -#define KOKKOS_USE_ISA_X86_64 -#endif -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ -#define KOKKOS_ARCH_AVX2 1 diff --git a/lib/kokkos/core/unit_test/config/results/BGQ_Cuda_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/BGQ_Cuda_KokkosCore_config.h deleted file mode 100644 index 93c74d41e2375848b3a18fbc8bb113735ead3a62..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/BGQ_Cuda_KokkosCore_config.h +++ /dev/null @@ -1,17 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Tue Sep 26 15:19:43 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_CUDA 1 -#define KOKKOS_HAVE_SERIAL 1 -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ diff --git a/lib/kokkos/core/unit_test/config/results/BGQ_OpenMP_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/BGQ_OpenMP_KokkosCore_config.h deleted file mode 100644 index 533da160285b7c68f2597e38aa4591e71e740062..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/BGQ_OpenMP_KokkosCore_config.h +++ /dev/null @@ -1,16 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Tue Sep 26 15:19:43 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_OPENMP 1 -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ diff --git a/lib/kokkos/core/unit_test/config/results/BGQ_Pthread_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/BGQ_Pthread_KokkosCore_config.h deleted file mode 100644 index 9524c94f2b6cf6529024681240b2cffed3ef6895..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/BGQ_Pthread_KokkosCore_config.h +++ /dev/null @@ -1,16 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Tue Sep 26 15:19:44 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_PTHREAD 1 -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ diff --git a/lib/kokkos/core/unit_test/config/results/BGQ_ROCm_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/BGQ_ROCm_KokkosCore_config.h deleted file mode 100644 index f5bc1f54a9a7c0defc00327fdb97c552f75f661a..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/BGQ_ROCm_KokkosCore_config.h +++ /dev/null @@ -1,17 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Tue Sep 26 15:19:44 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_ENABLE_ROCM 1 -#define KOKKOS_HAVE_SERIAL 1 -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ diff --git a/lib/kokkos/core/unit_test/config/results/BGQ_Serial_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/BGQ_Serial_KokkosCore_config.h deleted file mode 100644 index 8372c006994415777849a768e61fa9318796591c..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/BGQ_Serial_KokkosCore_config.h +++ /dev/null @@ -1,16 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Tue Sep 26 15:19:44 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_SERIAL 1 -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ diff --git a/lib/kokkos/core/unit_test/config/results/HSW_Cuda_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/HSW_Cuda_KokkosCore_config.h deleted file mode 100644 index 7bbe9fa84c1241992cf17b439122af700d6eeb45..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/HSW_Cuda_KokkosCore_config.h +++ /dev/null @@ -1,21 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:22:34 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_CUDA 1 -#define KOKKOS_HAVE_SERIAL 1 -#ifndef __CUDA_ARCH__ -#define KOKKOS_USE_ISA_X86_64 -#endif -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ -#define KOKKOS_ARCH_AVX2 1 diff --git a/lib/kokkos/core/unit_test/config/results/HSW_OpenMP_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/HSW_OpenMP_KokkosCore_config.h deleted file mode 100644 index 17f75872f84fddc42f0a19aa3f6c8b000b62c3a1..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/HSW_OpenMP_KokkosCore_config.h +++ /dev/null @@ -1,20 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:22:35 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_OPENMP 1 -#ifndef __CUDA_ARCH__ -#define KOKKOS_USE_ISA_X86_64 -#endif -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ -#define KOKKOS_ARCH_AVX2 1 diff --git a/lib/kokkos/core/unit_test/config/results/HSW_Pthread_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/HSW_Pthread_KokkosCore_config.h deleted file mode 100644 index 5df1be17ada1d2bcc5ef6d21820d752381752d57..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/HSW_Pthread_KokkosCore_config.h +++ /dev/null @@ -1,20 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:22:35 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_PTHREAD 1 -#ifndef __CUDA_ARCH__ -#define KOKKOS_USE_ISA_X86_64 -#endif -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ -#define KOKKOS_ARCH_AVX2 1 diff --git a/lib/kokkos/core/unit_test/config/results/HSW_ROCm_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/HSW_ROCm_KokkosCore_config.h deleted file mode 100644 index 8e04801b862efd26463845d0785518b287379480..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/HSW_ROCm_KokkosCore_config.h +++ /dev/null @@ -1,21 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:22:35 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_ENABLE_ROCM 1 -#define KOKKOS_HAVE_SERIAL 1 -#ifndef __CUDA_ARCH__ -#define KOKKOS_USE_ISA_X86_64 -#endif -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ -#define KOKKOS_ARCH_AVX2 1 diff --git a/lib/kokkos/core/unit_test/config/results/HSW_Serial_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/HSW_Serial_KokkosCore_config.h deleted file mode 100644 index 99f76aff0b1fe147004233e2bf401acf605f7f49..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/HSW_Serial_KokkosCore_config.h +++ /dev/null @@ -1,20 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:22:36 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_SERIAL 1 -#ifndef __CUDA_ARCH__ -#define KOKKOS_USE_ISA_X86_64 -#endif -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ -#define KOKKOS_ARCH_AVX2 1 diff --git a/lib/kokkos/core/unit_test/config/results/KNC_Cuda_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/KNC_Cuda_KokkosCore_config.h deleted file mode 100644 index bdc270fd0d795dc2a8981371bd79ed22a041d7d5..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/KNC_Cuda_KokkosCore_config.h +++ /dev/null @@ -1,21 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:22:42 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_CUDA 1 -#define KOKKOS_HAVE_SERIAL 1 -#ifndef __CUDA_ARCH__ -#define KOKKOS_USE_ISA_KNC -#endif -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ -#define KOKKOS_ARCH_KNC 1 diff --git a/lib/kokkos/core/unit_test/config/results/KNC_OpenMP_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/KNC_OpenMP_KokkosCore_config.h deleted file mode 100644 index f9b79f552d7fd734d574827a35f5b72d970ceb77..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/KNC_OpenMP_KokkosCore_config.h +++ /dev/null @@ -1,20 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:22:43 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_OPENMP 1 -#ifndef __CUDA_ARCH__ -#define KOKKOS_USE_ISA_KNC -#endif -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ -#define KOKKOS_ARCH_KNC 1 diff --git a/lib/kokkos/core/unit_test/config/results/KNC_Pthread_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/KNC_Pthread_KokkosCore_config.h deleted file mode 100644 index 15d9d01a0aaf9123f9d201191c54797becba12b8..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/KNC_Pthread_KokkosCore_config.h +++ /dev/null @@ -1,20 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:22:44 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_PTHREAD 1 -#ifndef __CUDA_ARCH__ -#define KOKKOS_USE_ISA_KNC -#endif -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ -#define KOKKOS_ARCH_KNC 1 diff --git a/lib/kokkos/core/unit_test/config/results/KNC_ROCm_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/KNC_ROCm_KokkosCore_config.h deleted file mode 100644 index 5991d3065fa81a7e09c18c860232c0ad05e36075..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/KNC_ROCm_KokkosCore_config.h +++ /dev/null @@ -1,21 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:22:43 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_ENABLE_ROCM 1 -#define KOKKOS_HAVE_SERIAL 1 -#ifndef __CUDA_ARCH__ -#define KOKKOS_USE_ISA_KNC -#endif -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ -#define KOKKOS_ARCH_KNC 1 diff --git a/lib/kokkos/core/unit_test/config/results/KNC_Serial_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/KNC_Serial_KokkosCore_config.h deleted file mode 100644 index 3a8ddecf14eaa74363698d8f895886b1561d08d0..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/KNC_Serial_KokkosCore_config.h +++ /dev/null @@ -1,20 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:22:44 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_SERIAL 1 -#ifndef __CUDA_ARCH__ -#define KOKKOS_USE_ISA_KNC -#endif -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ -#define KOKKOS_ARCH_KNC 1 diff --git a/lib/kokkos/core/unit_test/config/results/KNL_Cuda_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/KNL_Cuda_KokkosCore_config.h deleted file mode 100644 index bd7e2ca330e6e31b62568ae185ea1303c00d54cc..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/KNL_Cuda_KokkosCore_config.h +++ /dev/null @@ -1,21 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:22:45 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_CUDA 1 -#define KOKKOS_HAVE_SERIAL 1 -#ifndef __CUDA_ARCH__ -#define KOKKOS_USE_ISA_X86_64 -#endif -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ -#define KOKKOS_ARCH_AVX512MIC 1 diff --git a/lib/kokkos/core/unit_test/config/results/KNL_OpenMP_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/KNL_OpenMP_KokkosCore_config.h deleted file mode 100644 index 0f567f241c5bad2955921d22b935b89693556a6d..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/KNL_OpenMP_KokkosCore_config.h +++ /dev/null @@ -1,20 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:22:46 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_OPENMP 1 -#ifndef __CUDA_ARCH__ -#define KOKKOS_USE_ISA_X86_64 -#endif -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ -#define KOKKOS_ARCH_AVX512MIC 1 diff --git a/lib/kokkos/core/unit_test/config/results/KNL_Pthread_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/KNL_Pthread_KokkosCore_config.h deleted file mode 100644 index 1cf3f0997a9b4d83f99dbba59a548a8aee8d05b2..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/KNL_Pthread_KokkosCore_config.h +++ /dev/null @@ -1,20 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:22:47 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_PTHREAD 1 -#ifndef __CUDA_ARCH__ -#define KOKKOS_USE_ISA_X86_64 -#endif -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ -#define KOKKOS_ARCH_AVX512MIC 1 diff --git a/lib/kokkos/core/unit_test/config/results/KNL_ROCm_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/KNL_ROCm_KokkosCore_config.h deleted file mode 100644 index ae2938e34a61654813e94ba4f352a0b0eb3a5b0c..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/KNL_ROCm_KokkosCore_config.h +++ /dev/null @@ -1,21 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:22:46 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_ENABLE_ROCM 1 -#define KOKKOS_HAVE_SERIAL 1 -#ifndef __CUDA_ARCH__ -#define KOKKOS_USE_ISA_X86_64 -#endif -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ -#define KOKKOS_ARCH_AVX512MIC 1 diff --git a/lib/kokkos/core/unit_test/config/results/KNL_Serial_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/KNL_Serial_KokkosCore_config.h deleted file mode 100644 index 21f6e7e4343be324f0d6a640661814098af5b5d7..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/KNL_Serial_KokkosCore_config.h +++ /dev/null @@ -1,20 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:22:47 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_SERIAL 1 -#ifndef __CUDA_ARCH__ -#define KOKKOS_USE_ISA_X86_64 -#endif -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ -#define KOKKOS_ARCH_AVX512MIC 1 diff --git a/lib/kokkos/core/unit_test/config/results/Kepler30_Cuda_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/Kepler30_Cuda_KokkosCore_config.h deleted file mode 100644 index 78e9335e2486f554dfa1e35d5fb289e2e9221ccf..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/Kepler30_Cuda_KokkosCore_config.h +++ /dev/null @@ -1,19 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:22:48 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_CUDA 1 -#define KOKKOS_HAVE_SERIAL 1 -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ -#define KOKKOS_ARCH_KEPLER 1 -#define KOKKOS_ARCH_KEPLER30 1 diff --git a/lib/kokkos/core/unit_test/config/results/Kepler30_OpenMP_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/Kepler30_OpenMP_KokkosCore_config.h deleted file mode 100644 index 769d9c878994f7454e2ac4186b1b0ef9f69ac0ec..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/Kepler30_OpenMP_KokkosCore_config.h +++ /dev/null @@ -1,16 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:22:49 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_OPENMP 1 -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ diff --git a/lib/kokkos/core/unit_test/config/results/Kepler30_Pthread_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/Kepler30_Pthread_KokkosCore_config.h deleted file mode 100644 index 2cc728a5e3a03f5e98998894ebb02de4fe50551a..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/Kepler30_Pthread_KokkosCore_config.h +++ /dev/null @@ -1,16 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:22:49 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_PTHREAD 1 -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ diff --git a/lib/kokkos/core/unit_test/config/results/Kepler30_ROCm_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/Kepler30_ROCm_KokkosCore_config.h deleted file mode 100644 index 34867aa91ee1fee85f65e4bd21c0975ad1a5105b..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/Kepler30_ROCm_KokkosCore_config.h +++ /dev/null @@ -1,17 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:22:48 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_ENABLE_ROCM 1 -#define KOKKOS_HAVE_SERIAL 1 -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ diff --git a/lib/kokkos/core/unit_test/config/results/Kepler30_Serial_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/Kepler30_Serial_KokkosCore_config.h deleted file mode 100644 index 54943b244f443d212c4810503caf0441dfce255e..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/Kepler30_Serial_KokkosCore_config.h +++ /dev/null @@ -1,16 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:22:50 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_SERIAL 1 -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ diff --git a/lib/kokkos/core/unit_test/config/results/Kepler32_Cuda_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/Kepler32_Cuda_KokkosCore_config.h deleted file mode 100644 index c7e23d503cf1fc6206549537300b1b059e5ec236..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/Kepler32_Cuda_KokkosCore_config.h +++ /dev/null @@ -1,19 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:22:50 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_CUDA 1 -#define KOKKOS_HAVE_SERIAL 1 -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ -#define KOKKOS_ARCH_KEPLER 1 -#define KOKKOS_ARCH_KEPLER32 1 diff --git a/lib/kokkos/core/unit_test/config/results/Kepler32_OpenMP_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/Kepler32_OpenMP_KokkosCore_config.h deleted file mode 100644 index fcfbf97ef2aa49f53344d41dde7bb8e02ff2ca4f..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/Kepler32_OpenMP_KokkosCore_config.h +++ /dev/null @@ -1,16 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:22:51 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_OPENMP 1 -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ diff --git a/lib/kokkos/core/unit_test/config/results/Kepler32_Pthread_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/Kepler32_Pthread_KokkosCore_config.h deleted file mode 100644 index 5cea100aa419ab02d76bb05c6e00ab22530823d8..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/Kepler32_Pthread_KokkosCore_config.h +++ /dev/null @@ -1,16 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:22:52 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_PTHREAD 1 -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ diff --git a/lib/kokkos/core/unit_test/config/results/Kepler32_ROCm_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/Kepler32_ROCm_KokkosCore_config.h deleted file mode 100644 index 0ae47b6976894a0a7969bb2098c8ebe185bbf5e6..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/Kepler32_ROCm_KokkosCore_config.h +++ /dev/null @@ -1,17 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:22:51 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_ENABLE_ROCM 1 -#define KOKKOS_HAVE_SERIAL 1 -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ diff --git a/lib/kokkos/core/unit_test/config/results/Kepler32_Serial_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/Kepler32_Serial_KokkosCore_config.h deleted file mode 100644 index 0d20b1dc811f44d8c3c5e553a8f266aaa12c0231..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/Kepler32_Serial_KokkosCore_config.h +++ /dev/null @@ -1,16 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:22:52 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_SERIAL 1 -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ diff --git a/lib/kokkos/core/unit_test/config/results/Kepler35_Cuda_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/Kepler35_Cuda_KokkosCore_config.h deleted file mode 100644 index f7935927c39b2abd4929c2a1364b74955acc9f21..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/Kepler35_Cuda_KokkosCore_config.h +++ /dev/null @@ -1,19 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:22:53 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_CUDA 1 -#define KOKKOS_HAVE_SERIAL 1 -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ -#define KOKKOS_ARCH_KEPLER 1 -#define KOKKOS_ARCH_KEPLER35 1 diff --git a/lib/kokkos/core/unit_test/config/results/Kepler35_OpenMP_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/Kepler35_OpenMP_KokkosCore_config.h deleted file mode 100644 index 02777df40a32f6bf45084a158b6901891fa858ff..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/Kepler35_OpenMP_KokkosCore_config.h +++ /dev/null @@ -1,16 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:22:54 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_OPENMP 1 -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ diff --git a/lib/kokkos/core/unit_test/config/results/Kepler35_Pthread_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/Kepler35_Pthread_KokkosCore_config.h deleted file mode 100644 index f51f00ce957a8e55d9dab99dfadb9dd4c2b623e8..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/Kepler35_Pthread_KokkosCore_config.h +++ /dev/null @@ -1,16 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:22:55 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_PTHREAD 1 -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ diff --git a/lib/kokkos/core/unit_test/config/results/Kepler35_ROCm_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/Kepler35_ROCm_KokkosCore_config.h deleted file mode 100644 index 111bb09340da44fb4085a546a5348892271607da..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/Kepler35_ROCm_KokkosCore_config.h +++ /dev/null @@ -1,17 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:22:54 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_ENABLE_ROCM 1 -#define KOKKOS_HAVE_SERIAL 1 -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ diff --git a/lib/kokkos/core/unit_test/config/results/Kepler35_Serial_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/Kepler35_Serial_KokkosCore_config.h deleted file mode 100644 index da61dabb5809e6e1a4c8c257e4df65d26abc69fd..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/Kepler35_Serial_KokkosCore_config.h +++ /dev/null @@ -1,16 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:22:55 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_SERIAL 1 -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ diff --git a/lib/kokkos/core/unit_test/config/results/Kepler37_Cuda_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/Kepler37_Cuda_KokkosCore_config.h deleted file mode 100644 index c70ce2e04cfaba2c759ee49eee6bc0c4fa015aea..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/Kepler37_Cuda_KokkosCore_config.h +++ /dev/null @@ -1,19 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:22:56 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_CUDA 1 -#define KOKKOS_HAVE_SERIAL 1 -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ -#define KOKKOS_ARCH_KEPLER 1 -#define KOKKOS_ARCH_KEPLER37 1 diff --git a/lib/kokkos/core/unit_test/config/results/Kepler37_OpenMP_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/Kepler37_OpenMP_KokkosCore_config.h deleted file mode 100644 index d8c6c74832520dd5cb51aa0652bebf78041db7c4..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/Kepler37_OpenMP_KokkosCore_config.h +++ /dev/null @@ -1,16 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:22:57 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_OPENMP 1 -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ diff --git a/lib/kokkos/core/unit_test/config/results/Kepler37_Pthread_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/Kepler37_Pthread_KokkosCore_config.h deleted file mode 100644 index b832ef36e5afb5ab942a9e6340374a845a208283..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/Kepler37_Pthread_KokkosCore_config.h +++ /dev/null @@ -1,16 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:22:58 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_PTHREAD 1 -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ diff --git a/lib/kokkos/core/unit_test/config/results/Kepler37_ROCm_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/Kepler37_ROCm_KokkosCore_config.h deleted file mode 100644 index 6a661f8842166b7b45c84daf69288d385650cd2d..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/Kepler37_ROCm_KokkosCore_config.h +++ /dev/null @@ -1,17 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:22:57 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_ENABLE_ROCM 1 -#define KOKKOS_HAVE_SERIAL 1 -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ diff --git a/lib/kokkos/core/unit_test/config/results/Kepler37_Serial_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/Kepler37_Serial_KokkosCore_config.h deleted file mode 100644 index 469f3d96a77e3bc5b0111fdb037e1a1ebc621a5f..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/Kepler37_Serial_KokkosCore_config.h +++ /dev/null @@ -1,16 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:22:58 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_SERIAL 1 -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ diff --git a/lib/kokkos/core/unit_test/config/results/Kepler_Cuda_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/Kepler_Cuda_KokkosCore_config.h deleted file mode 100644 index 1ccf1bef54342d6d094719157f7efd490bc13bd6..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/Kepler_Cuda_KokkosCore_config.h +++ /dev/null @@ -1,19 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Tue Sep 26 15:19:50 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_CUDA 1 -#define KOKKOS_HAVE_SERIAL 1 -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ -#define KOKKOS_ARCH_KEPLER 1 -#define KOKKOS_ARCH_KEPLER35 1 diff --git a/lib/kokkos/core/unit_test/config/results/Kepler_OpenMP_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/Kepler_OpenMP_KokkosCore_config.h deleted file mode 100644 index 9d87c958a216980f1de929074ff78f446fb76e12..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/Kepler_OpenMP_KokkosCore_config.h +++ /dev/null @@ -1,16 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Tue Sep 26 15:19:51 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_OPENMP 1 -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ diff --git a/lib/kokkos/core/unit_test/config/results/Kepler_Pthread_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/Kepler_Pthread_KokkosCore_config.h deleted file mode 100644 index 263870be9fb15c18460e8200abe7a704895733df..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/Kepler_Pthread_KokkosCore_config.h +++ /dev/null @@ -1,16 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Tue Sep 26 15:19:51 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_PTHREAD 1 -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ diff --git a/lib/kokkos/core/unit_test/config/results/Kepler_ROCm_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/Kepler_ROCm_KokkosCore_config.h deleted file mode 100644 index 2826fdfb885bdf97a71e27493ec5c49e72af1406..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/Kepler_ROCm_KokkosCore_config.h +++ /dev/null @@ -1,17 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Tue Sep 26 15:19:52 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_ENABLE_ROCM 1 -#define KOKKOS_HAVE_SERIAL 1 -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ diff --git a/lib/kokkos/core/unit_test/config/results/Kepler_Serial_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/Kepler_Serial_KokkosCore_config.h deleted file mode 100644 index 69097e034d2b8aa7d972290746944e3830176caf..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/Kepler_Serial_KokkosCore_config.h +++ /dev/null @@ -1,16 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Tue Sep 26 15:19:52 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_SERIAL 1 -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ diff --git a/lib/kokkos/core/unit_test/config/results/Maxwell50_Cuda_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/Maxwell50_Cuda_KokkosCore_config.h deleted file mode 100644 index fac64e9e9835066042607888756e1690065c5ea7..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/Maxwell50_Cuda_KokkosCore_config.h +++ /dev/null @@ -1,19 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:22:59 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_CUDA 1 -#define KOKKOS_HAVE_SERIAL 1 -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ -#define KOKKOS_ARCH_MAXWELL 1 -#define KOKKOS_ARCH_MAXWELL50 1 diff --git a/lib/kokkos/core/unit_test/config/results/Maxwell50_OpenMP_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/Maxwell50_OpenMP_KokkosCore_config.h deleted file mode 100644 index 3f5b3eea1355651a5e7b7e5286f7adee68da667d..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/Maxwell50_OpenMP_KokkosCore_config.h +++ /dev/null @@ -1,16 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:23:00 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_OPENMP 1 -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ diff --git a/lib/kokkos/core/unit_test/config/results/Maxwell50_Pthread_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/Maxwell50_Pthread_KokkosCore_config.h deleted file mode 100644 index b249c88be52b05de33c243d4915ef4389c90498c..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/Maxwell50_Pthread_KokkosCore_config.h +++ /dev/null @@ -1,16 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:23:01 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_PTHREAD 1 -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ diff --git a/lib/kokkos/core/unit_test/config/results/Maxwell50_ROCm_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/Maxwell50_ROCm_KokkosCore_config.h deleted file mode 100644 index ce9f67d5be7dbab69e05133d7b6682d83554dc71..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/Maxwell50_ROCm_KokkosCore_config.h +++ /dev/null @@ -1,17 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:23:00 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_ENABLE_ROCM 1 -#define KOKKOS_HAVE_SERIAL 1 -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ diff --git a/lib/kokkos/core/unit_test/config/results/Maxwell50_Serial_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/Maxwell50_Serial_KokkosCore_config.h deleted file mode 100644 index f8c6be139e288e7dd7b1164ca4dc3893527ee93a..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/Maxwell50_Serial_KokkosCore_config.h +++ /dev/null @@ -1,16 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:23:02 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_SERIAL 1 -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ diff --git a/lib/kokkos/core/unit_test/config/results/Maxwell52_Cuda_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/Maxwell52_Cuda_KokkosCore_config.h deleted file mode 100644 index ce28f3e4b783bc4496915b60ed7bba3f333f1873..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/Maxwell52_Cuda_KokkosCore_config.h +++ /dev/null @@ -1,19 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:23:03 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_CUDA 1 -#define KOKKOS_HAVE_SERIAL 1 -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ -#define KOKKOS_ARCH_MAXWELL 1 -#define KOKKOS_ARCH_MAXWELL52 1 diff --git a/lib/kokkos/core/unit_test/config/results/Maxwell52_OpenMP_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/Maxwell52_OpenMP_KokkosCore_config.h deleted file mode 100644 index 35635063a5b794d39fa5782aac7f7f1fc7beb791..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/Maxwell52_OpenMP_KokkosCore_config.h +++ /dev/null @@ -1,16 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:23:04 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_OPENMP 1 -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ diff --git a/lib/kokkos/core/unit_test/config/results/Maxwell52_Pthread_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/Maxwell52_Pthread_KokkosCore_config.h deleted file mode 100644 index 140740f81f6e1c907c174bef2137d821d66d3bf1..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/Maxwell52_Pthread_KokkosCore_config.h +++ /dev/null @@ -1,16 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:23:04 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_PTHREAD 1 -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ diff --git a/lib/kokkos/core/unit_test/config/results/Maxwell52_ROCm_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/Maxwell52_ROCm_KokkosCore_config.h deleted file mode 100644 index 06ff6935caa79a2a43d4a43c94fca851065c9615..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/Maxwell52_ROCm_KokkosCore_config.h +++ /dev/null @@ -1,17 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:23:03 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_ENABLE_ROCM 1 -#define KOKKOS_HAVE_SERIAL 1 -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ diff --git a/lib/kokkos/core/unit_test/config/results/Maxwell52_Serial_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/Maxwell52_Serial_KokkosCore_config.h deleted file mode 100644 index eac120d0617d73927b41ebbf27f270d1e34db770..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/Maxwell52_Serial_KokkosCore_config.h +++ /dev/null @@ -1,16 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:23:05 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_SERIAL 1 -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ diff --git a/lib/kokkos/core/unit_test/config/results/Maxwell53_Cuda_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/Maxwell53_Cuda_KokkosCore_config.h deleted file mode 100644 index ad8344a09941bb35934c05448a32409f0fd9467b..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/Maxwell53_Cuda_KokkosCore_config.h +++ /dev/null @@ -1,19 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:23:06 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_CUDA 1 -#define KOKKOS_HAVE_SERIAL 1 -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ -#define KOKKOS_ARCH_MAXWELL 1 -#define KOKKOS_ARCH_MAXWELL53 1 diff --git a/lib/kokkos/core/unit_test/config/results/Maxwell53_OpenMP_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/Maxwell53_OpenMP_KokkosCore_config.h deleted file mode 100644 index ab1e801267c83d88230022a98bd683724a61655a..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/Maxwell53_OpenMP_KokkosCore_config.h +++ /dev/null @@ -1,16 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:23:06 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_OPENMP 1 -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ diff --git a/lib/kokkos/core/unit_test/config/results/Maxwell53_Pthread_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/Maxwell53_Pthread_KokkosCore_config.h deleted file mode 100644 index 0b1e3bf311461cae737b924cad781c8479c736a0..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/Maxwell53_Pthread_KokkosCore_config.h +++ /dev/null @@ -1,16 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:23:07 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_PTHREAD 1 -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ diff --git a/lib/kokkos/core/unit_test/config/results/Maxwell53_ROCm_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/Maxwell53_ROCm_KokkosCore_config.h deleted file mode 100644 index 82414cf358de0059c0055fe643d5af2e6f6af6f5..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/Maxwell53_ROCm_KokkosCore_config.h +++ /dev/null @@ -1,17 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:23:06 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_ENABLE_ROCM 1 -#define KOKKOS_HAVE_SERIAL 1 -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ diff --git a/lib/kokkos/core/unit_test/config/results/Maxwell53_Serial_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/Maxwell53_Serial_KokkosCore_config.h deleted file mode 100644 index b10b80b3bc6330ecab29d302af8e77a468f2d46c..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/Maxwell53_Serial_KokkosCore_config.h +++ /dev/null @@ -1,16 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:23:07 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_SERIAL 1 -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ diff --git a/lib/kokkos/core/unit_test/config/results/Maxwell_Cuda_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/Maxwell_Cuda_KokkosCore_config.h deleted file mode 100644 index d81a715007229beb716c329a8c45ac8150d7f678..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/Maxwell_Cuda_KokkosCore_config.h +++ /dev/null @@ -1,19 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Tue Sep 26 15:20:00 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_CUDA 1 -#define KOKKOS_HAVE_SERIAL 1 -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ -#define KOKKOS_ARCH_MAXWELL 1 -#define KOKKOS_ARCH_MAXWELL50 1 diff --git a/lib/kokkos/core/unit_test/config/results/Maxwell_OpenMP_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/Maxwell_OpenMP_KokkosCore_config.h deleted file mode 100644 index 98e93c7b28d9110700b30a5a3a6fd204057301cb..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/Maxwell_OpenMP_KokkosCore_config.h +++ /dev/null @@ -1,16 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Tue Sep 26 15:20:00 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_OPENMP 1 -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ diff --git a/lib/kokkos/core/unit_test/config/results/Maxwell_Pthread_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/Maxwell_Pthread_KokkosCore_config.h deleted file mode 100644 index 47a7ccb7a57b2b59437b7e1f1a968080937f4595..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/Maxwell_Pthread_KokkosCore_config.h +++ /dev/null @@ -1,16 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Tue Sep 26 15:20:00 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_PTHREAD 1 -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ diff --git a/lib/kokkos/core/unit_test/config/results/Maxwell_ROCm_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/Maxwell_ROCm_KokkosCore_config.h deleted file mode 100644 index c438f4f7d597717a80a60069fb1648651df3968c..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/Maxwell_ROCm_KokkosCore_config.h +++ /dev/null @@ -1,17 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Tue Sep 26 15:20:01 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_ENABLE_ROCM 1 -#define KOKKOS_HAVE_SERIAL 1 -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ diff --git a/lib/kokkos/core/unit_test/config/results/Maxwell_Serial_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/Maxwell_Serial_KokkosCore_config.h deleted file mode 100644 index d66c569084309e1f484b43733f4f79ec478ffccf..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/Maxwell_Serial_KokkosCore_config.h +++ /dev/null @@ -1,16 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Tue Sep 26 15:20:01 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_SERIAL 1 -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ diff --git a/lib/kokkos/core/unit_test/config/results/None_Cuda_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/None_Cuda_KokkosCore_config.h deleted file mode 100644 index 6bf2755fd0bdde9c9aafe3efd72ddff5c64e535f..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/None_Cuda_KokkosCore_config.h +++ /dev/null @@ -1,17 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Tue Sep 26 15:19:22 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_CUDA 1 -#define KOKKOS_HAVE_SERIAL 1 -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ diff --git a/lib/kokkos/core/unit_test/config/results/None_OpenMP_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/None_OpenMP_KokkosCore_config.h deleted file mode 100644 index 4dd2eed180b4ba63a61719bd3a5534b623645985..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/None_OpenMP_KokkosCore_config.h +++ /dev/null @@ -1,16 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Tue Sep 26 15:19:23 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_OPENMP 1 -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ diff --git a/lib/kokkos/core/unit_test/config/results/None_Pthread_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/None_Pthread_KokkosCore_config.h deleted file mode 100644 index 1bdd29b6a553c1bf30048efaf8c358375e64b925..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/None_Pthread_KokkosCore_config.h +++ /dev/null @@ -1,16 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Tue Sep 26 15:19:23 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_PTHREAD 1 -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ diff --git a/lib/kokkos/core/unit_test/config/results/None_ROCm_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/None_ROCm_KokkosCore_config.h deleted file mode 100644 index 74b0d7335c616f41337f5a08b2f5a35159d3bc91..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/None_ROCm_KokkosCore_config.h +++ /dev/null @@ -1,17 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Tue Sep 26 15:19:24 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_ENABLE_ROCM 1 -#define KOKKOS_HAVE_SERIAL 1 -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ diff --git a/lib/kokkos/core/unit_test/config/results/None_Serial_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/None_Serial_KokkosCore_config.h deleted file mode 100644 index a9d0b264b8017afa8dc59acaa6101f8ae921dd86..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/None_Serial_KokkosCore_config.h +++ /dev/null @@ -1,16 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Tue Sep 26 15:19:23 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_SERIAL 1 -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ diff --git a/lib/kokkos/core/unit_test/config/results/Pascal60_Cuda_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/Pascal60_Cuda_KokkosCore_config.h deleted file mode 100644 index 8fe1aa698d9c18b6c7a614b82beb95814b320da2..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/Pascal60_Cuda_KokkosCore_config.h +++ /dev/null @@ -1,19 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:23:08 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_CUDA 1 -#define KOKKOS_HAVE_SERIAL 1 -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ -#define KOKKOS_ARCH_PASCAL 1 -#define KOKKOS_ARCH_PASCAL60 1 diff --git a/lib/kokkos/core/unit_test/config/results/Pascal60_OpenMP_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/Pascal60_OpenMP_KokkosCore_config.h deleted file mode 100644 index 93173f4e118e4ab831e6f0f6d3e61657898d6f51..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/Pascal60_OpenMP_KokkosCore_config.h +++ /dev/null @@ -1,16 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:23:09 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_OPENMP 1 -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ diff --git a/lib/kokkos/core/unit_test/config/results/Pascal60_Pthread_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/Pascal60_Pthread_KokkosCore_config.h deleted file mode 100644 index a05d5729e0f616b2436ec1441cb94623be12cea5..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/Pascal60_Pthread_KokkosCore_config.h +++ /dev/null @@ -1,16 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:23:09 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_PTHREAD 1 -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ diff --git a/lib/kokkos/core/unit_test/config/results/Pascal60_ROCm_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/Pascal60_ROCm_KokkosCore_config.h deleted file mode 100644 index 9c04befef51b0ddb09dc812dfef10378bab8b553..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/Pascal60_ROCm_KokkosCore_config.h +++ /dev/null @@ -1,17 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:23:09 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_ENABLE_ROCM 1 -#define KOKKOS_HAVE_SERIAL 1 -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ diff --git a/lib/kokkos/core/unit_test/config/results/Pascal60_Serial_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/Pascal60_Serial_KokkosCore_config.h deleted file mode 100644 index c6038c2965aca6f7ee2d0f3890e3bb930309117d..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/Pascal60_Serial_KokkosCore_config.h +++ /dev/null @@ -1,16 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:23:10 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_SERIAL 1 -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ diff --git a/lib/kokkos/core/unit_test/config/results/Pascal61_Cuda_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/Pascal61_Cuda_KokkosCore_config.h deleted file mode 100644 index 0de37df9601e7bfc03d27cc60f725d8d6d983391..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/Pascal61_Cuda_KokkosCore_config.h +++ /dev/null @@ -1,19 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:23:11 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_CUDA 1 -#define KOKKOS_HAVE_SERIAL 1 -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ -#define KOKKOS_ARCH_PASCAL 1 -#define KOKKOS_ARCH_PASCAL61 1 diff --git a/lib/kokkos/core/unit_test/config/results/Pascal61_OpenMP_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/Pascal61_OpenMP_KokkosCore_config.h deleted file mode 100644 index 2c392cc0df12d3999f2fc53e0292120879f146d1..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/Pascal61_OpenMP_KokkosCore_config.h +++ /dev/null @@ -1,16 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:23:12 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_OPENMP 1 -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ diff --git a/lib/kokkos/core/unit_test/config/results/Pascal61_Pthread_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/Pascal61_Pthread_KokkosCore_config.h deleted file mode 100644 index f704aa9c81c9af9b47afa698f66cbfea7753455c..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/Pascal61_Pthread_KokkosCore_config.h +++ /dev/null @@ -1,16 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:23:12 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_PTHREAD 1 -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ diff --git a/lib/kokkos/core/unit_test/config/results/Pascal61_ROCm_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/Pascal61_ROCm_KokkosCore_config.h deleted file mode 100644 index 4a4d8cc68384421796db37e6db133c02cc7c01df..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/Pascal61_ROCm_KokkosCore_config.h +++ /dev/null @@ -1,17 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:23:11 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_ENABLE_ROCM 1 -#define KOKKOS_HAVE_SERIAL 1 -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ diff --git a/lib/kokkos/core/unit_test/config/results/Pascal61_Serial_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/Pascal61_Serial_KokkosCore_config.h deleted file mode 100644 index 6fb2cf9e9d4e42e83b9e87c0ac684d9bf06da049..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/Pascal61_Serial_KokkosCore_config.h +++ /dev/null @@ -1,16 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:23:12 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_SERIAL 1 -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ diff --git a/lib/kokkos/core/unit_test/config/results/Power7_Cuda_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/Power7_Cuda_KokkosCore_config.h deleted file mode 100644 index a78e1ffc8d6a2d0a1b25ab0ccc01de63dbd5cebb..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/Power7_Cuda_KokkosCore_config.h +++ /dev/null @@ -1,21 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:22:20 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_CUDA 1 -#define KOKKOS_HAVE_SERIAL 1 -#ifndef __CUDA_ARCH__ -#define KOKKOS_USE_ISA_POWERPCBE -#endif -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ -#define KOKKOS_ARCH_POWER7 1 diff --git a/lib/kokkos/core/unit_test/config/results/Power7_OpenMP_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/Power7_OpenMP_KokkosCore_config.h deleted file mode 100644 index bd856b80a51e213807cc004f2652cd8e9e963b2a..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/Power7_OpenMP_KokkosCore_config.h +++ /dev/null @@ -1,20 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:22:21 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_OPENMP 1 -#ifndef __CUDA_ARCH__ -#define KOKKOS_USE_ISA_POWERPCBE -#endif -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ -#define KOKKOS_ARCH_POWER7 1 diff --git a/lib/kokkos/core/unit_test/config/results/Power7_Pthread_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/Power7_Pthread_KokkosCore_config.h deleted file mode 100644 index 8b3ac2aff9702c8e289154898ca4484daba5164b..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/Power7_Pthread_KokkosCore_config.h +++ /dev/null @@ -1,20 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:22:21 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_PTHREAD 1 -#ifndef __CUDA_ARCH__ -#define KOKKOS_USE_ISA_POWERPCBE -#endif -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ -#define KOKKOS_ARCH_POWER7 1 diff --git a/lib/kokkos/core/unit_test/config/results/Power7_ROCm_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/Power7_ROCm_KokkosCore_config.h deleted file mode 100644 index e16cfb37bd8a93a1df7ca8ef9789641e9ec98309..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/Power7_ROCm_KokkosCore_config.h +++ /dev/null @@ -1,21 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:22:20 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_ENABLE_ROCM 1 -#define KOKKOS_HAVE_SERIAL 1 -#ifndef __CUDA_ARCH__ -#define KOKKOS_USE_ISA_POWERPCBE -#endif -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ -#define KOKKOS_ARCH_POWER7 1 diff --git a/lib/kokkos/core/unit_test/config/results/Power7_Serial_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/Power7_Serial_KokkosCore_config.h deleted file mode 100644 index 6831f3ce255df472b63c6fa6928efde5d8849827..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/Power7_Serial_KokkosCore_config.h +++ /dev/null @@ -1,20 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:22:22 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_SERIAL 1 -#ifndef __CUDA_ARCH__ -#define KOKKOS_USE_ISA_POWERPCBE -#endif -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ -#define KOKKOS_ARCH_POWER7 1 diff --git a/lib/kokkos/core/unit_test/config/results/Power8_Cuda_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/Power8_Cuda_KokkosCore_config.h deleted file mode 100644 index 1ab0b04c6ca9950eee482c662bc0f20c7288868e..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/Power8_Cuda_KokkosCore_config.h +++ /dev/null @@ -1,21 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:22:23 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_CUDA 1 -#define KOKKOS_HAVE_SERIAL 1 -#ifndef __CUDA_ARCH__ -#define KOKKOS_USE_ISA_POWERPCLE -#endif -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ -#define KOKKOS_ARCH_POWER8 1 diff --git a/lib/kokkos/core/unit_test/config/results/Power8_OpenMP_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/Power8_OpenMP_KokkosCore_config.h deleted file mode 100644 index 54750405cabd91fc581479eee072111c5f5021bc..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/Power8_OpenMP_KokkosCore_config.h +++ /dev/null @@ -1,20 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:22:24 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_OPENMP 1 -#ifndef __CUDA_ARCH__ -#define KOKKOS_USE_ISA_POWERPCLE -#endif -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ -#define KOKKOS_ARCH_POWER8 1 diff --git a/lib/kokkos/core/unit_test/config/results/Power8_Pthread_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/Power8_Pthread_KokkosCore_config.h deleted file mode 100644 index 5d71338d231f064e91ba25282e2e42b98a92abd0..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/Power8_Pthread_KokkosCore_config.h +++ /dev/null @@ -1,20 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:22:24 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_PTHREAD 1 -#ifndef __CUDA_ARCH__ -#define KOKKOS_USE_ISA_POWERPCLE -#endif -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ -#define KOKKOS_ARCH_POWER8 1 diff --git a/lib/kokkos/core/unit_test/config/results/Power8_ROCm_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/Power8_ROCm_KokkosCore_config.h deleted file mode 100644 index f3fd70b0cf73a63162beb93991cfdcc6043fecf5..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/Power8_ROCm_KokkosCore_config.h +++ /dev/null @@ -1,21 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:22:24 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_ENABLE_ROCM 1 -#define KOKKOS_HAVE_SERIAL 1 -#ifndef __CUDA_ARCH__ -#define KOKKOS_USE_ISA_POWERPCLE -#endif -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ -#define KOKKOS_ARCH_POWER8 1 diff --git a/lib/kokkos/core/unit_test/config/results/Power8_Serial_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/Power8_Serial_KokkosCore_config.h deleted file mode 100644 index 7c0ecc22d357a88146fc49dc3ac0d79010104899..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/Power8_Serial_KokkosCore_config.h +++ /dev/null @@ -1,20 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:22:25 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_SERIAL 1 -#ifndef __CUDA_ARCH__ -#define KOKKOS_USE_ISA_POWERPCLE -#endif -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ -#define KOKKOS_ARCH_POWER8 1 diff --git a/lib/kokkos/core/unit_test/config/results/Power9_Cuda_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/Power9_Cuda_KokkosCore_config.h deleted file mode 100644 index 47d518f407cc9f12e57fd34d5fdefc65ae1bfc99..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/Power9_Cuda_KokkosCore_config.h +++ /dev/null @@ -1,21 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:22:26 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_CUDA 1 -#define KOKKOS_HAVE_SERIAL 1 -#ifndef __CUDA_ARCH__ -#define KOKKOS_USE_ISA_POWERPCLE -#endif -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ -#define KOKKOS_ARCH_POWER9 1 diff --git a/lib/kokkos/core/unit_test/config/results/Power9_OpenMP_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/Power9_OpenMP_KokkosCore_config.h deleted file mode 100644 index 106bf33e448fa3acb2d29eda836c9588cbd5fb9b..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/Power9_OpenMP_KokkosCore_config.h +++ /dev/null @@ -1,20 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:22:27 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_OPENMP 1 -#ifndef __CUDA_ARCH__ -#define KOKKOS_USE_ISA_POWERPCLE -#endif -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ -#define KOKKOS_ARCH_POWER9 1 diff --git a/lib/kokkos/core/unit_test/config/results/Power9_Pthread_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/Power9_Pthread_KokkosCore_config.h deleted file mode 100644 index 108e5eba4767da21d03d1a6a959c0042116694bd..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/Power9_Pthread_KokkosCore_config.h +++ /dev/null @@ -1,20 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:22:27 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_PTHREAD 1 -#ifndef __CUDA_ARCH__ -#define KOKKOS_USE_ISA_POWERPCLE -#endif -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ -#define KOKKOS_ARCH_POWER9 1 diff --git a/lib/kokkos/core/unit_test/config/results/Power9_ROCm_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/Power9_ROCm_KokkosCore_config.h deleted file mode 100644 index 8b6a391d95dc8338e4d62d1ce78be9489f46625d..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/Power9_ROCm_KokkosCore_config.h +++ /dev/null @@ -1,21 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:22:26 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_ENABLE_ROCM 1 -#define KOKKOS_HAVE_SERIAL 1 -#ifndef __CUDA_ARCH__ -#define KOKKOS_USE_ISA_POWERPCLE -#endif -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ -#define KOKKOS_ARCH_POWER9 1 diff --git a/lib/kokkos/core/unit_test/config/results/Power9_Serial_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/Power9_Serial_KokkosCore_config.h deleted file mode 100644 index 6f7aefe62e2556d8b662bb03e6dd4453340dfa00..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/Power9_Serial_KokkosCore_config.h +++ /dev/null @@ -1,20 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:22:27 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_SERIAL 1 -#ifndef __CUDA_ARCH__ -#define KOKKOS_USE_ISA_POWERPCLE -#endif -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ -#define KOKKOS_ARCH_POWER9 1 diff --git a/lib/kokkos/core/unit_test/config/results/SKX_Cuda_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/SKX_Cuda_KokkosCore_config.h deleted file mode 100644 index 8f4380d992a59cef0cee67961b4507ee6f51737c..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/SKX_Cuda_KokkosCore_config.h +++ /dev/null @@ -1,24 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:22:40 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_CUDA 1 -#define KOKKOS_HAVE_SERIAL 1 -#ifndef __CUDA_ARCH__ -#define KOKKOS_ENABLE_TM -#endif -#ifndef __CUDA_ARCH__ -#define KOKKOS_USE_ISA_X86_64 -#endif -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ -#define KOKKOS_ARCH_AVX512XEON 1 diff --git a/lib/kokkos/core/unit_test/config/results/SKX_OpenMP_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/SKX_OpenMP_KokkosCore_config.h deleted file mode 100644 index 0a907a2ae1b4dd6d818d367e840276c8159df6e1..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/SKX_OpenMP_KokkosCore_config.h +++ /dev/null @@ -1,23 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:22:40 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_OPENMP 1 -#ifndef __CUDA_ARCH__ -#define KOKKOS_ENABLE_TM -#endif -#ifndef __CUDA_ARCH__ -#define KOKKOS_USE_ISA_X86_64 -#endif -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ -#define KOKKOS_ARCH_AVX512XEON 1 diff --git a/lib/kokkos/core/unit_test/config/results/SKX_Pthread_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/SKX_Pthread_KokkosCore_config.h deleted file mode 100644 index 50a95223c9b36b5925bb9e4d87c5a582eee0ea91..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/SKX_Pthread_KokkosCore_config.h +++ /dev/null @@ -1,23 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:22:41 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_PTHREAD 1 -#ifndef __CUDA_ARCH__ -#define KOKKOS_ENABLE_TM -#endif -#ifndef __CUDA_ARCH__ -#define KOKKOS_USE_ISA_X86_64 -#endif -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ -#define KOKKOS_ARCH_AVX512XEON 1 diff --git a/lib/kokkos/core/unit_test/config/results/SKX_ROCm_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/SKX_ROCm_KokkosCore_config.h deleted file mode 100644 index 12293350a1d803f6c1caad6cef396cc8191be52c..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/SKX_ROCm_KokkosCore_config.h +++ /dev/null @@ -1,24 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:22:40 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_ENABLE_ROCM 1 -#define KOKKOS_HAVE_SERIAL 1 -#ifndef __CUDA_ARCH__ -#define KOKKOS_ENABLE_TM -#endif -#ifndef __CUDA_ARCH__ -#define KOKKOS_USE_ISA_X86_64 -#endif -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ -#define KOKKOS_ARCH_AVX512XEON 1 diff --git a/lib/kokkos/core/unit_test/config/results/SKX_Serial_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/SKX_Serial_KokkosCore_config.h deleted file mode 100644 index 4ea457aacfd21203ce56ddfedba6493d0bc09f8d..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/SKX_Serial_KokkosCore_config.h +++ /dev/null @@ -1,23 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:22:41 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_SERIAL 1 -#ifndef __CUDA_ARCH__ -#define KOKKOS_ENABLE_TM -#endif -#ifndef __CUDA_ARCH__ -#define KOKKOS_USE_ISA_X86_64 -#endif -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ -#define KOKKOS_ARCH_AVX512XEON 1 diff --git a/lib/kokkos/core/unit_test/config/results/SNB_Cuda_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/SNB_Cuda_KokkosCore_config.h deleted file mode 100644 index 34c9537834cdf3b54e74f11a8cd43010100f9e26..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/SNB_Cuda_KokkosCore_config.h +++ /dev/null @@ -1,21 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:22:31 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_CUDA 1 -#define KOKKOS_HAVE_SERIAL 1 -#ifndef __CUDA_ARCH__ -#define KOKKOS_USE_ISA_X86_64 -#endif -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ -#define KOKKOS_ARCH_AVX 1 diff --git a/lib/kokkos/core/unit_test/config/results/SNB_OpenMP_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/SNB_OpenMP_KokkosCore_config.h deleted file mode 100644 index f7ed4d720c9c3f0df624f3066f26135eb5ef3b92..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/SNB_OpenMP_KokkosCore_config.h +++ /dev/null @@ -1,20 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:22:32 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_OPENMP 1 -#ifndef __CUDA_ARCH__ -#define KOKKOS_USE_ISA_X86_64 -#endif -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ -#define KOKKOS_ARCH_AVX 1 diff --git a/lib/kokkos/core/unit_test/config/results/SNB_Pthread_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/SNB_Pthread_KokkosCore_config.h deleted file mode 100644 index 126c29ba77307efb80e5922a60e6af683c494fba..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/SNB_Pthread_KokkosCore_config.h +++ /dev/null @@ -1,20 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:22:33 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_PTHREAD 1 -#ifndef __CUDA_ARCH__ -#define KOKKOS_USE_ISA_X86_64 -#endif -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ -#define KOKKOS_ARCH_AVX 1 diff --git a/lib/kokkos/core/unit_test/config/results/SNB_ROCm_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/SNB_ROCm_KokkosCore_config.h deleted file mode 100644 index 5c68008bea214a9157f6890ec0db0d11b8a5db95..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/SNB_ROCm_KokkosCore_config.h +++ /dev/null @@ -1,21 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:22:32 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_ENABLE_ROCM 1 -#define KOKKOS_HAVE_SERIAL 1 -#ifndef __CUDA_ARCH__ -#define KOKKOS_USE_ISA_X86_64 -#endif -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ -#define KOKKOS_ARCH_AVX 1 diff --git a/lib/kokkos/core/unit_test/config/results/SNB_Serial_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/SNB_Serial_KokkosCore_config.h deleted file mode 100644 index 0278d0d0791cfdd73ec4e9fc79eb14f6f81a3ab8..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/SNB_Serial_KokkosCore_config.h +++ /dev/null @@ -1,20 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:22:33 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_SERIAL 1 -#ifndef __CUDA_ARCH__ -#define KOKKOS_USE_ISA_X86_64 -#endif -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ -#define KOKKOS_ARCH_AVX 1 diff --git a/lib/kokkos/core/unit_test/config/results/WSM_Cuda_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/WSM_Cuda_KokkosCore_config.h deleted file mode 100644 index 97389bb1bf3bd6f9fcff1c1ebf761e2acb0d6ff6..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/WSM_Cuda_KokkosCore_config.h +++ /dev/null @@ -1,21 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:22:28 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_CUDA 1 -#define KOKKOS_HAVE_SERIAL 1 -#ifndef __CUDA_ARCH__ -#define KOKKOS_USE_ISA_X86_64 -#endif -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ -#define KOKKOS_ARCH_SSE42 1 diff --git a/lib/kokkos/core/unit_test/config/results/WSM_OpenMP_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/WSM_OpenMP_KokkosCore_config.h deleted file mode 100644 index dd5648f0c81c8a28bbb7e2d71a5b02c9ac3684a9..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/WSM_OpenMP_KokkosCore_config.h +++ /dev/null @@ -1,20 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:22:29 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_OPENMP 1 -#ifndef __CUDA_ARCH__ -#define KOKKOS_USE_ISA_X86_64 -#endif -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ -#define KOKKOS_ARCH_SSE42 1 diff --git a/lib/kokkos/core/unit_test/config/results/WSM_Pthread_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/WSM_Pthread_KokkosCore_config.h deleted file mode 100644 index c8a7adbd8908d647fddef4ac0a9f6b137b5aad3e..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/WSM_Pthread_KokkosCore_config.h +++ /dev/null @@ -1,20 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:22:30 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_PTHREAD 1 -#ifndef __CUDA_ARCH__ -#define KOKKOS_USE_ISA_X86_64 -#endif -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ -#define KOKKOS_ARCH_SSE42 1 diff --git a/lib/kokkos/core/unit_test/config/results/WSM_ROCm_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/WSM_ROCm_KokkosCore_config.h deleted file mode 100644 index 712b5686f0e9e509a6dcb841271a86925175df46..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/WSM_ROCm_KokkosCore_config.h +++ /dev/null @@ -1,21 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:22:29 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_ENABLE_ROCM 1 -#define KOKKOS_HAVE_SERIAL 1 -#ifndef __CUDA_ARCH__ -#define KOKKOS_USE_ISA_X86_64 -#endif -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ -#define KOKKOS_ARCH_SSE42 1 diff --git a/lib/kokkos/core/unit_test/config/results/WSM_Serial_KokkosCore_config.h b/lib/kokkos/core/unit_test/config/results/WSM_Serial_KokkosCore_config.h deleted file mode 100644 index 5bac7c26600ed7a31f89d8cce47019c289b5bf77..0000000000000000000000000000000000000000 --- a/lib/kokkos/core/unit_test/config/results/WSM_Serial_KokkosCore_config.h +++ /dev/null @@ -1,20 +0,0 @@ -/* --------------------------------------------- -Makefile constructed configuration: -Fri Sep 22 17:22:30 MDT 2017 -----------------------------------------------*/ -#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) -#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." -#else -#define KOKKOS_CORE_CONFIG_H -#endif -/* Execution Spaces */ -#define KOKKOS_HAVE_SERIAL 1 -#ifndef __CUDA_ARCH__ -#define KOKKOS_USE_ISA_X86_64 -#endif -/* General Settings */ -#define KOKKOS_HAVE_CXX11 1 -#define KOKKOS_ENABLE_PROFILING -/* Optimization Settings */ -/* Cuda Settings */ -#define KOKKOS_ARCH_SSE42 1 diff --git a/lib/kokkos/core/unit_test/configuration/test-code/test_config_arch_list.bash b/lib/kokkos/core/unit_test/configuration/test-code/test_config_arch_list.bash index 696d345ff95ad4ea2a512fb0580480ad81848e7f..5ff781b96fc0949361329a61baa4f966f6b8a93a 100755 --- a/lib/kokkos/core/unit_test/configuration/test-code/test_config_arch_list.bash +++ b/lib/kokkos/core/unit_test/configuration/test-code/test_config_arch_list.bash @@ -4,7 +4,7 @@ HostArch=(SNB HSW SKX KNL) DeviceArch=(Kepler35 Kepler37 Pascal60 Pascal61 Volta70) if [ ! -z "$KOKKOS_HOST_ARCH_TEST" ]; then export KOKKOS_ARCH_TEST=1 - HostArch=(WSM SNB HSW SKX WSM AMDAVX ARMv80 ARMv81 BDW KNC KNL BGQ Power7 Power8 Power9 Ryzen EPYC ARMv8_ThunderX ARMv8_ThunderX2) + HostArch=(WSM SNB HSW SKX WSM AMDAVX ARMv80 ARMv81 BDW KNC KNL BGQ Power7 Power8 Power9 Zen Zen2 ARMv8_ThunderX ARMv8_ThunderX2) DeviceArch=() fi diff --git a/lib/kokkos/core/unit_test/configuration/test-code/test_config_options_list.bash b/lib/kokkos/core/unit_test/configuration/test-code/test_config_options_list.bash index 1d72f28d235f35be12ee97bccbb81849ada86b37..59072b1a1d0aba6decb9f21e0e50533b714659d1 100755 --- a/lib/kokkos/core/unit_test/configuration/test-code/test_config_options_list.bash +++ b/lib/kokkos/core/unit_test/configuration/test-code/test_config_options_list.bash @@ -1,7 +1,7 @@ SRC_DIR=${KOKKOS_PATH}/core/unit_test/configuration/test-code # List of parallel device types -Options=(deprecated_code aggressive_vectorization disable_profiling large_mem_tests) +Options=(aggressive_vectorization disable_profiling large_mem_tests) CudaOptions=(lambda relocatable_device_code uvm constexpr) if [ ! -z "$KOKKOS_ARCH_TEST" ]; then @@ -25,7 +25,6 @@ do fi #Renaming options as GNU Make expects them - option=${option/deprecated_code/enable_deprecated_code} option=${option/large_mem_tests/enable_large_mem_tests} if [ ! -z $CudaOptions ]; then diff --git a/lib/kokkos/core/unit_test/cuda/TestCuda_InterOp_Streams.cpp b/lib/kokkos/core/unit_test/cuda/TestCuda_InterOp_Streams.cpp index 3753ad9aec1f0f6dba19aadd435391ede4c964da..57c0e454d32ee89f03484ba95f46f7bcc1b5d190 100644 --- a/lib/kokkos/core/unit_test/cuda/TestCuda_InterOp_Streams.cpp +++ b/lib/kokkos/core/unit_test/cuda/TestCuda_InterOp_Streams.cpp @@ -42,103 +42,10 @@ //@HEADER */ -#include #include +#include namespace Test { - -__global__ void offset_streams(int* p) { - int idx = blockIdx.x * blockDim.x + threadIdx.x; - if (idx < 100) { - p[idx] += idx; - } -} - -namespace { -struct FunctorRange { - Kokkos::View> - a; - FunctorRange(Kokkos::View> - a_) - : a(a_) {} - - KOKKOS_INLINE_FUNCTION - void operator()(const int i) const { a(i) += 1; } -}; -struct FunctorRangeReduce { - Kokkos::View> - a; - FunctorRangeReduce(Kokkos::View> - a_) - : a(a_) {} - - KOKKOS_INLINE_FUNCTION - void operator()(const int i, int& lsum) const { lsum += a(i); } -}; -struct FunctorMDRange { - Kokkos::View> - a; - FunctorMDRange(Kokkos::View> - a_) - : a(a_) {} - - KOKKOS_INLINE_FUNCTION - void operator()(const int i, const int j) const { a(i * 10 + j) += 1; } -}; -struct FunctorMDRangeReduce { - Kokkos::View> - a; - FunctorMDRangeReduce(Kokkos::View> - a_) - : a(a_) {} - - KOKKOS_INLINE_FUNCTION - void operator()(const int i, const int j, int& lsum) const { - lsum += a(i * 10 + j); - } -}; -struct FunctorTeam { - Kokkos::View> - a; - FunctorTeam(Kokkos::View> - a_) - : a(a_) {} - - KOKKOS_INLINE_FUNCTION - void operator()( - const Kokkos::TeamPolicy::member_type& team) const { - int i = team.league_rank(); - Kokkos::parallel_for(Kokkos::TeamThreadRange(team, 10), - [&](const int j) { a(i * 10 + j) += 1; }); - } -}; - -struct FunctorTeamReduce { - Kokkos::View> - a; - FunctorTeamReduce(Kokkos::View> - a_) - : a(a_) {} - - KOKKOS_INLINE_FUNCTION - void operator()(const Kokkos::TeamPolicy::member_type& team, - int& lsum) const { - int i = team.league_rank(); - int team_sum; - Kokkos::parallel_reduce( - Kokkos::TeamThreadRange(team, 10), - [&](const int j, int& tsum) { tsum += a(i * 10 + j); }, team_sum); - Kokkos::single(Kokkos::PerTeam(team), [&]() { lsum += team_sum; }); - } -}; -} // namespace - // Test Interoperability with Cuda Streams TEST(cuda, raw_cuda_streams) { cudaStream_t stream; @@ -147,45 +54,47 @@ TEST(cuda, raw_cuda_streams) { Kokkos::initialize(arguments); int* p; cudaMalloc(&p, sizeof(int) * 100); + using MemorySpace = typename TEST_EXECSPACE::memory_space; { - Kokkos::Cuda cuda0(stream); - Kokkos::View v(p, 100); - Kokkos::deep_copy(cuda0, v, 5); + TEST_EXECSPACE space0(stream); + Kokkos::View v(p, 100); + Kokkos::deep_copy(space0, v, 5); int sum; Kokkos::parallel_for("Test::cuda::raw_cuda_stream::Range", - Kokkos::RangePolicy(cuda0, 0, 100), - FunctorRange(v)); + Kokkos::RangePolicy(space0, 0, 100), + FunctorRange(v)); Kokkos::parallel_reduce( "Test::cuda::raw_cuda_stream::RangeReduce", - Kokkos::RangePolicy>(cuda0, - 0, 100), - FunctorRangeReduce(v), sum); - cuda0.fence(); + Kokkos::RangePolicy>( + space0, 0, 100), + FunctorRangeReduce(v), sum); + space0.fence(); ASSERT_EQ(600, sum); Kokkos::parallel_for("Test::cuda::raw_cuda_stream::MDRange", - Kokkos::MDRangePolicy>( - cuda0, {0, 0}, {10, 10}), - FunctorMDRange(v)); - Kokkos::parallel_reduce("Test::cuda::raw_cuda_stream::MDRangeReduce", - Kokkos::MDRangePolicy, - Kokkos::LaunchBounds<128, 2>>( - cuda0, {0, 0}, {10, 10}), - FunctorMDRangeReduce(v), sum); - cuda0.fence(); + Kokkos::MDRangePolicy>( + space0, {0, 0}, {10, 10}), + FunctorMDRange(v)); + Kokkos::parallel_reduce( + "Test::cuda::raw_cuda_stream::MDRangeReduce", + Kokkos::MDRangePolicy, + Kokkos::LaunchBounds<128, 2>>(space0, {0, 0}, + {10, 10}), + FunctorMDRangeReduce(v), sum); + space0.fence(); ASSERT_EQ(700, sum); Kokkos::parallel_for("Test::cuda::raw_cuda_stream::Team", - Kokkos::TeamPolicy(cuda0, 10, 10), - FunctorTeam(v)); + Kokkos::TeamPolicy(space0, 10, 10), + FunctorTeam(v)); Kokkos::parallel_reduce( "Test::cuda::raw_cuda_stream::Team", - Kokkos::TeamPolicy>(cuda0, - 10, 10), - FunctorTeamReduce(v), sum); - cuda0.fence(); + Kokkos::TeamPolicy>( + space0, 10, 10), + FunctorTeamReduce(v), sum); + space0.fence(); ASSERT_EQ(800, sum); } Kokkos::finalize(); @@ -193,7 +102,7 @@ TEST(cuda, raw_cuda_streams) { CUDA_SAFE_CALL(cudaDeviceSynchronize()); cudaStreamDestroy(stream); - int* h_p = new int[100]; + int h_p[100]; cudaMemcpy(h_p, p, sizeof(int) * 100, cudaMemcpyDefault); CUDA_SAFE_CALL(cudaDeviceSynchronize()); int64_t sum = 0; diff --git a/lib/kokkos/core/unit_test/cuda/TestCuda_Other.cpp b/lib/kokkos/core/unit_test/cuda/TestCuda_Other.cpp index 155226178743a6f2baaa8ad93cf2988ffb2e25b2..ba60569cad211ad1e073179cafdc1ba525c5c3d0 100644 --- a/lib/kokkos/core/unit_test/cuda/TestCuda_Other.cpp +++ b/lib/kokkos/core/unit_test/cuda/TestCuda_Other.cpp @@ -48,7 +48,6 @@ #include #include #include -#include #include #include diff --git a/lib/kokkos/core/unit_test/cuda/TestCuda_ViewLayoutStrideAssignment.cpp b/lib/kokkos/core/unit_test/cuda/TestCuda_ViewLayoutStrideAssignment.cpp index 9b14ed7e8201c4017c511591de4c4491e4d20341..c170e433d51ebf8b7cbe73c3a6f800f92967d61b 100644 --- a/lib/kokkos/core/unit_test/cuda/TestCuda_ViewLayoutStrideAssignment.cpp +++ b/lib/kokkos/core/unit_test/cuda/TestCuda_ViewLayoutStrideAssignment.cpp @@ -44,3 +44,4 @@ #include #include +#include diff --git a/lib/kokkos/core/src/ROCm/Kokkos_ROCm_ViewCopyETIDecl.hpp b/lib/kokkos/core/unit_test/default/TestDefaultDeviceDevelop.cpp similarity index 85% rename from lib/kokkos/core/src/ROCm/Kokkos_ROCm_ViewCopyETIDecl.hpp rename to lib/kokkos/core/unit_test/default/TestDefaultDeviceDevelop.cpp index db02a49c8a45eefd8c31b436acfc1cb4bbd634de..a80aded124fac55b6324697e7d043cb5b085c35e 100644 --- a/lib/kokkos/core/src/ROCm/Kokkos_ROCm_ViewCopyETIDecl.hpp +++ b/lib/kokkos/core/unit_test/default/TestDefaultDeviceDevelop.cpp @@ -1,3 +1,4 @@ + /* //@HEADER // ************************************************************************ @@ -42,16 +43,14 @@ //@HEADER */ -#ifndef KOKKOS_ROCM_VIEWETIDECL_HPP -#define KOKKOS_ROCM_VIEWETIDECL_HPP +#include + +#include + +#include -namespace Kokkos { -namespace Impl { -#define KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE Kokkos::ROCm +namespace Test { -#include +TEST(defaultdevicetype, development_test) {} -#undef KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE -} // namespace Impl -} // namespace Kokkos -#endif +} // namespace Test diff --git a/lib/kokkos/core/unit_test/default/TestDefaultDeviceType.cpp b/lib/kokkos/core/unit_test/default/TestDefaultDeviceType.cpp index 02f3f7272a858b8224ad1bcf42b00b9b80665b47..e45c0754ffa933ecf58e9ff1e2ca6f7169db976d 100644 --- a/lib/kokkos/core/unit_test/default/TestDefaultDeviceType.cpp +++ b/lib/kokkos/core/unit_test/default/TestDefaultDeviceType.cpp @@ -52,10 +52,10 @@ namespace Test { TEST(TEST_CATEGORY, host_space_access) { - typedef Kokkos::HostSpace::execution_space host_exec_space; - typedef Kokkos::Device device_space; - typedef Kokkos::Impl::HostMirror::Space - mirror_space; + using host_exec_space = Kokkos::HostSpace::execution_space; + using device_space = Kokkos::Device; + using mirror_space = + Kokkos::Impl::HostMirror::Space; static_assert(Kokkos::Impl::SpaceAccessibility::accessible, diff --git a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeResize.cpp b/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeResize.cpp index df2bc44aa6dc97f979f323a82a9e7850f18ed25b..7f53034557dca1c06bcbc6588ff7fdce6ddbb4c4 100644 --- a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeResize.cpp +++ b/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeResize.cpp @@ -50,7 +50,7 @@ namespace Test { TEST(kokkosresize, host_space_access) { // Test with the default device type. using TestViewResize::testResize; - typedef Kokkos::View::device_type device_type; + using device_type = Kokkos::View::device_type; testResize(); } diff --git a/lib/kokkos/core/unit_test/headers_self_contained/CMakeLists.txt b/lib/kokkos/core/unit_test/headers_self_contained/CMakeLists.txt new file mode 100644 index 0000000000000000000000000000000000000000..7fcb9235c5a78d428edc1a2dea6166c230ac4ed7 --- /dev/null +++ b/lib/kokkos/core/unit_test/headers_self_contained/CMakeLists.txt @@ -0,0 +1,20 @@ +# Create tests that contain each header separately. We do not run these tests +# but we just try to compile them. +if(NOT KOKKOS_HAS_TRILINOS) +# Globbing all the header filenames to test for self-containment and presence of header guards +SET(BASE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../../") +file(GLOB KOKKOS_CORE_HEADERS RELATIVE ${BASE_DIR}/core/src + ${BASE_DIR}/core/src/*.hpp ${BASE_DIR}/core/src/*.h) +file(GLOB KOKKOS_CONTAINERS_HEADERS RELATIVE ${BASE_DIR}/containers/src + ${BASE_DIR}/containers/src/*.hpp) +file(GLOB KOKKOS_ALGORITHMS_HEADERS RELATIVE ${BASE_DIR}/algorithms/src + ${BASE_DIR}/algorithms/src/*.hpp) + +foreach (_header ${KOKKOS_CORE_HEADERS} ${KOKKOS_CONTAINERS_HEADERS} ${KOKKOS_ALGORITHMS_HEADERS}) + string(REGEX REPLACE "[\./]" "_" header_test_name ${_header}) + set(header_test_name Kokkos_HeaderSelfContained_${header_test_name}) + add_executable(${header_test_name} tstHeader.cpp) + target_link_libraries(${header_test_name} PRIVATE Kokkos::kokkos) + target_compile_definitions(${header_test_name} PRIVATE KOKKOS_HEADER_TEST_NAME=${_header}) +endforeach() +endif() diff --git a/lib/kokkos/core/unit_test/headers_self_contained/tstHeader.cpp b/lib/kokkos/core/unit_test/headers_self_contained/tstHeader.cpp new file mode 100644 index 0000000000000000000000000000000000000000..d488f0fa36adb2eb3b509a245dcce30b5cc90a76 --- /dev/null +++ b/lib/kokkos/core/unit_test/headers_self_contained/tstHeader.cpp @@ -0,0 +1,15 @@ +#define KOKKOS_HEADER_TEST_STRINGIZE_IMPL(x) #x +#define KOKKOS_HEADER_TEST_STRINGIZE(x) KOKKOS_HEADER_TEST_STRINGIZE_IMPL(x) + +#define KOKKOS_HEADER_TO_TEST \ + KOKKOS_HEADER_TEST_STRINGIZE(KOKKOS_HEADER_TEST_NAME) + +// include header twice to see if the include guards are set correctly +#include KOKKOS_HEADER_TO_TEST +#include KOKKOS_HEADER_TO_TEST + +#if !defined(KOKKOS_MACROS_HPP) +#error "This header does not include Kokkos_Macros.hpp" +#endif + +int main() { return 0; } diff --git a/lib/kokkos/core/unit_test/hip/TestHIP_InterOp_Init.cpp b/lib/kokkos/core/unit_test/hip/TestHIP_InterOp_Init.cpp index 0dc279fc78aa9e36b0306ef7fc7e1f4a8cc7dc5c..3a42fcd3e66ac387751e237ee6b9a8d920a5e161 100644 --- a/lib/kokkos/core/unit_test/hip/TestHIP_InterOp_Init.cpp +++ b/lib/kokkos/core/unit_test/hip/TestHIP_InterOp_Init.cpp @@ -48,7 +48,7 @@ namespace Test { __global__ void offset(int* p) { - int idx = hipBlockIdx_x * hipBlockDim_x + hipThreadIdx_x; + int idx = blockIdx.x * blockDim.x + threadIdx.x; if (idx < 100) { p[idx] += idx; } @@ -67,7 +67,7 @@ TEST(hip, raw_hip_interop) { Kokkos::finalize(); - hipLaunchKernelGGL(offset, dim3(100), dim3(100), 0, 0, p); + offset<<>>(p); HIP_SAFE_CALL(hipDeviceSynchronize()); int* h_p = new int[100]; diff --git a/lib/kokkos/core/unit_test/hip/TestHIP_InterOp_Streams.cpp b/lib/kokkos/core/unit_test/hip/TestHIP_InterOp_Streams.cpp new file mode 100644 index 0000000000000000000000000000000000000000..4f09ea45f467f6a5bdee120dd019c16ed8d414f0 --- /dev/null +++ b/lib/kokkos/core/unit_test/hip/TestHIP_InterOp_Streams.cpp @@ -0,0 +1,115 @@ +/* +//@HEADER +// ************************************************************************ +// +// Kokkos v. 3.0 +// Copyright (2020) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). +// +// Under the terms of Contract DE-NA0003525 with NTESS, +// the U.S. Government retains certain rights in this software. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// +// 3. Neither the name of the Corporation nor the names of the +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY +// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE +// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// +// Questions? Contact Christian R. Trott (crtrott@sandia.gov) +// +// ************************************************************************ +//@HEADER +*/ + +#include +#include + +namespace Test { +// Test Interoperability with HIP Streams +// The difference with the CUDA tests are: raw HIP vs raw CUDA and no launch +// bound in HIP due to an error when computing the block size. +TEST(hip, raw_hip_streams) { + hipStream_t stream; + hipStreamCreate(&stream); + Kokkos::InitArguments arguments{-1, -1, -1, false}; + Kokkos::initialize(arguments); + int* p; + hipMalloc(&p, sizeof(int) * 100); + using MemorySpace = typename TEST_EXECSPACE::memory_space; + + { + TEST_EXECSPACE space0(stream); + Kokkos::View v(p, 100); + Kokkos::deep_copy(space0, v, 5); + int sum; + + Kokkos::parallel_for("Test::hip::raw_hip_stream::Range", + Kokkos::RangePolicy(space0, 0, 100), + FunctorRange(v)); + Kokkos::parallel_reduce("Test::hip::raw_hip_stream::RangeReduce", + Kokkos::RangePolicy(space0, 0, 100), + FunctorRangeReduce(v), sum); + space0.fence(); + ASSERT_EQ(600, sum); + + Kokkos::parallel_for("Test::hip::raw_hip_stream::MDRange", + Kokkos::MDRangePolicy>( + space0, {0, 0}, {10, 10}), + FunctorMDRange(v)); + Kokkos::parallel_reduce( + "Test::hip::raw_hip_stream::MDRangeReduce", + Kokkos::MDRangePolicy>(space0, {0, 0}, + {10, 10}), + FunctorMDRangeReduce(v), sum); + space0.fence(); + ASSERT_EQ(700, sum); + + Kokkos::parallel_for("Test::hip::raw_hip_stream::Team", + Kokkos::TeamPolicy(space0, 10, 10), + FunctorTeam(v)); + Kokkos::parallel_reduce("Test::hip::raw_hip_stream::Team", + Kokkos::TeamPolicy(space0, 10, 10), + FunctorTeamReduce(v), + sum); + space0.fence(); + ASSERT_EQ(800, sum); + } + Kokkos::finalize(); + offset_streams<<<100, 64, 0, stream>>>(p); + HIP_SAFE_CALL(hipDeviceSynchronize()); + hipStreamDestroy(stream); + + int h_p[100]; + hipMemcpy(h_p, p, sizeof(int) * 100, hipMemcpyDefault); + HIP_SAFE_CALL(hipDeviceSynchronize()); + int64_t sum = 0; + int64_t sum_expect = 0; + for (int i = 0; i < 100; i++) { + sum += h_p[i]; + sum_expect += 8 + i; + } + + ASSERT_EQ(sum, sum_expect); +} +} // namespace Test diff --git a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_ViewCopyETIAvail.hpp b/lib/kokkos/core/unit_test/hip/TestHIP_Other.cpp similarity index 85% rename from lib/kokkos/core/src/Cuda/Kokkos_Cuda_ViewCopyETIAvail.hpp rename to lib/kokkos/core/unit_test/hip/TestHIP_Other.cpp index 2fbfb6727784d1078026e4169e76f7687de14e5f..aa4aaef1e72377bf4dc0b6078b387e6444719a9d 100644 --- a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_ViewCopyETIAvail.hpp +++ b/lib/kokkos/core/unit_test/hip/TestHIP_Other.cpp @@ -1,3 +1,4 @@ + /* //@HEADER // ************************************************************************ @@ -42,16 +43,11 @@ //@HEADER */ -#ifndef KOKKOS_CUDA_VIEWETIAVAIL_HPP -#define KOKKOS_CUDA_VIEWETIAVAIL_HPP - -namespace Kokkos { -namespace Impl { -#define KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE Kokkos::Cuda - -#include +#include +#include +#include +#include +#include -#undef KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE -} // namespace Impl -} // namespace Kokkos -#endif +#include +#include diff --git a/lib/kokkos/core/src/ROCm/Kokkos_ROCm_ViewCopyETIAvail.hpp b/lib/kokkos/core/unit_test/hip/TestHIP_Reductions_DeviceView.cpp similarity index 85% rename from lib/kokkos/core/src/ROCm/Kokkos_ROCm_ViewCopyETIAvail.hpp rename to lib/kokkos/core/unit_test/hip/TestHIP_Reductions_DeviceView.cpp index 018151b3092bfce729d995173c6bc255ba55c751..1c94e1a24bd445b318f2860d04ba3b8011f1e6d6 100644 --- a/lib/kokkos/core/src/ROCm/Kokkos_ROCm_ViewCopyETIAvail.hpp +++ b/lib/kokkos/core/unit_test/hip/TestHIP_Reductions_DeviceView.cpp @@ -42,16 +42,5 @@ //@HEADER */ -#ifndef KOKKOS_ROCM_VIEWETIAVAIL_HPP -#define KOKKOS_ROCM_VIEWETIAVAIL_HPP - -namespace Kokkos { -namespace Impl { -#define KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE Kokkos::ROCm - -#include - -#undef KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE -} // namespace Impl -} // namespace Kokkos -#endif +#include +#include diff --git a/lib/kokkos/core/unit_test/hip/TestHIP_ScanUnit.cpp b/lib/kokkos/core/unit_test/hip/TestHIP_ScanUnit.cpp index ea38596883f77244f36191e3ad20a99140fa5b35..fd555daa9c0a24e7d2a45e073c10e9597bc7304f 100644 --- a/lib/kokkos/core/unit_test/hip/TestHIP_ScanUnit.cpp +++ b/lib/kokkos/core/unit_test/hip/TestHIP_ScanUnit.cpp @@ -52,9 +52,10 @@ struct DummyFunctor { }; template -__global__ void start_intra_block_scan() { +__global__ void start_intra_block_scan() + __attribute__((amdgpu_flat_work_group_size(1, 1024))) { __shared__ DummyFunctor::value_type values[N]; - const int i = hipThreadIdx_y; + const int i = threadIdx.y; values[i] = i + 1; __syncthreads(); @@ -74,7 +75,7 @@ template void test_intra_block_scan() { dim3 grid(1, 1, 1); dim3 block(1, N, 1); - hipLaunchKernelGGL(start_intra_block_scan, grid, block, 0, 0); + start_intra_block_scan<<>>(); } TEST(TEST_CATEGORY, scan_unit) { @@ -90,8 +91,7 @@ TEST(TEST_CATEGORY, scan_unit) { test_intra_block_scan<64>(); test_intra_block_scan<128>(); test_intra_block_scan<256>(); - // FIXME_HIP block sizes larger than 256 give wrong results. - // test_intra_block_scan<512>(); - // test_intra_block_scan<1024>(); + test_intra_block_scan<512>(); + test_intra_block_scan<1024>(); } } diff --git a/lib/kokkos/core/unit_test/hip/TestHIP_Team.cpp b/lib/kokkos/core/unit_test/hip/TestHIP_Team.cpp new file mode 100644 index 0000000000000000000000000000000000000000..7f579e737fe4b2752a83ddf9207c8a340cdc49f2 --- /dev/null +++ b/lib/kokkos/core/unit_test/hip/TestHIP_Team.cpp @@ -0,0 +1,152 @@ +/* +//@HEADER +// ************************************************************************ +// +// Kokkos v. 3.0 +// Copyright (2020) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). +// +// Under the terms of Contract DE-NA0003525 with NTESS, +// the U.S. Government retains certain rights in this software. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// +// 3. Neither the name of the Corporation nor the names of the +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY +// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE +// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// +// Questions? Contact Christian R. Trott (crtrott@sandia.gov) +// +// ************************************************************************ +//@HEADER +*/ + +#include +#include + +namespace Test { + +TEST(TEST_CATEGORY, team_for) { + TestTeamPolicy >::test_for( + 0); + TestTeamPolicy >::test_for( + 0); + + TestTeamPolicy >::test_for( + 2); + TestTeamPolicy >::test_for( + 2); + + TestTeamPolicy >::test_for( + 1000); + TestTeamPolicy >::test_for( + 1000); +} + +TEST(TEST_CATEGORY, team_reduce) { + TestTeamPolicy >::test_reduce(0); + TestTeamPolicy >::test_reduce(0); + TestTeamPolicy >::test_reduce(2); + TestTeamPolicy >::test_reduce(2); + TestTeamPolicy >::test_reduce(1000); + TestTeamPolicy >::test_reduce(1000); +} + +TEST(TEST_CATEGORY, team_broadcast_long) { + TestTeamBroadcast, + long>::test_teambroadcast(0, 1); + TestTeamBroadcast, + long>::test_teambroadcast(0, 1); + + TestTeamBroadcast, + long>::test_teambroadcast(2, 1); + TestTeamBroadcast, + long>::test_teambroadcast(2, 1); + + TestTeamBroadcast, + long>::test_teambroadcast(16, 1); + TestTeamBroadcast, + long>::test_teambroadcast(16, 1); +} + +TEST(TEST_CATEGORY, team_broadcast_char) { + TestTeamBroadcast, + unsigned char>::test_teambroadcast(0, 1); + TestTeamBroadcast, + unsigned char>::test_teambroadcast(0, 1); + + TestTeamBroadcast, + unsigned char>::test_teambroadcast(2, 1); + TestTeamBroadcast, + unsigned char>::test_teambroadcast(2, 1); + + TestTeamBroadcast, + unsigned char>::test_teambroadcast(16, 1); + TestTeamBroadcast, + unsigned char>::test_teambroadcast(16, 1); +} + +TEST(TEST_CATEGORY, team_broadcast_float) { + TestTeamBroadcast, + float>::test_teambroadcast(0, 1.3); + TestTeamBroadcast, + float>::test_teambroadcast(0, 1.3); + + TestTeamBroadcast, + float>::test_teambroadcast(2, 1.3); + TestTeamBroadcast, + float>::test_teambroadcast(2, 1.3); + + TestTeamBroadcast, + float>::test_teambroadcast(16, 1.3); + TestTeamBroadcast, + float>::test_teambroadcast(16, 1.3); +} + +TEST(TEST_CATEGORY, team_broadcast_double) { + TestTeamBroadcast, + double>::test_teambroadcast(0, 1.3); + TestTeamBroadcast, + double>::test_teambroadcast(0, 1.3); + + TestTeamBroadcast, + double>::test_teambroadcast(2, 1.3); + TestTeamBroadcast, + double>::test_teambroadcast(2, 1.3); + + TestTeamBroadcast, + double>::test_teambroadcast(16, 1.3); + TestTeamBroadcast, + double>::test_teambroadcast(16, 1.3); +} + +} // namespace Test + +#include diff --git a/lib/kokkos/core/src/Threads/Kokkos_Threads_ViewCopyETIDecl.hpp b/lib/kokkos/core/unit_test/hip/TestHIP_TeamReductionScan.cpp similarity index 54% rename from lib/kokkos/core/src/Threads/Kokkos_Threads_ViewCopyETIDecl.hpp rename to lib/kokkos/core/unit_test/hip/TestHIP_TeamReductionScan.cpp index eb287c0db7aba2f7cd144385479fd9fd0079d987..2b63283c201f081fb4e451ace83b1cd95339cfd9 100644 --- a/lib/kokkos/core/src/Threads/Kokkos_Threads_ViewCopyETIDecl.hpp +++ b/lib/kokkos/core/unit_test/hip/TestHIP_TeamReductionScan.cpp @@ -42,16 +42,41 @@ //@HEADER */ -#ifndef KOKKOS_THREADS_VIEWETIDECL_HPP -#define KOKKOS_THREADS_VIEWETIDECL_HPP +#include +#include -namespace Kokkos { -namespace Impl { -#define KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE Kokkos::Threads +namespace Test { -#include +TEST(TEST_CATEGORY, team_scan) { + TestScanTeam >(0); + TestScanTeam >(0); + TestScanTeam >(10); + TestScanTeam >(10); + // FIXME_HIP + // TestScanTeam >(10000); + // TestScanTeam >(10000); +} -#undef KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE -} // namespace Impl -} // namespace Kokkos -#endif +TEST(TEST_CATEGORY, team_long_reduce) { + TestReduceTeam >(0); + TestReduceTeam >(0); + TestReduceTeam >(3); + TestReduceTeam >(3); + TestReduceTeam >( + 100000); + TestReduceTeam >( + 100000); +} + +TEST(TEST_CATEGORY, team_double_reduce) { + TestReduceTeam >(0); + TestReduceTeam >(0); + TestReduceTeam >(3); + TestReduceTeam >(3); + TestReduceTeam >( + 100000); + TestReduceTeam >( + 100000); +} + +} // namespace Test diff --git a/lib/kokkos/core/src/Threads/Kokkos_Threads_ViewCopyETIAvail.hpp b/lib/kokkos/core/unit_test/hip/TestHIP_TeamScratch.cpp similarity index 58% rename from lib/kokkos/core/src/Threads/Kokkos_Threads_ViewCopyETIAvail.hpp rename to lib/kokkos/core/unit_test/hip/TestHIP_TeamScratch.cpp index c3c416c4cd0810f982e2f1d2771bff07e9fbfd9e..b4483adf4c80b1cf00508cfb5a5d1dc8d3d7090f 100644 --- a/lib/kokkos/core/src/Threads/Kokkos_Threads_ViewCopyETIAvail.hpp +++ b/lib/kokkos/core/unit_test/hip/TestHIP_TeamScratch.cpp @@ -42,16 +42,41 @@ //@HEADER */ -#ifndef KOKKOS_THREADS_VIEWETIAVAIL_HPP -#define KOKKOS_THREADS_VIEWETIAVAIL_HPP +#include +#include -namespace Kokkos { -namespace Impl { -#define KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE Kokkos::Threads +namespace Test { -#include +TEST(TEST_CATEGORY, team_shared_request) { + TestSharedTeam >(); + TestSharedTeam >(); +} -#undef KOKKOS_IMPL_VIEWCOPY_ETI_AVAIL_EXECSPACE -} // namespace Impl -} // namespace Kokkos -#endif +// FIXME_HIP the parallel_reduce in this test requires a team size larger than +// 256 +// TEST(TEST_CATEGORY, team_scratch_request) { +// TestScratchTeam >(); +// TestScratchTeam >(); +//} + +TEST(TEST_CATEGORY, team_lambda_shared_request) { + TestLambdaSharedTeam >(); + TestLambdaSharedTeam >(); +} + +TEST(TEST_CATEGORY, scratch_align) { TestScratchAlignment(); } + +TEST(TEST_CATEGORY, shmem_size) { TestShmemSize(); } + +// FIXME_HIP the parallel_for and the parallel_reduce in this test requires a +// team size larger than 256 +// TEST(TEST_CATEGORY, multi_level_scratch) { +// TestMultiLevelScratchTeam >(); +// TestMultiLevelScratchTeam >(); +//} + +} // namespace Test diff --git a/lib/kokkos/core/unit_test/hip/TestHIP_UniqueToken.cpp b/lib/kokkos/core/unit_test/hip/TestHIP_UniqueToken.cpp new file mode 100644 index 0000000000000000000000000000000000000000..89f23b01e326c1a5c53c2b5690c6388aa25a0f02 --- /dev/null +++ b/lib/kokkos/core/unit_test/hip/TestHIP_UniqueToken.cpp @@ -0,0 +1,46 @@ +/* +//@HEADER +// ************************************************************************ +// +// Kokkos v. 3.0 +// Copyright (2020) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). +// +// Under the terms of Contract DE-NA0003525 with NTESS, +// the U.S. Government retains certain rights in this software. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// +// 3. Neither the name of the Corporation nor the names of the +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY +// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE +// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// +// Questions? Contact Christian R. Trott (crtrott@sandia.gov) +// +// ************************************************************************ +//@HEADER +*/ + +#include +#include diff --git a/lib/kokkos/core/unit_test/hip/TestHIP_ViewAPI_a.cpp b/lib/kokkos/core/unit_test/hip/TestHIP_ViewAPI_a.cpp new file mode 100644 index 0000000000000000000000000000000000000000..30aa7e131c086e06d5b6c01bedd32b6ceb490f2b --- /dev/null +++ b/lib/kokkos/core/unit_test/hip/TestHIP_ViewAPI_a.cpp @@ -0,0 +1,46 @@ +/* +//@HEADER +// ************************************************************************ +// +// Kokkos v. 3.0 +// Copyright (2020) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). +// +// Under the terms of Contract DE-NA0003525 with NTESS, +// the U.S. Government retains certain rights in this software. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// +// 3. Neither the name of the Corporation nor the names of the +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY +// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE +// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// +// Questions? Contact Christian R. Trott (crtrott@sandia.gov) +// +// ************************************************************************ +//@HEADER +*/ + +#include +#include diff --git a/lib/kokkos/core/unit_test/hip/TestHIP_ViewAPI_b.cpp b/lib/kokkos/core/unit_test/hip/TestHIP_ViewAPI_b.cpp new file mode 100644 index 0000000000000000000000000000000000000000..8ec6d4934794ff9bbc4400e217020f6e5f953afb --- /dev/null +++ b/lib/kokkos/core/unit_test/hip/TestHIP_ViewAPI_b.cpp @@ -0,0 +1,46 @@ +/* +//@HEADER +// ************************************************************************ +// +// Kokkos v. 3.0 +// Copyright (2020) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). +// +// Under the terms of Contract DE-NA0003525 with NTESS, +// the U.S. Government retains certain rights in this software. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// +// 3. Neither the name of the Corporation nor the names of the +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY +// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE +// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// +// Questions? Contact Christian R. Trott (crtrott@sandia.gov) +// +// ************************************************************************ +//@HEADER +*/ + +#include +#include diff --git a/lib/kokkos/core/unit_test/hip/TestHIP_ViewAPI_e.cpp b/lib/kokkos/core/unit_test/hip/TestHIP_ViewAPI_e.cpp new file mode 100644 index 0000000000000000000000000000000000000000..04afe806bc4311a8ae3327199a26b5b16017a029 --- /dev/null +++ b/lib/kokkos/core/unit_test/hip/TestHIP_ViewAPI_e.cpp @@ -0,0 +1,47 @@ +/* +//@HEADER +// ************************************************************************ +// +// Kokkos v. 3.0 +// Copyright (2020) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). +// +// Under the terms of Contract DE-NA0003525 with NTESS, +// the U.S. Government retains certain rights in this software. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// +// 3. Neither the name of the Corporation nor the names of the +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY +// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE +// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// +// Questions? Contact Christian R. Trott (crtrott@sandia.gov) +// +// ************************************************************************ +//@HEADER +*/ + +#include +#include +#include diff --git a/lib/kokkos/core/unit_test/hip/TestHIP_ViewLayoutStrideAssignment.cpp b/lib/kokkos/core/unit_test/hip/TestHIP_ViewLayoutStrideAssignment.cpp new file mode 100644 index 0000000000000000000000000000000000000000..53208b525751390f36735f528c64c9f93a6ae78c --- /dev/null +++ b/lib/kokkos/core/unit_test/hip/TestHIP_ViewLayoutStrideAssignment.cpp @@ -0,0 +1,47 @@ +/* +//@HEADER +// ************************************************************************ +// +// Kokkos v. 3.0 +// Copyright (2020) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). +// +// Under the terms of Contract DE-NA0003525 with NTESS, +// the U.S. Government retains certain rights in this software. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// +// 3. Neither the name of the Corporation nor the names of the +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY +// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE +// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// +// Questions? Contact Christian R. Trott (crtrott@sandia.gov) +// +// ************************************************************************ +//@HEADER +*/ + +#include +#include +#include diff --git a/lib/kokkos/core/unit_test/hip/TestHIP_WorkGraph.cpp b/lib/kokkos/core/unit_test/hip/TestHIP_WorkGraph.cpp new file mode 100644 index 0000000000000000000000000000000000000000..5b92dc46c59fe263196eb38d9a65847f00d87b08 --- /dev/null +++ b/lib/kokkos/core/unit_test/hip/TestHIP_WorkGraph.cpp @@ -0,0 +1,46 @@ +/* +//@HEADER +// ************************************************************************ +// +// Kokkos v. 3.0 +// Copyright (2020) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). +// +// Under the terms of Contract DE-NA0003525 with NTESS, +// the U.S. Government retains certain rights in this software. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// +// 3. Neither the name of the Corporation nor the names of the +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY +// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE +// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// +// Questions? Contact Christian R. Trott (crtrott@sandia.gov) +// +// ************************************************************************ +//@HEADER +*/ + +#include +#include diff --git a/lib/kokkos/core/unit_test/hpx/TestHPX_IndependentInstances.cpp b/lib/kokkos/core/unit_test/hpx/TestHPX_IndependentInstances.cpp new file mode 100644 index 0000000000000000000000000000000000000000..a235e86ba49ec345587d4a6d849b100aedca98af --- /dev/null +++ b/lib/kokkos/core/unit_test/hpx/TestHPX_IndependentInstances.cpp @@ -0,0 +1,188 @@ +/* +//@HEADER +// ************************************************************************ +// +// Kokkos v. 3.0 +// Copyright (2020) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). +// +// Under the terms of Contract DE-NA0003525 with NTESS, +// the U.S. Government retains certain rights in this software. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// +// 3. Neither the name of the Corporation nor the names of the +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY +// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE +// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// +// Questions? Contact Christian R. Trott (crtrott@sandia.gov) +// +// ************************************************************************ +//@HEADER +*/ + +#include +#include + +#include +#include + +#ifdef KOKKOS_ENABLE_HPX_ASYNC_DISPATCH +#ifndef HPX_COMPUTE_DEVICE_CODE + +namespace Test { + +namespace { +struct FunctorInitConstant { + Kokkos::View a; + int c; + FunctorInitConstant(Kokkos::View a_, int c_) + : a(a_), c(c_) {} + + KOKKOS_INLINE_FUNCTION + void operator()(const int i) const { a(i) = c; } +}; + +struct FunctorAdd { + Kokkos::View a; + Kokkos::View b; + int c; + FunctorAdd(Kokkos::View a_, + Kokkos::View b_, int c_) + : a(a_), b(b_), c(c_) {} + + KOKKOS_INLINE_FUNCTION + void operator()(const int i) const { b(i) += a(i) + c; } +}; + +struct FunctorAddIndex { + Kokkos::View a; + Kokkos::View b; + FunctorAddIndex(Kokkos::View a_, + Kokkos::View b_) + : a(a_), b(b_) {} + + KOKKOS_INLINE_FUNCTION + void operator()(const int i) const { b(i) += a(i) + i; } +}; + +struct FunctorPointwiseSum { + Kokkos::View a; + Kokkos::View b; + Kokkos::View c; + FunctorPointwiseSum(Kokkos::View a_, + Kokkos::View b_, + Kokkos::View c_) + : a(a_), b(b_), c(c_) {} + + KOKKOS_INLINE_FUNCTION + void operator()(const int i) const { c(i) = a(i) + b(i); } +}; + +struct FunctorReduce { + Kokkos::View a; + FunctorReduce(Kokkos::View a_) : a(a_) {} + + KOKKOS_INLINE_FUNCTION + void operator()(const int i, int &lsum) const { lsum += a(i); } +}; +} // namespace + +TEST(hpx, independent_instances) { + Kokkos::InitArguments arguments{-1, -1, -1, false}; + Kokkos::initialize(arguments); + + const int n = 100; + const int c = 1; + const int d = 3; + + { + Kokkos::View v1("v1", n); + Kokkos::View v2("v2", n); + Kokkos::View v3("v3", n); + Kokkos::View v4("v4", n); + Kokkos::View sum_v("sum_v"); + + Kokkos::Experimental::HPX hpx1( + Kokkos::Experimental::HPX::instance_mode::independent); + Kokkos::parallel_for( + "Test::hpx::independent_instances::init", + Kokkos::Experimental::require( + Kokkos::RangePolicy(hpx1, 0, n), + Kokkos::Experimental::WorkItemProperty::HintLightWeight), + FunctorInitConstant(v1, c)); + + Kokkos::Experimental::HPX hpx2(hpx1.impl_get_future()); + Kokkos::parallel_for( + "Test::hpx::independent_instances::add", + Kokkos::Experimental::require( + Kokkos::RangePolicy(hpx2, 0, n), + Kokkos::Experimental::WorkItemProperty::HintLightWeight), + FunctorAdd(v1, v2, d)); + + Kokkos::Experimental::HPX hpx3(hpx1.impl_get_future()); + Kokkos::parallel_for( + "Test::hpx::independent_instances::add_index", + Kokkos::Experimental::require( + Kokkos::RangePolicy(hpx3, 0, n), + Kokkos::Experimental::WorkItemProperty::HintLightWeight), + FunctorAddIndex(v1, v3)); + + // NOTE: This monstrosity is used to collapse a future, + // future>> (return type of when_all) into a future which is + // ready whenever the un-collapsed future would've been ready. HPX does not + // currently have the functionality to collapse this automatically. + Kokkos::Experimental::HPX hpx4(hpx::util::get<0>(hpx::split_future( + hpx::when_all(hpx2.impl_get_future(), hpx3.impl_get_future())))); + Kokkos::parallel_for( + "Test::hpx::independent_instances::pointwise_sum", + Kokkos::Experimental::require( + Kokkos::RangePolicy(hpx4, 0, n), + Kokkos::Experimental::WorkItemProperty::HintLightWeight), + FunctorPointwiseSum(v2, v3, v4)); + + Kokkos::parallel_reduce( + "Test::hpx::independent_instances::reduce", + Kokkos::Experimental::require( + Kokkos::RangePolicy(hpx4, 0, n), + Kokkos::Experimental::WorkItemProperty::HintLightWeight), + FunctorReduce(v4), Kokkos::Sum(sum_v)); + + hpx4.fence(); + + ASSERT_EQ(true, hpx1.impl_get_future().is_ready()); + ASSERT_EQ(true, hpx2.impl_get_future().is_ready()); + ASSERT_EQ(true, hpx3.impl_get_future().is_ready()); + ASSERT_EQ(true, hpx4.impl_get_future().is_ready()); + + const int expected_sum = n * (2 * c + d) + (n * (n - 1) / 2); + ASSERT_EQ(expected_sum, sum_v()); + } + + Kokkos::finalize(); +} +} // namespace Test + +#endif +#endif diff --git a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank3.cpp b/lib/kokkos/core/unit_test/hpx/TestHPX_IndependentInstancesDelayedExecution.cpp similarity index 66% rename from lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank3.cpp rename to lib/kokkos/core/unit_test/hpx/TestHPX_IndependentInstancesDelayedExecution.cpp index a98a7aad2d8a8f41fda7a266c5f74850d352ab3c..4f5569fc6b91192bf995ee0a7225ac0ab809e45f 100644 --- a/lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank3.cpp +++ b/lib/kokkos/core/unit_test/hpx/TestHPX_IndependentInstancesDelayedExecution.cpp @@ -1,3 +1,4 @@ +/* //@HEADER // ************************************************************************ // @@ -8,8 +9,6 @@ // Under the terms of Contract DE-NA0003525 with NTESS, // the U.S. Government retains certain rights in this software. // -// Kokkos is licensed under 3-clause BSD terms of use: -// // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are // met: @@ -41,15 +40,45 @@ // // ************************************************************************ //@HEADER +*/ -#define KOKKOS_IMPL_COMPILING_LIBRARY true #include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutLeft, LayoutRight, Cuda, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutLeft, LayoutLeft, Cuda, int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int***, LayoutLeft, LayoutStride, Cuda, int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int***, LayoutLeft, Cuda, int64_t) - -} // namespace Impl -} // namespace Kokkos +#include + +#include + +#ifdef KOKKOS_ENABLE_HPX_ASYNC_DISPATCH + +namespace Test { + +TEST(hpx, delayed_execution) { + Kokkos::InitArguments arguments{-1, -1, -1, false}; + Kokkos::initialize(arguments); + + { + Kokkos::View ran("ran"); + hpx::lcos::local::promise p; + hpx::shared_future f = p.get_future(); + + Kokkos::Experimental::HPX hpx(f); + Kokkos::parallel_for( + "Test::hpx::independent_instances::delay_execution", + Kokkos::Experimental::require( + Kokkos::RangePolicy(hpx, 0, 1), + Kokkos::Experimental::WorkItemProperty::HintLightWeight), + KOKKOS_LAMBDA(int) { ran() = true; }); + + ASSERT_EQ(false, ran()); + ASSERT_EQ(false, hpx.impl_get_future().is_ready()); + + p.set_value(); + + hpx.fence(); + ASSERT_EQ(true, hpx.impl_get_future().is_ready()); + } + + Kokkos::finalize(); +} +} // namespace Test + +#endif diff --git a/lib/kokkos/core/unit_test/hpx/TestHPX_IndependentInstancesInstanceIds.cpp b/lib/kokkos/core/unit_test/hpx/TestHPX_IndependentInstancesInstanceIds.cpp new file mode 100644 index 0000000000000000000000000000000000000000..26f419db86cf14560b7c3444c12e5abf8b5b26a0 --- /dev/null +++ b/lib/kokkos/core/unit_test/hpx/TestHPX_IndependentInstancesInstanceIds.cpp @@ -0,0 +1,99 @@ +/* +//@HEADER +// ************************************************************************ +// +// Kokkos v. 3.0 +// Copyright (2020) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). +// +// Under the terms of Contract DE-NA0003525 with NTESS, +// the U.S. Government retains certain rights in this software. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// +// 3. Neither the name of the Corporation nor the names of the +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY +// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE +// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// +// Questions? Contact Christian R. Trott (crtrott@sandia.gov) +// +// ************************************************************************ +//@HEADER +*/ + +#include +#include + +#ifdef KOKKOS_ENABLE_HPX_ASYNC_DISPATCH + +namespace Test { + +TEST(hpx, instance_ids) { + Kokkos::InitArguments arguments{-1, -1, -1, false}; + Kokkos::initialize(arguments); + + { + Kokkos::Experimental::HPX hpx_global1; + Kokkos::Experimental::HPX hpx_global2 = hpx_global1; + Kokkos::Experimental::HPX hpx_global3{hpx_global1}; + Kokkos::Experimental::HPX hpx_global4( + Kokkos::Experimental::HPX::instance_mode::global); + + ASSERT_EQ(0, hpx_global1.impl_instance_id()); + ASSERT_EQ(0, hpx_global2.impl_instance_id()); + ASSERT_EQ(0, hpx_global3.impl_instance_id()); + ASSERT_EQ(0, hpx_global4.impl_instance_id()); + + Kokkos::Experimental::HPX hpx_independent1( + Kokkos::Experimental::HPX::instance_mode::independent); + Kokkos::Experimental::HPX hpx_independent2 = hpx_independent1; + Kokkos::Experimental::HPX hpx_independent3{hpx_independent1}; + + ASSERT_NE(hpx_global1.impl_instance_id(), + hpx_independent1.impl_instance_id()); + ASSERT_EQ(hpx_independent1.impl_instance_id(), + hpx_independent2.impl_instance_id()); + ASSERT_EQ(hpx_independent1.impl_instance_id(), + hpx_independent3.impl_instance_id()); + + hpx::shared_future f = hpx::make_ready_future(); + Kokkos::Experimental::HPX hpx_independent_future1(f); + Kokkos::Experimental::HPX hpx_independent_future2 = hpx_independent_future1; + Kokkos::Experimental::HPX hpx_independent_future3{hpx_independent_future1}; + + ASSERT_NE(hpx_global1.impl_instance_id(), + hpx_independent1.impl_instance_id()); + ASSERT_NE(hpx_independent1.impl_instance_id(), + hpx_independent_future1.impl_instance_id()); + ASSERT_EQ(hpx_independent_future1.impl_instance_id(), + hpx_independent_future2.impl_instance_id()); + ASSERT_EQ(hpx_independent_future1.impl_instance_id(), + hpx_independent_future3.impl_instance_id()); + } + + Kokkos::finalize(); +} +} // namespace Test + +#endif diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutRight_Rank2.cpp b/lib/kokkos/core/unit_test/hpx/TestHPX_IndependentInstancesRefCounting.cpp similarity index 62% rename from lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutRight_Rank2.cpp rename to lib/kokkos/core/unit_test/hpx/TestHPX_IndependentInstancesRefCounting.cpp index 14a80d9a948f017a540bda8cbdb35befb9de0310..89b03dc3677365dc321334667abf1ebd22df1678 100644 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutRight_Rank2.cpp +++ b/lib/kokkos/core/unit_test/hpx/TestHPX_IndependentInstancesRefCounting.cpp @@ -1,3 +1,4 @@ +/* //@HEADER // ************************************************************************ // @@ -8,8 +9,6 @@ // Under the terms of Contract DE-NA0003525 with NTESS, // the U.S. Government retains certain rights in this software. // -// Kokkos is licensed under 3-clause BSD terms of use: -// // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are // met: @@ -41,15 +40,56 @@ // // ************************************************************************ //@HEADER +*/ -#define KOKKOS_IMPL_COMPILING_LIBRARY true #include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutRight, LayoutRight, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutRight, LayoutLeft, Serial, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float**, LayoutRight, LayoutStride, Serial, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float**, LayoutRight, Serial, int) - -} // namespace Impl -} // namespace Kokkos +#include + +#ifdef KOKKOS_ENABLE_HPX_ASYNC_DISPATCH + +namespace Test { +namespace { +std::atomic dummy_count; + +struct dummy { + dummy() { ++dummy_count; } + dummy(dummy const &) { ++dummy_count; } + ~dummy() { --dummy_count; } + void f() const {} +}; +} // namespace +// This test makes sure the independent HPX instances don't hold on to captured +// data after destruction. +TEST(hpx, reference_counting) { + Kokkos::InitArguments arguments{-1, -1, -1, false}; + Kokkos::initialize(arguments); + + { + dummy d; + Kokkos::Experimental::HPX hpx( + Kokkos::Experimental::HPX::instance_mode::independent); + Kokkos::parallel_for( + "Test::hpx::reference_counting::dummy", + Kokkos::RangePolicy(hpx, 0, 1), + KOKKOS_LAMBDA(int) { + // Make sure dummy struct is captured. + d.f(); + }); + + // This attaches a continuation and releases the d captured above from the + // shared state of the internal future. + Kokkos::parallel_for( + "Test::hpx::reference_counting::dummy_clear", + Kokkos::RangePolicy(hpx, 0, 1), + KOKKOS_LAMBDA(int){}); + + hpx.fence(); + + ASSERT_EQ(1, dummy_count); + } + + Kokkos::finalize(); +} +} // namespace Test + +#endif diff --git a/lib/kokkos/core/unit_test/hpx/TestHPX_ViewLayoutStrideAssignment.cpp b/lib/kokkos/core/unit_test/hpx/TestHPX_ViewLayoutStrideAssignment.cpp index eb91b558ef2098314e9daf0ebe1939e08112b833..22799842a7f765b544803bb4cd8e82b5dc2e4a44 100644 --- a/lib/kokkos/core/unit_test/hpx/TestHPX_ViewLayoutStrideAssignment.cpp +++ b/lib/kokkos/core/unit_test/hpx/TestHPX_ViewLayoutStrideAssignment.cpp @@ -44,3 +44,4 @@ #include #include +#include diff --git a/lib/kokkos/core/unit_test/incremental/Test01_execspace.hpp b/lib/kokkos/core/unit_test/incremental/Test01_execspace.hpp index 9f118bfb49f881d00dd6444dc07ff88eb935cd30..419486d7a84673dacd48e7bf2513e054106bab4c 100644 --- a/lib/kokkos/core/unit_test/incremental/Test01_execspace.hpp +++ b/lib/kokkos/core/unit_test/incremental/Test01_execspace.hpp @@ -73,9 +73,9 @@ struct TestIncrExecSpaceTypedef { template struct TestIncrExecSpace { void testit() { - typedef typename ExecSpace::device_type device_type; - typedef typename device_type::memory_space memory_space; - typedef typename device_type::execution_space execution_space; + using device_type = typename ExecSpace::device_type; + using memory_space = typename device_type::memory_space; + using execution_space = typename device_type::execution_space; const bool passed = std::is_same #include -using value_type = double; - namespace Test { struct TestIncrAtomic { + using value_type = double; value_type value1 = 1.5, value2 = 0.5; void testExchange() { diff --git a/lib/kokkos/core/unit_test/incremental/Test04_ParallelFor_RangePolicy.hpp b/lib/kokkos/core/unit_test/incremental/Test04_ParallelFor_RangePolicy.hpp index 5e50b51dd1e720e331be8a01d252b646b4b9f56f..840726d84eac76952957a1406ae6f8341ce40036 100644 --- a/lib/kokkos/core/unit_test/incremental/Test04_ParallelFor_RangePolicy.hpp +++ b/lib/kokkos/core/unit_test/incremental/Test04_ParallelFor_RangePolicy.hpp @@ -52,17 +52,18 @@ namespace Test { -using value_type = double; -int num_elements = 10; -const value_type value = 0.5; +using value_type = double; +int num_elements = 10; struct ParallelForFunctor { value_type *_data; + const value_type _value; - ParallelForFunctor(value_type *data) : _data(data) {} + ParallelForFunctor(value_type *data, const value_type value) + : _data(data), _value(value) {} KOKKOS_INLINE_FUNCTION - void operator()(const int i) const { _data[i] = (i + 1) * value; } + void operator()(const int i) const { _data[i] = (i + 1) * _value; } }; template @@ -72,6 +73,7 @@ struct TestParallel_For { using h_memspace_type = Kokkos::HostSpace; value_type *deviceData, *hostData; + const value_type value = 0.5; // Check if the array values are updated correctly. void correctness_check(value_type *data) { @@ -125,7 +127,7 @@ struct TestParallel_For { // parallel-for functor called for num_elements number of iterations. Kokkos::parallel_for("parallel_for", num_elements, - ParallelForFunctor(deviceData)); + ParallelForFunctor(deviceData, value)); Kokkos::fence(); // Checks if parallel_for gave the correct results. @@ -140,13 +142,13 @@ struct TestParallel_For { init(); // Creates a range policy that uses dynamic scheduling. - typedef Kokkos::RangePolicy > - range_policy_t; + using range_policy_t = + Kokkos::RangePolicy >; // parallel-for functor with range-policy from 0 to num_elements iterations. Kokkos::parallel_for("RangePolicy_ParallelFor", range_policy_t(0, num_elements), - ParallelForFunctor(deviceData)); + ParallelForFunctor(deviceData, value)); // Checks if parallel_for gave the correct results. // Free the allocated memory in init(). diff --git a/lib/kokkos/core/unit_test/incremental/Test05_ParallelReduce_RangePolicy.hpp b/lib/kokkos/core/unit_test/incremental/Test05_ParallelReduce_RangePolicy.hpp index 7c147e47cc3f0cb57ae2e57d749c233f62162cdb..263ed3d731982eac2b385ee4c320f89516629736 100644 --- a/lib/kokkos/core/unit_test/incremental/Test05_ParallelReduce_RangePolicy.hpp +++ b/lib/kokkos/core/unit_test/incremental/Test05_ParallelReduce_RangePolicy.hpp @@ -53,7 +53,7 @@ namespace Test { using value_type = double; -const double value = 0.5; +constexpr double value = 0.5; const int num_elements = 10; struct ReduceFunctor { @@ -134,8 +134,8 @@ struct TestReduction { init(); // Creates a range policy that uses dynamic schedule. - typedef Kokkos::RangePolicy > - range_policy; + using range_policy = + Kokkos::RangePolicy >; // parallel_reduce call with range policy over num_elements number of // iterations diff --git a/lib/kokkos/core/unit_test/incremental/Test06_ParallelFor_MDRangePolicy.hpp b/lib/kokkos/core/unit_test/incremental/Test06_ParallelFor_MDRangePolicy.hpp index d9e5a37b558eab7e00f0d064382c2fbf761b52e1..4adf9e058fd5b1a85b3f7e24cac530876b7251f3 100644 --- a/lib/kokkos/core/unit_test/incremental/Test06_ParallelFor_MDRangePolicy.hpp +++ b/lib/kokkos/core/unit_test/incremental/Test06_ParallelFor_MDRangePolicy.hpp @@ -52,34 +52,35 @@ // elements as a product of iterator indexes and a constant. At the end, we // check for correctness. -namespace Test04 { +namespace Test06 { -using value_type = double; -const int N = 10; -const int M = 10; -const value_type delta = 0.5; +using value_type = double; struct MDFunctor { value_type *_data; + const value_type _delta; + const int N = 10; + const int M = 10; - MDFunctor(value_type *data) : _data(data) {} + MDFunctor(value_type *data, const value_type delta) + : _data(data), _delta(delta) {} // 2D KOKKOS_INLINE_FUNCTION void operator()(const int i, const int j) const { - _data[i * M + j] = i * j * delta; + _data[i * M + j] = i * j * _delta; } // 3D KOKKOS_INLINE_FUNCTION void operator()(const int i, const int j, const int k) const { - _data[i * M * N + j * M + k] = i * j * k * delta; + _data[i * M * N + j * M + k] = i * j * k * _delta; } // 4D KOKKOS_INLINE_FUNCTION void operator()(const int i, const int j, const int k, const int l) const { - _data[i * M * N * M + j * M * N + k * M + l] = i * j * k * l * delta; + _data[i * M * N * M + j * M * N + k * M + l] = i * j * k * l * _delta; } }; @@ -106,6 +107,9 @@ struct TestMDRangePolicy { // Device and Host Data structure pointer value_type *deviceData, *hostData; + const value_type delta = 0.5; + const int N = 10; + const int M = 10; // Routine to allocate memory in a specific memory space. template @@ -160,7 +164,7 @@ struct TestMDRangePolicy { ASSERT_NE(hostData, nullptr); // parallel_for call - MDFunctor Functor_2D(deviceData); + MDFunctor Functor_2D(deviceData, delta); Kokkos::parallel_for("MDRange2D", mdPolicy_2D, Functor_2D); // Copy the data back to Host memory space @@ -191,7 +195,7 @@ struct TestMDRangePolicy { ASSERT_NE(hostData, nullptr); // parallel_for call - MDFunctor Functor_3D(deviceData); + MDFunctor Functor_3D(deviceData, delta); Kokkos::parallel_for("MDRange3D", mdPolicy_3D, Functor_3D); // Copy the data back to Host memory space @@ -222,7 +226,7 @@ struct TestMDRangePolicy { ASSERT_NE(hostData, nullptr); // parallel_for call - MDFunctor Functor_4D(deviceData); + MDFunctor Functor_4D(deviceData, delta); Kokkos::parallel_for("MDRange4D", mdPolicy_4D, Functor_4D); // Copy the data back to Host memory space @@ -238,25 +242,25 @@ struct TestMDRangePolicy { } }; -} // namespace Test04 +} // namespace Test06 namespace Test { // 2D MDRangePolicy TEST(TEST_CATEGORY, IncrTest_06_mdrange2D) { - Test04::TestMDRangePolicy test; + Test06::TestMDRangePolicy test; test.mdRange2D(); } // 3D MDRangePolicy TEST(TEST_CATEGORY, IncrTest_06_mdrange3D) { - Test04::TestMDRangePolicy test; + Test06::TestMDRangePolicy test; test.mdRange3D(); } // 4D MDRangePolicy TEST(TEST_CATEGORY, IncrTest_06_mdrange4D) { - Test04::TestMDRangePolicy test; + Test06::TestMDRangePolicy test; test.mdRange4D(); } diff --git a/lib/kokkos/core/unit_test/incremental/Test11a_ParallelFor_TeamThreadRange.hpp b/lib/kokkos/core/unit_test/incremental/Test11a_ParallelFor_TeamThreadRange.hpp index e36b8f9d3f9a531e6a9f7a2dcb89e9ccb13d2cf2..627c071c8c78fa3966c75c5d18338ba9240d28f0 100644 --- a/lib/kokkos/core/unit_test/incremental/Test11a_ParallelFor_TeamThreadRange.hpp +++ b/lib/kokkos/core/unit_test/incremental/Test11a_ParallelFor_TeamThreadRange.hpp @@ -55,10 +55,10 @@ namespace Test { template struct Hierarchical_ForLoop_A { void run(const int pN, const int sX, const int sY) { - typedef Kokkos::TeamPolicy team_policy; - typedef typename Kokkos::TeamPolicy::member_type member_type; + using team_policy = Kokkos::TeamPolicy; + using member_type = typename Kokkos::TeamPolicy::member_type; - typedef Kokkos::View viewDataType; + using viewDataType = Kokkos::View; viewDataType v("Matrix", sX, sY); Kokkos::parallel_for( @@ -71,7 +71,7 @@ struct Hierarchical_ForLoop_A { const int modDim1 = n == ls - 1 ? sX % ls : 0; Kokkos::parallel_for( - Kokkos::TeamThreadRange(team, v.extent(1)), [&](const int m) { + Kokkos::TeamThreadRange(team, v.extent(1)), [=](const int m) { for (int i = startDim1; i < (startDim1 + (int)(sX / ls) + modDim1); ++i) v(i, m) = i * v.extent(1) + m; diff --git a/lib/kokkos/core/unit_test/incremental/Test11b_ParallelFor_TeamVectorRange.hpp b/lib/kokkos/core/unit_test/incremental/Test11b_ParallelFor_TeamVectorRange.hpp index 7e4bb2aa3b7499e942aa21c27d4cc36a419744d3..1765a049346610c87b20db6d1c25dced4b658052 100644 --- a/lib/kokkos/core/unit_test/incremental/Test11b_ParallelFor_TeamVectorRange.hpp +++ b/lib/kokkos/core/unit_test/incremental/Test11b_ParallelFor_TeamVectorRange.hpp @@ -55,10 +55,10 @@ namespace Test { template struct Hierarchical_ForLoop_B { void run(const int pN, const int sX, const int sY) { - typedef Kokkos::TeamPolicy team_policy; - typedef typename Kokkos::TeamPolicy::member_type member_type; + using team_policy = Kokkos::TeamPolicy; + using member_type = typename Kokkos::TeamPolicy::member_type; - typedef Kokkos::View viewDataType; + using viewDataType = Kokkos::View; viewDataType v("Matrix", sX, sY); Kokkos::parallel_for( @@ -71,7 +71,7 @@ struct Hierarchical_ForLoop_B { const int modDim1 = n == ls - 1 ? sX % ls : 0; Kokkos::parallel_for( - Kokkos::TeamVectorRange(team, v.extent(1)), [&](const int m) { + Kokkos::TeamVectorRange(team, v.extent(1)), [=](const int m) { for (int i = startDim1; i < (startDim1 + (int)(sX / ls) + modDim1); ++i) v(i, m) = i * v.extent(1) + m; diff --git a/lib/kokkos/core/unit_test/incremental/Test11c_ParallelFor_ThreadVectorRange.hpp b/lib/kokkos/core/unit_test/incremental/Test11c_ParallelFor_ThreadVectorRange.hpp index c6998a5781c4f046306098713e25e17cc1867ee7..814ab5fda660fd53c3bbe4e71d252c7e63ec9c73 100644 --- a/lib/kokkos/core/unit_test/incremental/Test11c_ParallelFor_ThreadVectorRange.hpp +++ b/lib/kokkos/core/unit_test/incremental/Test11c_ParallelFor_ThreadVectorRange.hpp @@ -55,10 +55,10 @@ namespace Test { template struct Hierarchical_ForLoop_C { void run(const int pN, const int sX, const int sY, const int sZ) { - typedef Kokkos::TeamPolicy team_policy; - typedef typename Kokkos::TeamPolicy::member_type member_type; + using team_policy = Kokkos::TeamPolicy; + using member_type = typename Kokkos::TeamPolicy::member_type; - typedef Kokkos::View viewDataType; + using viewDataType = Kokkos::View; viewDataType v("Matrix", sX, sY, sZ); Kokkos::parallel_for( diff --git a/lib/kokkos/core/unit_test/incremental/Test13a_ParallelRed_TeamThreadRange.hpp b/lib/kokkos/core/unit_test/incremental/Test13a_ParallelRed_TeamThreadRange.hpp index b5467da9215eb368c1022f19c5e028c01db8e9c7..e32b0ed0fc92684072cf004b64240093e1b981fd 100644 --- a/lib/kokkos/core/unit_test/incremental/Test13a_ParallelRed_TeamThreadRange.hpp +++ b/lib/kokkos/core/unit_test/incremental/Test13a_ParallelRed_TeamThreadRange.hpp @@ -59,10 +59,10 @@ namespace Test { template struct Hierarchical_Red_A { void run(const int pN, const int sX) { - typedef Kokkos::TeamPolicy team_policy; - typedef typename Kokkos::TeamPolicy::member_type member_type; + using team_policy = Kokkos::TeamPolicy; + using member_type = typename Kokkos::TeamPolicy::member_type; - typedef Kokkos::View viewDataType; + using viewDataType = Kokkos::View; viewDataType v("Vector", pN); Kokkos::parallel_for( diff --git a/lib/kokkos/core/unit_test/incremental/Test13b_ParallelRed_TeamVectorRange.hpp b/lib/kokkos/core/unit_test/incremental/Test13b_ParallelRed_TeamVectorRange.hpp index ada295591e62de99bfa64d1fdab4e8b9d45165df..0d37703e2b73d5ca22e73f2bfbd2f553e1fe0225 100644 --- a/lib/kokkos/core/unit_test/incremental/Test13b_ParallelRed_TeamVectorRange.hpp +++ b/lib/kokkos/core/unit_test/incremental/Test13b_ParallelRed_TeamVectorRange.hpp @@ -57,10 +57,10 @@ namespace Test { template struct Hierarchical_Red_B { void run(const int pN, const int sX) { - typedef Kokkos::TeamPolicy team_policy; - typedef typename Kokkos::TeamPolicy::member_type member_type; + using team_policy = Kokkos::TeamPolicy; + using member_type = typename Kokkos::TeamPolicy::member_type; - typedef Kokkos::View viewDataType; + using viewDataType = Kokkos::View; viewDataType v("Vector", pN); Kokkos::parallel_for( diff --git a/lib/kokkos/core/unit_test/incremental/Test13c_ParallelRed_ThreadVectorRange.hpp b/lib/kokkos/core/unit_test/incremental/Test13c_ParallelRed_ThreadVectorRange.hpp index 7df940c58de4a3eacc90a80be621492cca08f7c1..26f9d000914393a8af86d9ba1bc4bb5658a7244e 100644 --- a/lib/kokkos/core/unit_test/incremental/Test13c_ParallelRed_ThreadVectorRange.hpp +++ b/lib/kokkos/core/unit_test/incremental/Test13c_ParallelRed_ThreadVectorRange.hpp @@ -57,10 +57,10 @@ namespace Test { template struct Hierarchical_Red_C { void run(const int pN, const int sX, const int sY) { - typedef Kokkos::TeamPolicy team_policy; - typedef typename Kokkos::TeamPolicy::member_type member_type; + using team_policy = Kokkos::TeamPolicy; + using member_type = typename Kokkos::TeamPolicy::member_type; - typedef Kokkos::View viewDataType; + using viewDataType = Kokkos::View; viewDataType v("Vector", pN); Kokkos::parallel_for( diff --git a/lib/kokkos/core/unit_test/incremental/Test14_MDRangeReduce.hpp b/lib/kokkos/core/unit_test/incremental/Test14_MDRangeReduce.hpp new file mode 100644 index 0000000000000000000000000000000000000000..d227e834dc64607c4ca01127228527dc71e9e918 --- /dev/null +++ b/lib/kokkos/core/unit_test/incremental/Test14_MDRangeReduce.hpp @@ -0,0 +1,182 @@ +/* +//@HEADER +// ************************************************************************ +// +// Kokkos v. 3.0 +// Copyright (2020) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). +// +// Under the terms of Contract DE-NA0003525 with NTESS, +// the U.S. Government retains certain rights in this software. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// +// 3. Neither the name of the Corporation nor the names of the +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY +// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE +// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// +// Questions? Contact Christian R. Trott (crtrott@sandia.gov) +// +// ************************************************************************ +//@HEADER +*/ + +/// @Kokkos_Feature_Level_Required:14 +// Incremental test for MDRange reduction . +// Reduction is tested with scalar, view and a customized reduction. + +#include +#include + +namespace Test { +using value_type = double; +const int N = 10; +const int M = 10; + +// A structure for complex number. +struct MyComplex { + value_type _re, _im; + + MyComplex() = default; + + KOKKOS_INLINE_FUNCTION + MyComplex(value_type re, value_type im) : _re(re), _im(im) {} + + KOKKOS_INLINE_FUNCTION + MyComplex(const MyComplex& src) : _re(src._re), _im(src._im) {} + + KOKKOS_INLINE_FUNCTION + void operator+=(const MyComplex& src) { + _re += src._re; + _im += src._im; + } + + KOKKOS_INLINE_FUNCTION + void operator+=(const volatile MyComplex& src) volatile { + _re += src._re; + _im += src._im; + } +}; + +template +struct TestMDRangeReduce { + // 1D View of double + using View_1D = typename Kokkos::View; + + // 2D View of double + using View_2D = typename Kokkos::View; + + // Index Type for the iterator + using int_index = Kokkos::IndexType; + + // An MDRangePolicy for 2 nested loops + using MDPolicyType_2D = typename Kokkos::Experimental::MDRangePolicy< + ExecSpace, Kokkos::Experimental::Rank<2>, int_index>; + + // 1D - complex View + using Complex_View_1D = typename Kokkos::View; + + // Reduction when ExecPolicy = MDRangePolicy and ReducerArgument = + // scalar/1-element view + void reduce_MDRange() { + View_2D d_data("d_data", N, M); + + MDPolicyType_2D mdPolicy_2D({0, 0}, {N, M}); + + // Store the reduced value. + value_type d_result = 0.0, h_result = 0.0; + Kokkos::View d_resultView("result View"); + + // Compute reference solution on the host. + for (int i = 0; i < N; ++i) + for (int j = 0; j < M; ++j) h_result += i * j; + h_result *= 0.5; + + // Fill data. + Kokkos::parallel_for( + mdPolicy_2D, KOKKOS_LAMBDA(const int i, const int j) { + d_data(i, j) = i * j * 0.5; + }); + + // Parallel reduce on a scalar. + Kokkos::parallel_reduce( + mdPolicy_2D, + KOKKOS_LAMBDA(const int i, const int j, value_type& update_value) { + update_value += d_data(i, j); + }, + d_result); + + // Parallel reduce on a view. + Kokkos::parallel_reduce( + mdPolicy_2D, + KOKKOS_LAMBDA(const int i, const int j, value_type& update_value) { + update_value += d_data(i, j); + }, + d_resultView); + + // Check correctness. + ASSERT_EQ(h_result, d_result); + + // Copy view back to host. + value_type view_result = 0.0; + Kokkos::deep_copy(view_result, d_resultView); + ASSERT_EQ(h_result, view_result); + } + + // Custom Reduction + void reduce_custom() { + Complex_View_1D d_data("complex array", N); + MyComplex result(0.0, 0.0); + int sum = 0; + + // Fill data + Kokkos::parallel_for( + Kokkos::RangePolicy(0, N), KOKKOS_LAMBDA(const int i) { + d_data(i) = MyComplex(i * 0.5, -i * 0.5); + }); + + // Reduction for complex number. + Kokkos::parallel_reduce( + Kokkos::RangePolicy(0, N), + KOKKOS_LAMBDA(const int i, MyComplex& update_value) { + update_value += d_data(i); + }, + result); + + // Correctness Check + for (int i = 0; i < N; ++i) sum += i; + + ASSERT_EQ(result._re, sum * 0.5); + ASSERT_EQ(result._im, -sum * 0.5); + } +}; + +// Reductions tests for MDRange policy and customized reduction. +TEST(TEST_CATEGORY, incr_14_MDrangeReduce) { + TestMDRangeReduce test; + test.reduce_MDRange(); + test.reduce_custom(); +} + +} // namespace Test diff --git a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutRight_Rank1.cpp b/lib/kokkos/core/unit_test/incremental/Test16_ParallelScan.hpp similarity index 60% rename from lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutRight_Rank1.cpp rename to lib/kokkos/core/unit_test/incremental/Test16_ParallelScan.hpp index 24dc52eef4c48a32ccd457aaedb2651c5e726489..e1f5e3767cbc2d45f52ab41dd7220ba68eb4090b 100644 --- a/lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutRight_Rank1.cpp +++ b/lib/kokkos/core/unit_test/incremental/Test16_ParallelScan.hpp @@ -1,3 +1,4 @@ +/* //@HEADER // ************************************************************************ // @@ -8,8 +9,6 @@ // Under the terms of Contract DE-NA0003525 with NTESS, // the U.S. Government retains certain rights in this software. // -// Kokkos is licensed under 3-clause BSD terms of use: -// // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are // met: @@ -41,15 +40,60 @@ // // ************************************************************************ //@HEADER +*/ -#define KOKKOS_IMPL_COMPILING_LIBRARY true #include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutRight, LayoutRight, Threads, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutRight, LayoutLeft, Threads, int) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(float*, LayoutRight, LayoutStride, Threads, int) -KOKKOS_IMPL_VIEWFILL_ETI_INST(float*, LayoutRight, Threads, int) - -} // namespace Impl -} // namespace Kokkos +#include + +/// @Kokkos_Feature_Level_Required:16 +// Incremental test for parallel_scan. +// perform scan on a 1D view of double's and check for correctness. + +namespace Test { + +using value_type = double; +const int N = 10; + +template +struct TestScan { + // 1D View of double + using View_1D = typename Kokkos::View; + + void parallel_scan() { + View_1D d_data("data", N); + + // Initialize data. + Kokkos::parallel_for( + Kokkos::RangePolicy(0, N), + KOKKOS_LAMBDA(const int i) { d_data(i) = i * 0.5; }); + + // Exclusive parallel_scan call. + Kokkos::parallel_scan( + Kokkos::RangePolicy(0, N), + KOKKOS_LAMBDA(const int i, value_type &update_value, const bool final) { + const value_type val_i = d_data(i); + if (final) d_data(i) = update_value; + + update_value += val_i; + }); + + // Copy back the data. + auto h_data = + Kokkos::create_mirror_view_and_copy(Kokkos::HostSpace(), d_data); + + // Check Correctness + ASSERT_EQ(h_data(0), 0.0); + value_type upd = h_data(0); + for (int i = 1; i < N; ++i) { + upd += (i - 1) * 0.5; + ASSERT_EQ(h_data(i), upd); + } + } +}; + +TEST(TEST_CATEGORY, IncrTest_16_parallelscan) { + TestScan test; + test.parallel_scan(); +} + +} // namespace Test diff --git a/lib/kokkos/core/unit_test/incremental/Test17_CompleteAtomic.hpp b/lib/kokkos/core/unit_test/incremental/Test17_CompleteAtomic.hpp new file mode 100644 index 0000000000000000000000000000000000000000..6ba5adc618717647b655c6f9654e291cbbf9cb56 --- /dev/null +++ b/lib/kokkos/core/unit_test/incremental/Test17_CompleteAtomic.hpp @@ -0,0 +1,126 @@ +/* +//@HEADER +// ************************************************************************ +// +// Kokkos v. 3.0 +// Copyright (2020) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). +// +// Under the terms of Contract DE-NA0003525 with NTESS, +// the U.S. Government retains certain rights in this software. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// +// 3. Neither the name of the Corporation nor the names of the +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY +// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE +// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// +// Questions? Contact Christian R. Trott (crtrott@sandia.gov) +// +// ************************************************************************ +//@HEADER +*/ + +#include +#include +#include +#include + +/// @Kokkos_Feature_Level_Required:17 +// Incremental test for atomic views. +// In this test we sort N integers into num_buckets number of buckets based on +// their rermainder, i.e., a histogram based on remainder. Since the number of +// integers is greater than the number of buckets, we use atomic views for the +// sorted histogram. + +namespace Test { + +using value_type = int; +const int N = 1000; +const int num_buckets = 10; + +template +struct TestAtomicView { + // 1D View of int + using View = typename Kokkos::View; + + // 1D atomic view + using atomic_view = + typename Kokkos::View >; + + void atomicView() { + // Use default_random_engine object to introduce randomness. + std::default_random_engine generator; + // Initialize uniform_int_distribution class. + std::uniform_int_distribution distribution(0, N); + + // Device and Host views of N number of integers + View d_data("deviceData_1D", N); + auto h_data = create_mirror_view(d_data); + + // Atomic Device and Host views of histogram + atomic_view d_hist("histogram", num_buckets); + auto h_hist = create_mirror_view(d_hist); + + // An array to store correct results for verification + std::array correct_results; + + // Initialize host side histogram arrays + for (int i = 0; i < num_buckets; ++i) { + h_hist(i) = 0; + correct_results[i] = 0; + } + + // Fill host data with integers from the distribution object. + for (int i = 0; i < N; ++i) h_data(i) = distribution(generator); + + // Copy data from host to device + Kokkos::deep_copy(d_data, h_data); + Kokkos::deep_copy(d_hist, h_hist); + + // Update histogram + Kokkos::parallel_for( + Kokkos::RangePolicy(0, N), + KOKKOS_LAMBDA(const int i) { d_hist(d_data(i) % num_buckets)++; }); + + // Perform the same computation on host for correctness test. + for (int i = 0; i < N; ++i) correct_results[h_data(i) % num_buckets]++; + + // Copy the histogram back to host + Kokkos::deep_copy(h_hist, d_hist); + + // Validate results + for (int i = 0; i < num_buckets; ++i) + ASSERT_EQ(correct_results[i], h_hist(i)); + } +}; + +// atomic view tests +TEST(TEST_CATEGORY, incr_17_atomicView) { + TestAtomicView test; + test.atomicView(); +} + +} // namespace Test diff --git a/lib/kokkos/core/unit_test/openmp/TestOpenMP.hpp b/lib/kokkos/core/unit_test/openmp/TestOpenMP.hpp index 082657c28f738333040f8b11b2663bd4f960b3a3..d76832ffee1521e6fbdb8c16650de2ac351cb44f 100644 --- a/lib/kokkos/core/unit_test/openmp/TestOpenMP.hpp +++ b/lib/kokkos/core/unit_test/openmp/TestOpenMP.hpp @@ -56,7 +56,6 @@ #include -#include #include #include #include diff --git a/lib/kokkos/core/unit_test/openmp/TestOpenMP_Other.cpp b/lib/kokkos/core/unit_test/openmp/TestOpenMP_Other.cpp index 7043432517b407a9c9d097f0d166664a7b84b9a1..b2129f5c8e95ca4c8690071c07b0af3df146b67f 100644 --- a/lib/kokkos/core/unit_test/openmp/TestOpenMP_Other.cpp +++ b/lib/kokkos/core/unit_test/openmp/TestOpenMP_Other.cpp @@ -48,7 +48,6 @@ #include #include #include -#include #include #include @@ -64,24 +63,14 @@ TEST(openmp, partition_master) { int errors = 0; auto master = [&errors, &mtx](int /*partition_id*/, int /*num_partitions*/) { - -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - const int pool_size = Kokkos::OpenMP::thread_pool_size(); -#else const int pool_size = Kokkos::OpenMP::impl_thread_pool_size(); -#endif { std::unique_lock lock(mtx); if (Kokkos::OpenMP::in_parallel()) { ++errors; } -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - if (Kokkos::OpenMP::thread_pool_rank() != 0) -#else - if (Kokkos::OpenMP::impl_thread_pool_rank() != 0) -#endif - { + if (Kokkos::OpenMP::impl_thread_pool_rank() != 0) { ++errors; } } @@ -91,12 +80,7 @@ TEST(openmp, partition_master) { Kokkos::parallel_reduce( Kokkos::RangePolicy(0, 1000), [pool_size](const int, int& errs) { -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - if (Kokkos::OpenMP::thread_pool_size() != pool_size) -#else - if (Kokkos::OpenMP::impl_thread_pool_size() != pool_size) -#endif - { + if (Kokkos::OpenMP::impl_thread_pool_size() != pool_size) { ++errs; } }, diff --git a/lib/kokkos/core/unit_test/openmp/TestOpenMP_ViewLayoutStrideAssignment.cpp b/lib/kokkos/core/unit_test/openmp/TestOpenMP_ViewLayoutStrideAssignment.cpp index 90e90139c19ade97ad627627d1efc63e77034c0f..349da68900c65d4113bbef13554165ac1613a5d3 100644 --- a/lib/kokkos/core/unit_test/openmp/TestOpenMP_ViewLayoutStrideAssignment.cpp +++ b/lib/kokkos/core/unit_test/openmp/TestOpenMP_ViewLayoutStrideAssignment.cpp @@ -44,3 +44,4 @@ #include #include +#include diff --git a/lib/kokkos/core/unit_test/openmptarget/TestOpenMPTarget.hpp b/lib/kokkos/core/unit_test/openmptarget/TestOpenMPTarget.hpp index 0e9ad3e24ff72ef09a82ee5486440eab5d4192ae..664b718b9445df0e495d072f9fbc068783847fb6 100644 --- a/lib/kokkos/core/unit_test/openmptarget/TestOpenMPTarget.hpp +++ b/lib/kokkos/core/unit_test/openmptarget/TestOpenMPTarget.hpp @@ -56,7 +56,6 @@ #include -#include //#include //#include //#include diff --git a/lib/kokkos/core/unit_test/openmptarget/TestOpenMPTarget_Other.cpp b/lib/kokkos/core/unit_test/openmptarget/TestOpenMPTarget_Other.cpp index aba91aee2b3c49297878399d9129354294e3d209..bdae00ef45ebdd90a6c829ac5cd866048d0dd4f5 100644 --- a/lib/kokkos/core/unit_test/openmptarget/TestOpenMPTarget_Other.cpp +++ b/lib/kokkos/core/unit_test/openmptarget/TestOpenMPTarget_Other.cpp @@ -48,4 +48,3 @@ #include #include #include -#include diff --git a/lib/kokkos/core/unit_test/openmptarget/TestOpenMPTarget_Reductions.cpp b/lib/kokkos/core/unit_test/openmptarget/TestOpenMPTarget_Reductions.cpp index af1d06f0c1a59215ec86a78f72f63be63893cabd..687e52d43cd67d5febb60941bc3c542260dfe948 100644 --- a/lib/kokkos/core/unit_test/openmptarget/TestOpenMPTarget_Reductions.cpp +++ b/lib/kokkos/core/unit_test/openmptarget/TestOpenMPTarget_Reductions.cpp @@ -43,5 +43,6 @@ */ #include -#include +// WORKAROUND OPENMPTARGET: Not implemented +// #include #include diff --git a/lib/kokkos/core/unit_test/openmptarget/TestOpenMPTarget_TeamReductionScan.cpp b/lib/kokkos/core/unit_test/openmptarget/TestOpenMPTarget_TeamReductionScan.cpp index e882cd1b2eaaeff08ac0cee8f41c6cdeb64f1f34..f544148a0897d4d641daa7ec347384c4be6608cc 100644 --- a/lib/kokkos/core/unit_test/openmptarget/TestOpenMPTarget_TeamReductionScan.cpp +++ b/lib/kokkos/core/unit_test/openmptarget/TestOpenMPTarget_TeamReductionScan.cpp @@ -56,6 +56,8 @@ TEST(TEST_CATEGORY, team_scan) { TestScanTeam >(10000); } +// WORKAROUND OPENMPTARGET: not supported yet +/* TEST(TEST_CATEGORY, team_long_reduce) { TestReduceTeam >(0); TestReduceTeam >(0); @@ -77,5 +79,5 @@ TEST(TEST_CATEGORY, team_double_reduce) { TestReduceTeam >( 100000); } - +*/ } // namespace Test diff --git a/lib/kokkos/core/unit_test/openmptarget/TestOpenMPTarget_ViewLayoutStrideAssignment.cpp b/lib/kokkos/core/unit_test/openmptarget/TestOpenMPTarget_ViewLayoutStrideAssignment.cpp index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..a41d1bc88d816d37d6f019f735ec2ca811763dc8 100644 --- a/lib/kokkos/core/unit_test/openmptarget/TestOpenMPTarget_ViewLayoutStrideAssignment.cpp +++ b/lib/kokkos/core/unit_test/openmptarget/TestOpenMPTarget_ViewLayoutStrideAssignment.cpp @@ -0,0 +1,47 @@ +/* +//@HEADER +// ************************************************************************ +// +// Kokkos v. 3.0 +// Copyright (2020) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). +// +// Under the terms of Contract DE-NA0003525 with NTESS, +// the U.S. Government retains certain rights in this software. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// +// 3. Neither the name of the Corporation nor the names of the +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY +// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE +// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// +// Questions? Contact Christian R. Trott (crtrott@sandia.gov) +// +// ************************************************************************ +//@HEADER +*/ + +#include +#include +#include diff --git a/lib/kokkos/core/unit_test/rocm/TestROCm_Other.cpp b/lib/kokkos/core/unit_test/rocm/TestROCm_Other.cpp index b6240a1b5a9d51555621c0e963d2239ebb951b10..c9e7e31aceb40c70d982f1abc5ea864637c69113 100644 --- a/lib/kokkos/core/unit_test/rocm/TestROCm_Other.cpp +++ b/lib/kokkos/core/unit_test/rocm/TestROCm_Other.cpp @@ -48,6 +48,5 @@ #include // include #include -#include #include diff --git a/lib/kokkos/core/unit_test/serial/TestSerial_Other.cpp b/lib/kokkos/core/unit_test/serial/TestSerial_Other.cpp index ea4ac4e4cbe304116a2e4d1429d3cb2e31b77319..dacba2374290efd22be4098bc20c2f38bf6a6d19 100644 --- a/lib/kokkos/core/unit_test/serial/TestSerial_Other.cpp +++ b/lib/kokkos/core/unit_test/serial/TestSerial_Other.cpp @@ -48,7 +48,6 @@ #include #include #include -#include #include #include diff --git a/lib/kokkos/core/unit_test/serial/TestSerial_ViewLayoutStrideAssignment.cpp b/lib/kokkos/core/unit_test/serial/TestSerial_ViewLayoutStrideAssignment.cpp index 37c3126c5069199098fafe39b691c6fa8de89e00..16e8de7f5159860f6d0f8e96ae74bc91a16310e9 100644 --- a/lib/kokkos/core/unit_test/serial/TestSerial_ViewLayoutStrideAssignment.cpp +++ b/lib/kokkos/core/unit_test/serial/TestSerial_ViewLayoutStrideAssignment.cpp @@ -44,3 +44,4 @@ #include #include +#include diff --git a/lib/kokkos/core/unit_test/threads/TestThreads_Other.cpp b/lib/kokkos/core/unit_test/threads/TestThreads_Other.cpp index 01a07896b32341e9cb94b9c15f558672b5ebda6c..b92e4005c85539e0f87cfd20bb29d5d1f27da46a 100644 --- a/lib/kokkos/core/unit_test/threads/TestThreads_Other.cpp +++ b/lib/kokkos/core/unit_test/threads/TestThreads_Other.cpp @@ -48,7 +48,6 @@ #include #include #include -#include #include #include diff --git a/lib/kokkos/core/unit_test/threads/TestThreads_ViewLayoutStrideAssignment.cpp b/lib/kokkos/core/unit_test/threads/TestThreads_ViewLayoutStrideAssignment.cpp index 0b54784d959248992444cfc526f0d7c27bd42ebf..9202511e349b9069159a671a8983fcecf35e06dd 100644 --- a/lib/kokkos/core/unit_test/threads/TestThreads_ViewLayoutStrideAssignment.cpp +++ b/lib/kokkos/core/unit_test/threads/TestThreads_ViewLayoutStrideAssignment.cpp @@ -44,3 +44,4 @@ #include #include +#include diff --git a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutStride_Rank4.cpp b/lib/kokkos/core/unit_test/tools/TestAllCalls.cpp similarity index 50% rename from lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutStride_Rank4.cpp rename to lib/kokkos/core/unit_test/tools/TestAllCalls.cpp index a9b1b6d4090ea25ff88401b82f9032d8faf46db5..7e37816c5dc26286cb267dba327de205a75e3ecf 100644 --- a/lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutStride_Rank4.cpp +++ b/lib/kokkos/core/unit_test/tools/TestAllCalls.cpp @@ -1,3 +1,4 @@ +/* //@HEADER // ************************************************************************ // @@ -8,8 +9,6 @@ // Under the terms of Contract DE-NA0003525 with NTESS, // the U.S. Government retains certain rights in this software. // -// Kokkos is licensed under 3-clause BSD terms of use: -// // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are // met: @@ -41,18 +40,50 @@ // // ************************************************************************ //@HEADER +*/ + +// This file calls most of the basic Kokkos primitives. When combined with a +// testing library this tests that our shared-library loading based profiling +// mechanisms work -#define KOKKOS_IMPL_COMPILING_LIBRARY true +#include #include -namespace Kokkos { -namespace Impl { -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutStride, LayoutRight, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutStride, LayoutLeft, Serial, - int64_t) -KOKKOS_IMPL_VIEWCOPY_ETI_INST(int****, LayoutStride, LayoutStride, Serial, - int64_t) -KOKKOS_IMPL_VIEWFILL_ETI_INST(int****, LayoutStride, Serial, int64_t) -} // namespace Impl -} // namespace Kokkos +int main() { + Kokkos::initialize(); + { + // This test only uses host kernel launch mechanisms. This is to allow for + // the test to run on platforms where CUDA lambda launch isn't supported. + // This is safe because this test only seeks to test that the dlsym-based + // tool loading mechanisms work, all of which happens completely + // independently of the enabled backends + using execution_space = Kokkos::DefaultHostExecutionSpace; + using memory_space = typename execution_space::memory_space; + Kokkos::View src_view("source", 10); + Kokkos::View dst_view("destination", 10); + Kokkos::deep_copy(dst_view, src_view); + Kokkos::parallel_for("parallel_for", + Kokkos::RangePolicy(0, 1), + [=](int i) { (void)i; }); + int result; + Kokkos::parallel_reduce( + "parallel_reduce", Kokkos::RangePolicy(0, 1), + [=](int i, int& hold_result) { hold_result += i; }, result); + Kokkos::parallel_scan("parallel_scan", + Kokkos::RangePolicy(0, 1), + [=](const int i, int& hold_result, const bool final) { + if (final) { + hold_result += i; + } + }); + Kokkos::Profiling::pushRegion("push_region"); + Kokkos::Profiling::popRegion(); + uint32_t sectionId; + Kokkos::Profiling::createProfileSection("created_section", §ionId); + Kokkos::Profiling::startSection(sectionId); + Kokkos::Profiling::stopSection(sectionId); + Kokkos::Profiling::destroyProfileSection(sectionId); + Kokkos::Profiling::markEvent("profiling_event"); + } + Kokkos::finalize(); +} diff --git a/lib/kokkos/core/unit_test/tools/TestCInterface.c b/lib/kokkos/core/unit_test/tools/TestCInterface.c new file mode 100644 index 0000000000000000000000000000000000000000..66e68154e99eb81d963988e038ca1bfa8d48ad1a --- /dev/null +++ b/lib/kokkos/core/unit_test/tools/TestCInterface.c @@ -0,0 +1,2 @@ +#include +int main(){} diff --git a/lib/kokkos/core/unit_test/tools/TestTuning.cpp b/lib/kokkos/core/unit_test/tools/TestTuning.cpp new file mode 100644 index 0000000000000000000000000000000000000000..1a002e23146fa27804bcf29dfc606c074f7e47cb --- /dev/null +++ b/lib/kokkos/core/unit_test/tools/TestTuning.cpp @@ -0,0 +1,196 @@ +/* +//@HEADER +// ************************************************************************ +// +// Kokkos v. 3.0 +// Copyright (2020) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). +// +// Under the terms of Contract DE-NA0003525 with NTESS, +// the U.S. Government retains certain rights in this software. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// +// 3. Neither the name of the Corporation nor the names of the +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY +// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE +// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// +// Questions? Contact Christian R. Trott (crtrott@sandia.gov) +// +// ************************************************************************ +//@HEADER +*/ + +// This file tests the primitives of the Tuning system + +#include +#include +#include +#include +#include +#include + +static size_t expectedNumberOfContextVariables; +static int64_t expectedContextVariableValue; +static std::unordered_map + candidate_value_map; + +int main() { + Kokkos::initialize(); + { + auto context = Kokkos::Tools::Experimental::get_new_context_id(); + + Kokkos::Tools::Experimental::VariableInfo contextVariableInfo; + + contextVariableInfo.category = Kokkos::Tools::Experimental:: + StatisticalCategory::kokkos_value_categorical; + contextVariableInfo.type = + Kokkos::Tools::Experimental::ValueType::kokkos_value_int64; + contextVariableInfo.valueQuantity = + Kokkos::Tools::Experimental::CandidateValueType::kokkos_value_unbounded; + + Kokkos::Tools::Experimental::VariableInfo tuningVariableInfo; + + tuningVariableInfo.category = Kokkos::Tools::Experimental:: + StatisticalCategory::kokkos_value_categorical; + tuningVariableInfo.type = + Kokkos::Tools::Experimental::ValueType::kokkos_value_int64; + tuningVariableInfo.valueQuantity = + Kokkos::Tools::Experimental::CandidateValueType::kokkos_value_set; + + std::vector candidate_value_vector = {0, 1, 2, 3, 4, + 5, 6, 7, 8, 9}; + + Kokkos::Tools::Experimental::SetOrRange allowed_values = + Kokkos::Tools::Experimental::make_candidate_set( + candidate_value_vector.size(), candidate_value_vector.data()); + // test that ID's are transmitted to the tool + Kokkos::Tools::Experimental::set_declare_output_type_callback( + [](const char*, const size_t, + Kokkos::Tools::Experimental::VariableInfo* info) { + if (info->type != + Kokkos::Tools::Experimental::ValueType::kokkos_value_int64) { + throw(std::runtime_error("Tuning Variable has wrong type")); + } + }); + Kokkos::Tools::Experimental::set_declare_input_type_callback( + [](const char*, const size_t, + Kokkos::Tools::Experimental::VariableInfo* info) { + if (info->type != + Kokkos::Tools::Experimental::ValueType::kokkos_value_int64) { + throw(std::runtime_error("Context Variable has wrong type")); + } + }); + tuningVariableInfo.candidates = allowed_values; + auto contextVariableId = Kokkos::Tools::Experimental::declare_input_type( + "kokkos.testing.context_variable", contextVariableInfo); + auto tuningVariableId = Kokkos::Tools::Experimental::declare_output_type( + "kokkos.testing.tuning_variable", tuningVariableInfo); + + // test that we correctly pass context values, and receive tuning variables + // back in return + Kokkos::Tools::Experimental::VariableValue contextValues[] = { + Kokkos::Tools::Experimental::make_variable_value(contextVariableId, + int64_t(0))}; + Kokkos::Tools::Experimental::set_input_values(context, 1, contextValues); + + Kokkos::Tools::Experimental::set_request_output_values_callback( + [](const size_t, const size_t, + const Kokkos::Tools::Experimental::VariableValue* context_values, + const size_t, + Kokkos::Tools::Experimental::VariableValue* tuning_values) { + auto candidate_values = tuning_values[0].metadata->candidates; + if (context_values[0].value.int_value != + expectedContextVariableValue) { + throw std::runtime_error( + "Context variables not correctly passed to tuning callbacks"); + } + int tuningVariableSetSize = candidate_values.set.size; + std::cout << "Set of size " << tuningVariableSetSize << std::endl; + // tuning methodology via https://xkcd.com/221/ + tuning_values[0].value.int_value = + candidate_values.set.values.int_value[4 % tuningVariableSetSize]; + }); + + Kokkos::Tools::Experimental::VariableValue tuningValues[] = { + Kokkos::Tools::Experimental::make_variable_value(tuningVariableId, + int64_t(0))}; + + Kokkos::Tools::Experimental::request_output_values(context, 1, + tuningValues); + std::cout << tuningValues[0].value.int_value << "," + << candidate_value_vector[4] << std::endl; + if (tuningValues[0].value.int_value != candidate_value_vector[4]) { + throw std::runtime_error("Tuning value return is incorrect"); + } + + Kokkos::Tools::Experimental::end_context(context); + + // test nested contexts + auto outerContext = Kokkos::Tools::Experimental::get_new_context_id(); + auto innerContext = Kokkos::Tools::Experimental::get_new_context_id(); + + Kokkos::Tools::Experimental::VariableInfo secondContextVariableInfo; + + secondContextVariableInfo.category = Kokkos::Tools::Experimental:: + StatisticalCategory::kokkos_value_categorical; + secondContextVariableInfo.type = + Kokkos::Tools::Experimental::ValueType::kokkos_value_int64; + secondContextVariableInfo.valueQuantity = + Kokkos::Tools::Experimental::CandidateValueType::kokkos_value_unbounded; + auto secondContextVariableId = + Kokkos::Tools::Experimental::declare_output_type( + "kokkos.testing.second_context_variable", + secondContextVariableInfo); + + Kokkos::Tools::Experimental::VariableValue contextValueTwo[] = { + Kokkos::Tools::Experimental::make_variable_value( + secondContextVariableId, int64_t(1))}; + + Kokkos::Tools::Experimental::set_request_output_values_callback( + [](const size_t, const size_t num_context_variables, + const Kokkos::Tools::Experimental::VariableValue*, const size_t, + Kokkos::Tools::Experimental::VariableValue*) { + std::cout << "Expect " << expectedNumberOfContextVariables + << ", have " << num_context_variables << std::endl; + if (num_context_variables != expectedNumberOfContextVariables) { + throw( + std::runtime_error("Incorrect number of context variables in " + "nested tuning contexts")); + } + }); + Kokkos::Tools::Experimental::set_input_values(outerContext, 1, + contextValues); + expectedNumberOfContextVariables = 1; + Kokkos::Tools::Experimental::request_output_values(outerContext, 1, + tuningValues); + Kokkos::Tools::Experimental::set_input_values(innerContext, 1, + contextValueTwo); + expectedNumberOfContextVariables = 2; + Kokkos::Tools::Experimental::request_output_values(innerContext, 1, + tuningValues); + } // end Kokkos block + + Kokkos::finalize(); +} diff --git a/lib/kokkos/core/unit_test/tools/printing-tool.cpp b/lib/kokkos/core/unit_test/tools/printing-tool.cpp new file mode 100644 index 0000000000000000000000000000000000000000..c2abada0a921b4a7b403fdd49ef3a6837cc47b58 --- /dev/null +++ b/lib/kokkos/core/unit_test/tools/printing-tool.cpp @@ -0,0 +1,118 @@ + +#include +#include + +struct Kokkos_Profiling_KokkosPDeviceInfo; + +struct SpaceHandle { + char name[64]; +}; + +const int parallel_for_id = 0; +const int parallel_reduce_id = 1; +const int parallel_scan_id = 2; + +extern "C" void kokkosp_init_library( + const int /*loadSeq*/, const uint64_t /*interfaceVer*/, + const uint32_t /*devInfoCount*/, + Kokkos_Profiling_KokkosPDeviceInfo* /* deviceInfo */) { + std::cout << "kokkosp_init_library::"; +} + +extern "C" void kokkosp_finalize_library() { + std::cout << "kokkosp_finalize_library::"; +} + +extern "C" void kokkosp_begin_parallel_for(const char* name, + const uint32_t devID, + uint64_t* kID) { + *kID = parallel_for_id; + std::cout << "kokkosp_begin_parallel_for:" << name << ":" << devID << ":" + << *kID << "::"; +} + +extern "C" void kokkosp_end_parallel_for(const uint64_t kID) { + std::cout << "kokkosp_end_parallel_for:" << kID << "::"; +} + +extern "C" void kokkosp_begin_parallel_scan(const char* name, + const uint32_t devID, + uint64_t* kID) { + *kID = parallel_scan_id; + std::cout << "kokkosp_begin_parallel_scan:" << name << ":" << devID << ":" + << *kID << "::"; +} + +extern "C" void kokkosp_end_parallel_scan(const uint64_t kID) { + std::cout << "kokkosp_end_parallel_scan:" << kID << "::"; +} + +extern "C" void kokkosp_begin_parallel_reduce(const char* name, + const uint32_t devID, + uint64_t* kID) { + *kID = parallel_reduce_id; + std::cout << "kokkosp_begin_parallel_reduce:" << name << ":" << devID << ":" + << *kID << "::"; +} + +extern "C" void kokkosp_end_parallel_reduce(const uint64_t kID) { + std::cout << "kokkosp_end_parallel_reduce:" << kID << "::"; +} + +extern "C" void kokkosp_push_profile_region(char* regionName) { + std::cout << "kokkosp_push_profile_region:" << regionName << "::"; +} + +extern "C" void kokkosp_pop_profile_region() { + std::cout << "kokkosp_pop_profile_region::"; +} + +extern "C" void kokkosp_allocate_data(SpaceHandle handle, const char* name, + void* ptr, uint64_t size) { + std::cout << "kokkosp_allocate_data:" << handle.name << ":" << name << ":" + << ptr << ":" << size << "::"; +} + +extern "C" void kokkosp_deallocate_data(SpaceHandle handle, const char* name, + void* ptr, uint64_t size) { + std::cout << "kokkosp_deallocate_data:" << handle.name << ":" << name << ":" + << ptr << ":" << size << "::"; +} + +extern "C" void kokkosp_begin_deep_copy(SpaceHandle dst_handle, + const char* dst_name, + const void* dst_ptr, + SpaceHandle src_handle, + const char* src_name, + const void* src_ptr, uint64_t size) { + std::cout << "kokkosp_begin_deep_copy:" << dst_handle.name << ":" << dst_name + << ":" << dst_ptr << ":" << src_handle.name << ":" << src_name + << ":" << src_ptr << ":" << size << "::"; +} + +extern "C" void kokkosp_end_deep_copy() { + std::cout << "kokkosp_end_deep_copy::"; +} + +uint32_t section_id = 3; +extern "C" void kokkosp_create_profile_section(const char* name, + uint32_t* sec_id) { + *sec_id = section_id; + std::cout << "kokkosp_create_profile_section:" << name << ":" << *sec_id + << "::"; +} + +extern "C" void kokkosp_start_profile_section(uint32_t sec_id) { + std::cout << "kokkosp_start_profile_section:" << sec_id << "::"; +} + +extern "C" void kokkosp_stop_profile_section(uint32_t sec_id) { + std::cout << "kokkosp_stop_profile_section:" << sec_id << "::"; +} +extern "C" void kokkosp_destroy_profile_section(uint32_t sec_id) { + std::cout << "kokkosp_destroy_profile_section:" << sec_id << "::"; +} + +extern "C" void kokkosp_profile_event(const char* name) { + std::cout << "kokkosp_profile_event:" << name << "::"; +} diff --git a/lib/kokkos/example/CMakeLists.txt b/lib/kokkos/example/CMakeLists.txt index 34157329d09b349debe094768d85a36b9f932cc5..3db566f83f923947af5993ccb0156a5836296548 100644 --- a/lib/kokkos/example/CMakeLists.txt +++ b/lib/kokkos/example/CMakeLists.txt @@ -5,8 +5,7 @@ KOKKOS_SUBPACKAGE(Example) KOKKOS_ADD_EXAMPLE_DIRECTORIES(query_device) -if(NOT Kokkos_ENABLE_CUDA) - KOKKOS_ADD_EXAMPLE_DIRECTORIES(tutorial) -endif() +KOKKOS_ADD_EXAMPLE_DIRECTORIES(tutorial) + KOKKOS_SUBPACKAGE_POSTPROCESS() diff --git a/lib/kokkos/example/build_cmake_in_tree/CMakeLists.txt b/lib/kokkos/example/build_cmake_in_tree/CMakeLists.txt index 8e1aa047279e8cb3477a8ecb65883156d23fb21c..7217807072c7fa3fe1dd3b9d0656e9733c34bed8 100644 --- a/lib/kokkos/example/build_cmake_in_tree/CMakeLists.txt +++ b/lib/kokkos/example/build_cmake_in_tree/CMakeLists.txt @@ -1,44 +1,19 @@ -# Kokkos requires CMake version 3.1 or higher and that you have the following -# line with a version of 3.1 or higher as the first line of your project: -# cmake_minimum_required(VERSION 3.1) -# -# The other CMake commands required to build Kokkos as part of your application -# are: -# add_subdirectory(path/to/kokkos) -# target_link_libraries(executable or library) -# -# If Kokkos is not a subdirectory of your project, you will also need to pass a -# binary directory to add_subdirectory(). We had to pass the binary directory -# for this example for that reason. Note that target_link_libraries() can be -# called on a target added by add_executable(), add_library(), or another -# similar command. -# -# All the flags, etc. required to build using the Kokkos library are -# transitively added to targets which depend on the library. -# -# The CMake variables CMAKE_CXX_STANDARD and CMAKE_CXX_EXTENSIONS are -# respected. We recommend that you set CMAKE_CXX_EXTENSIONS to OFF. -# Otherwise, CMake defaults to using extensions for the C++ standard, and the -# GNU extensions (-std=gnu++11) will be used for compilers that support it -# instead of standard C++11 (-std=c++11). -# -# A bunch of build options are added as variables (all starting with KOKKOS_) -# to the build. Check them out using ccmake or the CMake GUI. -# -# Building this example: -# 1. Create a build directory. -# 2. cd /path/to/build/directory -# 3. cmake /path/to/example -# 4. make +# Kokkos minimally requires 3.10 right now, +# but your project can set it higher +cmake_minimum_required(VERSION 3.10) -cmake_minimum_required(VERSION 3.1) -project(Example CXX C Fortran) - -list(APPEND CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} -O3) +# Project can mix languages - must have C++ support +# Kokkos flags are only applied to C++ files +project(Example CXX) +# We build kokkos as a subdirectory of our project add_subdirectory(${Example_SOURCE_DIR}/../.. ${Example_BINARY_DIR}/kokkos) -include_directories(${Kokkos_INCLUDE_DIRS_RET}) +add_executable(example cmake_example.cpp) + +# This is the only line required to set up all compiler/linker flags +target_link_libraries(example Kokkos::kokkos) -add_executable(example cmake_example.cpp foo.f) -target_link_libraries(example kokkos) +# Adds a test for the executable +enable_testing() +add_test(NAME KokkosInTree_Verify COMMAND example 10) diff --git a/lib/kokkos/example/build_cmake_in_tree/cmake_example.cpp b/lib/kokkos/example/build_cmake_in_tree/cmake_example.cpp index 63875d013f8819883725def3068d8b17e108deb4..b0fd9822a492aa55a797dd76277e775a8afcbd24 100644 --- a/lib/kokkos/example/build_cmake_in_tree/cmake_example.cpp +++ b/lib/kokkos/example/build_cmake_in_tree/cmake_example.cpp @@ -45,8 +45,6 @@ #include #include -extern "C" void print_fortran_(); - int main(int argc, char* argv[]) { Kokkos::initialize(argc, argv); Kokkos::DefaultExecutionSpace::print_configuration(std::cout); @@ -84,8 +82,6 @@ int main(int argc, char* argv[]) { count_time = timer.seconds(); printf("Sequential: %ld %10.6f\n", seq_count, count_time); - print_fortran_(); - Kokkos::finalize(); return (count == seq_count) ? 0 : -1; diff --git a/lib/kokkos/example/build_cmake_in_tree/foo.f b/lib/kokkos/example/build_cmake_in_tree/foo.f deleted file mode 100644 index e618455283b65602d98a5de00c8dc2abc6b0f8c2..0000000000000000000000000000000000000000 --- a/lib/kokkos/example/build_cmake_in_tree/foo.f +++ /dev/null @@ -1,4 +0,0 @@ - FUNCTION print_fortran() - PRINT *, 'Hello World from Fortran' - RETURN - END diff --git a/lib/kokkos/example/build_cmake_installed/CMakeLists.txt b/lib/kokkos/example/build_cmake_installed/CMakeLists.txt index 7fdb94d4546522cf9902cd7f8e27b9566eb88cce..7998d2914d586a8725d39992a53cfa56ed436ad5 100644 --- a/lib/kokkos/example/build_cmake_installed/CMakeLists.txt +++ b/lib/kokkos/example/build_cmake_installed/CMakeLists.txt @@ -1,42 +1,24 @@ -# Kokkos requires CMake version 3.1 or higher and that you have the following -# line with a version of 3.1 or higher as the first line of your project: -# cmake_minimum_required(VERSION 3.1) -# -# The other CMake commands required to build Kokkos as part of your application -# are: -# add_subdirectory(path/to/kokkos) -# target_link_libraries(executable or library) -# -# If Kokkos is not a subdirectory of your project, you will also need to pass a -# binary directory to add_subdirectory(). We had to pass the binary directory -# for this example for that reason. Note that target_link_libraries() can be -# called on a target added by add_executable(), add_library(), or another -# similar command. -# -# All the flags, etc. required to build using the Kokkos library are -# transitively added to targets which depend on the library. -# -# The CMake variables CMAKE_CXX_STANDARD and CMAKE_CXX_EXTENSIONS are -# respected. We recommend that you set CMAKE_CXX_EXTENSIONS to OFF. -# Otherwise, CMake defaults to using extensions for the C++ standard, and the -# GNU extensions (-std=gnu++11) will be used for compilers that support it -# instead of standard C++11 (-std=c++11). -# -# A bunch of build options are added as variables (all starting with KOKKOS_) -# to the build. Check them out using ccmake or the CMake GUI. -# -# Building this example: -# 1. Create a build directory. -# 2. cd /path/to/build/directory -# 3. cmake /path/to/example -# 4. make +# Kokkos minimally requires 3.10 right now, +# but your project can set it higher +cmake_minimum_required(VERSION 3.10) -cmake_minimum_required(VERSION 3.12) -project(Example CXX C Fortran) +# Projects can safely mix languages - must have C++ support +# Kokkos flags will only apply to C++ files +project(Example CXX Fortran) -list(APPEND CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} -O3) +# You need this for using Kokkos_ROOT variable +if(CMAKE_VERSION VERSION_GREATER_EQUAL "3.12.0") + message(STATUS "Setting policy CMP0074 to use _ROOT variables") + cmake_policy(SET CMP0074 NEW) +endif() -find_package(Kokkos) +# Look for an installed Kokkos +find_package(Kokkos REQUIRED) add_executable(example cmake_example.cpp foo.f) + +# This is the only thing required to set up compiler/linker flags target_link_libraries(example Kokkos::kokkos) + +enable_testing() +add_test(NAME KokkosInTree_Verify COMMAND example 10) diff --git a/lib/kokkos/example/build_cmake_installed/cmake_example.cpp b/lib/kokkos/example/build_cmake_installed/cmake_example.cpp index 63875d013f8819883725def3068d8b17e108deb4..fd05172cb83ff3052b0a054e2a72475825555d93 100644 --- a/lib/kokkos/example/build_cmake_installed/cmake_example.cpp +++ b/lib/kokkos/example/build_cmake_installed/cmake_example.cpp @@ -47,6 +47,12 @@ extern "C" void print_fortran_(); +struct CountFunctor { + KOKKOS_FUNCTION void operator()(const long i, long& lcount) const { + lcount += (i % 2) == 0; + } +}; + int main(int argc, char* argv[]) { Kokkos::initialize(argc, argv); Kokkos::DefaultExecutionSpace::print_configuration(std::cout); @@ -66,9 +72,8 @@ int main(int argc, char* argv[]) { // Compute the number of even integers from 0 to n-1, in parallel. long count = 0; - Kokkos::parallel_reduce( - n, KOKKOS_LAMBDA(const long i, long& lcount) { lcount += (i % 2) == 0; }, - count); + CountFunctor functor; + Kokkos::parallel_reduce(n, functor, count); double count_time = timer.seconds(); printf(" Parallel: %ld %10.6f\n", count, count_time); diff --git a/lib/kokkos/example/make_buildlink/main.cpp b/lib/kokkos/example/make_buildlink/main.cpp index d963002034ec2d3b3ad3d521625386188f9448b0..2dbfb2687c118ba57a3b57d4dceaae6ffee2bea4 100644 --- a/lib/kokkos/example/make_buildlink/main.cpp +++ b/lib/kokkos/example/make_buildlink/main.cpp @@ -3,9 +3,9 @@ int main(int argc, char* argv[]) { Kokkos::initialize(argc, argv); { - int N = (argc > 1) ? atoi(argv[1]) : 10000; - int M = (argc > 2) ? atoi(argv[2]) : 10000; - int R = (argc > 3) ? atoi(argv[3]) : 10; + int N = (argc > 1) ? std::stoi(argv[1]) : 10000; + int M = (argc > 2) ? std::stoi(argv[2]) : 10000; + int R = (argc > 3) ? std::stoi(argv[3]) : 10; printf("Called with: %i %i %i\n", N, M, R); } diff --git a/lib/kokkos/example/tutorial/01_hello_world/hello_world.cpp b/lib/kokkos/example/tutorial/01_hello_world/hello_world.cpp index 00adbc78bc47a34e0911abdd5095b01aa28b6402..bdb630a1ad9a1b77c91989272c65ab84218afcdf 100644 --- a/lib/kokkos/example/tutorial/01_hello_world/hello_world.cpp +++ b/lib/kokkos/example/tutorial/01_hello_world/hello_world.cpp @@ -67,10 +67,10 @@ // instance method. struct hello_world { // If a functor has an "execution_space" (or "execution_space", for - // backwards compatibility) public typedef, parallel_* will only run + // backwards compatibility) public alias, parallel_* will only run // the functor in that execution space. That's a good way to mark a // functor as specific to an execution space. If the functor lacks - // this typedef, parallel_for will run it in the default execution + // this alias, parallel_for will run it in the default execution // space, unless you tell it otherwise (that's an advanced topic; // see "execution policies"). @@ -107,7 +107,7 @@ int main(int argc, char* argv[]) { // Run the above functor on the default Kokkos execution space in // parallel, with a parallel for loop count of 15. // - // The Kokkos::DefaultExecutionSpace typedef gives the default + // The Kokkos::DefaultExecutionSpace alias gives the default // execution space. Depending on how Kokkos was configured, this // could be OpenMP, Threads, Cuda, Serial, or even some other // execution space. diff --git a/lib/kokkos/example/tutorial/02_simple_reduce/simple_reduce.cpp b/lib/kokkos/example/tutorial/02_simple_reduce/simple_reduce.cpp index 01abd3d3bfac03191583698f2d4ee41067743c16..2b7668e515bcbb83ec0c073ebb1422df9a85ba7a 100644 --- a/lib/kokkos/example/tutorial/02_simple_reduce/simple_reduce.cpp +++ b/lib/kokkos/example/tutorial/02_simple_reduce/simple_reduce.cpp @@ -63,8 +63,8 @@ // it defaults to binary operator+ (adding numbers together). struct squaresum { // Specify the type of the reduction value with a "value_type" - // typedef. In this case, the reduction value has type int. - typedef int value_type; + // alias. In this case, the reduction value has type int. + using value_type = int; // The reduction functor's operator() looks a little different than // the parallel_for functor's operator(). For the reduction, we diff --git a/lib/kokkos/example/tutorial/03_simple_view/simple_view.cpp b/lib/kokkos/example/tutorial/03_simple_view/simple_view.cpp index f4924c71fa9c6040555f68074cc30c8a5d806b96..46cac62b9df1ab5c9124dffef75089afc1b718ca 100644 --- a/lib/kokkos/example/tutorial/03_simple_view/simple_view.cpp +++ b/lib/kokkos/example/tutorial/03_simple_view/simple_view.cpp @@ -67,7 +67,7 @@ // // The first dimension of the View is the dimension over which it is // efficient for Kokkos to parallelize. -typedef Kokkos::View view_type; +using view_type = Kokkos::View; // parallel_for functor that fills the View given to its constructor. // The View must already have been allocated. @@ -102,8 +102,8 @@ struct ReduceFunctor { ReduceFunctor(view_type a_) : a(a_) {} // If you write a functor to do a reduction, you must specify the - // type of the reduction result via a public 'value_type' typedef. - typedef double value_type; + // type of the reduction result via a public 'value_type' alias. + using value_type = double; KOKKOS_INLINE_FUNCTION void operator()(int i, double& lsum) const { diff --git a/lib/kokkos/example/tutorial/03_simple_view_lambda/simple_view_lambda.cpp b/lib/kokkos/example/tutorial/03_simple_view_lambda/simple_view_lambda.cpp index d5590e5ccd54d87c82b3dbab80a4cd362b73da52..33b3a1a7db17740d5f578bace4be2e74e80ed03d 100644 --- a/lib/kokkos/example/tutorial/03_simple_view_lambda/simple_view_lambda.cpp +++ b/lib/kokkos/example/tutorial/03_simple_view_lambda/simple_view_lambda.cpp @@ -66,7 +66,7 @@ // // The first dimension of the View is the dimension over which it is // efficient for Kokkos to parallelize. -typedef Kokkos::View view_type; +using view_type = Kokkos::View; int main(int argc, char* argv[]) { Kokkos::initialize(argc, argv); diff --git a/lib/kokkos/example/tutorial/04_simple_memoryspaces/simple_memoryspaces.cpp b/lib/kokkos/example/tutorial/04_simple_memoryspaces/simple_memoryspaces.cpp index 603d139df9ae9aa3bb21a4e58b1d40542f8933eb..40ad6123e7bb7b1fd8f3b9ad79c01df7105ef5c3 100644 --- a/lib/kokkos/example/tutorial/04_simple_memoryspaces/simple_memoryspaces.cpp +++ b/lib/kokkos/example/tutorial/04_simple_memoryspaces/simple_memoryspaces.cpp @@ -47,7 +47,7 @@ // The type of a two-dimensional N x 3 array of double. // It lives in Kokkos' default memory space. -typedef Kokkos::View view_type; +using view_type = Kokkos::View; // The "HostMirror" type corresponding to view_type above is also a // two-dimensional N x 3 array of double. However, it lives in the @@ -61,12 +61,12 @@ typedef Kokkos::View view_type; // performance penalties then it is its own host_mirror_space. This is // the case for HostSpace, CudaUVMSpace and CudaHostPinnedSpace. -typedef view_type::HostMirror host_view_type; +using host_view_type = view_type::HostMirror; struct ReduceFunctor { view_type a; ReduceFunctor(view_type a_) : a(a_) {} - typedef int value_type; // Specify type for reduction value, lsum + using value_type = int; // Specify type for reduction value, lsum KOKKOS_INLINE_FUNCTION void operator()(int i, int &lsum) const { diff --git a/lib/kokkos/example/tutorial/05_simple_atomics/simple_atomics.cpp b/lib/kokkos/example/tutorial/05_simple_atomics/simple_atomics.cpp index 396b3968797f4440c0b328308f63deab630224e4..caacc828e5075fa6a179f8d9b0a99a31a29fc8aa 100644 --- a/lib/kokkos/example/tutorial/05_simple_atomics/simple_atomics.cpp +++ b/lib/kokkos/example/tutorial/05_simple_atomics/simple_atomics.cpp @@ -48,8 +48,8 @@ #include // Type of a one-dimensional length-N array of int. -typedef Kokkos::View view_type; -typedef view_type::HostMirror host_view_type; +using view_type = Kokkos::View; +using host_view_type = view_type::HostMirror; // This is a "zero-dimensional" View, that is, a View of a single // value (an int, in this case). Access the value using operator() // with no arguments: e.g., 'count()'. @@ -57,8 +57,8 @@ typedef view_type::HostMirror host_view_type; // Zero-dimensional Views are useful for reduction results that stay // resident in device memory, as well as for irregularly updated // shared state. We use it for the latter in this example. -typedef Kokkos::View count_type; -typedef count_type::HostMirror host_count_type; +using count_type = Kokkos::View; +using host_count_type = count_type::HostMirror; // Functor for finding a list of primes in a given set of numbers. If // run in parallel, the order of results is nondeterministic, because @@ -118,7 +118,7 @@ int main() { host_view_type h_result = Kokkos::create_mirror_view(result); host_count_type h_count = Kokkos::create_mirror_view(count); - typedef view_type::size_type size_type; + using size_type = view_type::size_type; // Fill the 'data' array on the host with random numbers. We assume // that they come from some process which is only implemented on the // host, via some library. (That's true in this case.) diff --git a/lib/kokkos/example/tutorial/06_simple_mdrangepolicy/simple_mdrangepolicy.cpp b/lib/kokkos/example/tutorial/06_simple_mdrangepolicy/simple_mdrangepolicy.cpp index 62c087c32c65b90e6ce709886ba006b0f8ec27f3..07b99087d4c310e6cf0d82c026f52bd610dd0ecb 100644 --- a/lib/kokkos/example/tutorial/06_simple_mdrangepolicy/simple_mdrangepolicy.cpp +++ b/lib/kokkos/example/tutorial/06_simple_mdrangepolicy/simple_mdrangepolicy.cpp @@ -62,7 +62,7 @@ // Simple functor for computing/storing the product of indices in a View v template struct MDFunctor { - typedef long value_type; + using value_type = long; ViewType v; size_t size; @@ -105,16 +105,16 @@ int main(int argc, char* argv[]) { // Bound(s) for MDRangePolicy const int n = 100; - // ViewType typedefs for Rank<2>, Rank<3> for example usage - typedef double ScalarType; - typedef typename Kokkos::View ViewType_2D; - typedef typename Kokkos::View ViewType_3D; + // ViewType aliases for Rank<2>, Rank<3> for example usage + using ScalarType = double; + using ViewType_2D = typename Kokkos::View; + using ViewType_3D = typename Kokkos::View; ///////////////////////////////////////////////////////////////////////////// // Explanation of MDRangePolicy usage, template parameters, constructor // arguments // - // MDRangePolicy typedefs for Rank<2>, Rank<3> cases + // MDRangePolicy aliases for Rank<2>, Rank<3> cases // Required template parameters: // Kokkos::Rank: where N=rank // @@ -126,7 +126,7 @@ int main(int argc, char* argv[]) { // tiles; // defaults based on the execution space similar to Kokkos::Layout // - // e.g. typedef Rank<2, Iterate::Left, Iterate::Left> rank2ll; + // e.g. using rank2ll = Rank<2, Iterate::Left, Iterate::Left>; // // // Optional template parameters to MDRangePolicy: @@ -160,9 +160,8 @@ int main(int argc, char* argv[]) { long incorrect_count_2d = 0; { // Rank<2> Case: Rank is provided, all other parameters are default - typedef typename Kokkos::Experimental::MDRangePolicy< - Kokkos::Experimental::Rank<2> > - MDPolicyType_2D; + using MDPolicyType_2D = typename Kokkos::Experimental::MDRangePolicy< + Kokkos::Experimental::Rank<2> >; // Construct 2D MDRangePolicy: lower and upper bounds provided, tile dims // defaulted @@ -186,10 +185,9 @@ int main(int argc, char* argv[]) { long incorrect_count_3d = 0; { // Rank<3> Case: Rank, inner iterate pattern, outer iterate pattern provided - typedef typename Kokkos::Experimental::MDRangePolicy< + using MDPolicyType_3D = typename Kokkos::Experimental::MDRangePolicy< Kokkos::Experimental::Rank<3, Kokkos::Experimental::Iterate::Left, - Kokkos::Experimental::Iterate::Left> > - MDPolicyType_3D; + Kokkos::Experimental::Iterate::Left> >; // Construct 3D MDRangePolicy: lower, upper bounds, tile dims provided MDPolicyType_3D mdpolicy_3d({{0, 0, 0}}, {{n, n, n}}, {{4, 4, 4}}); diff --git a/lib/kokkos/example/tutorial/Advanced_Views/01_data_layouts/data_layouts.cpp b/lib/kokkos/example/tutorial/Advanced_Views/01_data_layouts/data_layouts.cpp index 9bfa49456ab4ebae7b7581ec5cf02157dd61d2ff..643ac87a86168e29d11332251a53efbc817ea9f5 100644 --- a/lib/kokkos/example/tutorial/Advanced_Views/01_data_layouts/data_layouts.cpp +++ b/lib/kokkos/example/tutorial/Advanced_Views/01_data_layouts/data_layouts.cpp @@ -51,14 +51,14 @@ // which means "column major," the same as in Fortran, the BLAS, or // LAPACK. right_type has "layout right," which means "row major," // the same as in C, C++, or Java. -typedef Kokkos::View left_type; -typedef Kokkos::View right_type; +using left_type = Kokkos::View; +using right_type = Kokkos::View; // This is a one-dimensional View, so the layout matters less. // However, it still has a layout! Since its layout is not specified // explicitly in the type, its layout is a function of the memory // space. For example, the default Cuda layout is LayoutLeft, and the // default Host layout is LayoutRight. -typedef Kokkos::View view_type; +using view_type = Kokkos::View; // parallel_for functor that fills the given View with some data. It // expects to access the View by rows in parallel: each call i of @@ -114,7 +114,7 @@ struct contraction { struct dot { view_type a; dot(view_type a_) : a(a_) {} - typedef double value_type; // Specify type for reduction target, lsum + using value_type = double; // Specify type for reduction target, lsum KOKKOS_INLINE_FUNCTION void operator()(const view_type::size_type i, double& lsum) const { lsum += a(i) * a(i); diff --git a/lib/kokkos/example/tutorial/Advanced_Views/02_memory_traits/memory_traits.cpp b/lib/kokkos/example/tutorial/Advanced_Views/02_memory_traits/memory_traits.cpp index da6478a02e6206a2c81be5a2db337b788c7422e9..cff215d0ebf9581cc3de646287bad432046e75f7 100644 --- a/lib/kokkos/example/tutorial/Advanced_Views/02_memory_traits/memory_traits.cpp +++ b/lib/kokkos/example/tutorial/Advanced_Views/02_memory_traits/memory_traits.cpp @@ -47,7 +47,7 @@ #include #include -typedef Kokkos::View view_type; +using view_type = Kokkos::View; // Kokkos::Views have an MemoryTraits template parameter which // allows users to specify usage scenarios of a View. // Some of those act simply as hints, which can be used to insert @@ -71,10 +71,10 @@ typedef Kokkos::View view_type; // data (i.e. const double* and double*). While these pointers can point to the // same data you should not use them together if that brakes the const guarantee // of the first pointer. -typedef Kokkos::View > - view_type_rnd; -typedef Kokkos::View idx_type; -typedef idx_type::HostMirror idx_type_host; +using view_type_rnd = + Kokkos::View >; +using idx_type = Kokkos::View; +using idx_type_host = idx_type::HostMirror; // We template this functor on the ViewTypes to show the effect of the // RandomAccess trait. diff --git a/lib/kokkos/example/tutorial/Advanced_Views/03_subviews/subviews.cpp b/lib/kokkos/example/tutorial/Advanced_Views/03_subviews/subviews.cpp index df6a09f828b809eeaece26e3cb986d50b5cb91bc..ca2eeac41682a5629d3e66903474b78fa96d851c 100644 --- a/lib/kokkos/example/tutorial/Advanced_Views/03_subviews/subviews.cpp +++ b/lib/kokkos/example/tutorial/Advanced_Views/03_subviews/subviews.cpp @@ -52,7 +52,7 @@ #include #include -typedef Kokkos::View mesh_type; +using mesh_type = Kokkos::View; // These View types represent subviews of the mesh. Some of the Views // have layout LayoutStride, meaning that they have run-time "strides" @@ -63,10 +63,10 @@ typedef Kokkos::View mesh_type; // may safely always use a LayoutStride layout when taking a subview // of a LayoutRight or LayoutLeft subview, but strided accesses may // cost a bit more, especially for 1-D Views. -typedef Kokkos::View xz_plane_type; -typedef Kokkos::View yz_plane_type; -typedef Kokkos::View xy_plane_type; -typedef Kokkos::View inner_mesh_type; +using xz_plane_type = Kokkos::View; +using yz_plane_type = Kokkos::View; +using xy_plane_type = Kokkos::View; +using inner_mesh_type = Kokkos::View; // Functor to set all entries of a boundary of the mesh to a constant // value. The functor is templated on ViewType because different @@ -98,7 +98,7 @@ struct set_inner { KOKKOS_INLINE_FUNCTION void operator()(const typename ViewType::size_type i) const { - typedef typename ViewType::size_type size_type; + using size_type = typename ViewType::size_type; for (size_type j = 0; j < a.extent(1); ++j) { for (size_type k = 0; k < a.extent(2); ++k) { a(i, j, k) = value; @@ -118,7 +118,7 @@ struct update { KOKKOS_INLINE_FUNCTION void operator()(typename ViewType::size_type i) const { - typedef typename ViewType::size_type size_type; + using size_type = typename ViewType::size_type; i++; for (size_type j = 1; j < a.extent(1) - 1; j++) { for (size_type k = 1; k < a.extent(2) - 1; k++) { @@ -134,7 +134,7 @@ int main(int narg, char* arg[]) { using Kokkos::pair; using Kokkos::parallel_for; using Kokkos::subview; - typedef mesh_type::size_type size_type; + using size_type = mesh_type::size_type; Kokkos::initialize(narg, arg); diff --git a/lib/kokkos/example/tutorial/Advanced_Views/04_dualviews/dual_view.cpp b/lib/kokkos/example/tutorial/Advanced_Views/04_dualviews/dual_view.cpp index 86fe0162038daf5a1ad32da13b4ae05ddcacf62b..174d13d102a337bda707accaa915547aa97d488d 100644 --- a/lib/kokkos/example/tutorial/Advanced_Views/04_dualviews/dual_view.cpp +++ b/lib/kokkos/example/tutorial/Advanced_Views/04_dualviews/dual_view.cpp @@ -66,30 +66,30 @@ // operations to help you manage memory take almost no time in that // case. This makes your code even more performance portable. -typedef Kokkos::DualView view_type; -typedef Kokkos::DualView idx_type; +using view_type = Kokkos::DualView; +using idx_type = Kokkos::DualView; template struct localsum { - // If the functor has a public 'execution_space' typedef, that defines + // If the functor has a public 'execution_space' alias, that defines // the functor's execution space (where it runs in parallel). This // overrides Kokkos' default execution space. - typedef ExecutionSpace execution_space; + using execution_space = ExecutionSpace; - typedef typename Kokkos::Impl::if_c< + using memory_space = typename Kokkos::Impl::if_c< std::is_same::value, - idx_type::memory_space, idx_type::host_mirror_space>::type memory_space; + idx_type::memory_space, idx_type::host_mirror_space>::type; // Get the view types on the particular device for which the functor // is instantiated. // - // "const_data_type" is a typedef in View (and DualView) which is + // "const_data_type" is an alias in View (and DualView) which is // the const version of the first template parameter of the View. // For example, the const_data_type version of double** is const // double**. Kokkos::View idx; - // "scalar_array_type" is a typedef in ViewTraits (and DualView) which is the + // "scalar_array_type" is an alias in ViewTraits (and DualView) which is the // array version of the value(s) stored in the View. Kokkos::View @@ -150,7 +150,7 @@ class ParticleType { protected: }; -typedef Kokkos::DualView ParticleTypes; +using ParticleTypes = Kokkos::DualView; int main(int narg, char* arg[]) { Kokkos::initialize(narg, arg); diff --git a/lib/kokkos/example/tutorial/Advanced_Views/05_NVIDIA_UVM/uvm_example.cpp b/lib/kokkos/example/tutorial/Advanced_Views/05_NVIDIA_UVM/uvm_example.cpp index 51b84cf1842ee1498fa871d796e6416f6b60387c..a906ba1447283f3a5b2517e1f6c21839b458b597 100644 --- a/lib/kokkos/example/tutorial/Advanced_Views/05_NVIDIA_UVM/uvm_example.cpp +++ b/lib/kokkos/example/tutorial/Advanced_Views/05_NVIDIA_UVM/uvm_example.cpp @@ -49,18 +49,18 @@ #include #ifdef KOKKOS_ENABLE_CUDA -typedef Kokkos::View view_type; -typedef Kokkos::View idx_type; +using view_type = Kokkos::View; +using idx_type = Kokkos::View; #else -typedef Kokkos::View view_type; -typedef Kokkos::View idx_type; +using view_type = Kokkos::View; +using idx_type = Kokkos::View; #endif template struct localsum { // Define the execution space for the functor (overrides the // DefaultExecutionSpace) - typedef Device execution_space; + using execution_space = Device; // Get the view types on the particular device the functor is instantiated for idx_type::const_type idx; diff --git a/lib/kokkos/example/tutorial/Advanced_Views/07_Overlapping_DeepCopy/overlapping_deepcopy.cpp b/lib/kokkos/example/tutorial/Advanced_Views/07_Overlapping_DeepCopy/overlapping_deepcopy.cpp index 4dac1c26e0dee6aee0e92f9b08a061328c24acc9..c582fa17043629bd65b253e6afabd76134f1817b 100644 --- a/lib/kokkos/example/tutorial/Advanced_Views/07_Overlapping_DeepCopy/overlapping_deepcopy.cpp +++ b/lib/kokkos/example/tutorial/Advanced_Views/07_Overlapping_DeepCopy/overlapping_deepcopy.cpp @@ -106,7 +106,7 @@ struct MergeDevice { int main(int argc, char* argv[]) { int size = 100000000; Kokkos::initialize(); - int synch = atoi(argv[1]); + int synch = std::stoi(argv[1]); Kokkos::View d_a("Device A", size); Kokkos::View d_b("Device B", diff --git a/lib/kokkos/example/tutorial/Algorithms/01_random_numbers/random_numbers.cpp b/lib/kokkos/example/tutorial/Algorithms/01_random_numbers/random_numbers.cpp index a0771c4fcac33b461392168564e6e7981359b439..9c5f2d62fc58b86cbdd723e3328cf0ba1e38df27 100644 --- a/lib/kokkos/example/tutorial/Algorithms/01_random_numbers/random_numbers.cpp +++ b/lib/kokkos/example/tutorial/Algorithms/01_random_numbers/random_numbers.cpp @@ -48,7 +48,7 @@ #include #include -typedef Kokkos::HostSpace::execution_space DefaultHostType; +using DefaultHostType = Kokkos::HostSpace::execution_space; // Kokkos provides two different random number generators with a 64 bit and a // 1024 bit state. These generators are based on Vigna, Sebastiano (2014). "An @@ -108,8 +108,8 @@ int main(int argc, char* args[]) { } else { // Initialize Kokkos Kokkos::initialize(argc, args); - int size = atoi(args[1]); - int samples = atoi(args[2]); + int size = std::stoi(args[1]); + int samples = std::stoi(args[2]); // Create two random number generator pools one for 64bit states and one for // 1024 bit states Both take an 64 bit unsigned integer seed to initialize a diff --git a/lib/kokkos/example/tutorial/Hierarchical_Parallelism/01_thread_teams/thread_teams.cpp b/lib/kokkos/example/tutorial/Hierarchical_Parallelism/01_thread_teams/thread_teams.cpp index 77a5b4ce91ac02f34fa6417f45146952a689dbdf..9afc144752284288704ff9223c52a9261ba7a0df 100644 --- a/lib/kokkos/example/tutorial/Hierarchical_Parallelism/01_thread_teams/thread_teams.cpp +++ b/lib/kokkos/example/tutorial/Hierarchical_Parallelism/01_thread_teams/thread_teams.cpp @@ -57,12 +57,12 @@ // league_size) is not limited by physical constraints. Its a pure logical // number. -typedef Kokkos::TeamPolicy<> team_policy; -typedef team_policy::member_type team_member; +using team_policy = Kokkos::TeamPolicy<>; +using team_member = team_policy::member_type; // Define a functor which can be launched using the TeamPolicy struct hello_world { - typedef int value_type; // Specify value type for reduction target, sum + using value_type = int; // Specify value type for reduction target, sum // This is a reduction operator which now takes as first argument the // TeamPolicy member_type. Every member of the team contributes to the diff --git a/lib/kokkos/example/tutorial/Hierarchical_Parallelism/01_thread_teams_lambda/thread_teams_lambda.cpp b/lib/kokkos/example/tutorial/Hierarchical_Parallelism/01_thread_teams_lambda/thread_teams_lambda.cpp index 6e29d5c3d66d56f13d413a626cfa06201f5f8361..a182b08b8439d61d1a25fee5e8798ea56f761c0c 100644 --- a/lib/kokkos/example/tutorial/Hierarchical_Parallelism/01_thread_teams_lambda/thread_teams_lambda.cpp +++ b/lib/kokkos/example/tutorial/Hierarchical_Parallelism/01_thread_teams_lambda/thread_teams_lambda.cpp @@ -56,8 +56,8 @@ int main(int narg, char* args[]) { using Kokkos::parallel_reduce; - typedef Kokkos::TeamPolicy<> team_policy; - typedef typename team_policy::member_type team_member; + using team_policy = Kokkos::TeamPolicy<>; + using team_member = typename team_policy::member_type; Kokkos::initialize(narg, args); diff --git a/lib/kokkos/example/tutorial/Hierarchical_Parallelism/02_nested_parallel_for/nested_parallel_for.cpp b/lib/kokkos/example/tutorial/Hierarchical_Parallelism/02_nested_parallel_for/nested_parallel_for.cpp index 1c0b531c5c60bba143b2bc5135b8c281123ceae8..29e23e904c545e2f4258cf0e462d4315ff9edfdd 100644 --- a/lib/kokkos/example/tutorial/Hierarchical_Parallelism/02_nested_parallel_for/nested_parallel_for.cpp +++ b/lib/kokkos/example/tutorial/Hierarchical_Parallelism/02_nested_parallel_for/nested_parallel_for.cpp @@ -46,11 +46,11 @@ #include // See 01_thread_teams for an explanation of a basic TeamPolicy -typedef Kokkos::TeamPolicy<> team_policy; -typedef typename team_policy::member_type team_member; +using team_policy = Kokkos::TeamPolicy<>; +using team_member = typename team_policy::member_type; struct hello_world { - typedef int value_type; // Specify value type for reduction target, sum + using value_type = int; // Specify value type for reduction target, sum KOKKOS_INLINE_FUNCTION void operator()(const team_member& thread, int& sum) const { sum += 1; diff --git a/lib/kokkos/example/tutorial/Hierarchical_Parallelism/03_vectorization/vectorization.cpp b/lib/kokkos/example/tutorial/Hierarchical_Parallelism/03_vectorization/vectorization.cpp index cb679f7f5ae77048c505e37e8291a81add78e0a3..8f76110f086e4ca0e7b11d2fc998fc4354f7008e 100644 --- a/lib/kokkos/example/tutorial/Hierarchical_Parallelism/03_vectorization/vectorization.cpp +++ b/lib/kokkos/example/tutorial/Hierarchical_Parallelism/03_vectorization/vectorization.cpp @@ -60,13 +60,13 @@ // a thread execute every line of the operator as long as there are no // restricitons on them. Code lines can be restricted using Kokkos::single to // either execute once PerThread or execute once PerTeam. -typedef typename Kokkos::TeamPolicy<>::member_type team_member; +using team_member = typename Kokkos::TeamPolicy<>::member_type; struct SomeCorrelation { - typedef int value_type; // Specify value type for reduction target, sum - typedef Kokkos::DefaultExecutionSpace::scratch_memory_space shared_space; - typedef Kokkos::View - shared_1d_int; + using value_type = int; // Specify value type for reduction target, sum + using shared_space = Kokkos::DefaultExecutionSpace::scratch_memory_space; + using shared_1d_int = + Kokkos::View; Kokkos::View data; Kokkos::View gsum; @@ -136,7 +136,7 @@ struct SomeCorrelation { // The functor needs to define how much shared memory it requests given a // team_size. - size_t team_shmem_size(int team_size) const { + size_t team_shmem_size(int /*team_size*/) const { return shared_1d_int::shmem_size(data.extent(1)); } }; diff --git a/lib/kokkos/example/tutorial/Hierarchical_Parallelism/04_team_scan/team_scan.cpp b/lib/kokkos/example/tutorial/Hierarchical_Parallelism/04_team_scan/team_scan.cpp index 10c8971e5a14bab950f6041dd009e24c18c395a3..d36010892597bbcc9d1be710cae06574e7410ba7 100644 --- a/lib/kokkos/example/tutorial/Hierarchical_Parallelism/04_team_scan/team_scan.cpp +++ b/lib/kokkos/example/tutorial/Hierarchical_Parallelism/04_team_scan/team_scan.cpp @@ -48,11 +48,11 @@ #include #include -typedef Kokkos::DefaultExecutionSpace Device; -typedef Kokkos::HostSpace::execution_space Host; +using Device = Kokkos::DefaultExecutionSpace; +using Host = Kokkos::HostSpace::execution_space; -typedef Kokkos::TeamPolicy team_policy; -typedef team_policy::member_type team_member; +using team_policy = Kokkos::TeamPolicy; +using team_member = team_policy::member_type; static const int TEAM_SIZE = 16; diff --git a/lib/kokkos/example/tutorial/launch_bounds/launch_bounds_reduce.cpp b/lib/kokkos/example/tutorial/launch_bounds/launch_bounds_reduce.cpp index 800904dbceffb5c10ef2cef36a435542ee834968..92f82111f98c6afc966520f58b1709197bedf429 100644 --- a/lib/kokkos/example/tutorial/launch_bounds/launch_bounds_reduce.cpp +++ b/lib/kokkos/example/tutorial/launch_bounds/launch_bounds_reduce.cpp @@ -60,7 +60,7 @@ struct collision { // one i. // This function was chosen as one that very simply can increase the // register count. - typedef int value_type; + using value_type = int; KOKKOS_INLINE_FUNCTION int hash(int q) const { diff --git a/lib/kokkos/generate_makefile.bash b/lib/kokkos/generate_makefile.bash index 555f0b30a1a63f6c54ced217d0174b8073e011e6..f8455dd3e6a66eb49e2cff870c6a1cc05d37dd72 100755 --- a/lib/kokkos/generate_makefile.bash +++ b/lib/kokkos/generate_makefile.bash @@ -94,12 +94,13 @@ display_help_text() { echo "--arch=[OPT]: Set target architectures. Options are:" echo " [AMD]" echo " AMDAVX = AMD CPU" - echo " EPYC = AMD EPYC Zen-Core CPU" + echo " ZEN = AMD Zen-Core CPU" + echo " ZEN2 = AMD Zen2-Core CPU" echo " [ARM]" - echo " ARMv80 = ARMv8.0 Compatible CPU" - echo " ARMv81 = ARMv8.1 Compatible CPU" - echo " ARMv8-ThunderX = ARMv8 Cavium ThunderX CPU" - echo " ARMv8-TX2 = ARMv8 Cavium ThunderX2 CPU" + echo " ARMV80 = ARMv8.0 Compatible CPU" + echo " ARMV81 = ARMv8.1 Compatible CPU" + echo " ARMV8_THUNDERX = ARMv8 Cavium ThunderX CPU" + echo " ARMV8_THUNDERX2 = ARMv8 Cavium ThunderX2 CPU" echo " [IBM]" echo " BGQ = IBM Blue Gene Q" echo " Power7 = IBM POWER7 and POWER7+ CPUs" diff --git a/lib/kokkos/gnu_generate_makefile.bash b/lib/kokkos/gnu_generate_makefile.bash index 42b26bf4a4d1f5b52ecde043d519d81e8715f336..5a23e1f9787e20320c191284f0db4f3beeb1ed24 100755 --- a/lib/kokkos/gnu_generate_makefile.bash +++ b/lib/kokkos/gnu_generate_makefile.bash @@ -2,8 +2,6 @@ KOKKOS_DEVICES="" -KOKKOS_DO_EXAMPLES="1" - while [[ $# > 0 ]] do key="$1" @@ -81,9 +79,6 @@ do echo "Warning: ${key} is deprecated" echo "Call make with appropriate -j flag" ;; - --no-examples) - KOKKOS_DO_EXAMPLES="0" - ;; --compiler*) COMPILER="${key#*=}" CNUM=$(command -v ${COMPILER} 2>&1 >/dev/null | grep "no ${COMPILER}" | wc -l) @@ -127,7 +122,8 @@ do echo "--arch=[OPT]: Set target architectures. Options are:" echo " [AMD]" echo " AMDAVX = AMD CPU" - echo " EPYC = AMD EPYC Zen-Core CPU" + echo " ZEN = AMD Zen-Core CPU" + echo " ZEN2 = AMD Zen2-Core CPU" echo " [ARM]" echo " ARMv80 = ARMv8.0 Compatible CPU" echo " ARMv81 = ARMv8.1 Compatible CPU" @@ -309,12 +305,6 @@ mkdir -p containers/performance_tests mkdir -p algorithms mkdir -p algorithms/unit_tests mkdir -p algorithms/performance_tests -mkdir -p example -mkdir -p example/fixture -mkdir -p example/feint -mkdir -p example/fenl -mkdir -p example/make_buildlink -mkdir -p example/tutorial KOKKOS_SETTINGS="${KOKKOS_SETTINGS_NO_KOKKOS_PATH} KOKKOS_PATH=${KOKKOS_PATH}" @@ -374,61 +364,6 @@ echo "" >> algorithms/unit_tests/Makefile echo "clean:" >> algorithms/unit_tests/Makefile echo -e "\t\$(MAKE) -f ${KOKKOS_PATH}/algorithms/unit_tests/Makefile ${KOKKOS_SETTINGS} clean" >> algorithms/unit_tests/Makefile -echo "KOKKOS_SETTINGS=${KOKKOS_SETTINGS}" > example/fixture/Makefile -echo "" >> example/fixture/Makefile -echo "all:" >> example/fixture/Makefile -echo -e "\t\$(MAKE) -f ${KOKKOS_PATH}/example/fixture/Makefile ${KOKKOS_SETTINGS}" >> example/fixture/Makefile -echo "" >> example/fixture/Makefile -echo "test: all" >> example/fixture/Makefile -echo -e "\t\$(MAKE) -f ${KOKKOS_PATH}/example/fixture/Makefile ${KOKKOS_SETTINGS} test" >> example/fixture/Makefile -echo "" >> example/fixture/Makefile -echo "clean:" >> example/fixture/Makefile -echo -e "\t\$(MAKE) -f ${KOKKOS_PATH}/example/fixture/Makefile ${KOKKOS_SETTINGS} clean" >> example/fixture/Makefile - -echo "KOKKOS_SETTINGS=${KOKKOS_SETTINGS}" > example/feint/Makefile -echo "" >> example/feint/Makefile -echo "all:" >> example/feint/Makefile -echo -e "\t\$(MAKE) -f ${KOKKOS_PATH}/example/feint/Makefile ${KOKKOS_SETTINGS}" >> example/feint/Makefile -echo "" >> example/feint/Makefile -echo "test: all" >> example/feint/Makefile -echo -e "\t\$(MAKE) -f ${KOKKOS_PATH}/example/feint/Makefile ${KOKKOS_SETTINGS} test" >> example/feint/Makefile -echo "" >> example/feint/Makefile -echo "clean:" >> example/feint/Makefile -echo -e "\t\$(MAKE) -f ${KOKKOS_PATH}/example/feint/Makefile ${KOKKOS_SETTINGS} clean" >> example/feint/Makefile - -echo "KOKKOS_SETTINGS=${KOKKOS_SETTINGS}" > example/fenl/Makefile -echo "" >> example/fenl/Makefile -echo "all:" >> example/fenl/Makefile -echo -e "\t\$(MAKE) -f ${KOKKOS_PATH}/example/fenl/Makefile ${KOKKOS_SETTINGS}" >> example/fenl/Makefile -echo "" >> example/fenl/Makefile -echo "test: all" >> example/fenl/Makefile -echo -e "\t\$(MAKE) -f ${KOKKOS_PATH}/example/fenl/Makefile ${KOKKOS_SETTINGS} test" >> example/fenl/Makefile -echo "" >> example/fenl/Makefile -echo "clean:" >> example/fenl/Makefile -echo -e "\t\$(MAKE) -f ${KOKKOS_PATH}/example/fenl/Makefile ${KOKKOS_SETTINGS} clean" >> example/fenl/Makefile - -echo "KOKKOS_SETTINGS=${KOKKOS_SETTINGS}" > example/make_buildlink/Makefile -echo "" >> example/make_buildlink/Makefile -echo "build:" >> example/make_buildlink/Makefile -echo -e "\t\$(MAKE) -f ${KOKKOS_PATH}/example/make_buildlink/Makefile ${KOKKOS_SETTINGS} build" >> example/make_buildlink/Makefile -echo "" >> example/make_buildlink/Makefile -echo "test: build" >> example/make_buildlink/Makefile -echo -e "\t\$(MAKE) -f ${KOKKOS_PATH}/example/make_buildlink/Makefile ${KOKKOS_SETTINGS} test" >> example/make_buildlink/Makefile -echo "" >> example/make_buildlink/Makefile -echo "clean:" >> example/make_buildlink/Makefile -echo -e "\t\$(MAKE) -f ${KOKKOS_PATH}/example/make_buildlink/Makefile ${KOKKOS_SETTINGS} clean" >> example/make_buildlink/Makefile - -echo "KOKKOS_SETTINGS=${KOKKOS_SETTINGS}" > example/tutorial/Makefile -echo "" >> example/tutorial/Makefile -echo "build:" >> example/tutorial/Makefile -echo -e "\t\$(MAKE) -f ${KOKKOS_PATH}/example/tutorial/Makefile KOKKOS_SETTINGS='${KOKKOS_SETTINGS}' KOKKOS_PATH=${KOKKOS_PATH} build">> example/tutorial/Makefile -echo "" >> example/tutorial/Makefile -echo "test: build" >> example/tutorial/Makefile -echo -e "\t\$(MAKE) -f ${KOKKOS_PATH}/example/tutorial/Makefile KOKKOS_SETTINGS='${KOKKOS_SETTINGS}' KOKKOS_PATH=${KOKKOS_PATH} test" >> example/tutorial/Makefile -echo "" >> example/tutorial/Makefile -echo "clean:" >> example/tutorial/Makefile -echo -e "\t\$(MAKE) -f ${KOKKOS_PATH}/example/tutorial/Makefile KOKKOS_SETTINGS='${KOKKOS_SETTINGS}' KOKKOS_PATH=${KOKKOS_PATH} clean" >> example/tutorial/Makefile - # Generate top level directory makefile. echo "Generating Makefiles with options " ${KOKKOS_SETTINGS} echo "KOKKOS_SETTINGS=${KOKKOS_SETTINGS}" > Makefile @@ -439,14 +374,6 @@ echo -e "\t\$(MAKE) -C core/perf_test" >> Makefile echo -e "\t\$(MAKE) -C containers/unit_tests" >> Makefile echo -e "\t\$(MAKE) -C containers/performance_tests" >> Makefile echo -e "\t\$(MAKE) -C algorithms/unit_tests" >> Makefile -if [ ${KOKKOS_DO_EXAMPLES} -gt 0 ]; then -$() -echo -e "\t\$(MAKE) -C example/fixture" >> Makefile -echo -e "\t\$(MAKE) -C example/feint" >> Makefile -echo -e "\t\$(MAKE) -C example/fenl" >> Makefile -echo -e "\t\$(MAKE) -C example/make_buildlink build" >> Makefile -echo -e "\t\$(MAKE) -C example/tutorial build" >> Makefile -fi echo "" >> Makefile echo "test: build-test" >> Makefile echo -e "\t\$(MAKE) -C core/unit_test test" >> Makefile @@ -454,13 +381,6 @@ echo -e "\t\$(MAKE) -C core/perf_test test" >> Makefile echo -e "\t\$(MAKE) -C containers/unit_tests test" >> Makefile echo -e "\t\$(MAKE) -C containers/performance_tests test" >> Makefile echo -e "\t\$(MAKE) -C algorithms/unit_tests test" >> Makefile -if [ ${KOKKOS_DO_EXAMPLES} -gt 0 ]; then -echo -e "\t\$(MAKE) -C example/fixture test" >> Makefile -echo -e "\t\$(MAKE) -C example/feint test" >> Makefile -echo -e "\t\$(MAKE) -C example/fenl test" >> Makefile -echo -e "\t\$(MAKE) -C example/make_buildlink test" >> Makefile -echo -e "\t\$(MAKE) -C example/tutorial test" >> Makefile -fi echo "" >> Makefile echo "unit-tests-only:" >> Makefile echo -e "\t\$(MAKE) -C core/unit_test test" >> Makefile @@ -474,11 +394,4 @@ echo -e "\t\$(MAKE) -C core/perf_test clean" >> Makefile echo -e "\t\$(MAKE) -C containers/unit_tests clean" >> Makefile echo -e "\t\$(MAKE) -C containers/performance_tests clean" >> Makefile echo -e "\t\$(MAKE) -C algorithms/unit_tests clean" >> Makefile -if [ ${KOKKOS_DO_EXAMPLES} -gt 0 ]; then -echo -e "\t\$(MAKE) -C example/fixture clean" >> Makefile -echo -e "\t\$(MAKE) -C example/feint clean" >> Makefile -echo -e "\t\$(MAKE) -C example/fenl clean" >> Makefile -echo -e "\t\$(MAKE) -C example/make_buildlink clean" >> Makefile -echo -e "\t\$(MAKE) -C example/tutorial clean" >> Makefile -fi diff --git a/lib/kokkos/master_history.txt b/lib/kokkos/master_history.txt index 11e803e76026ef9be546255ef1c5406972ca07c4..cae5e9c22ec7b880542a1436d06a37f50724cc20 100644 --- a/lib/kokkos/master_history.txt +++ b/lib/kokkos/master_history.txt @@ -19,4 +19,5 @@ tag: 2.8.00 date: 02:05:2019 master: 34931a36 develop: d1659d1d tag: 2.9.00 date: 06:24:2019 master: 5d6e7fb3 develop: 4c6cb80a tag: 3.0.00 date: 01:31:2020 master: 2983b80d release-candidate-3.0: fdc904a6 tag: 3.1.00 date: 04:14:2020 master: cd1b1d0a develop: fd90af43 -tag: 3.1.1 date: 05:04:2020 master: 785d19f2 release: 2be028bc +tag: 3.1.01 date: 05:04:2020 master: 785d19f2 release: 2be028bc +tag: 3.2.00 date: 08:19:2020 master: 3b2fdc7e release: 5dc6d303 diff --git a/python/lammps.py b/python/lammps.py index 8bd1fc693ba520080bbbf28603adccd61d719030..472bc29372a8003e3bf48dc7b17d6bf31ad66bdd 100644 --- a/python/lammps.py +++ b/python/lammps.py @@ -10,10 +10,9 @@ # # See the README file in the top-level LAMMPS directory. # ------------------------------------------------------------------------- +# Python wrappers for the LAMMPS library via ctypes -# Python wrappers on LAMMPS library via ctypes - -# for python3 compatibility +# for python2/3 compatibility from __future__ import print_function @@ -32,10 +31,32 @@ import select import re import sys +# various symbolic constants to be used +# in certain calls to select data formats LAMMPS_INT = 0 -LAMMPS_DOUBLE = 1 -LAMMPS_BIGINT = 2 -LAMMPS_TAGINT = 3 +LAMMPS_INT2D = 1 +LAMMPS_DOUBLE = 2 +LAMMPS_DOUBLE2D = 3 +LAMMPS_BIGINT = 4 +LAMMPS_TAGINT = 5 +LAMMPS_STRING = 6 + +# these must be kept in sync with the enums in library.h +LMP_STYLE_GLOBAL = 0 +LMP_STYLE_ATOM = 1 +LMP_STYLE_LOCAL = 2 + +LMP_TYPE_SCALAR = 0 +LMP_TYPE_VECTOR = 1 +LMP_TYPE_ARRAY = 2 +LMP_SIZE_VECTOR = 3 +LMP_SIZE_ROWS = 4 +LMP_SIZE_COLS = 5 + +LMP_VAR_EQUAL = 0 +LMP_VAR_ATOM = 1 + +# ------------------------------------------------------------------------- def get_ctypes_int(size): if size == 4: @@ -44,6 +65,8 @@ def get_ctypes_int(size): return c_int64 return c_int +# ------------------------------------------------------------------------- + class MPIAbortException(Exception): def __init__(self, message): self.message = message @@ -51,14 +74,16 @@ class MPIAbortException(Exception): def __str__(self): return repr(self.message) +# ------------------------------------------------------------------------- + class NeighList: - """This is a wrapper class that exposes the contents of a neighbor list + """This is a wrapper class that exposes the contents of a neighbor list. It can be used like a regular Python list. Internally it uses the lower-level LAMMPS C-library interface. - :param lmp: reference to instance of :class:`lammps` + :param lmp: reference to instance of :py:class:`lammps` :type lmp: lammps :param idx: neighbor list index :type idx: int @@ -102,32 +127,54 @@ class NeighList: for ii in range(inum): yield self.get(ii) -class lammps(object): - - # detect if Python is using version of mpi4py that can pass a communicator +# ------------------------------------------------------------------------- +# ------------------------------------------------------------------------- - has_mpi4py = False - try: - from mpi4py import MPI - from mpi4py import __version__ as mpi4py_version - if mpi4py_version.split('.')[0] in ['2','3']: has_mpi4py = True - except: - pass +class lammps(object): + """Create an instance of the LAMMPS Python class. + + .. _mpi4py_docs: https://mpi4py.readthedocs.io/ + + This is a Python wrapper class that exposes the LAMMPS C-library + interface to Python. It either requires that LAMMPS has been compiled + as shared library which is then dynamically loaded via the ctypes + Python module or that this module called from a Python function that + is called from a Python interpreter embedded into a LAMMPS executable, + for example through the :doc:`python invoke ` command. + When the class is instantiated it calls the :cpp:func:`lammps_open` + function of the LAMMPS C-library interface, which in + turn will create an instance of the :cpp:class:`LAMMPS ` + C++ class. The handle to this C++ class is stored internally + and automatically passed to the calls to the C library interface. + + :param name: "machine" name of the shared LAMMPS library ("mpi" loads ``liblammps_mpi.so``, "" loads ``liblammps.so``) + :type name: string + :param cmdargs: list of command line arguments to be passed to the :cpp:func:`lammps_open` function. The executable name is automatically added. + :type cmdargs: list + :param ptr: pointer to a LAMMPS C++ class instance when called from an embedded Python interpreter. None means load symbols from shared library. + :type ptr: pointer + :param comm: MPI communicator (as provided by `mpi4py `_). ``None`` means use ``MPI_COMM_WORLD`` implicitly. + :type comm: MPI_Comm + """ - # create instance of LAMMPS + # ------------------------------------------------------------------------- + # create an instance of LAMMPS - def __init__(self,name="",cmdargs=None,ptr=None,comm=None): + def __init__(self,name='',cmdargs=None,ptr=None,comm=None): self.comm = comm self.opened = 0 - # determine module location + # determine module file location modpath = dirname(abspath(getsourcefile(lambda:0))) self.lib = None self.lmp = None - # if a pointer to a LAMMPS object is handed in, - # all symbols should already be available + # if a pointer to a LAMMPS object is handed in + # when being called from a Python interpreter + # embedded into a LAMMPS executable, all library + # symbols should already be available so we do not + # load a shared object. try: if ptr: self.lib = CDLL("",RTLD_GLOBAL) @@ -142,23 +189,57 @@ class lammps(object): # fall back to loading with a relative path, # typically requires LD_LIBRARY_PATH to be set appropriately - if any([f.startswith('liblammps') and f.endswith('.dylib') for f in os.listdir(modpath)]): + if any([f.startswith('liblammps') and f.endswith('.dylib') + for f in os.listdir(modpath)]): lib_ext = ".dylib" + elif any([f.startswith('liblammps') and f.endswith('.dll') + for f in os.listdir(modpath)]): + lib_ext = ".dll" else: lib_ext = ".so" if not self.lib: try: - if not name: self.lib = CDLL(join(modpath,"liblammps" + lib_ext),RTLD_GLOBAL) - else: self.lib = CDLL(join(modpath,"liblammps_%s" % name + lib_ext), - RTLD_GLOBAL) + if not name: + self.lib = CDLL(join(modpath,"liblammps" + lib_ext),RTLD_GLOBAL) + else: + self.lib = CDLL(join(modpath,"liblammps_%s" % name + lib_ext), + RTLD_GLOBAL) except: - if not name: self.lib = CDLL("liblammps" + lib_ext,RTLD_GLOBAL) - else: self.lib = CDLL("liblammps_%s" % name + lib_ext,RTLD_GLOBAL) + if not name: + self.lib = CDLL("liblammps" + lib_ext,RTLD_GLOBAL) + else: + self.lib = CDLL("liblammps_%s" % name + lib_ext,RTLD_GLOBAL) + + + # declare all argument and return types for all library methods here. + # exceptions are where the arguments depend on certain conditions and + # then are defined where the functions are used. + self.lib.lammps_extract_setting.argtypes = [c_void_p, c_char_p] + self.lib.lammps_extract_setting.restype = c_int + + # set default types + # needed in later declarations + self.c_bigint = get_ctypes_int(self.extract_setting("bigint")) + self.c_tagint = get_ctypes_int(self.extract_setting("tagint")) + self.c_imageint = get_ctypes_int(self.extract_setting("imageint")) + + self.lib.lammps_open.restype = c_void_p + self.lib.lammps_open_no_mpi.restype = c_void_p + self.lib.lammps_close.argtypes = [c_void_p] + self.lib.lammps_free.argtypes = [c_void_p] + + self.lib.lammps_file.argtypes = [c_void_p, c_char_p] + self.lib.lammps_file.restype = None - # define ctypes API for each library method - # NOTE: should add one of these for each lib function + self.lib.lammps_command.argtypes = [c_void_p, c_char_p] + self.lib.lammps_command.restype = c_char_p + self.lib.lammps_commands_list.restype = None + self.lib.lammps_commands_string.argtypes = [c_void_p, c_char_p] + self.lib.lammps_commands_string.restype = None + self.lib.lammps_get_natoms.argtypes = [c_void_p] + self.lib.lammps_get_natoms.restype = c_double self.lib.lammps_extract_box.argtypes = \ [c_void_p,POINTER(c_double),POINTER(c_double), POINTER(c_double),POINTER(c_double),POINTER(c_double), @@ -210,6 +291,48 @@ class lammps(object): self.lib.lammps_get_last_error_message.argtypes = [c_void_p, c_char_p, c_int] self.lib.lammps_get_last_error_message.restype = c_int + self.lib.lammps_extract_global.argtypes = [c_void_p, c_char_p] + self.lib.lammps_extract_compute.argtypes = [c_void_p, c_char_p, c_int, c_int] + + self.lib.lammps_get_thermo.argtypes = [c_void_p, c_char_p] + self.lib.lammps_get_thermo.restype = c_double + + self.lib.lammps_encode_image_flags.restype = self.c_imageint + + self.lib.lammps_config_package_name.argtypes = [c_int, c_char_p, c_int] + + self.lib.lammps_has_style.argtypes = [c_void_p, c_char_p, c_char_p] + + self.lib.lammps_set_variable.argtypes = [c_void_p, c_char_p, c_char_p] + + self.lib.lammps_style_count.argtypes = [c_void_p, c_char_p] + + self.lib.lammps_style_name.argtypes = [c_void_p, c_char_p, c_int, c_char_p, c_int] + + self.lib.lammps_version.argtypes = [c_void_p] + + self.lib.lammps_decode_image_flags.argtypes = [self.c_imageint, POINTER(c_int*3)] + + self.lib.lammps_extract_atom.argtypes = [c_void_p, c_char_p] + + self.lib.lammps_extract_fix.argtypes = [c_void_p, c_char_p, c_int, c_int, c_int, c_int] + + self.lib.lammps_extract_variable.argtypes = [c_void_p, c_char_p, c_char_p] + + # TODO: NOT IMPLEMENTED IN PYTHON WRAPPER + self.lib.lammps_fix_external_set_energy_global = [c_void_p, c_char_p, c_double] + self.lib.lammps_fix_external_set_virial_global = [c_void_p, c_char_p, POINTER(c_double)] + + # detect if Python is using version of mpi4py that can pass a communicator + + self.has_mpi4py = False + try: + from mpi4py import __version__ as mpi4py_version + # tested to work with mpi4py versions 2 and 3 + self.has_mpi4py = mpi4py_version.split('.')[0] in ['2','3'] + except: + pass + # if no ptr provided, create an instance of LAMMPS # don't know how to pass an MPI communicator from PyPar # but we can pass an MPI communicator from mpi4py v2.0.0 and later @@ -224,17 +347,22 @@ class lammps(object): # with mpi4py v2, can pass MPI communicator to LAMMPS # need to adjust for type of MPI communicator object # allow for int (like MPICH) or void* (like OpenMPI) + if self.has_mpi4py and self.has_mpi_support: + from mpi4py import MPI + self.MPI = MPI if comm: - if not lammps.has_mpi4py: + if not self.has_mpi4py: raise Exception('Python mpi4py version is not 2 or 3') - if lammps.MPI._sizeof(lammps.MPI.Comm) == sizeof(c_int): + if not self.has_mpi_support: + raise Exception('LAMMPS not compiled with real MPI library') + if self.MPI._sizeof(self.MPI.Comm) == sizeof(c_int): MPI_Comm = c_int else: MPI_Comm = c_void_p narg = 0 - cargs = 0 + cargs = None if cmdargs: cmdargs.insert(0,"lammps.py") narg = len(cmdargs) @@ -243,22 +371,19 @@ class lammps(object): cmdargs[i] = cmdargs[i].encode() cargs = (c_char_p*narg)(*cmdargs) self.lib.lammps_open.argtypes = [c_int, c_char_p*narg, \ - MPI_Comm, c_void_p()] + MPI_Comm, c_void_p] else: - self.lib.lammps_open.argtypes = [c_int, c_int, \ - MPI_Comm, c_void_p()] + self.lib.lammps_open.argtypes = [c_int, c_char_p, \ + MPI_Comm, c_void_p] - self.lib.lammps_open.restype = None self.opened = 1 - self.lmp = c_void_p() - comm_ptr = lammps.MPI._addressof(comm) + comm_ptr = self.MPI._addressof(comm) comm_val = MPI_Comm.from_address(comm_ptr) - self.lib.lammps_open(narg,cargs,comm_val,byref(self.lmp)) + self.lmp = c_void_p(self.lib.lammps_open(narg,cargs,comm_val,None)) else: - if lammps.has_mpi4py: - from mpi4py import MPI - self.comm = MPI.COMM_WORLD + if self.has_mpi4py and self.has_mpi_support: + self.comm = self.MPI.COMM_WORLD self.opened = 1 if cmdargs: cmdargs.insert(0,"lammps.py") @@ -267,13 +392,12 @@ class lammps(object): if type(cmdargs[i]) is str: cmdargs[i] = cmdargs[i].encode() cargs = (c_char_p*narg)(*cmdargs) - self.lmp = c_void_p() - self.lib.lammps_open_no_mpi(narg,cargs,byref(self.lmp)) + self.lib.lammps_open_no_mpi.argtypes = [c_int, c_char_p*narg, \ + c_void_p] + self.lmp = c_void_p(self.lib.lammps_open_no_mpi(narg,cargs,None)) else: - self.lmp = c_void_p() - self.lib.lammps_open_no_mpi(0,None,byref(self.lmp)) - # could use just this if LAMMPS lib interface supported it - # self.lmp = self.lib.lammps_open_no_mpi(0,None) + self.lib.lammps_open_no_mpi.argtypes = [c_int, c_char_p, c_void_p] + self.lmp = c_void_p(self.lib.lammps_open_no_mpi(0,None,None)) else: # magic to convert ptr to ctypes ptr @@ -291,10 +415,6 @@ class lammps(object): # optional numpy support (lazy loading) self._numpy = None - # set default types - self.c_bigint = get_ctypes_int(self.extract_setting("bigint")) - self.c_tagint = get_ctypes_int(self.extract_setting("tagint")) - self.c_imageint = get_ctypes_int(self.extract_setting("imageint")) self._installed_packages = None self._available_styles = None @@ -304,6 +424,7 @@ class lammps(object): self.lib.lammps_set_fix_external_callback.argtypes = [c_void_p, c_char_p, self.FIX_EXTERNAL_CALLBACK_FUNC, py_object] self.lib.lammps_set_fix_external_callback.restype = None + # ------------------------------------------------------------------------- # shut-down LAMMPS instance def __del__(self): @@ -311,22 +432,181 @@ class lammps(object): self.lib.lammps_close(self.lmp) self.opened = 0 + # ------------------------------------------------------------------------- + + @property + def numpy(self): + "Convert between ctypes arrays and numpy arrays" + if not self._numpy: + import numpy as np + class LammpsNumpyWrapper: + def __init__(self, lmp): + self.lmp = lmp + + def _ctype_to_numpy_int(self, ctype_int): + if ctype_int == c_int32: + return np.int32 + elif ctype_int == c_int64: + return np.int64 + return np.intc + + def extract_atom_iarray(self, name, nelem, dim=1): + if name in ['id', 'molecule']: + c_int_type = self.lmp.c_tagint + elif name in ['image']: + c_int_type = self.lmp.c_imageint + else: + c_int_type = c_int + + if dim == 1: + raw_ptr = self.lmp.extract_atom(name, LAMMPS_INT) + else: + raw_ptr = self.lmp.extract_atom(name, LAMMPS_INT2D) + + return self.iarray(c_int_type, raw_ptr, nelem, dim) + + def extract_atom_darray(self, name, nelem, dim=1): + if dim == 1: + raw_ptr = self.lmp.extract_atom(name, LAMMPS_DOUBLE) + else: + raw_ptr = self.lmp.extract_atom(name, LAMMPS_DOUBLE2D) + + return self.darray(raw_ptr, nelem, dim) + + def extract_compute(self, cid, style, datatype): + value = self.lmp.extract_compute(cid, style, datatype) + + if style in (LMP_STYLE_GLOBAL, LMP_STYLE_LOCAL): + if datatype == LMP_TYPE_VECTOR: + nrows = self.lmp.extract_compute(cid, style, LMP_SIZE_VECTOR) + return self.darray(value, nrows) + elif datatype == LMP_TYPE_ARRAY: + nrows = self.lmp.extract_compute(cid, style, LMP_SIZE_ROWS) + ncols = self.lmp.extract_compute(cid, style, LMP_SIZE_COLS) + return self.darray(value, nrows, ncols) + elif style == LMP_STYLE_ATOM: + if datatype == LMP_TYPE_VECTOR: + nlocal = self.lmp.extract_global("nlocal", LAMMPS_INT) + return self.darray(value, nlocal) + elif datatype == LMP_TYPE_ARRAY: + nlocal = self.lmp.extract_global("nlocal", LAMMPS_INT) + ncols = self.lmp.extract_compute(cid, style, LMP_SIZE_COLS) + return self.darray(value, nlocal, ncols) + return value + + def extract_fix(self, fid, style, datatype, nrow=0, ncol=0): + value = self.lmp.extract_fix(fid, style, datatype, nrow, ncol) + if style == LMP_STYLE_ATOM: + if datatype == LMP_TYPE_VECTOR: + nlocal = self.lmp.extract_global("nlocal", LAMMPS_INT) + return self.darray(value, nlocal) + elif datatype == LMP_TYPE_ARRAY: + nlocal = self.lmp.extract_global("nlocal", LAMMPS_INT) + ncols = self.lmp.extract_fix(fid, style, LMP_SIZE_COLS, 0, 0) + return self.darray(value, nlocal, ncols) + elif style == LMP_STYLE_LOCAL: + if datatype == LMP_TYPE_VECTOR: + nrows = self.lmp.extract_fix(fid, style, LMP_SIZE_ROWS, 0, 0) + return self.darray(value, nrows) + elif datatype == LMP_TYPE_ARRAY: + nrows = self.lmp.extract_fix(fid, style, LMP_SIZE_ROWS, 0, 0) + ncols = self.lmp.extract_fix(fid, style, LMP_SIZE_COLS, 0, 0) + return self.darray(value, nrows, ncols) + return value + + def extract_variable(self, name, group=None, datatype=LMP_VAR_EQUAL): + value = self.lmp.extract_variable(name, group, datatype) + if datatype == LMP_VAR_ATOM: + return np.ctypeslib.as_array(value) + return value + + def iarray(self, c_int_type, raw_ptr, nelem, dim=1): + np_int_type = self._ctype_to_numpy_int(c_int_type) + + if dim == 1: + ptr = cast(raw_ptr, POINTER(c_int_type * nelem)) + else: + ptr = cast(raw_ptr[0], POINTER(c_int_type * nelem * dim)) + + a = np.frombuffer(ptr.contents, dtype=np_int_type) + a.shape = (nelem, dim) + return a + + def darray(self, raw_ptr, nelem, dim=1): + if dim == 1: + ptr = cast(raw_ptr, POINTER(c_double * nelem)) + else: + ptr = cast(raw_ptr[0], POINTER(c_double * nelem * dim)) + + a = np.frombuffer(ptr.contents) + a.shape = (nelem, dim) + return a + + self._numpy = LammpsNumpyWrapper(self) + return self._numpy + + # ------------------------------------------------------------------------- + def close(self): + """Explicitly delete a LAMMPS instance through the C-library interface. + + This is a wrapper around the :cpp:func:`lammps_close` function of the C-library interface. + """ + if self.opened: self.lib.lammps_close(self.lmp) + self.lmp = None + self.opened = 0 + + # ------------------------------------------------------------------------- + + def finalize(self): + """Shut down the MPI communication through the library interface by calling :cpp:func:`lammps_finalize`. + """ if self.opened: self.lib.lammps_close(self.lmp) self.lmp = None self.opened = 0 + self.lib.lammps_finalize() + + # ------------------------------------------------------------------------- def version(self): + """Return a numerical representation of the LAMMPS version in use. + + This is a wrapper around the :cpp:func:`lammps_close` function of the C-library interface. + + :return: version number + :rtype: int + """ return self.lib.lammps_version(self.lmp) - def file(self,file): - if file: file = file.encode() - self.lib.lammps_file(self.lmp,file) + # ------------------------------------------------------------------------- + + def file(self, path): + """Read LAMMPS commands from a file. + + This is a wrapper around the :cpp:func:`lammps_file` function of the C-library interface. + It will open the file with the name/path `file` and process the LAMMPS commands line by line until + the end. The function will return when the end of the file is reached. + + :param path: Name of the file/path with LAMMPS commands + :type path: string + """ + if path: path = path.encode() + else: return + self.lib.lammps_file(self.lmp, path) - # send a single command + # ------------------------------------------------------------------------- def command(self,cmd): + """Process a single LAMMPS input command from a string. + + This is a wrapper around the :cpp:func:`lammps_command` + function of the C-library interface. + + :param cmd: a single lammps command + :type cmd: string + """ if cmd: cmd = cmd.encode() + else: return self.lib.lammps_command(self.lmp,cmd) if self.has_exceptions and self.lib.lammps_has_error(self.lmp): @@ -338,45 +618,64 @@ class lammps(object): raise MPIAbortException(error_msg) raise Exception(error_msg) - # send a list of commands + # ------------------------------------------------------------------------- def commands_list(self,cmdlist): + """Process multiple LAMMPS input commands from a list of strings. + + This is a wrapper around the + :cpp:func:`lammps_commands_list` function of + the C-library interface. + + :param cmdlist: a single lammps command + :type cmdlist: list of strings + """ cmds = [x.encode() for x in cmdlist if type(x) is str] - args = (c_char_p * len(cmdlist))(*cmds) - self.lib.lammps_commands_list(self.lmp,len(cmdlist),args) + narg = len(cmdlist) + args = (c_char_p * narg)(*cmds) + self.lib.lammps_commands_list.argtypes = [c_void_p, c_int, c_char_p * narg] + self.lib.lammps_commands_list(self.lmp,narg,args) - # send a string of commands + # ------------------------------------------------------------------------- def commands_string(self,multicmd): + """Process a block of LAMMPS input commands from a string. + + This is a wrapper around the + :cpp:func:`lammps_commands_string` + function of the C-library interface. + + :param multicmd: text block of lammps commands + :type multicmd: string + """ if type(multicmd) is str: multicmd = multicmd.encode() self.lib.lammps_commands_string(self.lmp,c_char_p(multicmd)) - # extract lammps type byte sizes + # ------------------------------------------------------------------------- - def extract_setting(self, name): - if name: name = name.encode() - self.lib.lammps_extract_setting.restype = c_int - return int(self.lib.lammps_extract_setting(self.lmp,name)) + def get_natoms(self): + """Get the total number of atoms in the LAMMPS instance. - # extract global info + Will be precise up to 53-bit signed integer due to the + underlying :cpp:func:`lammps_get_natoms` function returning a double. - def extract_global(self,name,type): - if name: name = name.encode() - if type == LAMMPS_INT: - self.lib.lammps_extract_global.restype = POINTER(c_int) - elif type == LAMMPS_DOUBLE: - self.lib.lammps_extract_global.restype = POINTER(c_double) - elif type == LAMMPS_BIGINT: - self.lib.lammps_extract_global.restype = POINTER(self.c_bigint) - elif type == LAMMPS_TAGINT: - self.lib.lammps_extract_global.restype = POINTER(self.c_tagint) - else: return None - ptr = self.lib.lammps_extract_global(self.lmp,name) - return ptr[0] + :return: number of atoms + :rtype: float + """ + return self.lib.lammps_get_natoms(self.lmp) - # extract global info + # ------------------------------------------------------------------------- def extract_box(self): + """Extract simulation box parameters + + This is a wrapper around the :cpp:func:`lammps_extract_box` function + of the C-library interface. Unlike in the C function, the result is + returned as a list. + + :return: list of the extracted data: boxlo, boxhi, xy, yz, xz, periodicity, box_change + :rtype: [ 3*double, 3*double, double, double, 3*int, int] + """ boxlo = (3*c_double)() boxhi = (3*c_double)() xy = c_double() @@ -399,155 +698,358 @@ class lammps(object): return boxlo,boxhi,xy,yz,xz,periodicity,box_change - # extract per-atom info - # NOTE: need to insure are converting to/from correct Python type - # e.g. for Python list or NumPy or ctypes + # ------------------------------------------------------------------------- - def extract_atom(self,name,type): - if name: name = name.encode() - if type == 0: - self.lib.lammps_extract_atom.restype = POINTER(c_int) - elif type == 1: - self.lib.lammps_extract_atom.restype = POINTER(POINTER(c_int)) - elif type == 2: - self.lib.lammps_extract_atom.restype = POINTER(c_double) - elif type == 3: - self.lib.lammps_extract_atom.restype = POINTER(POINTER(c_double)) - else: return None - ptr = self.lib.lammps_extract_atom(self.lmp,name) - return ptr + def reset_box(self,boxlo,boxhi,xy,yz,xz): + """Reset simulation box parameters + + This is a wrapper around the :cpp:func:`lammps_reset_box` function + of the C-library interface. + + :param boxlo: new lower box boundaries + :type boxlo: list of 3 floating point numbers + :param boxhi: new upper box boundaries + :type boxhi: list of 3 floating point numbers + :param xy: xy tilt factor + :type xy: float + :param yz: yz tilt factor + :type yz: float + :param xz: xz tilt factor + :type xz: float + """ + cboxlo = (3*c_double)(*boxlo) + cboxhi = (3*c_double)(*boxhi) + self.lib.lammps_reset_box(self.lmp,cboxlo,cboxhi,xy,yz,xz) - @property - def numpy(self): - if not self._numpy: - import numpy as np - class LammpsNumpyWrapper: - def __init__(self, lmp): - self.lmp = lmp + # ------------------------------------------------------------------------- - def _ctype_to_numpy_int(self, ctype_int): - if ctype_int == c_int32: - return np.int32 - elif ctype_int == c_int64: - return np.int64 - return np.intc + def get_thermo(self,name): + """Get current value of a thermo keyword - def extract_atom_iarray(self, name, nelem, dim=1): - if name in ['id', 'molecule']: - c_int_type = self.lmp.c_tagint - elif name in ['image']: - c_int_type = self.lmp.c_imageint - else: - c_int_type = c_int + This is a wrapper around the :cpp:func:`lammps_get_thermo` + function of the C-library interface. - if dim == 1: - raw_ptr = self.lmp.extract_atom(name, 0) - else: - raw_ptr = self.lmp.extract_atom(name, 1) + :param name: name of thermo keyword + :type name: string + :return: value of thermo keyword + :rtype: double or None + """ + if name: name = name.encode() + else: return None + return self.lib.lammps_get_thermo(self.lmp,name) - return self.iarray(c_int_type, raw_ptr, nelem, dim) + # ------------------------------------------------------------------------- - def extract_atom_darray(self, name, nelem, dim=1): - if dim == 1: - raw_ptr = self.lmp.extract_atom(name, 2) - else: - raw_ptr = self.lmp.extract_atom(name, 3) + def extract_setting(self, name): + """Query LAMMPS about global settings that can be expressed as an integer. - return self.darray(raw_ptr, nelem, dim) + This is a wrapper around the :cpp:func:`lammps_extract_setting` + function of the C-library interface. Its documentation includes + a list of the supported keywords. - def iarray(self, c_int_type, raw_ptr, nelem, dim=1): - np_int_type = self._ctype_to_numpy_int(c_int_type) + :param name: name of the setting + :type name: string + :return: value of the setting + :rtype: int + """ + if name: name = name.encode() + else: return None + return int(self.lib.lammps_extract_setting(self.lmp,name)) - if dim == 1: - ptr = cast(raw_ptr, POINTER(c_int_type * nelem)) - else: - ptr = cast(raw_ptr[0], POINTER(c_int_type * nelem * dim)) + # ------------------------------------------------------------------------- + # extract global info - a = np.frombuffer(ptr.contents, dtype=np_int_type) - a.shape = (nelem, dim) - return a + def extract_global(self, name, type): + """Query LAMMPS about global settings of different types. + + This is a wrapper around the :cpp:func:`lammps_extract_global` + function of the C-library interface. Unlike the C function + this method returns the value and not a pointer and thus can + only return the first value for keywords representing a list + of values. The :cpp:func:`lammps_extract_global` documentation + includes a list of the supported keywords and their data types. + Since Python needs to know the data type to be able to interpret + the result, the type has to be provided as an argument. For + that purpose the :py:mod:`lammps` module contains the constants + ``LAMMPS_INT``, ``LAMMPS_DOUBLE``, ``LAMMPS_BIGINT``, + ``LAMMPS_TAGINT``, and ``LAMMPS_STRING``. + This function returns ``None`` if either the keyword is not + recognized, or an invalid data type constant is used. + + :param name: name of the setting + :type name: string + :param type: type of the returned data + :type type: int + :return: value of the setting + :rtype: integer or double or string or None + """ + if name: name = name.encode() + else: return None + if type == LAMMPS_INT: + self.lib.lammps_extract_global.restype = POINTER(c_int) + elif type == LAMMPS_DOUBLE: + self.lib.lammps_extract_global.restype = POINTER(c_double) + elif type == LAMMPS_BIGINT: + self.lib.lammps_extract_global.restype = POINTER(self.c_bigint) + elif type == LAMMPS_TAGINT: + self.lib.lammps_extract_global.restype = POINTER(self.c_tagint) + elif type == LAMMPS_STRING: + self.lib.lammps_extract_global.restype = c_char_p + ptr = self.lib.lammps_extract_global(self.lmp,name) + return str(ptr,'ascii') + else: return None + ptr = self.lib.lammps_extract_global(self.lmp,name) + if ptr: return ptr[0] + else: return None - def darray(self, raw_ptr, nelem, dim=1): - if dim == 1: - ptr = cast(raw_ptr, POINTER(c_double * nelem)) - else: - ptr = cast(raw_ptr[0], POINTER(c_double * nelem * dim)) + # ------------------------------------------------------------------------- + # extract per-atom info + # NOTE: need to insure are converting to/from correct Python type + # e.g. for Python list or NumPy or ctypes - a = np.frombuffer(ptr.contents) - a.shape = (nelem, dim) - return a + def extract_atom(self,name,type): + """Retrieve per-atom properties from LAMMPS + + This is a wrapper around the :cpp:func:`lammps_extract_atom` + function of the C-library interface. Its documentation includes a + list of the supported keywords and their data types. + Since Python needs to know the data type to be able to interpret + the result, the type has to be provided as an argument. For + that purpose the :py:mod:`lammps` module contains the constants + ``LAMMPS_INT``, ``LAMMPS_INT2D``, ``LAMMPS_DOUBLE``, + and ``LAMMPS_DOUBLE2D``. + This function returns ``None`` if either the keyword is not + recognized, or an invalid data type constant is used. + + .. note:: + + While the returned arrays of per-atom data are dimensioned + for the range [0:nmax] - as is the underlying storage - + the data is usually only valid for the range of [0:nlocal], + unless the property of interest is also updated for ghost + atoms. In some cases, this depends on a LAMMPS setting, see + for example :doc:`comm_modify vel yes `. + + :param name: name of the setting + :type name: string + :param type: type of the returned data + :type type: int + :return: requested data + :rtype: pointer to integer or double or None + """ + ntypes = int(self.extract_setting('ntypes')) + nmax = int(self.extract_setting('nmax')) + if name: name = name.encode() + else: return None + if type == LAMMPS_INT: + self.lib.lammps_extract_atom.restype = POINTER(c_int) + elif type == LAMMPS_INT2D: + self.lib.lammps_extract_atom.restype = POINTER(POINTER(c_int)) + elif type == LAMMPS_DOUBLE: + self.lib.lammps_extract_atom.restype = POINTER(c_double) + elif type == LAMMPS_DOUBLE2D: + self.lib.lammps_extract_atom.restype = POINTER(POINTER(c_double)) + else: return None + ptr = self.lib.lammps_extract_atom(self.lmp,name) + if ptr: return ptr + else: return None - self._numpy = LammpsNumpyWrapper(self) - return self._numpy - # extract compute info + # ------------------------------------------------------------------------- def extract_compute(self,id,style,type): + """Retrieve data from a LAMMPS compute + + This is a wrapper around the :cpp:func:`lammps_extract_compute` + function of the C-library interface. + This function returns ``None`` if either the compute id is not + recognized, or an invalid combination of :ref:`style ` + and :ref:`type ` constants is used. The + names and functionality of the constants are the same as for + the corresponding C-library function. For requests to return + a scalar or a size, the value is returned, otherwise a pointer. + + :param id: compute ID + :type id: string + :param style: style of the data retrieve (global, atom, or local) + :type style: int + :param type: type or size of the returned data (scalar, vector, or array) + :type type: int + :return: requested data + :rtype: integer or double or pointer to 1d or 2d double array or None + """ if id: id = id.encode() - if type == 0: - if style == 0: + else: return None + + if type == LMP_TYPE_SCALAR: + if style == LMP_STYLE_GLOBAL: self.lib.lammps_extract_compute.restype = POINTER(c_double) ptr = self.lib.lammps_extract_compute(self.lmp,id,style,type) return ptr[0] - elif style == 1: + elif style == LMP_STYLE_ATOM: return None - elif style == 2: + elif style == LMP_STYLE_LOCAL: self.lib.lammps_extract_compute.restype = POINTER(c_int) ptr = self.lib.lammps_extract_compute(self.lmp,id,style,type) return ptr[0] - if type == 1: + + if type == LMP_TYPE_VECTOR: self.lib.lammps_extract_compute.restype = POINTER(c_double) ptr = self.lib.lammps_extract_compute(self.lmp,id,style,type) return ptr - if type == 2: + + if type == LMP_TYPE_ARRAY: self.lib.lammps_extract_compute.restype = POINTER(POINTER(c_double)) ptr = self.lib.lammps_extract_compute(self.lmp,id,style,type) return ptr + + if type == LMP_SIZE_COLS: + if style == LMP_STYLE_GLOBAL \ + or style == LMP_STYLE_ATOM \ + or style == LMP_STYLE_LOCAL: + self.lib.lammps_extract_compute.restype = POINTER(c_int) + ptr = self.lib.lammps_extract_compute(self.lmp,id,style,type) + return ptr[0] + + if type == LMP_SIZE_VECTOR \ + or type == LMP_SIZE_ROWS: + if style == LMP_STYLE_GLOBAL \ + or style == LMP_STYLE_LOCAL: + self.lib.lammps_extract_compute.restype = POINTER(c_int) + ptr = self.lib.lammps_extract_compute(self.lmp,id,style,type) + return ptr[0] + return None + # ------------------------------------------------------------------------- # extract fix info - # in case of global datum, free memory for 1 double via lammps_free() + # in case of global data, free memory for 1 double via lammps_free() # double was allocated by library interface function - def extract_fix(self,id,style,type,i=0,j=0): + def extract_fix(self,id,style,type,nrow=0,ncol=0): + """Retrieve data from a LAMMPS fix + + This is a wrapper around the :cpp:func:`lammps_extract_fix` + function of the C-library interface. + This function returns ``None`` if either the fix id is not + recognized, or an invalid combination of :ref:`style ` + and :ref:`type ` constants is used. The + names and functionality of the constants are the same as for + the corresponding C-library function. For requests to return + a scalar or a size, the value is returned, also when accessing + global vectors or arrays, otherwise a pointer. + + :param id: fix ID + :type id: string + :param style: style of the data retrieve (global, atom, or local) + :type style: int + :param type: type or size of the returned data (scalar, vector, or array) + :type type: int + :param nrow: index of global vector element or row index of global array element + :type nrow: int + :param ncol: column index of global array element + :type ncol: int + :return: requested data + :rtype: integer or double value, pointer to 1d or 2d double array or None + + """ if id: id = id.encode() - if style == 0: - self.lib.lammps_extract_fix.restype = POINTER(c_double) - ptr = self.lib.lammps_extract_fix(self.lmp,id,style,type,i,j) - result = ptr[0] - self.lib.lammps_free(ptr) - return result - elif (style == 2) and (type == 0): - self.lib.lammps_extract_fix.restype = POINTER(c_int) - ptr = self.lib.lammps_extract_fix(self.lmp,id,style,type,i,j) - return ptr[0] - elif (style == 1) or (style == 2): - if type == 1: + else: return None + + if style == LMP_STYLE_GLOBAL: + if type == LMP_TYPE_SCALAR \ + or type == LMP_TYPE_VECTOR \ + or type == LMP_TYPE_ARRAY: self.lib.lammps_extract_fix.restype = POINTER(c_double) - elif type == 2: + ptr = self.lib.lammps_extract_fix(self.lmp,id,style,type,nrow,ncol) + result = ptr[0] + self.lib.lammps_free(ptr) + return result + elif type == LMP_SIZE_VECTOR \ + or type == LMP_SIZE_ROWS \ + or type == LMP_SIZE_COLS: + self.lib.lammps_extract_fix.restype = POINTER(c_int) + ptr = self.lib.lammps_extract_fix(self.lmp,id,style,type,nrow,ncol) + return ptr[0] + else: + return None + + elif style == LMP_STYLE_ATOM: + if type == LMP_TYPE_VECTOR: + self.lib.lammps_extract_fix.restype = POINTER(c_double) + elif type == LMP_TYPE_ARRAY: self.lib.lammps_extract_fix.restype = POINTER(POINTER(c_double)) + elif type == LMP_SIZE_COLS: + self.lib.lammps_extract_fix.restype = POINTER(c_int) else: return None - ptr = self.lib.lammps_extract_fix(self.lmp,id,style,type,i,j) - return ptr + ptr = self.lib.lammps_extract_fix(self.lmp,id,style,type,nrow,ncol) + if type == LMP_SIZE_COLS: + return ptr[0] + else: + return ptr + + elif style == LMP_STYLE_LOCAL: + if type == LMP_TYPE_VECTOR: + self.lib.lammps_extract_fix.restype = POINTER(c_double) + elif type == LMP_TYPE_ARRAY: + self.lib.lammps_extract_fix.restype = POINTER(POINTER(c_double)) + elif type == LMP_TYPE_SCALAR \ + or type == LMP_SIZE_VECTOR \ + or type == LMP_SIZE_ROWS \ + or type == LMP_SIZE_COLS: + self.lib.lammps_extract_fix.restype = POINTER(c_int) + else: + return None + ptr = self.lib.lammps_extract_fix(self.lmp,id,style,type,nrow,ncol) + if type == LMP_TYPE_VECTOR or type == LMP_TYPE_ARRAY: + return ptr + else: + return ptr[0] else: return None + # ------------------------------------------------------------------------- # extract variable info # free memory for 1 double or 1 vector of doubles via lammps_free() # for vector, must copy nlocal returned values to local c_double vector # memory was allocated by library interface function - def extract_variable(self,name,group,type): + def extract_variable(self,name,group=None,type=LMP_VAR_EQUAL): + """ Evaluate a LAMMPS variable and return its data + + This function is a wrapper around the function + :cpp:func:`lammps_extract_variable` of the C-library interface, + evaluates variable name and returns a copy of the computed data. + The memory temporarily allocated by the C-interface is deleted + after the data is copied to a python variable or list. + The variable must be either an equal-style (or equivalent) + variable or an atom-style variable. The variable type has to + provided as type parameter which may be two constants: + ``LMP_VAR_EQUAL`` or ``LMP_VAR_STRING``; it defaults to + equal-style variables. + The group parameter is only used for atom-style variables and + defaults to the group "all" if set to ``None``, which is the default. + + :param name: name of the variable to execute + :type name: string + :param group: name of group for atom style variable + :type group: string + :param type: type of variable + :type type: int + :return: the requested data + :rtype: double, array of doubles, or None + """ if name: name = name.encode() + else: return None if group: group = group.encode() - if type == 0: + if type == LMP_VAR_EQUAL: self.lib.lammps_extract_variable.restype = POINTER(c_double) ptr = self.lib.lammps_extract_variable(self.lmp,name,group) result = ptr[0] self.lib.lammps_free(ptr) return result - if type == 1: + if type == LMP_VAR_ATOM: self.lib.lammps_extract_global.restype = POINTER(c_int) nlocalptr = self.lib.lammps_extract_global(self.lmp,"nlocal".encode()) nlocal = nlocalptr[0] @@ -559,33 +1061,28 @@ class lammps(object): return result return None - # return current value of thermo keyword - - def get_thermo(self,name): - if name: name = name.encode() - self.lib.lammps_get_thermo.restype = c_double - return self.lib.lammps_get_thermo(self.lmp,name) - - # return total number of atoms in system + # ------------------------------------------------------------------------- - def get_natoms(self): - return self.lib.lammps_get_natoms(self.lmp) + def set_variable(self,name,value): + """Set a new value for a LAMMPS string style variable - # set variable value - # value is converted to string - # returns 0 for success, -1 if failed + This is a wrapper around the :cpp:func:`lammps_set_variable` + function of the C-library interface. - def set_variable(self,name,value): + :param name: name of the variable + :type name: string + :param value: new variable value + :type value: any. will be converted to a string + :return: either 0 on success or -1 on failure + :rtype: int + """ if name: name = name.encode() + else: return -1 if value: value = str(value).encode() + else: return -1 return self.lib.lammps_set_variable(self.lmp,name,value) - # reset simulation box size - - def reset_box(self,boxlo,boxhi,xy,yz,xz): - cboxlo = (3*c_double)(*boxlo) - cboxhi = (3*c_double)(*boxhi) - self.lib.lammps_reset_box(self.lmp,cboxlo,cboxhi,xy,yz,xz) + # ------------------------------------------------------------------------- # return vector of atom properties gathered across procs # 3 variants to match src/library.cpp @@ -608,6 +1105,8 @@ class lammps(object): else: return None return data + # ------------------------------------------------------------------------- + def gather_atoms_concat(self,name,type,count): if name: name = name.encode() natoms = self.lib.lammps_get_natoms(self.lmp) @@ -631,6 +1130,8 @@ class lammps(object): else: return None return data + # ------------------------------------------------------------------------- + # scatter vector of atom properties across procs # 2 variants to match src/library.cpp # name = atom property recognized by LAMMPS in atom->extract() @@ -644,10 +1145,53 @@ class lammps(object): if name: name = name.encode() self.lib.lammps_scatter_atoms(self.lmp,name,type,count,data) + # ------------------------------------------------------------------------- + def scatter_atoms_subset(self,name,type,count,ndata,ids,data): if name: name = name.encode() self.lib.lammps_scatter_atoms_subset(self.lmp,name,type,count,ndata,ids,data) + + # ------------------------------------------------------------------------- + + def encode_image_flags(self,ix,iy,iz): + """ convert 3 integers with image flags for x-, y-, and z-direction + into a single integer like it is used internally in LAMMPS + + This method is a wrapper around the :cpp:func:`lammps_encode_image_flags` + function of library interface. + + :param ix: x-direction image flag + :type ix: int + :param iy: y-direction image flag + :type iy: int + :param iz: z-direction image flag + :type iz: int + :return: encoded image flags + :rtype: lammps.c_imageint + """ + return self.lib.lammps_encode_image_flags(ix,iy,iz) + + # ------------------------------------------------------------------------- + + def decode_image_flags(self,image): + """ Convert encoded image flag integer into list of three regular integers. + + This method is a wrapper around the :cpp:func:`lammps_decode_image_flags` + function of library interface. + + :param image: encoded image flags + :type image: lammps.c_imageint + :return: list of three image flags in x-, y-, and z- direction + :rtype: list of 3 int + """ + + flags = (c_int*3)() + self.lib.lammps_decode_image_flags(image,byref(flags)) + + return [int(i) for i in flags] + + # ------------------------------------------------------------------------- # create N atoms on all procs # N = global number of atoms # id = ID of each atom (optional, can be None) @@ -658,47 +1202,192 @@ class lammps(object): # e.g. for Python list or NumPy, etc # ditto for gather_atoms() above - def create_atoms(self,n,id,type,x,v,image=None,shrinkexceed=False): + def create_atoms(self,n,id,type,x,v=None,image=None,shrinkexceed=False): + """ + Create N atoms from list of coordinates and properties + + This function is a wrapper around the :cpp:func:`lammps_create_atoms` + function of the C-library interface, and the behavior is similar except + that the *v*, *image*, and *shrinkexceed* arguments are optional and + default to *None*, *None*, and *False*, respectively. With none being + equivalent to a ``NULL`` pointer in C. + + The lists of coordinates, types, atom IDs, velocities, image flags can + be provided in any format that may be converted into the required + internal data types. Also the list may contain more than *N* entries, + but not fewer. In the latter case, the function will return without + attempting to create atoms. You may use the :py:func:`encode_image_flags + ` method to properly combine three integers + with image flags into a single integer. + + :param n: number of atoms for which data is provided + :type n: int + :param id: list of atom IDs with at least n elements or None + :type id: list of lammps.tagint + :param type: list of atom types + :type type: list of int + :param x: list of coordinates for x-, y-, and z (flat list of 3n entries) + :type x: list of float + :param v: list of velocities for x-, y-, and z (flat list of 3n entries) or None (optional) + :type v: list of float + :param image: list of encoded image flags (optional) + :type image: list of lammps.imageint + :param shrinkexceed: whether to expand shrink-wrap boundaries if atoms are outside the box (optional) + :type shrinkexceed: bool + :return: number of atoms created. 0 if insufficient or invalid data + :rtype: int + """ if id: - id_lmp = (c_int * n)() - id_lmp[:] = id + id_lmp = (self.c_tagint*n)() + try: + id_lmp[:] = id[0:n] + except: + return 0 else: - id_lmp = id + id_lmp = None + + type_lmp = (c_int*n)() + try: + type_lmp[:] = type[0:n] + except: + return 0 + + three_n = 3*n + x_lmp = (c_double*three_n)() + try: + x_lmp[:] = x[0:three_n] + except: + return 0 + + if v: + v_lmp = (c_double*(three_n))() + try: + v_lmp[:] = v[0:three_n] + except: + return 0 + else: + v_lmp = None if image: - image_lmp = (c_int * n)() - image_lmp[:] = image + img_lmp = (self.c_imageint*n)() + try: + img_lmp[:] = image[0:n] + except: + return 0 + else: + img_lmp = None + + if shrinkexceed: + se_lmp = 1 else: - image_lmp = image + se_lmp = 0 + + self.lib.lammps_create_atoms.argtypes = [c_void_p, c_int, POINTER(self.c_tagint*n), + POINTER(c_int*n), POINTER(c_double*three_n), + POINTER(c_double*three_n), + POINTER(self.c_imageint*n), c_int] + return self.lib.lammps_create_atoms(self.lmp, n, id_lmp, type_lmp, x_lmp, v_lmp, img_lmp, se_lmp) + + # ------------------------------------------------------------------------- + + @property + def has_mpi_support(self): + """ Report whether the LAMMPS shared library was compiled with a + real MPI library or in serial. + + This is a wrapper around the :cpp:func:`lammps_config_has_mpi_support` + function of the library interface. + + :return: False when compiled with MPI STUBS, otherwise True + :rtype: bool + """ + return self.lib.lammps_config_has_mpi_support() != 0 - type_lmp = (c_int * n)() - type_lmp[:] = type - self.lib.lammps_create_atoms(self.lmp,n,id_lmp,type_lmp,x,v,image_lmp, - shrinkexceed) + # ------------------------------------------------------------------------- @property def has_exceptions(self): - """ Return whether the LAMMPS shared library was compiled with C++ exceptions handling enabled """ + """ Report whether the LAMMPS shared library was compiled with C++ + exceptions handling enabled + + This is a wrapper around the :cpp:func:`lammps_config_has_exceptions` + function of the library interface. + + :return: state of C++ exception support + :rtype: bool + """ return self.lib.lammps_config_has_exceptions() != 0 + # ------------------------------------------------------------------------- + @property def has_gzip_support(self): + """ Report whether the LAMMPS shared library was compiled with support + for reading and writing compressed files through ``gzip``. + + This is a wrapper around the :cpp:func:`lammps_config_has_gzip_support` + function of the library interface. + + :return: state of gzip support + :rtype: bool + """ return self.lib.lammps_config_has_gzip_support() != 0 + # ------------------------------------------------------------------------- + @property def has_png_support(self): + """ Report whether the LAMMPS shared library was compiled with support + for writing images in PNG format. + + This is a wrapper around the :cpp:func:`lammps_config_has_png_support` + function of the library interface. + + :return: state of PNG support + :rtype: bool + """ return self.lib.lammps_config_has_png_support() != 0 + # ------------------------------------------------------------------------- + @property def has_jpeg_support(self): + """ Report whether the LAMMPS shared library was compiled with support + for writing images in JPEG format. + + This is a wrapper around the :cpp:func:`lammps_config_has_jpeg_support` + function of the library interface. + + :return: state of JPEG support + :rtype: bool + """ return self.lib.lammps_config_has_jpeg_support() != 0 + # ------------------------------------------------------------------------- + @property def has_ffmpeg_support(self): + """ State of support for writing movies with ``ffmpeg`` in the LAMMPS shared library + + This is a wrapper around the :cpp:func:`lammps_config_has_ffmpeg_support` + function of the library interface. + + :return: state of ffmpeg support + :rtype: bool + """ return self.lib.lammps_config_has_ffmpeg_support() != 0 + # ------------------------------------------------------------------------- + @property def installed_packages(self): + """ List of the names of enabled packages in the LAMMPS shared library + + This is a wrapper around the functions :cpp:func:`lammps_config_package_count` + and :cpp:func`lammps_config_package_name` of the library interface. + + :return + """ if self._installed_packages is None: self._installed_packages = [] npackages = self.lib.lammps_config_package_count() @@ -708,23 +1397,35 @@ class lammps(object): self._installed_packages.append(sb.value.decode()) return self._installed_packages + # ------------------------------------------------------------------------- + def has_style(self, category, name): """Returns whether a given style name is available in a given category + This is a wrapper around the function :cpp:func:`lammps_has_style` + of the library interface. + :param category: name of category :type category: string :param name: name of the style :type name: string + :return: true if style is available in given category :rtype: bool """ return self.lib.lammps_has_style(self.lmp, category.encode(), name.encode()) != 0 + # ------------------------------------------------------------------------- + def available_styles(self, category): """Returns a list of styles available for a given category + This is a wrapper around the functions :cpp:func:`lammps_style_count` + and :cpp:func`lammps_style_name` of the library interface. + :param category: name of category :type category: string + :return: list of style names in given category :rtype: list """ @@ -740,8 +1441,11 @@ class lammps(object): self._available_styles[category].append(sb.value.decode()) return self._available_styles[category] + # ------------------------------------------------------------------------- + def set_fix_external_callback(self, fix_name, callback, caller=None): import numpy as np + def _ctype_to_numpy_int(ctype_int): if ctype_int == c_int32: return np.int32 @@ -759,9 +1463,10 @@ class lammps(object): cCaller = caller self.callback[fix_name] = { 'function': cFunc, 'caller': caller } - self.lib.lammps_set_fix_external_callback(self.lmp, fix_name.encode(), cFunc, cCaller) + # ------------------------------------------------------------------------- + def get_neighlist(self, idx): """Returns an instance of :class:`NeighList` which wraps access to the neighbor list with the given index @@ -774,6 +1479,8 @@ class lammps(object): return None return NeighList(self, idx) + # ------------------------------------------------------------------------- + def find_pair_neighlist(self, style, exact=True, nsub=0, request=0): """Find neighbor list index of pair style neighbor list @@ -802,6 +1509,8 @@ class lammps(object): idx = self.lib.lammps_find_pair_neighlist(self.lmp, style, exact, nsub, request) return self.get_neighlist(idx) + # ------------------------------------------------------------------------- + def find_fix_neighlist(self, fixid, request=0): """Find neighbor list index of fix neighbor list @@ -816,6 +1525,8 @@ class lammps(object): idx = self.lib.lammps_find_fix_neighlist(self.lmp, fixid, request) return self.get_neighlist(idx) + # ------------------------------------------------------------------------- + def find_compute_neighlist(self, computeid, request=0): """Find neighbor list index of compute neighbor list @@ -830,6 +1541,8 @@ class lammps(object): idx = self.lib.lammps_find_compute_neighlist(self.lmp, computeid, request) return self.get_neighlist(idx) + # ------------------------------------------------------------------------- + def get_neighlist_size(self, idx): """Return the number of elements in neighbor list with the given index @@ -840,6 +1553,8 @@ class lammps(object): """ return self.lib.lammps_neighlist_num_elements(self.lmp, idx) + # ------------------------------------------------------------------------- + def get_neighlist_element_neighbors(self, idx, element): """Return data of neighbor list entry @@ -900,6 +1615,7 @@ class OutputCapture(object): def output(self): return self.read_pipe(self.stdout_pipe_read) +# ------------------------------------------------------------------------- class Variable(object): def __init__(self, lammps_wrapper_instance, name, style, definition): @@ -919,6 +1635,7 @@ class Variable(object): except ValueError: return value +# ------------------------------------------------------------------------- class AtomList(object): def __init__(self, lammps_wrapper_instance): @@ -931,6 +1648,7 @@ class AtomList(object): return Atom2D(self.lmp, index + 1) return Atom(self.lmp, index + 1) +# ------------------------------------------------------------------------- class Atom(object): def __init__(self, lammps_wrapper_instance, index): @@ -987,6 +1705,7 @@ class Atom(object): def charge(self): return self.lmp.eval("q[%d]" % self.index) +# ------------------------------------------------------------------------- class Atom2D(Atom): def __init__(self, lammps_wrapper_instance, index): @@ -1017,6 +1736,7 @@ class Atom2D(Atom): return (self.lmp.eval("fx[%d]" % self.index), self.lmp.eval("fy[%d]" % self.index)) +# ------------------------------------------------------------------------- class variable_set: def __init__(self, name, variable_dict): @@ -1041,6 +1761,7 @@ class variable_set: def __repr__(self): return self.__str__() +# ------------------------------------------------------------------------- def get_thermo_data(output): """ traverse output of runs and extract thermo data columns """ @@ -1088,9 +1809,12 @@ def get_thermo_data(output): return runs +# ------------------------------------------------------------------------- +# ------------------------------------------------------------------------- + class PyLammps(object): """ - More Python-like wrapper for LAMMPS (e.g., for iPython) + More Python-like wrapper for LAMMPS (e.g., for IPython) See examples/ipython for usage """ @@ -1135,7 +1859,7 @@ class PyLammps(object): def run(self, *args, **kwargs): output = self.__getattr__('run')(*args, **kwargs) - if(lammps.has_mpi4py): + if(self.has_mpi4py): output = self.lmp.comm.bcast(output, root=0) self.runs += get_thermo_data(output) @@ -1350,7 +2074,7 @@ class PyLammps(object): class IPyLammps(PyLammps): """ - iPython wrapper for LAMMPS which adds embedded graphics capabilities + IPython wrapper for LAMMPS which adds embedded graphics capabilities """ def __init__(self,name="",cmdargs=None,ptr=None,comm=None): diff --git a/src/.gitignore b/src/.gitignore index 2fcbc5b80f36598e9c3961132ed8c09245cb7483..95b81547e9e7d02e01f56aaf7893846a27a3ad9d 100644 --- a/src/.gitignore +++ b/src/.gitignore @@ -32,6 +32,9 @@ /pair_kim.cpp /pair_kim.h +/superpose3d.h +/math_eigen.h + /kokkos.cpp /kokkos.h /kokkos_type.h @@ -49,6 +52,13 @@ /pair_meamc.cpp /pair_meamc.h +/compute_mliap.cpp +/compute_mliap.h +/mliap_*.cpp +/mliap_*.h +/pair_mliap.cpp +/pair_mliap.h + /ptm_*.cpp /ptm_*.h /compute_ptm.cpp @@ -305,6 +315,8 @@ /bond_oxrna2_fene.h /bond_quartic.cpp /bond_quartic.h +/bond_special.cpp +/bond_special.h /bond_table.cpp /bond_table.h /cg_cmm_parms.cpp @@ -589,6 +601,8 @@ /fix_meso_move.h /fix_meso_stationary.cpp /fix_meso_stationary.h +/fix_momentum_chunk.cpp +/fix_momentum_chunk.h /fix_mscg.cpp /fix_mscg.h /fix_msst.cpp @@ -750,6 +764,8 @@ /fix_wall_piston.h /fix_wall_srd.cpp /fix_wall_srd.h +/fix_widom.cpp +/fix_widom.h /gpu_extra.h /gridcomm.cpp /gridcomm.h diff --git a/src/ASPHERE/pair_gayberne.cpp b/src/ASPHERE/pair_gayberne.cpp index 51896aab8537090f072d2baeb181bc483336e493..064e365dc163824f188d9913302857cd06debf02 100644 --- a/src/ASPHERE/pair_gayberne.cpp +++ b/src/ASPHERE/pair_gayberne.cpp @@ -268,10 +268,10 @@ void PairGayBerne::settings(int narg, char **arg) { if (narg != 4) error->all(FLERR,"Illegal pair_style command"); - gamma = force->numeric(FLERR,arg[0]); - upsilon = force->numeric(FLERR,arg[1])/2.0; - mu = force->numeric(FLERR,arg[2]); - cut_global = force->numeric(FLERR,arg[3]); + gamma = utils::numeric(FLERR,arg[0],false,lmp); + upsilon = utils::numeric(FLERR,arg[1],false,lmp)/2.0; + mu = utils::numeric(FLERR,arg[2],false,lmp); + cut_global = utils::numeric(FLERR,arg[3],false,lmp); // reset cutoffs that have been explicitly set @@ -294,20 +294,20 @@ void PairGayBerne::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); - - double epsilon_one = force->numeric(FLERR,arg[2]); - double sigma_one = force->numeric(FLERR,arg[3]); - double eia_one = force->numeric(FLERR,arg[4]); - double eib_one = force->numeric(FLERR,arg[5]); - double eic_one = force->numeric(FLERR,arg[6]); - double eja_one = force->numeric(FLERR,arg[7]); - double ejb_one = force->numeric(FLERR,arg[8]); - double ejc_one = force->numeric(FLERR,arg[9]); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); + + double epsilon_one = utils::numeric(FLERR,arg[2],false,lmp); + double sigma_one = utils::numeric(FLERR,arg[3],false,lmp); + double eia_one = utils::numeric(FLERR,arg[4],false,lmp); + double eib_one = utils::numeric(FLERR,arg[5],false,lmp); + double eic_one = utils::numeric(FLERR,arg[6],false,lmp); + double eja_one = utils::numeric(FLERR,arg[7],false,lmp); + double ejb_one = utils::numeric(FLERR,arg[8],false,lmp); + double ejc_one = utils::numeric(FLERR,arg[9],false,lmp); double cut_one = cut_global; - if (narg == 11) cut_one = force->numeric(FLERR,arg[10]); + if (narg == 11) cut_one = utils::numeric(FLERR,arg[10],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/ASPHERE/pair_line_lj.cpp b/src/ASPHERE/pair_line_lj.cpp index fdeb09aac447d07eb5cc504656d07732add191c1..a1c64775428600a999d233813a03d450d754d617 100644 --- a/src/ASPHERE/pair_line_lj.cpp +++ b/src/ASPHERE/pair_line_lj.cpp @@ -20,6 +20,7 @@ #include "neigh_list.h" #include "memory.h" #include "error.h" +#include "utils.h" using namespace LAMMPS_NS; @@ -344,7 +345,7 @@ void PairLineLJ::settings(int narg, char **arg) { if (narg != 1) error->all(FLERR,"Illegal pair_style command"); - cut_global = force->numeric(FLERR,arg[0]); + cut_global = utils::numeric(FLERR,arg[0],false,lmp); // reset cutoffs that have been explicitly set @@ -367,17 +368,17 @@ void PairLineLJ::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); - double size_itype = force->numeric(FLERR,arg[2]); - double size_jtype = force->numeric(FLERR,arg[3]); - double epsilon_one = force->numeric(FLERR,arg[4]); - double sigma_one = force->numeric(FLERR,arg[5]); - double cutsub_one = force->numeric(FLERR,arg[6]); + double size_itype = utils::numeric(FLERR,arg[2],false,lmp); + double size_jtype = utils::numeric(FLERR,arg[3],false,lmp); + double epsilon_one = utils::numeric(FLERR,arg[4],false,lmp); + double sigma_one = utils::numeric(FLERR,arg[5],false,lmp); + double cutsub_one = utils::numeric(FLERR,arg[6],false,lmp); double cut_one = cut_global; - if (narg == 8) cut_one = force->numeric(FLERR,arg[7]); + if (narg == 8) cut_one = utils::numeric(FLERR,arg[7],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/ASPHERE/pair_resquared.cpp b/src/ASPHERE/pair_resquared.cpp index dd4b11935e56b3ebc0525dbca5a341243db6d9b9..a25addaba4297b15b2ee17adf85179a04a152ca0 100644 --- a/src/ASPHERE/pair_resquared.cpp +++ b/src/ASPHERE/pair_resquared.cpp @@ -243,7 +243,7 @@ void PairRESquared::settings(int narg, char **arg) { if (narg != 1) error->all(FLERR,"Illegal pair_style command"); - cut_global = force->numeric(FLERR,arg[0]); + cut_global = utils::numeric(FLERR,arg[0],false,lmp); // reset cutoffs that have been explicitly set @@ -266,20 +266,20 @@ void PairRESquared::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); - - double epsilon_one = force->numeric(FLERR,arg[2]); - double sigma_one = force->numeric(FLERR,arg[3]); - double eia_one = force->numeric(FLERR,arg[4]); - double eib_one = force->numeric(FLERR,arg[5]); - double eic_one = force->numeric(FLERR,arg[6]); - double eja_one = force->numeric(FLERR,arg[7]); - double ejb_one = force->numeric(FLERR,arg[8]); - double ejc_one = force->numeric(FLERR,arg[9]); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); + + double epsilon_one = utils::numeric(FLERR,arg[2],false,lmp); + double sigma_one = utils::numeric(FLERR,arg[3],false,lmp); + double eia_one = utils::numeric(FLERR,arg[4],false,lmp); + double eib_one = utils::numeric(FLERR,arg[5],false,lmp); + double eic_one = utils::numeric(FLERR,arg[6],false,lmp); + double eja_one = utils::numeric(FLERR,arg[7],false,lmp); + double ejb_one = utils::numeric(FLERR,arg[8],false,lmp); + double ejc_one = utils::numeric(FLERR,arg[9],false,lmp); double cut_one = cut_global; - if (narg == 11) cut_one = force->numeric(FLERR,arg[10]); + if (narg == 11) cut_one = utils::numeric(FLERR,arg[10],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/ASPHERE/pair_tri_lj.cpp b/src/ASPHERE/pair_tri_lj.cpp index 0984b0a30c6e7347c07120ee67046c41b13977a0..0f840dadf36a550f52babfbe0b2bb2fd916bd3c0 100644 --- a/src/ASPHERE/pair_tri_lj.cpp +++ b/src/ASPHERE/pair_tri_lj.cpp @@ -21,6 +21,7 @@ #include "neigh_list.h" #include "memory.h" #include "error.h" +#include "utils.h" using namespace LAMMPS_NS; @@ -415,7 +416,7 @@ void PairTriLJ::settings(int narg, char **arg) { if (narg != 1) error->all(FLERR,"Illegal pair_style command"); - cut_global = force->numeric(FLERR,arg[0]); + cut_global = utils::numeric(FLERR,arg[0],false,lmp); // reset cutoffs that have been explicitly set @@ -438,14 +439,14 @@ void PairTriLJ::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); - double epsilon_one = force->numeric(FLERR,arg[2]); - double sigma_one = force->numeric(FLERR,arg[3]); + double epsilon_one = utils::numeric(FLERR,arg[2],false,lmp); + double sigma_one = utils::numeric(FLERR,arg[3],false,lmp); double cut_one = cut_global; - if (narg == 5) cut_one = force->numeric(FLERR,arg[4]); + if (narg == 5) cut_one = utils::numeric(FLERR,arg[4],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/BODY/body_nparticle.cpp b/src/BODY/body_nparticle.cpp index 73a85386bd4f6dcf1d7491d0225a50428bc182d5..a99c025e1f370168b597868dbed22cc5982f2b91 100644 --- a/src/BODY/body_nparticle.cpp +++ b/src/BODY/body_nparticle.cpp @@ -35,8 +35,8 @@ BodyNparticle::BodyNparticle(LAMMPS *lmp, int narg, char **arg) : { if (narg != 3) error->all(FLERR,"Invalid body nparticle command"); - int nmin = force->inumeric(FLERR,arg[1]); - int nmax = force->inumeric(FLERR,arg[2]); + int nmin = utils::inumeric(FLERR,arg[1],false,lmp); + int nmax = utils::inumeric(FLERR,arg[2],false,lmp); if (nmin <= 0 || nmin > nmax) error->all(FLERR,"Invalid body nparticle command"); diff --git a/src/BODY/body_rounded_polygon.cpp b/src/BODY/body_rounded_polygon.cpp index d8ac81b2e6077bf6c503a0690ac24e0ccce26c9c..349ad957c2eb76ffab55b5f4bbb40e407edc0459 100644 --- a/src/BODY/body_rounded_polygon.cpp +++ b/src/BODY/body_rounded_polygon.cpp @@ -46,8 +46,8 @@ BodyRoundedPolygon::BodyRoundedPolygon(LAMMPS *lmp, int narg, char **arg) : // nmin and nmax are minimum and maximum number of vertices - int nmin = force->inumeric(FLERR,arg[1]); - int nmax = force->inumeric(FLERR,arg[2]); + int nmin = utils::inumeric(FLERR,arg[1],false,lmp); + int nmax = utils::inumeric(FLERR,arg[2],false,lmp); if (nmin <= 0 || nmin > nmax) error->all(FLERR,"Invalid body rounded/polygon command"); diff --git a/src/BODY/body_rounded_polyhedron.cpp b/src/BODY/body_rounded_polyhedron.cpp index b6646cc116beacd9d96d8f8933d95ddd70b9cc08..cb84517b6f6c473fe3b23cf1d53d78eb77d66cff 100644 --- a/src/BODY/body_rounded_polyhedron.cpp +++ b/src/BODY/body_rounded_polyhedron.cpp @@ -44,8 +44,8 @@ BodyRoundedPolyhedron::BodyRoundedPolyhedron(LAMMPS *lmp, int narg, char **arg) // nmin and nmax are minimum and maximum number of vertices - int nmin = force->inumeric(FLERR,arg[1]); - int nmax = force->inumeric(FLERR,arg[2]); + int nmin = utils::inumeric(FLERR,arg[1],false,lmp); + int nmax = utils::inumeric(FLERR,arg[2],false,lmp); if (nmin <= 0 || nmin > nmax) error->all(FLERR,"Invalid body rounded/polyhedron command"); diff --git a/src/BODY/compute_body_local.cpp b/src/BODY/compute_body_local.cpp index c12502df421d311146b1054120498242709de1c7..915407db9249e9863999f56c2e5f26c5d1a24b43 100644 --- a/src/BODY/compute_body_local.cpp +++ b/src/BODY/compute_body_local.cpp @@ -47,7 +47,7 @@ ComputeBodyLocal::ComputeBodyLocal(LAMMPS *lmp, int narg, char **arg) : else if (strcmp(arg[iarg],"type") == 0) which[nvalues++] = TYPE; else { which[nvalues] = INDEX; - index[nvalues] = force->inumeric(FLERR,arg[iarg]) - 1; + index[nvalues] = utils::inumeric(FLERR,arg[iarg],false,lmp) - 1; nvalues++; } } diff --git a/src/BODY/fix_wall_body_polygon.cpp b/src/BODY/fix_wall_body_polygon.cpp index e51476de60f27ca879537f4447453fa6b8865189..ccfd37bbb2041c348e63914ef1ea7eb68b258065 100644 --- a/src/BODY/fix_wall_body_polygon.cpp +++ b/src/BODY/fix_wall_body_polygon.cpp @@ -62,11 +62,11 @@ FixWallBodyPolygon::FixWallBodyPolygon(LAMMPS *lmp, int narg, char **arg) : // wall/particle coefficients - kn = force->numeric(FLERR,arg[3]); + kn = utils::numeric(FLERR,arg[3],false,lmp); - c_n = force->numeric(FLERR,arg[4]); + c_n = utils::numeric(FLERR,arg[4],false,lmp); if (strcmp(arg[5],"NULL") == 0) c_t = 0.5 * c_n; - else c_t = force->numeric(FLERR,arg[5]); + else c_t = utils::numeric(FLERR,arg[5],false,lmp); if (kn < 0.0 || c_n < 0.0 || c_t < 0.0) error->all(FLERR,"Illegal fix wall/body/polygon command"); @@ -78,23 +78,23 @@ FixWallBodyPolygon::FixWallBodyPolygon(LAMMPS *lmp, int narg, char **arg) : if (narg < iarg+3) error->all(FLERR,"Illegal fix wall/body/polygon command"); wallstyle = XPLANE; if (strcmp(arg[iarg+1],"NULL") == 0) lo = -BIG; - else lo = force->numeric(FLERR,arg[iarg+1]); + else lo = utils::numeric(FLERR,arg[iarg+1],false,lmp); if (strcmp(arg[iarg+2],"NULL") == 0) hi = BIG; - else hi = force->numeric(FLERR,arg[iarg+2]); + else hi = utils::numeric(FLERR,arg[iarg+2],false,lmp); iarg += 3; } else if (strcmp(arg[iarg],"yplane") == 0) { if (narg < iarg+3) error->all(FLERR,"Illegal fix wall/body/polygon command"); wallstyle = YPLANE; if (strcmp(arg[iarg+1],"NULL") == 0) lo = -BIG; - else lo = force->numeric(FLERR,arg[iarg+1]); + else lo = utils::numeric(FLERR,arg[iarg+1],false,lmp); if (strcmp(arg[iarg+2],"NULL") == 0) hi = BIG; - else hi = force->numeric(FLERR,arg[iarg+2]); + else hi = utils::numeric(FLERR,arg[iarg+2],false,lmp); iarg += 3; } else if (strcmp(arg[iarg],"zcylinder") == 0) { if (narg < iarg+2) error->all(FLERR,"Illegal fix wall/body/polygon command"); wallstyle = ZCYLINDER; lo = hi = 0.0; - cylradius = force->numeric(FLERR,arg[iarg+1]); + cylradius = utils::numeric(FLERR,arg[iarg+1],false,lmp); iarg += 2; } @@ -109,8 +109,8 @@ FixWallBodyPolygon::FixWallBodyPolygon(LAMMPS *lmp, int narg, char **arg) : else if (strcmp(arg[iarg+1],"y") == 0) axis = 1; else if (strcmp(arg[iarg+1],"z") == 0) axis = 2; else error->all(FLERR,"Illegal fix wall/body/polygon command"); - amplitude = force->numeric(FLERR,arg[iarg+2]); - period = force->numeric(FLERR,arg[iarg+3]); + amplitude = utils::numeric(FLERR,arg[iarg+2],false,lmp); + period = utils::numeric(FLERR,arg[iarg+3],false,lmp); wiggle = 1; iarg += 4; } else error->all(FLERR,"Illegal fix wall/body/polygon command"); diff --git a/src/BODY/fix_wall_body_polyhedron.cpp b/src/BODY/fix_wall_body_polyhedron.cpp index 42c62de436536a3174c3ea04000c1033beea709b..161f8d6d6d88bd3f5847694eff0ce641aeb2b42c 100644 --- a/src/BODY/fix_wall_body_polyhedron.cpp +++ b/src/BODY/fix_wall_body_polyhedron.cpp @@ -62,11 +62,11 @@ FixWallBodyPolyhedron::FixWallBodyPolyhedron(LAMMPS *lmp, int narg, char **arg) // wall/particle coefficients - kn = force->numeric(FLERR,arg[3]); + kn = utils::numeric(FLERR,arg[3],false,lmp); - c_n = force->numeric(FLERR,arg[4]); + c_n = utils::numeric(FLERR,arg[4],false,lmp); if (strcmp(arg[5],"NULL") == 0) c_t = 0.5 * c_n; - else c_t = force->numeric(FLERR,arg[5]); + else c_t = utils::numeric(FLERR,arg[5],false,lmp); if (kn < 0.0 || c_n < 0.0 || c_t < 0.0) error->all(FLERR,"Illegal fix wall/body/polyhedron command"); @@ -78,25 +78,25 @@ FixWallBodyPolyhedron::FixWallBodyPolyhedron(LAMMPS *lmp, int narg, char **arg) if (narg < iarg+3) error->all(FLERR,"Illegal fix wall/body/polyhedron command"); wallstyle = XPLANE; if (strcmp(arg[iarg+1],"NULL") == 0) lo = -BIG; - else lo = force->numeric(FLERR,arg[iarg+1]); + else lo = utils::numeric(FLERR,arg[iarg+1],false,lmp); if (strcmp(arg[iarg+2],"NULL") == 0) hi = BIG; - else hi = force->numeric(FLERR,arg[iarg+2]); + else hi = utils::numeric(FLERR,arg[iarg+2],false,lmp); iarg += 3; } else if (strcmp(arg[iarg],"yplane") == 0) { if (narg < iarg+3) error->all(FLERR,"Illegal fix wall/body/polyhedron command"); wallstyle = YPLANE; if (strcmp(arg[iarg+1],"NULL") == 0) lo = -BIG; - else lo = force->numeric(FLERR,arg[iarg+1]); + else lo = utils::numeric(FLERR,arg[iarg+1],false,lmp); if (strcmp(arg[iarg+2],"NULL") == 0) hi = BIG; - else hi = force->numeric(FLERR,arg[iarg+2]); + else hi = utils::numeric(FLERR,arg[iarg+2],false,lmp); iarg += 3; } else if (strcmp(arg[iarg],"zplane") == 0) { if (narg < iarg+3) error->all(FLERR,"Illegal fix wall/body/polyhedron command"); wallstyle = ZPLANE; if (strcmp(arg[iarg+1],"NULL") == 0) lo = -BIG; - else lo = force->numeric(FLERR,arg[iarg+1]); + else lo = utils::numeric(FLERR,arg[iarg+1],false,lmp); if (strcmp(arg[iarg+2],"NULL") == 0) hi = BIG; - else hi = force->numeric(FLERR,arg[iarg+2]); + else hi = utils::numeric(FLERR,arg[iarg+2],false,lmp); iarg += 3; } @@ -111,8 +111,8 @@ FixWallBodyPolyhedron::FixWallBodyPolyhedron(LAMMPS *lmp, int narg, char **arg) else if (strcmp(arg[iarg+1],"y") == 0) axis = 1; else if (strcmp(arg[iarg+1],"z") == 0) axis = 2; else error->all(FLERR,"Illegal fix wall/body/polyhedron command"); - amplitude = force->numeric(FLERR,arg[iarg+2]); - period = force->numeric(FLERR,arg[iarg+3]); + amplitude = utils::numeric(FLERR,arg[iarg+2],false,lmp); + period = utils::numeric(FLERR,arg[iarg+3],false,lmp); wiggle = 1; iarg += 4; } else error->all(FLERR,"Illegal fix wall/body/polyhedron command"); diff --git a/src/BODY/pair_body_nparticle.cpp b/src/BODY/pair_body_nparticle.cpp index bd7aba5455d6dc0f32d243ce0cc480810e5f32ca..b3333d4715043f2242b28743925a3e034a0083be 100644 --- a/src/BODY/pair_body_nparticle.cpp +++ b/src/BODY/pair_body_nparticle.cpp @@ -23,6 +23,7 @@ #include "neigh_list.h" #include "memory.h" #include "error.h" +#include "utils.h" using namespace LAMMPS_NS; @@ -362,7 +363,7 @@ void PairBodyNparticle::settings(int narg, char **arg) { if (narg != 1) error->all(FLERR,"Illegal pair_style command"); - cut_global = force->numeric(FLERR,arg[0]); + cut_global = utils::numeric(FLERR,arg[0],false,lmp); // reset cutoffs that have been explicitly set @@ -385,14 +386,14 @@ void PairBodyNparticle::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); - double epsilon_one = force->numeric(FLERR,arg[2]); - double sigma_one = force->numeric(FLERR,arg[3]); + double epsilon_one = utils::numeric(FLERR,arg[2],false,lmp); + double sigma_one = utils::numeric(FLERR,arg[3],false,lmp); double cut_one = cut_global; - if (narg == 5) cut_one = force->numeric(FLERR,arg[4]); + if (narg == 5) cut_one = utils::numeric(FLERR,arg[4],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/BODY/pair_body_rounded_polygon.cpp b/src/BODY/pair_body_rounded_polygon.cpp index 22a6d82b44d940214f245daf4fb4be789595ac10..9687c28613e8ccce0120710ba4ed4bfcde1bb7f0 100644 --- a/src/BODY/pair_body_rounded_polygon.cpp +++ b/src/BODY/pair_body_rounded_polygon.cpp @@ -34,6 +34,7 @@ #include "neigh_list.h" #include "memory.h" #include "error.h" +#include "utils.h" using namespace LAMMPS_NS; @@ -365,11 +366,11 @@ void PairBodyRoundedPolygon::settings(int narg, char **arg) { if (narg < 5) error->all(FLERR,"Illegal pair_style command"); - c_n = force->numeric(FLERR,arg[0]); - c_t = force->numeric(FLERR,arg[1]); - mu = force->numeric(FLERR,arg[2]); - delta_ua = force->numeric(FLERR,arg[3]); - cut_inner = force->numeric(FLERR,arg[4]); + c_n = utils::numeric(FLERR,arg[0],false,lmp); + c_t = utils::numeric(FLERR,arg[1],false,lmp); + mu = utils::numeric(FLERR,arg[2],false,lmp); + delta_ua = utils::numeric(FLERR,arg[3],false,lmp); + cut_inner = utils::numeric(FLERR,arg[4],false,lmp); if (delta_ua < 0) delta_ua = 1; } @@ -385,11 +386,11 @@ void PairBodyRoundedPolygon::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); - double k_n_one = force->numeric(FLERR,arg[2]); - double k_na_one = force->numeric(FLERR,arg[3]); + double k_n_one = utils::numeric(FLERR,arg[2],false,lmp); + double k_na_one = utils::numeric(FLERR,arg[3],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/BODY/pair_body_rounded_polyhedron.cpp b/src/BODY/pair_body_rounded_polyhedron.cpp index ff7e7fc25e5caafb49fbcbe97227e0582123da1d..dfefc318afe948ccc17bb9f0f6337ef39acd2569 100644 --- a/src/BODY/pair_body_rounded_polyhedron.cpp +++ b/src/BODY/pair_body_rounded_polyhedron.cpp @@ -37,6 +37,7 @@ #include "error.h" #include "math_extra.h" #include "math_const.h" +#include "utils.h" using namespace LAMMPS_NS; using namespace MathConst; @@ -343,11 +344,11 @@ void PairBodyRoundedPolyhedron::settings(int narg, char **arg) { if (narg < 5) error->all(FLERR,"Illegal pair_style command"); - c_n = force->numeric(FLERR,arg[0]); - c_t = force->numeric(FLERR,arg[1]); - mu = force->numeric(FLERR,arg[2]); - A_ua = force->numeric(FLERR,arg[3]); - cut_inner = force->numeric(FLERR,arg[4]); + c_n = utils::numeric(FLERR,arg[0],false,lmp); + c_t = utils::numeric(FLERR,arg[1],false,lmp); + mu = utils::numeric(FLERR,arg[2],false,lmp); + A_ua = utils::numeric(FLERR,arg[3],false,lmp); + cut_inner = utils::numeric(FLERR,arg[4],false,lmp); if (A_ua < 0) A_ua = 1; } @@ -363,11 +364,11 @@ void PairBodyRoundedPolyhedron::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); - double k_n_one = force->numeric(FLERR,arg[2]); - double k_na_one = force->numeric(FLERR,arg[3]); + double k_n_one = utils::numeric(FLERR,arg[2],false,lmp); + double k_na_one = utils::numeric(FLERR,arg[3],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/CLASS2/angle_class2.cpp b/src/CLASS2/angle_class2.cpp index fe567ead344fe99740311c517db1146f2064db5f..431479b489fc0ea1481dd0591fbbaff005efde76 100644 --- a/src/CLASS2/angle_class2.cpp +++ b/src/CLASS2/angle_class2.cpp @@ -273,16 +273,16 @@ void AngleClass2::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi; - force->bounds(FLERR,arg[0],atom->nangletypes,ilo,ihi); + utils::bounds(FLERR,arg[0],1,atom->nangletypes,ilo,ihi,error); int count = 0; if (strcmp(arg[1],"bb") == 0) { if (narg != 5) error->all(FLERR,"Incorrect args for angle coefficients"); - double bb_k_one = force->numeric(FLERR,arg[2]); - double bb_r1_one = force->numeric(FLERR,arg[3]); - double bb_r2_one = force->numeric(FLERR,arg[4]); + double bb_k_one = utils::numeric(FLERR,arg[2],false,lmp); + double bb_r1_one = utils::numeric(FLERR,arg[3],false,lmp); + double bb_r2_one = utils::numeric(FLERR,arg[4],false,lmp); for (int i = ilo; i <= ihi; i++) { bb_k[i] = bb_k_one; @@ -295,10 +295,10 @@ void AngleClass2::coeff(int narg, char **arg) } else if (strcmp(arg[1],"ba") == 0) { if (narg != 6) error->all(FLERR,"Incorrect args for angle coefficients"); - double ba_k1_one = force->numeric(FLERR,arg[2]); - double ba_k2_one = force->numeric(FLERR,arg[3]); - double ba_r1_one = force->numeric(FLERR,arg[4]); - double ba_r2_one = force->numeric(FLERR,arg[5]); + double ba_k1_one = utils::numeric(FLERR,arg[2],false,lmp); + double ba_k2_one = utils::numeric(FLERR,arg[3],false,lmp); + double ba_r1_one = utils::numeric(FLERR,arg[4],false,lmp); + double ba_r2_one = utils::numeric(FLERR,arg[5],false,lmp); for (int i = ilo; i <= ihi; i++) { ba_k1[i] = ba_k1_one; @@ -312,10 +312,10 @@ void AngleClass2::coeff(int narg, char **arg) } else { if (narg != 5) error->all(FLERR,"Incorrect args for angle coefficients"); - double theta0_one = force->numeric(FLERR,arg[1]); - double k2_one = force->numeric(FLERR,arg[2]); - double k3_one = force->numeric(FLERR,arg[3]); - double k4_one = force->numeric(FLERR,arg[4]); + double theta0_one = utils::numeric(FLERR,arg[1],false,lmp); + double k2_one = utils::numeric(FLERR,arg[2],false,lmp); + double k3_one = utils::numeric(FLERR,arg[3],false,lmp); + double k4_one = utils::numeric(FLERR,arg[4],false,lmp); // convert theta0 from degrees to radians diff --git a/src/CLASS2/bond_class2.cpp b/src/CLASS2/bond_class2.cpp index 7feec1a4b3b0f9e8c3c81f1ad79c5d057f0c5228..2cd63eafcb8a3b119ba03c75736eb8a603fa82b9 100644 --- a/src/CLASS2/bond_class2.cpp +++ b/src/CLASS2/bond_class2.cpp @@ -134,12 +134,12 @@ void BondClass2::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi; - force->bounds(FLERR,arg[0],atom->nbondtypes,ilo,ihi); + utils::bounds(FLERR,arg[0],1,atom->nbondtypes,ilo,ihi,error); - double r0_one = force->numeric(FLERR,arg[1]); - double k2_one = force->numeric(FLERR,arg[2]); - double k3_one = force->numeric(FLERR,arg[3]); - double k4_one = force->numeric(FLERR,arg[4]); + double r0_one = utils::numeric(FLERR,arg[1],false,lmp); + double k2_one = utils::numeric(FLERR,arg[2],false,lmp); + double k3_one = utils::numeric(FLERR,arg[3],false,lmp); + double k4_one = utils::numeric(FLERR,arg[4],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/CLASS2/dihedral_class2.cpp b/src/CLASS2/dihedral_class2.cpp index 73b6a420e8ebea3acea040cee0785f3a087b1656..44d4902e4a2584cd4495a4306ee32b8c984831af 100644 --- a/src/CLASS2/dihedral_class2.cpp +++ b/src/CLASS2/dihedral_class2.cpp @@ -639,17 +639,17 @@ void DihedralClass2::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi; - force->bounds(FLERR,arg[0],atom->ndihedraltypes,ilo,ihi); + utils::bounds(FLERR,arg[0],1,atom->ndihedraltypes,ilo,ihi,error); int count = 0; if (strcmp(arg[1],"mbt") == 0) { if (narg != 6) error->all(FLERR,"Incorrect args for dihedral coefficients"); - double f1_one = force->numeric(FLERR,arg[2]); - double f2_one = force->numeric(FLERR,arg[3]); - double f3_one = force->numeric(FLERR,arg[4]); - double r0_one = force->numeric(FLERR,arg[5]); + double f1_one = utils::numeric(FLERR,arg[2],false,lmp); + double f2_one = utils::numeric(FLERR,arg[3],false,lmp); + double f3_one = utils::numeric(FLERR,arg[4],false,lmp); + double r0_one = utils::numeric(FLERR,arg[5],false,lmp); for (int i = ilo; i <= ihi; i++) { mbt_f1[i] = f1_one; @@ -664,14 +664,14 @@ void DihedralClass2::coeff(int narg, char **arg) if (narg != 10) error->all(FLERR,"Incorrect args for dihedral coefficients"); - double f1_1_one = force->numeric(FLERR,arg[2]); - double f2_1_one = force->numeric(FLERR,arg[3]); - double f3_1_one = force->numeric(FLERR,arg[4]); - double f1_2_one = force->numeric(FLERR,arg[5]); - double f2_2_one = force->numeric(FLERR,arg[6]); - double f3_2_one = force->numeric(FLERR,arg[7]); - double r0_1_one = force->numeric(FLERR,arg[8]); - double r0_2_one = force->numeric(FLERR,arg[9]); + double f1_1_one = utils::numeric(FLERR,arg[2],false,lmp); + double f2_1_one = utils::numeric(FLERR,arg[3],false,lmp); + double f3_1_one = utils::numeric(FLERR,arg[4],false,lmp); + double f1_2_one = utils::numeric(FLERR,arg[5],false,lmp); + double f2_2_one = utils::numeric(FLERR,arg[6],false,lmp); + double f3_2_one = utils::numeric(FLERR,arg[7],false,lmp); + double r0_1_one = utils::numeric(FLERR,arg[8],false,lmp); + double r0_2_one = utils::numeric(FLERR,arg[9],false,lmp); for (int i = ilo; i <= ihi; i++) { ebt_f1_1[i] = f1_1_one; @@ -690,14 +690,14 @@ void DihedralClass2::coeff(int narg, char **arg) if (narg != 10) error->all(FLERR,"Incorrect args for dihedral coefficients"); - double f1_1_one = force->numeric(FLERR,arg[2]); - double f2_1_one = force->numeric(FLERR,arg[3]); - double f3_1_one = force->numeric(FLERR,arg[4]); - double f1_2_one = force->numeric(FLERR,arg[5]); - double f2_2_one = force->numeric(FLERR,arg[6]); - double f3_2_one = force->numeric(FLERR,arg[7]); - double theta0_1_one = force->numeric(FLERR,arg[8]); - double theta0_2_one = force->numeric(FLERR,arg[9]); + double f1_1_one = utils::numeric(FLERR,arg[2],false,lmp); + double f2_1_one = utils::numeric(FLERR,arg[3],false,lmp); + double f3_1_one = utils::numeric(FLERR,arg[4],false,lmp); + double f1_2_one = utils::numeric(FLERR,arg[5],false,lmp); + double f2_2_one = utils::numeric(FLERR,arg[6],false,lmp); + double f3_2_one = utils::numeric(FLERR,arg[7],false,lmp); + double theta0_1_one = utils::numeric(FLERR,arg[8],false,lmp); + double theta0_2_one = utils::numeric(FLERR,arg[9],false,lmp); // convert theta0's from degrees to radians @@ -717,9 +717,9 @@ void DihedralClass2::coeff(int narg, char **arg) } else if (strcmp(arg[1],"aat") == 0) { if (narg != 5) error->all(FLERR,"Incorrect args for dihedral coefficients"); - double k_one = force->numeric(FLERR,arg[2]); - double theta0_1_one = force->numeric(FLERR,arg[3]); - double theta0_2_one = force->numeric(FLERR,arg[4]); + double k_one = utils::numeric(FLERR,arg[2],false,lmp); + double theta0_1_one = utils::numeric(FLERR,arg[3],false,lmp); + double theta0_2_one = utils::numeric(FLERR,arg[4],false,lmp); // convert theta0's from degrees to radians @@ -734,9 +734,9 @@ void DihedralClass2::coeff(int narg, char **arg) } else if (strcmp(arg[1],"bb13") == 0) { if (narg != 5) error->all(FLERR,"Incorrect args for dihedral coefficients"); - double k_one = force->numeric(FLERR,arg[2]); - double r10_one = force->numeric(FLERR,arg[3]); - double r30_one = force->numeric(FLERR,arg[4]); + double k_one = utils::numeric(FLERR,arg[2],false,lmp); + double r10_one = utils::numeric(FLERR,arg[3],false,lmp); + double r30_one = utils::numeric(FLERR,arg[4],false,lmp); for (int i = ilo; i <= ihi; i++) { bb13t_k[i] = k_one; @@ -749,12 +749,12 @@ void DihedralClass2::coeff(int narg, char **arg) } else { if (narg != 7) error->all(FLERR,"Incorrect args for dihedral coefficients"); - double k1_one = force->numeric(FLERR,arg[1]); - double phi1_one = force->numeric(FLERR,arg[2]); - double k2_one = force->numeric(FLERR,arg[3]); - double phi2_one = force->numeric(FLERR,arg[4]); - double k3_one = force->numeric(FLERR,arg[5]); - double phi3_one = force->numeric(FLERR,arg[6]); + double k1_one = utils::numeric(FLERR,arg[1],false,lmp); + double phi1_one = utils::numeric(FLERR,arg[2],false,lmp); + double k2_one = utils::numeric(FLERR,arg[3],false,lmp); + double phi2_one = utils::numeric(FLERR,arg[4],false,lmp); + double k3_one = utils::numeric(FLERR,arg[5],false,lmp); + double phi3_one = utils::numeric(FLERR,arg[6],false,lmp); // convert phi's from degrees to radians diff --git a/src/CLASS2/improper_class2.cpp b/src/CLASS2/improper_class2.cpp index 2d5918fdef84f236ee84e72be85eda79e3429c95..662459abb7a57662a343ee8ac8d3cac8a01562d7 100644 --- a/src/CLASS2/improper_class2.cpp +++ b/src/CLASS2/improper_class2.cpp @@ -523,19 +523,19 @@ void ImproperClass2::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi; - force->bounds(FLERR,arg[0],atom->nimpropertypes,ilo,ihi); + utils::bounds(FLERR,arg[0],1,atom->nimpropertypes,ilo,ihi,error); int count = 0; if (strcmp(arg[1],"aa") == 0) { if (narg != 8) error->all(FLERR,"Incorrect args for improper coefficients"); - double k1_one = force->numeric(FLERR,arg[2]); - double k2_one = force->numeric(FLERR,arg[3]); - double k3_one = force->numeric(FLERR,arg[4]); - double theta0_1_one = force->numeric(FLERR,arg[5]); - double theta0_2_one = force->numeric(FLERR,arg[6]); - double theta0_3_one = force->numeric(FLERR,arg[7]); + double k1_one = utils::numeric(FLERR,arg[2],false,lmp); + double k2_one = utils::numeric(FLERR,arg[3],false,lmp); + double k3_one = utils::numeric(FLERR,arg[4],false,lmp); + double theta0_1_one = utils::numeric(FLERR,arg[5],false,lmp); + double theta0_2_one = utils::numeric(FLERR,arg[6],false,lmp); + double theta0_3_one = utils::numeric(FLERR,arg[7],false,lmp); // convert theta0's from degrees to radians @@ -553,8 +553,8 @@ void ImproperClass2::coeff(int narg, char **arg) } else { if (narg != 3) error->all(FLERR,"Incorrect args for improper coefficients"); - double k0_one = force->numeric(FLERR,arg[1]); - double chi0_one = force->numeric(FLERR,arg[2]); + double k0_one = utils::numeric(FLERR,arg[1],false,lmp); + double chi0_one = utils::numeric(FLERR,arg[2],false,lmp); // convert chi0 from degrees to radians diff --git a/src/CLASS2/pair_lj_class2.cpp b/src/CLASS2/pair_lj_class2.cpp index 47b3185bbfd592d5a4fdb1bba7665099d64ecca1..96b035f83b1f583a9b276c2632ce22559eead7aa 100644 --- a/src/CLASS2/pair_lj_class2.cpp +++ b/src/CLASS2/pair_lj_class2.cpp @@ -435,7 +435,7 @@ void PairLJClass2::settings(int narg, char **arg) { if (narg != 1) error->all(FLERR,"Illegal pair_style command"); - cut_global = force->numeric(FLERR,arg[0]); + cut_global = utils::numeric(FLERR,arg[0],false,lmp); // reset cutoffs that have been explicitly set @@ -457,14 +457,14 @@ void PairLJClass2::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); - double epsilon_one = force->numeric(FLERR,arg[2]); - double sigma_one = force->numeric(FLERR,arg[3]); + double epsilon_one = utils::numeric(FLERR,arg[2],false,lmp); + double sigma_one = utils::numeric(FLERR,arg[3],false,lmp); double cut_one = cut_global; - if (narg == 5) cut_one = force->numeric(FLERR,arg[4]); + if (narg == 5) cut_one = utils::numeric(FLERR,arg[4],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/CLASS2/pair_lj_class2_coul_cut.cpp b/src/CLASS2/pair_lj_class2_coul_cut.cpp index 3635c21c8cf13530f18fb621b51c2edc328f80b4..9aca9f048a57c0b7611156f7f5c78b72d3957056 100644 --- a/src/CLASS2/pair_lj_class2_coul_cut.cpp +++ b/src/CLASS2/pair_lj_class2_coul_cut.cpp @@ -194,9 +194,9 @@ void PairLJClass2CoulCut::settings(int narg, char **arg) { if (narg < 1 || narg > 2) error->all(FLERR,"Illegal pair_style command"); - cut_lj_global = force->numeric(FLERR,arg[0]); + cut_lj_global = utils::numeric(FLERR,arg[0],false,lmp); if (narg == 1) cut_coul_global = cut_lj_global; - else cut_coul_global = force->numeric(FLERR,arg[1]); + else cut_coul_global = utils::numeric(FLERR,arg[1],false,lmp); // reset cutoffs that have been explicitly set @@ -223,16 +223,16 @@ void PairLJClass2CoulCut::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); - double epsilon_one = force->numeric(FLERR,arg[2]); - double sigma_one = force->numeric(FLERR,arg[3]); + double epsilon_one = utils::numeric(FLERR,arg[2],false,lmp); + double sigma_one = utils::numeric(FLERR,arg[3],false,lmp); double cut_lj_one = cut_lj_global; double cut_coul_one = cut_coul_global; - if (narg >= 5) cut_coul_one = cut_lj_one = force->numeric(FLERR,arg[4]); - if (narg == 6) cut_coul_one = force->numeric(FLERR,arg[5]); + if (narg >= 5) cut_coul_one = cut_lj_one = utils::numeric(FLERR,arg[4],false,lmp); + if (narg == 6) cut_coul_one = utils::numeric(FLERR,arg[5],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/CLASS2/pair_lj_class2_coul_long.cpp b/src/CLASS2/pair_lj_class2_coul_long.cpp index 0bb802579c3cc39b6270211ec343aeada9f71efb..5c7c107d023ff207271438824f487d3ee140bc07 100644 --- a/src/CLASS2/pair_lj_class2_coul_long.cpp +++ b/src/CLASS2/pair_lj_class2_coul_long.cpp @@ -607,9 +607,9 @@ void PairLJClass2CoulLong::settings(int narg, char **arg) { if (narg < 1 || narg > 2) error->all(FLERR,"Illegal pair_style command"); - cut_lj_global = force->numeric(FLERR,arg[0]); + cut_lj_global = utils::numeric(FLERR,arg[0],false,lmp); if (narg == 1) cut_coul = cut_lj_global; - else cut_coul = force->numeric(FLERR,arg[1]); + else cut_coul = utils::numeric(FLERR,arg[1],false,lmp); // reset cutoffs that have been explicitly set @@ -633,14 +633,14 @@ void PairLJClass2CoulLong::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); - double epsilon_one = force->numeric(FLERR,arg[2]); - double sigma_one = force->numeric(FLERR,arg[3]); + double epsilon_one = utils::numeric(FLERR,arg[2],false,lmp); + double sigma_one = utils::numeric(FLERR,arg[3],false,lmp); double cut_lj_one = cut_lj_global; - if (narg == 5) cut_lj_one = force->numeric(FLERR,arg[4]); + if (narg == 5) cut_lj_one = utils::numeric(FLERR,arg[4],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/COLLOID/pair_brownian.cpp b/src/COLLOID/pair_brownian.cpp index d73789d8901126bf3364d59e8e7390060fcab327..d7b2dba14a0db0ae79a2c0aaa349e0eb73982c67 100644 --- a/src/COLLOID/pair_brownian.cpp +++ b/src/COLLOID/pair_brownian.cpp @@ -370,18 +370,18 @@ void PairBrownian::settings(int narg, char **arg) { if (narg != 7 && narg != 9) error->all(FLERR,"Illegal pair_style command"); - mu = force->numeric(FLERR,arg[0]); - flaglog = force->inumeric(FLERR,arg[1]); - flagfld = force->inumeric(FLERR,arg[2]); - cut_inner_global = force->numeric(FLERR,arg[3]); - cut_global = force->numeric(FLERR,arg[4]); - t_target = force->numeric(FLERR,arg[5]); - seed = force->inumeric(FLERR,arg[6]); + mu = utils::numeric(FLERR,arg[0],false,lmp); + flaglog = utils::inumeric(FLERR,arg[1],false,lmp); + flagfld = utils::inumeric(FLERR,arg[2],false,lmp); + cut_inner_global = utils::numeric(FLERR,arg[3],false,lmp); + cut_global = utils::numeric(FLERR,arg[4],false,lmp); + t_target = utils::numeric(FLERR,arg[5],false,lmp); + seed = utils::inumeric(FLERR,arg[6],false,lmp); flagHI = flagVF = 1; if (narg == 9) { - flagHI = force->inumeric(FLERR,arg[7]); - flagVF = force->inumeric(FLERR,arg[8]); + flagHI = utils::inumeric(FLERR,arg[7],false,lmp); + flagVF = utils::inumeric(FLERR,arg[8],false,lmp); } if (flaglog == 1 && flagHI == 0) { @@ -419,15 +419,15 @@ void PairBrownian::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); double cut_inner_one = cut_inner_global; double cut_one = cut_global; if (narg == 4) { - cut_inner_one = force->numeric(FLERR,arg[2]); - cut_one = force->numeric(FLERR,arg[3]); + cut_inner_one = utils::numeric(FLERR,arg[2],false,lmp); + cut_one = utils::numeric(FLERR,arg[3],false,lmp); } int count = 0; diff --git a/src/COLLOID/pair_colloid.cpp b/src/COLLOID/pair_colloid.cpp index d1c6e4594fb74ad4713cca9cff2a8b00693344d7..7552d123c33b19a5d8f8c56dbf17c3b98e590624 100644 --- a/src/COLLOID/pair_colloid.cpp +++ b/src/COLLOID/pair_colloid.cpp @@ -246,7 +246,7 @@ void PairColloid::settings(int narg, char **arg) { if (narg != 1) error->all(FLERR,"Illegal pair_style command"); - cut_global = force->numeric(FLERR,arg[0]); + cut_global = utils::numeric(FLERR,arg[0],false,lmp); // reset cutoffs that have been explicitly set @@ -269,16 +269,16 @@ void PairColloid::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); - double a12_one = force->numeric(FLERR,arg[2]); - double sigma_one = force->numeric(FLERR,arg[3]); - double d1_one = force->numeric(FLERR,arg[4]); - double d2_one = force->numeric(FLERR,arg[5]); + double a12_one = utils::numeric(FLERR,arg[2],false,lmp); + double sigma_one = utils::numeric(FLERR,arg[3],false,lmp); + double d1_one = utils::numeric(FLERR,arg[4],false,lmp); + double d2_one = utils::numeric(FLERR,arg[5],false,lmp); double cut_one = cut_global; - if (narg == 7) cut_one = force->numeric(FLERR,arg[6]); + if (narg == 7) cut_one = utils::numeric(FLERR,arg[6],false,lmp); if (d1_one < 0.0 || d2_one < 0.0) error->all(FLERR,"Invalid d1 or d2 value for pair colloid coeff"); diff --git a/src/COLLOID/pair_lubricate.cpp b/src/COLLOID/pair_lubricate.cpp index a72eaef679bc23878b2cc805778dc4f3bb369054..4f2a4455a3c7a6bbefee3c263ab71eaeed395950 100644 --- a/src/COLLOID/pair_lubricate.cpp +++ b/src/COLLOID/pair_lubricate.cpp @@ -459,16 +459,16 @@ void PairLubricate::settings(int narg, char **arg) { if (narg != 5 && narg != 7) error->all(FLERR,"Illegal pair_style command"); - mu = force->numeric(FLERR,arg[0]); - flaglog = force->inumeric(FLERR,arg[1]); - flagfld = force->inumeric(FLERR,arg[2]); - cut_inner_global = force->numeric(FLERR,arg[3]); - cut_global = force->numeric(FLERR,arg[4]); + mu = utils::numeric(FLERR,arg[0],false,lmp); + flaglog = utils::inumeric(FLERR,arg[1],false,lmp); + flagfld = utils::inumeric(FLERR,arg[2],false,lmp); + cut_inner_global = utils::numeric(FLERR,arg[3],false,lmp); + cut_global = utils::numeric(FLERR,arg[4],false,lmp); flagHI = flagVF = 1; if (narg == 7) { - flagHI = force->inumeric(FLERR,arg[5]); - flagVF = force->inumeric(FLERR,arg[6]); + flagHI = utils::inumeric(FLERR,arg[5],false,lmp); + flagVF = utils::inumeric(FLERR,arg[6],false,lmp); } if (flaglog == 1 && flagHI == 0) { @@ -501,14 +501,14 @@ void PairLubricate::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); double cut_inner_one = cut_inner_global; double cut_one = cut_global; if (narg == 4) { - cut_inner_one = force->numeric(FLERR,arg[2]); - cut_one = force->numeric(FLERR,arg[3]); + cut_inner_one = utils::numeric(FLERR,arg[2],false,lmp); + cut_one = utils::numeric(FLERR,arg[3],false,lmp); } int count = 0; diff --git a/src/COLLOID/pair_lubricateU.cpp b/src/COLLOID/pair_lubricateU.cpp index b0e21256ac5b39b055609154e7506dcbb0015772..4fb16116609b32dcd691d0f54d4b72cbc9782a0b 100644 --- a/src/COLLOID/pair_lubricateU.cpp +++ b/src/COLLOID/pair_lubricateU.cpp @@ -1679,16 +1679,16 @@ void PairLubricateU::settings(int narg, char **arg) { if (narg != 5 && narg != 7) error->all(FLERR,"Illegal pair_style command"); - mu = force->numeric(FLERR,arg[0]); - flaglog = force->inumeric(FLERR,arg[1]); - cut_inner_global = force->numeric(FLERR,arg[2]); - cut_global = force->numeric(FLERR,arg[3]); - gdot = force->numeric(FLERR,arg[4]); + mu = utils::numeric(FLERR,arg[0],false,lmp); + flaglog = utils::inumeric(FLERR,arg[1],false,lmp); + cut_inner_global = utils::numeric(FLERR,arg[2],false,lmp); + cut_global = utils::numeric(FLERR,arg[3],false,lmp); + gdot = utils::numeric(FLERR,arg[4],false,lmp); flagHI = flagVF = 1; if (narg == 7) { - flagHI = force->inumeric(FLERR,arg[5]); - flagVF = force->inumeric(FLERR,arg[6]); + flagHI = utils::inumeric(FLERR,arg[5],false,lmp); + flagVF = utils::inumeric(FLERR,arg[6],false,lmp); } if (flaglog == 1 && flagHI == 0) { @@ -1734,14 +1734,14 @@ void PairLubricateU::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); double cut_inner_one = cut_inner_global; double cut_one = cut_global; if (narg == 4) { - cut_inner_one = force->numeric(FLERR,arg[2]); - cut_one = force->numeric(FLERR,arg[3]); + cut_inner_one = utils::numeric(FLERR,arg[2],false,lmp); + cut_one = utils::numeric(FLERR,arg[3],false,lmp); } int count = 0; diff --git a/src/COLLOID/pair_lubricateU_poly.cpp b/src/COLLOID/pair_lubricateU_poly.cpp index 6b6727172da019160bb72aa82086161ffea3b97a..7fd847671ea067331c20f07643df06f51b8e51b4 100644 --- a/src/COLLOID/pair_lubricateU_poly.cpp +++ b/src/COLLOID/pair_lubricateU_poly.cpp @@ -1077,15 +1077,15 @@ void PairLubricateUPoly::settings(int narg, char **arg) { if (narg < 5 || narg > 7) error->all(FLERR,"Illegal pair_style command"); - mu = force->numeric(FLERR,arg[0]); - flaglog = force->inumeric(FLERR,arg[1]); - cut_inner_global = force->numeric(FLERR,arg[2]); - cut_global = force->numeric(FLERR,arg[3]); - gdot = force->numeric(FLERR,arg[4]); + mu = utils::numeric(FLERR,arg[0],false,lmp); + flaglog = utils::inumeric(FLERR,arg[1],false,lmp); + cut_inner_global = utils::numeric(FLERR,arg[2],false,lmp); + cut_global = utils::numeric(FLERR,arg[3],false,lmp); + gdot = utils::numeric(FLERR,arg[4],false,lmp); flagHI = flagVF = 1; - if (narg >= 6) flagHI = force->inumeric(FLERR,arg[5]); - if (narg == 7) flagVF = force->inumeric(FLERR,arg[6]); + if (narg >= 6) flagHI = utils::inumeric(FLERR,arg[5],false,lmp); + if (narg == 7) flagVF = utils::inumeric(FLERR,arg[6],false,lmp); if (flaglog == 1 && flagHI == 0) { error->warning(FLERR,"Cannot include log terms without 1/r terms; " diff --git a/src/DIPOLE/pair_lj_cut_dipole_cut.cpp b/src/DIPOLE/pair_lj_cut_dipole_cut.cpp index 9f9e8973576cc432a277e1698d4ea5f2e17154c6..8f91420043ff892a7bd80d17a1f33094727ac40b 100644 --- a/src/DIPOLE/pair_lj_cut_dipole_cut.cpp +++ b/src/DIPOLE/pair_lj_cut_dipole_cut.cpp @@ -298,9 +298,9 @@ void PairLJCutDipoleCut::settings(int narg, char **arg) if (strcmp(update->unit_style,"electron") == 0) error->all(FLERR,"Cannot (yet) use 'electron' units with dipoles"); - cut_lj_global = force->numeric(FLERR,arg[0]); + cut_lj_global = utils::numeric(FLERR,arg[0],false,lmp); if (narg == 1) cut_coul_global = cut_lj_global; - else cut_coul_global = force->numeric(FLERR,arg[1]); + else cut_coul_global = utils::numeric(FLERR,arg[1],false,lmp); // reset cutoffs that have been explicitly set @@ -326,16 +326,16 @@ void PairLJCutDipoleCut::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); - double epsilon_one = force->numeric(FLERR,arg[2]); - double sigma_one = force->numeric(FLERR,arg[3]); + double epsilon_one = utils::numeric(FLERR,arg[2],false,lmp); + double sigma_one = utils::numeric(FLERR,arg[3],false,lmp); double cut_lj_one = cut_lj_global; double cut_coul_one = cut_coul_global; - if (narg >= 5) cut_coul_one = cut_lj_one = force->numeric(FLERR,arg[4]); - if (narg == 6) cut_coul_one = force->numeric(FLERR,arg[5]); + if (narg >= 5) cut_coul_one = cut_lj_one = utils::numeric(FLERR,arg[4],false,lmp); + if (narg == 6) cut_coul_one = utils::numeric(FLERR,arg[5],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/DIPOLE/pair_lj_cut_dipole_long.cpp b/src/DIPOLE/pair_lj_cut_dipole_long.cpp index 7fc03005b58efde98383bbf41b18c8bebcb9df1a..73aa628296e45acdf44e89ab409490dbae80138b 100644 --- a/src/DIPOLE/pair_lj_cut_dipole_long.cpp +++ b/src/DIPOLE/pair_lj_cut_dipole_long.cpp @@ -348,9 +348,9 @@ void PairLJCutDipoleLong::settings(int narg, char **arg) if (narg < 1 || narg > 2) error->all(FLERR,"Incorrect args in pair_style command"); - cut_lj_global = force->numeric(FLERR,arg[0]); + cut_lj_global = utils::numeric(FLERR,arg[0],false,lmp); if (narg == 1) cut_coul = cut_lj_global; - else cut_coul = force->numeric(FLERR,arg[1]); + else cut_coul = utils::numeric(FLERR,arg[1],false,lmp); // reset cutoffs that have been explicitly set @@ -373,14 +373,14 @@ void PairLJCutDipoleLong::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); - double epsilon_one = force->numeric(FLERR,arg[2]); - double sigma_one = force->numeric(FLERR,arg[3]); + double epsilon_one = utils::numeric(FLERR,arg[2],false,lmp); + double sigma_one = utils::numeric(FLERR,arg[3],false,lmp); double cut_lj_one = cut_lj_global; - if (narg == 5) cut_lj_one = force->numeric(FLERR,arg[4]); + if (narg == 5) cut_lj_one = utils::numeric(FLERR,arg[4],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/DIPOLE/pair_lj_long_dipole_long.cpp b/src/DIPOLE/pair_lj_long_dipole_long.cpp index 7dc596eccb9e280ec4d3ea54308ad58ed472df94..f7c8251e79e570796117fcb40ba56988f1223919 100644 --- a/src/DIPOLE/pair_lj_long_dipole_long.cpp +++ b/src/DIPOLE/pair_lj_long_dipole_long.cpp @@ -90,10 +90,10 @@ void PairLJLongDipoleLong::settings(int narg, char **arg) if (!((ewald_order^ewald_off)&(1<<3))) error->all(FLERR, "Coulombic cut not supported in pair_style lj/long/dipole/long"); - cut_lj_global = force->numeric(FLERR,*(arg++)); + cut_lj_global = utils::numeric(FLERR,*(arg++),false,lmp); if (narg == 4 && (ewald_order==74)) error->all(FLERR,"Only one cut-off allowed when requesting all long"); - if (narg == 4) cut_coul = force->numeric(FLERR,*(arg++)); + if (narg == 4) cut_coul = utils::numeric(FLERR,*(arg++),false,lmp); else cut_coul = cut_lj_global; if (allocated) { // reset explicit cuts @@ -191,14 +191,14 @@ void PairLJLongDipoleLong::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); - double epsilon_one = force->numeric(FLERR,arg[2]); - double sigma_one = force->numeric(FLERR,arg[3]); + double epsilon_one = utils::numeric(FLERR,arg[2],false,lmp); + double sigma_one = utils::numeric(FLERR,arg[3],false,lmp); double cut_lj_one = cut_lj_global; - if (narg == 5) cut_lj_one = force->numeric(FLERR,arg[4]); + if (narg == 5) cut_lj_one = utils::numeric(FLERR,arg[4],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/GPU/fix_gpu.cpp b/src/GPU/fix_gpu.cpp index ecde8ea0939b3063493ea47aa5ea7886139564f4..0552d23cdbe6492a91f41d13a3b01955508314de 100644 --- a/src/GPU/fix_gpu.cpp +++ b/src/GPU/fix_gpu.cpp @@ -138,27 +138,27 @@ FixGPU::FixGPU(LAMMPS *lmp, int narg, char **arg) : iarg += 2; } else if (strcmp(arg[iarg],"binsize") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal package gpu command"); - binsize = force->numeric(FLERR,arg[iarg+1]); + binsize = utils::numeric(FLERR,arg[iarg+1],false,lmp); if (binsize <= 0.0) error->all(FLERR,"Illegal fix GPU command"); iarg += 2; } else if (strcmp(arg[iarg],"split") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal package gpu command"); - _particle_split = force->numeric(FLERR,arg[iarg+1]); + _particle_split = utils::numeric(FLERR,arg[iarg+1],false,lmp); if (_particle_split == 0.0 || _particle_split > 1.0) error->all(FLERR,"Illegal package GPU command"); iarg += 2; } else if (strcmp(arg[iarg],"gpuID") == 0) { if (iarg+3 > narg) error->all(FLERR,"Illegal package gpu command"); - first_gpu = force->inumeric(FLERR,arg[iarg+1]); - last_gpu = force->inumeric(FLERR,arg[iarg+2]); + first_gpu = utils::inumeric(FLERR,arg[iarg+1],false,lmp); + last_gpu = utils::inumeric(FLERR,arg[iarg+2],false,lmp); iarg += 3; } else if (strcmp(arg[iarg],"tpa") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal package gpu command"); - threads_per_atom = force->inumeric(FLERR,arg[iarg+1]); + threads_per_atom = utils::inumeric(FLERR,arg[iarg+1],false,lmp); iarg += 2; } else if (strcmp(arg[iarg],"nthreads") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal package gpu command"); - nthreads = force->inumeric(FLERR,arg[iarg+1]); + nthreads = utils::inumeric(FLERR,arg[iarg+1],false,lmp); if (nthreads < 1) error->all(FLERR,"Illegal fix GPU command"); iarg += 2; } else if (strcmp(arg[iarg],"device") == 0) { @@ -167,7 +167,7 @@ FixGPU::FixGPU(LAMMPS *lmp, int narg, char **arg) : iarg += 2; } else if (strcmp(arg[iarg],"blocksize") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal package gpu command"); - block_pair = force->inumeric(FLERR,arg[iarg+1]); + block_pair = utils::inumeric(FLERR,arg[iarg+1],false,lmp); iarg += 2; } else error->all(FLERR,"Illegal package gpu command"); } diff --git a/src/GRANULAR/fix_pour.cpp b/src/GRANULAR/fix_pour.cpp index 73b42b9653c0b35ba6f86907d29d70377d1a3e37..879f48e023963d250d19d35745d7fa8332a93261 100644 --- a/src/GRANULAR/fix_pour.cpp +++ b/src/GRANULAR/fix_pour.cpp @@ -65,9 +65,9 @@ FixPour::FixPour(LAMMPS *lmp, int narg, char **arg) : // required args - ninsert = force->inumeric(FLERR,arg[3]); - ntype = force->inumeric(FLERR,arg[4]); - seed = force->inumeric(FLERR,arg[5]); + ninsert = utils::inumeric(FLERR,arg[3],false,lmp); + ntype = utils::inumeric(FLERR,arg[4],false,lmp); + seed = utils::inumeric(FLERR,arg[5],false,lmp); if (seed <= 0) error->all(FLERR,"Illegal fix pour command"); @@ -930,9 +930,9 @@ void FixPour::options(int narg, char **arg) } else if (strcmp(arg[iarg],"molfrac") == 0) { if (mode != MOLECULE) error->all(FLERR,"Illegal fix pour command"); if (iarg+nmol+1 > narg) error->all(FLERR,"Illegal fix pour command"); - molfrac[0] = force->numeric(FLERR,arg[iarg+1]); + molfrac[0] = utils::numeric(FLERR,arg[iarg+1],false,lmp); for (int i = 1; i < nmol; i++) - molfrac[i] = molfrac[i-1] + force->numeric(FLERR,arg[iarg+i+1]); + molfrac[i] = molfrac[i-1] + utils::numeric(FLERR,arg[iarg+i+1],false,lmp); if (molfrac[nmol-1] < 1.0-EPSILON || molfrac[nmol-1] > 1.0+EPSILON) error->all(FLERR,"Illegal fix pour command"); molfrac[nmol-1] = 1.0; @@ -973,21 +973,21 @@ void FixPour::options(int narg, char **arg) if (strcmp(arg[iarg+1],"one") == 0) { if (iarg+3 > narg) error->all(FLERR,"Illegal fix pour command"); dstyle = ONE; - radius_one = 0.5 * force->numeric(FLERR,arg[iarg+2]); + radius_one = 0.5 * utils::numeric(FLERR,arg[iarg+2],false,lmp); radius_max = radius_one; iarg += 3; } else if (strcmp(arg[iarg+1],"range") == 0) { if (iarg+4 > narg) error->all(FLERR,"Illegal fix pour command"); dstyle = RANGE; - radius_lo = 0.5 * force->numeric(FLERR,arg[iarg+2]); - radius_hi = 0.5 * force->numeric(FLERR,arg[iarg+3]); + radius_lo = 0.5 * utils::numeric(FLERR,arg[iarg+2],false,lmp); + radius_hi = 0.5 * utils::numeric(FLERR,arg[iarg+3],false,lmp); if (radius_lo > radius_hi) error->all(FLERR,"Illegal fix pour command"); radius_max = radius_hi; iarg += 4; } else if (strcmp(arg[iarg+1],"poly") == 0) { if (iarg+3 > narg) error->all(FLERR,"Illegal fix pour command"); dstyle = POLY; - npoly = force->inumeric(FLERR,arg[iarg+2]); + npoly = utils::inumeric(FLERR,arg[iarg+2],false,lmp); if (npoly <= 0) error->all(FLERR,"Illegal fix pour command"); if (iarg+3 + 2*npoly > narg) error->all(FLERR,"Illegal fix pour command"); @@ -996,8 +996,8 @@ void FixPour::options(int narg, char **arg) iarg += 3; radius_max = 0.0; for (int i = 0; i < npoly; i++) { - radius_poly[i] = 0.5 * force->numeric(FLERR,arg[iarg++]); - frac_poly[i] = force->numeric(FLERR,arg[iarg++]); + radius_poly[i] = 0.5 * utils::numeric(FLERR,arg[iarg++],false,lmp); + frac_poly[i] = utils::numeric(FLERR,arg[iarg++],false,lmp); if (radius_poly[i] <= 0.0 || frac_poly[i] < 0.0) error->all(FLERR,"Illegal fix pour command"); radius_max = MAX(radius_max,radius_poly[i]); @@ -1010,35 +1010,35 @@ void FixPour::options(int narg, char **arg) } else if (strcmp(arg[iarg],"dens") == 0) { if (iarg+3 > narg) error->all(FLERR,"Illegal fix pour command"); - density_lo = force->numeric(FLERR,arg[iarg+1]); - density_hi = force->numeric(FLERR,arg[iarg+2]); + density_lo = utils::numeric(FLERR,arg[iarg+1],false,lmp); + density_hi = utils::numeric(FLERR,arg[iarg+2],false,lmp); if (density_lo > density_hi) error->all(FLERR,"Illegal fix pour command"); iarg += 3; } else if (strcmp(arg[iarg],"vol") == 0) { if (iarg+3 > narg) error->all(FLERR,"Illegal fix pour command"); - volfrac = force->numeric(FLERR,arg[iarg+1]); - maxattempt = force->inumeric(FLERR,arg[iarg+2]); + volfrac = utils::numeric(FLERR,arg[iarg+1],false,lmp); + maxattempt = utils::inumeric(FLERR,arg[iarg+2],false,lmp); iarg += 3; } else if (strcmp(arg[iarg],"rate") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix pour command"); - rate = force->numeric(FLERR,arg[iarg+1]); + rate = utils::numeric(FLERR,arg[iarg+1],false,lmp); iarg += 2; } else if (strcmp(arg[iarg],"vel") == 0) { if (domain->dimension == 3) { if (iarg+6 > narg) error->all(FLERR,"Illegal fix pour command"); - vxlo = force->numeric(FLERR,arg[iarg+1]); - vxhi = force->numeric(FLERR,arg[iarg+2]); - vylo = force->numeric(FLERR,arg[iarg+3]); - vyhi = force->numeric(FLERR,arg[iarg+4]); + vxlo = utils::numeric(FLERR,arg[iarg+1],false,lmp); + vxhi = utils::numeric(FLERR,arg[iarg+2],false,lmp); + vylo = utils::numeric(FLERR,arg[iarg+3],false,lmp); + vyhi = utils::numeric(FLERR,arg[iarg+4],false,lmp); if (vxlo > vxhi || vylo > vyhi) error->all(FLERR,"Illegal fix pour command"); - vz = force->numeric(FLERR,arg[iarg+5]); + vz = utils::numeric(FLERR,arg[iarg+5],false,lmp); iarg += 6; } else { if (iarg+4 > narg) error->all(FLERR,"Illegal fix pour command"); - vxlo = force->numeric(FLERR,arg[iarg+1]); - vxhi = force->numeric(FLERR,arg[iarg+2]); - vy = force->numeric(FLERR,arg[iarg+3]); + vxlo = utils::numeric(FLERR,arg[iarg+1],false,lmp); + vxhi = utils::numeric(FLERR,arg[iarg+2],false,lmp); + vy = utils::numeric(FLERR,arg[iarg+3],false,lmp); vz = 0.0; if (vxlo > vxhi) error->all(FLERR,"Illegal fix pour command"); iarg += 4; diff --git a/src/GRANULAR/fix_wall_gran.cpp b/src/GRANULAR/fix_wall_gran.cpp index d7cbf0362aa20ed975f7cb3e8ea35755a8598943..9ec76b88f10b9b3f632c219b60eb5aa5e1ab28b0 100644 --- a/src/GRANULAR/fix_wall_gran.cpp +++ b/src/GRANULAR/fix_wall_gran.cpp @@ -93,16 +93,16 @@ FixWallGran::FixWallGran(LAMMPS *lmp, int narg, char **arg) : size_history = 3; if (narg < 11) error->all(FLERR,"Illegal fix wall/gran command"); - kn = force->numeric(FLERR,arg[4]); + kn = utils::numeric(FLERR,arg[4],false,lmp); if (strcmp(arg[5],"NULL") == 0) kt = kn * 2.0/7.0; - else kt = force->numeric(FLERR,arg[5]); + else kt = utils::numeric(FLERR,arg[5],false,lmp); - gamman = force->numeric(FLERR,arg[6]); + gamman = utils::numeric(FLERR,arg[6],false,lmp); if (strcmp(arg[7],"NULL") == 0) gammat = 0.5 * gamman; - else gammat = force->numeric(FLERR,arg[7]); + else gammat = utils::numeric(FLERR,arg[7],false,lmp); - xmu = force->numeric(FLERR,arg[8]); - int dampflag = force->inumeric(FLERR,arg[9]); + xmu = utils::numeric(FLERR,arg[8],false,lmp); + int dampflag = utils::inumeric(FLERR,arg[9],false,lmp); if (dampflag == 0) gammat = 0.0; if (kn < 0.0 || kt < 0.0 || gamman < 0.0 || gammat < 0.0 || @@ -127,8 +127,8 @@ FixWallGran::FixWallGran(LAMMPS *lmp, int narg, char **arg) : error->all(FLERR,"Illegal fix wall/gran command, " "not enough parameters provided for Hooke option"); normal_model = NORMAL_HOOKE; - normal_coeffs[0] = force->numeric(FLERR,arg[iarg+1]); //kn - normal_coeffs[1] = force->numeric(FLERR,arg[iarg+2]); //damping + normal_coeffs[0] = utils::numeric(FLERR,arg[iarg+1],false,lmp); //kn + normal_coeffs[1] = utils::numeric(FLERR,arg[iarg+2],false,lmp); //damping iarg += 3; } else if (strcmp(arg[iarg], "hertz") == 0) { int num_coeffs = 2; @@ -136,8 +136,8 @@ FixWallGran::FixWallGran(LAMMPS *lmp, int narg, char **arg) : error->all(FLERR,"Illegal fix wall/gran command, " "not enough parameters provided for Hertz option"); normal_model = NORMAL_HERTZ; - normal_coeffs[0] = force->numeric(FLERR,arg[iarg+1]); //kn - normal_coeffs[1] = force->numeric(FLERR,arg[iarg+2]); //damping + normal_coeffs[0] = utils::numeric(FLERR,arg[iarg+1],false,lmp); //kn + normal_coeffs[1] = utils::numeric(FLERR,arg[iarg+2],false,lmp); //damping iarg += num_coeffs+1; } else if (strcmp(arg[iarg], "hertz/material") == 0) { int num_coeffs = 3; @@ -145,9 +145,9 @@ FixWallGran::FixWallGran(LAMMPS *lmp, int narg, char **arg) : error->all(FLERR,"Illegal fix wall/gran command, " "not enough parameters provided for Hertz option"); normal_model = HERTZ_MATERIAL; - Emod = force->numeric(FLERR,arg[iarg+1]); //E - normal_coeffs[1] = force->numeric(FLERR,arg[iarg+2]); //damping - poiss = force->numeric(FLERR,arg[iarg+3]); //Poisson's ratio + Emod = utils::numeric(FLERR,arg[iarg+1],false,lmp); //E + normal_coeffs[1] = utils::numeric(FLERR,arg[iarg+2],false,lmp); //damping + poiss = utils::numeric(FLERR,arg[iarg+3],false,lmp); //Poisson's ratio normal_coeffs[0] = Emod/(2*(1-poiss))*FOURTHIRDS; normal_coeffs[2] = poiss; iarg += num_coeffs+1; @@ -156,24 +156,24 @@ FixWallGran::FixWallGran(LAMMPS *lmp, int narg, char **arg) : error->all(FLERR,"Illegal fix wall/gran command, " "not enough parameters provided for Hertz option"); normal_model = DMT; - Emod = force->numeric(FLERR,arg[iarg+1]); //E - normal_coeffs[1] = force->numeric(FLERR,arg[iarg+2]); //damping - poiss = force->numeric(FLERR,arg[iarg+3]); //Poisson's ratio + Emod = utils::numeric(FLERR,arg[iarg+1],false,lmp); //E + normal_coeffs[1] = utils::numeric(FLERR,arg[iarg+2],false,lmp); //damping + poiss = utils::numeric(FLERR,arg[iarg+3],false,lmp); //Poisson's ratio normal_coeffs[0] = Emod/(2*(1-poiss))*FOURTHIRDS; normal_coeffs[2] = poiss; - normal_coeffs[3] = force->numeric(FLERR,arg[iarg+4]); //cohesion + normal_coeffs[3] = utils::numeric(FLERR,arg[iarg+4],false,lmp); //cohesion iarg += 5; } else if (strcmp(arg[iarg], "jkr") == 0) { if (iarg + 4 >= narg) error->all(FLERR,"Illegal wall/gran command, " "not enough parameters provided for JKR option"); normal_model = JKR; - Emod = force->numeric(FLERR,arg[iarg+1]); //E - normal_coeffs[1] = force->numeric(FLERR,arg[iarg+2]); //damping - poiss = force->numeric(FLERR,arg[iarg+3]); //Poisson's ratio + Emod = utils::numeric(FLERR,arg[iarg+1],false,lmp); //E + normal_coeffs[1] = utils::numeric(FLERR,arg[iarg+2],false,lmp); //damping + poiss = utils::numeric(FLERR,arg[iarg+3],false,lmp); //Poisson's ratio normal_coeffs[0] = Emod/(2*(1-poiss))*FOURTHIRDS; normal_coeffs[2] = poiss; - normal_coeffs[3] = force->numeric(FLERR,arg[iarg+4]); //cohesion + normal_coeffs[3] = utils::numeric(FLERR,arg[iarg+4],false,lmp); //cohesion iarg += 5; } else if (strcmp(arg[iarg], "damping") == 0) { if (iarg+1 >= narg) @@ -205,8 +205,8 @@ FixWallGran::FixWallGran(LAMMPS *lmp, int narg, char **arg) : tangential_model = TANGENTIAL_NOHISTORY; tangential_coeffs[0] = 0; // gammat and friction coeff - tangential_coeffs[1] = force->numeric(FLERR,arg[iarg+2]); - tangential_coeffs[2] = force->numeric(FLERR,arg[iarg+3]); + tangential_coeffs[1] = utils::numeric(FLERR,arg[iarg+2],false,lmp); + tangential_coeffs[2] = utils::numeric(FLERR,arg[iarg+3],false,lmp); iarg += 4; } else if ((strcmp(arg[iarg+1], "linear_history") == 0) || (strcmp(arg[iarg+1], "mindlin") == 0) || @@ -230,12 +230,12 @@ FixWallGran::FixWallGran(LAMMPS *lmp, int narg, char **arg) : } tangential_coeffs[0] = Emod/4*(2-poiss)*(1+poiss); } else { - tangential_coeffs[0] = force->numeric(FLERR,arg[iarg+2]); //kt + tangential_coeffs[0] = utils::numeric(FLERR,arg[iarg+2],false,lmp); //kt } tangential_history = 1; // gammat and friction coeff - tangential_coeffs[1] = force->numeric(FLERR,arg[iarg+3]); - tangential_coeffs[2] = force->numeric(FLERR,arg[iarg+4]); + tangential_coeffs[1] = utils::numeric(FLERR,arg[iarg+3],false,lmp); + tangential_coeffs[2] = utils::numeric(FLERR,arg[iarg+4],false,lmp); iarg += 5; } else { error->all(FLERR, "Illegal pair_coeff command, " @@ -254,9 +254,9 @@ FixWallGran::FixWallGran(LAMMPS *lmp, int narg, char **arg) : roll_model = ROLL_SDS; roll_history = 1; // kR, gammaR, rolling friction coeff - roll_coeffs[0] = force->numeric(FLERR,arg[iarg+2]); - roll_coeffs[1] = force->numeric(FLERR,arg[iarg+3]); - roll_coeffs[2] = force->numeric(FLERR,arg[iarg+4]); + roll_coeffs[0] = utils::numeric(FLERR,arg[iarg+2],false,lmp); + roll_coeffs[1] = utils::numeric(FLERR,arg[iarg+3],false,lmp); + roll_coeffs[2] = utils::numeric(FLERR,arg[iarg+4],false,lmp); iarg += 5; } else { error->all(FLERR, "Illegal wall/gran command, " @@ -278,9 +278,9 @@ FixWallGran::FixWallGran(LAMMPS *lmp, int narg, char **arg) : "not enough parameters provided for twist model"); twist_model = TWIST_SDS; twist_history = 1; - twist_coeffs[0] = force->numeric(FLERR,arg[iarg+2]); //kt - twist_coeffs[1] = force->numeric(FLERR,arg[iarg+3]); //gammat - twist_coeffs[2] = force->numeric(FLERR,arg[iarg+4]); //friction coeff. + twist_coeffs[0] = utils::numeric(FLERR,arg[iarg+2],false,lmp); //kt + twist_coeffs[1] = utils::numeric(FLERR,arg[iarg+3],false,lmp); //gammat + twist_coeffs[2] = utils::numeric(FLERR,arg[iarg+4],false,lmp); //friction coeff. iarg += 5; } else { error->all(FLERR, "Illegal wall/gran command, " @@ -309,31 +309,31 @@ FixWallGran::FixWallGran(LAMMPS *lmp, int narg, char **arg) : if (narg < iarg+3) error->all(FLERR,"Illegal fix wall/gran command"); wallstyle = XPLANE; if (strcmp(arg[iarg+1],"NULL") == 0) lo = -BIG; - else lo = force->numeric(FLERR,arg[iarg+1]); + else lo = utils::numeric(FLERR,arg[iarg+1],false,lmp); if (strcmp(arg[iarg+2],"NULL") == 0) hi = BIG; - else hi = force->numeric(FLERR,arg[iarg+2]); + else hi = utils::numeric(FLERR,arg[iarg+2],false,lmp); iarg += 3; } else if (strcmp(arg[iarg],"yplane") == 0) { if (narg < iarg+3) error->all(FLERR,"Illegal fix wall/gran command"); wallstyle = YPLANE; if (strcmp(arg[iarg+1],"NULL") == 0) lo = -BIG; - else lo = force->numeric(FLERR,arg[iarg+1]); + else lo = utils::numeric(FLERR,arg[iarg+1],false,lmp); if (strcmp(arg[iarg+2],"NULL") == 0) hi = BIG; - else hi = force->numeric(FLERR,arg[iarg+2]); + else hi = utils::numeric(FLERR,arg[iarg+2],false,lmp); iarg += 3; } else if (strcmp(arg[iarg],"zplane") == 0) { if (narg < iarg+3) error->all(FLERR,"Illegal fix wall/gran command"); wallstyle = ZPLANE; if (strcmp(arg[iarg+1],"NULL") == 0) lo = -BIG; - else lo = force->numeric(FLERR,arg[iarg+1]); + else lo = utils::numeric(FLERR,arg[iarg+1],false,lmp); if (strcmp(arg[iarg+2],"NULL") == 0) hi = BIG; - else hi = force->numeric(FLERR,arg[iarg+2]); + else hi = utils::numeric(FLERR,arg[iarg+2],false,lmp); iarg += 3; } else if (strcmp(arg[iarg],"zcylinder") == 0) { if (narg < iarg+2) error->all(FLERR,"Illegal fix wall/gran command"); wallstyle = ZCYLINDER; lo = hi = 0.0; - cylradius = force->numeric(FLERR,arg[iarg+1]); + cylradius = utils::numeric(FLERR,arg[iarg+1],false,lmp); iarg += 2; } else if (strcmp(arg[iarg],"region") == 0) { if (narg < iarg+2) error->all(FLERR,"Illegal fix wall/gran command"); @@ -357,8 +357,8 @@ FixWallGran::FixWallGran(LAMMPS *lmp, int narg, char **arg) : else if (strcmp(arg[iarg+1],"y") == 0) axis = 1; else if (strcmp(arg[iarg+1],"z") == 0) axis = 2; else error->all(FLERR,"Illegal fix wall/gran command"); - amplitude = force->numeric(FLERR,arg[iarg+2]); - period = force->numeric(FLERR,arg[iarg+3]); + amplitude = utils::numeric(FLERR,arg[iarg+2],false,lmp); + period = utils::numeric(FLERR,arg[iarg+3],false,lmp); wiggle = 1; iarg += 4; } else if (strcmp(arg[iarg],"shear") == 0) { @@ -367,7 +367,7 @@ FixWallGran::FixWallGran(LAMMPS *lmp, int narg, char **arg) : else if (strcmp(arg[iarg+1],"y") == 0) axis = 1; else if (strcmp(arg[iarg+1],"z") == 0) axis = 2; else error->all(FLERR,"Illegal fix wall/gran command"); - vshear = force->numeric(FLERR,arg[iarg+2]); + vshear = utils::numeric(FLERR,arg[iarg+2],false,lmp); wshear = 1; iarg += 3; } else if (strcmp(arg[iarg],"contacts") == 0) { diff --git a/src/GRANULAR/pair_gran_hertz_history.cpp b/src/GRANULAR/pair_gran_hertz_history.cpp index 4a362c092813e8daac23c67498c11c121df15def..89230f26bf83c1b3b7873eb4ec5161de76016ac2 100644 --- a/src/GRANULAR/pair_gran_hertz_history.cpp +++ b/src/GRANULAR/pair_gran_hertz_history.cpp @@ -279,16 +279,16 @@ void PairGranHertzHistory::settings(int narg, char **arg) { if (narg != 6) error->all(FLERR,"Illegal pair_style command"); - kn = force->numeric(FLERR,arg[0]); + kn = utils::numeric(FLERR,arg[0],false,lmp); if (strcmp(arg[1],"NULL") == 0) kt = kn * 2.0/7.0; - else kt = force->numeric(FLERR,arg[1]); + else kt = utils::numeric(FLERR,arg[1],false,lmp); - gamman = force->numeric(FLERR,arg[2]); + gamman = utils::numeric(FLERR,arg[2],false,lmp); if (strcmp(arg[3],"NULL") == 0) gammat = 0.5 * gamman; - else gammat = force->numeric(FLERR,arg[3]); + else gammat = utils::numeric(FLERR,arg[3],false,lmp); - xmu = force->numeric(FLERR,arg[4]); - dampflag = force->inumeric(FLERR,arg[5]); + xmu = utils::numeric(FLERR,arg[4],false,lmp); + dampflag = utils::inumeric(FLERR,arg[5],false,lmp); if (dampflag == 0) gammat = 0.0; if (kn < 0.0 || kt < 0.0 || gamman < 0.0 || gammat < 0.0 || diff --git a/src/GRANULAR/pair_gran_hooke_history.cpp b/src/GRANULAR/pair_gran_hooke_history.cpp index af46d813ca8fb94ade9c14406ea24d8c3c20cd57..a8cd808411610fa106881d11438ebb138c2b9665 100644 --- a/src/GRANULAR/pair_gran_hooke_history.cpp +++ b/src/GRANULAR/pair_gran_hooke_history.cpp @@ -358,16 +358,16 @@ void PairGranHookeHistory::settings(int narg, char **arg) { if (narg != 6) error->all(FLERR,"Illegal pair_style command"); - kn = force->numeric(FLERR,arg[0]); + kn = utils::numeric(FLERR,arg[0],false,lmp); if (strcmp(arg[1],"NULL") == 0) kt = kn * 2.0/7.0; - else kt = force->numeric(FLERR,arg[1]); + else kt = utils::numeric(FLERR,arg[1],false,lmp); - gamman = force->numeric(FLERR,arg[2]); + gamman = utils::numeric(FLERR,arg[2],false,lmp); if (strcmp(arg[3],"NULL") == 0) gammat = 0.5 * gamman; - else gammat = force->numeric(FLERR,arg[3]); + else gammat = utils::numeric(FLERR,arg[3],false,lmp); - xmu = force->numeric(FLERR,arg[4]); - dampflag = force->inumeric(FLERR,arg[5]); + xmu = utils::numeric(FLERR,arg[4],false,lmp); + dampflag = utils::inumeric(FLERR,arg[5],false,lmp); if (dampflag == 0) gammat = 0.0; if (kn < 0.0 || kt < 0.0 || gamman < 0.0 || gammat < 0.0 || @@ -385,8 +385,8 @@ void PairGranHookeHistory::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/GRANULAR/pair_granular.cpp b/src/GRANULAR/pair_granular.cpp index 80f208a1a298492a338d9a7abd05677acc06ead5..88a9fe36f074b274a270d57c1c8466c09f27fbe0 100644 --- a/src/GRANULAR/pair_granular.cpp +++ b/src/GRANULAR/pair_granular.cpp @@ -55,7 +55,8 @@ using namespace MathSpecial; enum {HOOKE, HERTZ, HERTZ_MATERIAL, DMT, JKR}; enum {VELOCITY, MASS_VELOCITY, VISCOELASTIC, TSUJI}; enum {TANGENTIAL_NOHISTORY, TANGENTIAL_HISTORY, - TANGENTIAL_MINDLIN, TANGENTIAL_MINDLIN_RESCALE}; + TANGENTIAL_MINDLIN, TANGENTIAL_MINDLIN_RESCALE, + TANGENTIAL_MINDLIN_FORCE, TANGENTIAL_MINDLIN_RESCALE_FORCE}; enum {TWIST_NONE, TWIST_SDS, TWIST_MARSHALL}; enum {ROLL_NONE, ROLL_SDS}; @@ -175,7 +176,8 @@ void PairGranular::compute(int eflag, int vflag) double signtwist, magtwist, magtortwist, Mtcrit; double tortwist1, tortwist2, tortwist3; - double shrmag,rsht; + double shrmag,rsht,prjmag; + bool frameupdate; int *ilist,*jlist,*numneigh,**firstneigh; int *touch,**firsttouch; double *history,*allhistory,**firsthistory; @@ -372,6 +374,12 @@ void PairGranular::compute(int eflag, int vflag) // tangential force, including history effects //**************************************** + // For linear, mindlin, mindlin_rescale: + // history = cumulative tangential displacement + // + // For mindlin/force, mindlin_rescale/force: + // history = cumulative tangential elastic force + // tangential component vt1 = vr1 - vn1; vt2 = vr2 - vn2; @@ -414,12 +422,15 @@ void PairGranular::compute(int eflag, int vflag) damp_normal_prefactor; if (tangential_history) { - if (tangential_model[itype][jtype] == TANGENTIAL_MINDLIN) { + if (tangential_model[itype][jtype] == TANGENTIAL_MINDLIN || + tangential_model[itype][jtype] == TANGENTIAL_MINDLIN_FORCE) { k_tangential *= a; } else if (tangential_model[itype][jtype] == - TANGENTIAL_MINDLIN_RESCALE) { + TANGENTIAL_MINDLIN_RESCALE || + tangential_model[itype][jtype] == + TANGENTIAL_MINDLIN_RESCALE_FORCE) { k_tangential *= a; - // on unloading, rescale the shear displacements + // on unloading, rescale the shear displacements/force if (a < history[3]) { double factor = a/history[3]; history[0] *= factor; @@ -427,37 +438,66 @@ void PairGranular::compute(int eflag, int vflag) history[2] *= factor; } } - // rotate and update displacements. + // rotate and update displacements / force. // see e.g. eq. 17 of Luding, Gran. Matter 2008, v10,p235 if (historyupdate) { rsht = history[0]*nx + history[1]*ny + history[2]*nz; - if (fabs(rsht) < EPSILON) rsht = 0; - if (rsht > 0) { + if (tangential_model[itype][jtype] == TANGENTIAL_MINDLIN_FORCE || + tangential_model[itype][jtype] == + TANGENTIAL_MINDLIN_RESCALE_FORCE) + frameupdate = fabs(rsht) < EPSILON*Fscrit; + else + frameupdate = fabs(rsht)*k_tangential < EPSILON*Fscrit; + if (frameupdate) { shrmag = sqrt(history[0]*history[0] + history[1]*history[1] + history[2]*history[2]); - // if rsht == shrmag, contacting pair has rotated 90 deg - // in one step, in which case you deserve a crash! - scalefac = shrmag/(shrmag - rsht); + // projection history[0] -= rsht*nx; history[1] -= rsht*ny; history[2] -= rsht*nz; + // also rescale to preserve magnitude + prjmag = sqrt(history[0]*history[0] + history[1]*history[1] + + history[2]*history[2]); + if (prjmag > 0) scalefac = shrmag/prjmag; + else scalefac = 0; history[0] *= scalefac; history[1] *= scalefac; history[2] *= scalefac; } // update history - history[0] += vtr1*dt; - history[1] += vtr2*dt; - history[2] += vtr3*dt; - if (tangential_model[itype][jtype] == TANGENTIAL_MINDLIN_RESCALE) + if (tangential_model[itype][jtype] == TANGENTIAL_HISTORY || + tangential_model[itype][jtype] == TANGENTIAL_MINDLIN || + tangential_model[itype][jtype] == TANGENTIAL_MINDLIN_RESCALE) { + // tangential displacement + history[0] += vtr1*dt; + history[1] += vtr2*dt; + history[2] += vtr3*dt; + } else { + // tangential force + // see e.g. eq. 18 of Thornton et al, Pow. Tech. 2013, v223,p30-46 + history[0] -= k_tangential*vtr1*dt; + history[1] -= k_tangential*vtr2*dt; + history[2] -= k_tangential*vtr3*dt; + } + if (tangential_model[itype][jtype] == TANGENTIAL_MINDLIN_RESCALE || + tangential_model[itype][jtype] == + TANGENTIAL_MINDLIN_RESCALE_FORCE) history[3] = a; } // tangential forces = history + tangential velocity damping - fs1 = -k_tangential*history[0] - damp_tangential*vtr1; - fs2 = -k_tangential*history[1] - damp_tangential*vtr2; - fs3 = -k_tangential*history[2] - damp_tangential*vtr3; + if (tangential_model[itype][jtype] == TANGENTIAL_HISTORY || + tangential_model[itype][jtype] == TANGENTIAL_MINDLIN || + tangential_model[itype][jtype] == TANGENTIAL_MINDLIN_RESCALE) { + fs1 = -k_tangential*history[0] - damp_tangential*vtr1; + fs2 = -k_tangential*history[1] - damp_tangential*vtr2; + fs3 = -k_tangential*history[2] - damp_tangential*vtr3; + } else { + fs1 = history[0] - damp_tangential*vtr1; + fs2 = history[1] - damp_tangential*vtr2; + fs3 = history[2] - damp_tangential*vtr3; + } // rescale frictional displacements and forces if needed fs = sqrt(fs1*fs1 + fs2*fs2 + fs3*fs3); @@ -465,12 +505,21 @@ void PairGranular::compute(int eflag, int vflag) shrmag = sqrt(history[0]*history[0] + history[1]*history[1] + history[2]*history[2]); if (shrmag != 0.0) { - history[0] = -1.0/k_tangential*(Fscrit*fs1/fs + - damp_tangential*vtr1); - history[1] = -1.0/k_tangential*(Fscrit*fs2/fs + - damp_tangential*vtr2); - history[2] = -1.0/k_tangential*(Fscrit*fs3/fs + - damp_tangential*vtr3); + if (tangential_model[itype][jtype] == TANGENTIAL_HISTORY || + tangential_model[itype][jtype] == TANGENTIAL_MINDLIN || + tangential_model[itype][jtype] == + TANGENTIAL_MINDLIN_RESCALE) { + history[0] = -1.0/k_tangential*(Fscrit*fs1/fs + + damp_tangential*vtr1); + history[1] = -1.0/k_tangential*(Fscrit*fs2/fs + + damp_tangential*vtr2); + history[2] = -1.0/k_tangential*(Fscrit*fs3/fs + + damp_tangential*vtr3); + } else { + history[0] = Fscrit*fs1/fs + damp_tangential*vtr1; + history[1] = Fscrit*fs2/fs + damp_tangential*vtr2; + history[2] = Fscrit*fs3/fs + damp_tangential*vtr3; + } fs1 *= Fscrit/fs; fs2 *= Fscrit/fs; fs3 *= Fscrit/fs; @@ -512,18 +561,27 @@ void PairGranular::compute(int eflag, int vflag) int rhist1 = rhist0 + 1; int rhist2 = rhist1 + 1; - rolldotn = history[rhist0]*nx + history[rhist1]*ny + history[rhist2]*nz; + k_roll = roll_coeffs[itype][jtype][0]; + damp_roll = roll_coeffs[itype][jtype][1]; + Frcrit = roll_coeffs[itype][jtype][2] * Fncrit; + if (historyupdate) { - if (fabs(rolldotn) < EPSILON) rolldotn = 0; - if (rolldotn > 0) { // rotate into tangential plane + rolldotn = history[rhist0]*nx + history[rhist1]*ny + history[rhist2]*nz; + frameupdate = fabs(rolldotn)*k_roll < EPSILON*Frcrit; + if (frameupdate) { // rotate into tangential plane rollmag = sqrt(history[rhist0]*history[rhist0] + history[rhist1]*history[rhist1] + history[rhist2]*history[rhist2]); - scalefac = rollmag/(rollmag - rolldotn); + // projection history[rhist0] -= rolldotn*nx; history[rhist1] -= rolldotn*ny; history[rhist2] -= rolldotn*nz; // also rescale to preserve magnitude + prjmag = sqrt(history[rhist0]*history[rhist0] + + history[rhist1]*history[rhist1] + + history[rhist2]*history[rhist2]); + if (prjmag > 0) scalefac = rollmag/prjmag; + else scalefac = 0; history[rhist0] *= scalefac; history[rhist1] *= scalefac; history[rhist2] *= scalefac; @@ -533,14 +591,11 @@ void PairGranular::compute(int eflag, int vflag) history[rhist2] += vrl3*dt; } - k_roll = roll_coeffs[itype][jtype][0]; - damp_roll = roll_coeffs[itype][jtype][1]; fr1 = -k_roll*history[rhist0] - damp_roll*vrl1; fr2 = -k_roll*history[rhist1] - damp_roll*vrl2; fr3 = -k_roll*history[rhist2] - damp_roll*vrl3; // rescale frictional displacements and forces if needed - Frcrit = roll_coeffs[itype][jtype][2] * Fncrit; fr = sqrt(fr1*fr1 + fr2*fr2 + fr3*fr3); if (fr > Frcrit) { @@ -698,7 +753,7 @@ void PairGranular::allocate() void PairGranular::settings(int narg, char **arg) { if (narg == 1) { - cutoff_global = force->numeric(FLERR,arg[0]); + cutoff_global = utils::numeric(FLERR,arg[0],false,lmp); } else { cutoff_global = -1; // will be set based on particle sizes, model choice } @@ -729,12 +784,13 @@ void PairGranular::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); //Defaults normal_model_one = tangential_model_one = -1; - roll_model_one = twist_model_one = 0; + roll_model_one = ROLL_NONE; + twist_model_one = TWIST_NONE; damping_model_one = VISCOELASTIC; int iarg = 2; @@ -744,35 +800,35 @@ void PairGranular::coeff(int narg, char **arg) error->all(FLERR,"Illegal pair_coeff command, " "not enough parameters provided for Hooke option"); normal_model_one = HOOKE; - normal_coeffs_one[0] = force->numeric(FLERR,arg[iarg+1]); // kn - normal_coeffs_one[1] = force->numeric(FLERR,arg[iarg+2]); // damping + normal_coeffs_one[0] = utils::numeric(FLERR,arg[iarg+1],false,lmp); // kn + normal_coeffs_one[1] = utils::numeric(FLERR,arg[iarg+2],false,lmp); // damping iarg += 3; } else if (strcmp(arg[iarg], "hertz") == 0) { if (iarg + 2 >= narg) error->all(FLERR,"Illegal pair_coeff command, " "not enough parameters provided for Hertz option"); normal_model_one = HERTZ; - normal_coeffs_one[0] = force->numeric(FLERR,arg[iarg+1]); // kn - normal_coeffs_one[1] = force->numeric(FLERR,arg[iarg+2]); // damping + normal_coeffs_one[0] = utils::numeric(FLERR,arg[iarg+1],false,lmp); // kn + normal_coeffs_one[1] = utils::numeric(FLERR,arg[iarg+2],false,lmp); // damping iarg += 3; } else if (strcmp(arg[iarg], "hertz/material") == 0) { if (iarg + 3 >= narg) error->all(FLERR,"Illegal pair_coeff command, " "not enough parameters provided for Hertz/material option"); normal_model_one = HERTZ_MATERIAL; - normal_coeffs_one[0] = force->numeric(FLERR,arg[iarg+1]); // E - normal_coeffs_one[1] = force->numeric(FLERR,arg[iarg+2]); // damping - normal_coeffs_one[2] = force->numeric(FLERR,arg[iarg+3]); // Poisson's ratio + normal_coeffs_one[0] = utils::numeric(FLERR,arg[iarg+1],false,lmp); // E + normal_coeffs_one[1] = utils::numeric(FLERR,arg[iarg+2],false,lmp); // damping + normal_coeffs_one[2] = utils::numeric(FLERR,arg[iarg+3],false,lmp); // Poisson's ratio iarg += 4; } else if (strcmp(arg[iarg], "dmt") == 0) { if (iarg + 4 >= narg) error->all(FLERR,"Illegal pair_coeff command, " "not enough parameters provided for Hertz option"); normal_model_one = DMT; - normal_coeffs_one[0] = force->numeric(FLERR,arg[iarg+1]); // E - normal_coeffs_one[1] = force->numeric(FLERR,arg[iarg+2]); // damping - normal_coeffs_one[2] = force->numeric(FLERR,arg[iarg+3]); // Poisson's ratio - normal_coeffs_one[3] = force->numeric(FLERR,arg[iarg+4]); // cohesion + normal_coeffs_one[0] = utils::numeric(FLERR,arg[iarg+1],false,lmp); // E + normal_coeffs_one[1] = utils::numeric(FLERR,arg[iarg+2],false,lmp); // damping + normal_coeffs_one[2] = utils::numeric(FLERR,arg[iarg+3],false,lmp); // Poisson's ratio + normal_coeffs_one[3] = utils::numeric(FLERR,arg[iarg+4],false,lmp); // cohesion iarg += 5; } else if (strcmp(arg[iarg], "jkr") == 0) { if (iarg + 4 >= narg) @@ -780,10 +836,10 @@ void PairGranular::coeff(int narg, char **arg) "not enough parameters provided for JKR option"); beyond_contact = 1; normal_model_one = JKR; - normal_coeffs_one[0] = force->numeric(FLERR,arg[iarg+1]); // E - normal_coeffs_one[1] = force->numeric(FLERR,arg[iarg+2]); // damping - normal_coeffs_one[2] = force->numeric(FLERR,arg[iarg+3]); // Poisson's ratio - normal_coeffs_one[3] = force->numeric(FLERR,arg[iarg+4]); // cohesion + normal_coeffs_one[0] = utils::numeric(FLERR,arg[iarg+1],false,lmp); // E + normal_coeffs_one[1] = utils::numeric(FLERR,arg[iarg+2],false,lmp); // damping + normal_coeffs_one[2] = utils::numeric(FLERR,arg[iarg+3],false,lmp); // Poisson's ratio + normal_coeffs_one[3] = utils::numeric(FLERR,arg[iarg+4],false,lmp); // cohesion iarg += 5; } else if (strcmp(arg[iarg], "damping") == 0) { if (iarg+1 >= narg) @@ -815,12 +871,14 @@ void PairGranular::coeff(int narg, char **arg) tangential_model_one = TANGENTIAL_NOHISTORY; tangential_coeffs_one[0] = 0; // gammat and friction coeff - tangential_coeffs_one[1] = force->numeric(FLERR,arg[iarg+2]); - tangential_coeffs_one[2] = force->numeric(FLERR,arg[iarg+3]); + tangential_coeffs_one[1] = utils::numeric(FLERR,arg[iarg+2],false,lmp); + tangential_coeffs_one[2] = utils::numeric(FLERR,arg[iarg+3],false,lmp); iarg += 4; } else if ((strcmp(arg[iarg+1], "linear_history") == 0) || (strcmp(arg[iarg+1], "mindlin") == 0) || - (strcmp(arg[iarg+1], "mindlin_rescale") == 0)) { + (strcmp(arg[iarg+1], "mindlin_rescale") == 0) || + (strcmp(arg[iarg+1], "mindlin/force") == 0) || + (strcmp(arg[iarg+1], "mindlin_rescale/force") == 0)) { if (iarg + 4 >= narg) error->all(FLERR,"Illegal pair_coeff command, " "not enough parameters provided for tangential model"); @@ -830,9 +888,15 @@ void PairGranular::coeff(int narg, char **arg) tangential_model_one = TANGENTIAL_MINDLIN; else if (strcmp(arg[iarg+1], "mindlin_rescale") == 0) tangential_model_one = TANGENTIAL_MINDLIN_RESCALE; + else if (strcmp(arg[iarg+1], "mindlin/force") == 0) + tangential_model_one = TANGENTIAL_MINDLIN_FORCE; + else if (strcmp(arg[iarg+1], "mindlin_rescale/force") == 0) + tangential_model_one = TANGENTIAL_MINDLIN_RESCALE_FORCE; tangential_history = 1; if ((tangential_model_one == TANGENTIAL_MINDLIN || - tangential_model_one == TANGENTIAL_MINDLIN_RESCALE) && + tangential_model_one == TANGENTIAL_MINDLIN_RESCALE || + tangential_model_one == TANGENTIAL_MINDLIN_FORCE || + tangential_model_one == TANGENTIAL_MINDLIN_RESCALE_FORCE) && (strcmp(arg[iarg+2], "NULL") == 0)) { if (normal_model_one == HERTZ || normal_model_one == HOOKE) { error->all(FLERR, "NULL setting for Mindlin tangential " @@ -841,11 +905,11 @@ void PairGranular::coeff(int narg, char **arg) } tangential_coeffs_one[0] = -1; } else { - tangential_coeffs_one[0] = force->numeric(FLERR,arg[iarg+2]); // kt + tangential_coeffs_one[0] = utils::numeric(FLERR,arg[iarg+2],false,lmp); // kt } // gammat and friction coeff - tangential_coeffs_one[1] = force->numeric(FLERR,arg[iarg+3]); - tangential_coeffs_one[2] = force->numeric(FLERR,arg[iarg+4]); + tangential_coeffs_one[1] = utils::numeric(FLERR,arg[iarg+3],false,lmp); + tangential_coeffs_one[2] = utils::numeric(FLERR,arg[iarg+4],false,lmp); iarg += 5; } else { error->all(FLERR, "Illegal pair_coeff command, " @@ -864,9 +928,9 @@ void PairGranular::coeff(int narg, char **arg) roll_model_one = ROLL_SDS; roll_history = 1; // kR and gammaR and rolling friction coeff - roll_coeffs_one[0] = force->numeric(FLERR,arg[iarg+2]); - roll_coeffs_one[1] = force->numeric(FLERR,arg[iarg+3]); - roll_coeffs_one[2] = force->numeric(FLERR,arg[iarg+4]); + roll_coeffs_one[0] = utils::numeric(FLERR,arg[iarg+2],false,lmp); + roll_coeffs_one[1] = utils::numeric(FLERR,arg[iarg+3],false,lmp); + roll_coeffs_one[2] = utils::numeric(FLERR,arg[iarg+4],false,lmp); iarg += 5; } else { error->all(FLERR, "Illegal pair_coeff command, " @@ -889,9 +953,9 @@ void PairGranular::coeff(int narg, char **arg) twist_model_one = TWIST_SDS; twist_history = 1; // kt and gammat and friction coeff - twist_coeffs_one[0] = force->numeric(FLERR,arg[iarg+2]); - twist_coeffs_one[1] = force->numeric(FLERR,arg[iarg+3]); - twist_coeffs_one[2] = force->numeric(FLERR,arg[iarg+4]); + twist_coeffs_one[0] = utils::numeric(FLERR,arg[iarg+2],false,lmp); + twist_coeffs_one[1] = utils::numeric(FLERR,arg[iarg+3],false,lmp); + twist_coeffs_one[2] = utils::numeric(FLERR,arg[iarg+4],false,lmp); iarg += 5; } else { error->all(FLERR, "Illegal pair_coeff command, " @@ -900,7 +964,7 @@ void PairGranular::coeff(int narg, char **arg) } else if (strcmp(arg[iarg], "cutoff") == 0) { if (iarg + 1 >= narg) error->all(FLERR, "Illegal pair_coeff command, not enough parameters"); - cutoff_one = force->numeric(FLERR,arg[iarg+1]); + cutoff_one = utils::numeric(FLERR,arg[iarg+1],false,lmp); iarg += 2; } else error->all(FLERR, "Illegal pair coeff command"); } @@ -1014,7 +1078,8 @@ void PairGranular::init_style() } for (int i = 1; i <= atom->ntypes; i++) for (int j = i; j <= atom->ntypes; j++) - if (tangential_model[i][j] == TANGENTIAL_MINDLIN_RESCALE) { + if (tangential_model[i][j] == TANGENTIAL_MINDLIN_RESCALE || + tangential_model[i][j] == TANGENTIAL_MINDLIN_RESCALE_FORCE) { size_history += 1; roll_history_index += 1; twist_history_index += 1; @@ -1484,6 +1549,12 @@ double PairGranular::single(int i, int j, int itype, int jtype, // tangential force, including history effects //**************************************** + // For linear, mindlin, mindlin_rescale: + // history = cumulative tangential displacement + // + // For mindlin/force, mindlin_rescale/force: + // history = cumulative tangential elastic force + // tangential component vt1 = vr1 - vn1; vt2 = vr2 - vn2; @@ -1519,9 +1590,7 @@ double PairGranular::single(int i, int j, int itype, int jtype, damp_tangential = tangential_coeffs[itype][jtype][1]*damp_normal_prefactor; if (tangential_history) { - if (tangential_model[itype][jtype] == TANGENTIAL_MINDLIN) { - k_tangential *= a; - } else if (tangential_model[itype][jtype] == TANGENTIAL_MINDLIN_RESCALE) { + if (tangential_model[itype][jtype] != TANGENTIAL_HISTORY) { k_tangential *= a; } @@ -1529,9 +1598,17 @@ double PairGranular::single(int i, int j, int itype, int jtype, history[2]*history[2]); // tangential forces = history + tangential velocity damping - fs1 = -k_tangential*history[0] - damp_tangential*vtr1; - fs2 = -k_tangential*history[1] - damp_tangential*vtr2; - fs3 = -k_tangential*history[2] - damp_tangential*vtr3; + if (tangential_model[itype][jtype] == TANGENTIAL_HISTORY || + tangential_model[itype][jtype] == TANGENTIAL_MINDLIN || + tangential_model[itype][jtype] == TANGENTIAL_MINDLIN_RESCALE) { + fs1 = -k_tangential*history[0] - damp_tangential*vtr1; + fs2 = -k_tangential*history[1] - damp_tangential*vtr2; + fs3 = -k_tangential*history[2] - damp_tangential*vtr3; + } else { + fs1 = history[0] - damp_tangential*vtr1; + fs2 = history[1] - damp_tangential*vtr2; + fs3 = history[2] - damp_tangential*vtr3; + } // rescale frictional forces if needed fs = sqrt(fs1*fs1 + fs2*fs2 + fs3*fs3); @@ -1540,7 +1617,7 @@ double PairGranular::single(int i, int j, int itype, int jtype, fs1 *= Fscrit/fs; fs2 *= Fscrit/fs; fs3 *= Fscrit/fs; - fs *= Fscrit/fs; + fs *= Fscrit/fs; } else fs1 = fs2 = fs3 = fs = 0.0; } diff --git a/src/KIM/pair_kim.cpp b/src/KIM/pair_kim.cpp index 7d2333aab108a1e20364aa09a2175744bee6cbd5..69586b55d62feab5bae167b907b44212ee88dbcd 100644 --- a/src/KIM/pair_kim.cpp +++ b/src/KIM/pair_kim.cpp @@ -343,8 +343,8 @@ void PairKIM::coeff(int narg, char **arg) error->all(FLERR,"Incorrect args for pair coefficients"); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); // read args that map atom species to KIM elements // lmps_map_species_to_unique[i] = diff --git a/src/KOKKOS/fix_qeq_reax_kokkos.cpp b/src/KOKKOS/fix_qeq_reax_kokkos.cpp index c512921266c632afb04301b06bbbd409bc322aee..8c007586a910049ca77576624eaca252f0bb559d 100644 --- a/src/KOKKOS/fix_qeq_reax_kokkos.cpp +++ b/src/KOKKOS/fix_qeq_reax_kokkos.cpp @@ -1057,8 +1057,8 @@ KOKKOS_INLINE_FUNCTION void FixQEqReaxKokkos::sparse13_item(int ii) const { // The q array is duplicated for OpenMP, atomic for CUDA, and neither for Serial - auto v_o = ScatterViewHelper::value,decltype(dup_o),decltype(ndup_o)>::get(dup_o,ndup_o); - auto a_o = v_o.template access::value>(); + auto v_o = ScatterViewHelper::value,decltype(dup_o),decltype(ndup_o)>::get(dup_o,ndup_o); + auto a_o = v_o.template access::value>(); const int i = d_ilist[ii]; if (mask[i] & groupbit) { @@ -1110,8 +1110,8 @@ KOKKOS_INLINE_FUNCTION void FixQEqReaxKokkos::sparse23_item(int ii) const { // The q array is duplicated for OpenMP, atomic for CUDA, and neither for Serial - auto v_o = ScatterViewHelper::value,decltype(dup_o),decltype(ndup_o)>::get(dup_o,ndup_o); - auto a_o = v_o.template access::value>(); + auto v_o = ScatterViewHelper::value,decltype(dup_o),decltype(ndup_o)>::get(dup_o,ndup_o); + auto a_o = v_o.template access::value>(); const int i = d_ilist[ii]; if (mask[i] & groupbit) { @@ -1170,8 +1170,8 @@ KOKKOS_INLINE_FUNCTION void FixQEqReaxKokkos::sparse33_item(int ii) const { // The q array is duplicated for OpenMP, atomic for CUDA, and neither for Serial - auto v_o = ScatterViewHelper::value,decltype(dup_o),decltype(ndup_o)>::get(dup_o,ndup_o); - auto a_o = v_o.template access::value>(); + auto v_o = ScatterViewHelper::value,decltype(dup_o),decltype(ndup_o)>::get(dup_o,ndup_o); + auto a_o = v_o.template access::value>(); const int i = d_ilist[ii]; if (mask[i] & groupbit) { diff --git a/src/KOKKOS/kokkos.cpp b/src/KOKKOS/kokkos.cpp index 7e3a4ba68ae01825cec44eab9ae4c5bfe9993ef1..b5e617452884c11ec6409749899c97cc77bf202f 100644 --- a/src/KOKKOS/kokkos.cpp +++ b/src/KOKKOS/kokkos.cpp @@ -324,7 +324,7 @@ void KokkosLMP::accelerator(int narg, char **arg) iarg += 2; } else if (strcmp(arg[iarg],"binsize") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal package kokkos command"); - binsize = force->numeric(FLERR,arg[iarg+1]); + binsize = utils::numeric(FLERR,arg[iarg+1],false,lmp); iarg += 2; } else if (strcmp(arg[iarg],"newton") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal package kokkos command"); diff --git a/src/KOKKOS/kokkos.h b/src/KOKKOS/kokkos.h index 7b605bee1e9fd513cda9f64e3d57000b448480ea..72b7d19305f3dd995bbfd7b13825abea1b22ed90 100644 --- a/src/KOKKOS/kokkos.h +++ b/src/KOKKOS/kokkos.h @@ -55,7 +55,7 @@ class KokkosLMP : protected Pointers { int value = 0; if (neighflag == HALFTHREAD) - value = NeedDup::value; + value = std::is_same::value,Kokkos::Experimental::ScatterDuplicated>::value; return value; } diff --git a/src/KOKKOS/kokkos_type.h b/src/KOKKOS/kokkos_type.h index 4199616398acc73312ab324459057db99bb75231..0271c3d10884db8aad86011efbab775aa79146ea 100644 --- a/src/KOKKOS/kokkos_type.h +++ b/src/KOKKOS/kokkos_type.h @@ -229,20 +229,20 @@ struct AtomicF { // Do atomic trait when running HALFTHREAD neighbor list style with CUDA template struct AtomicDup { - enum {value = Kokkos::Experimental::ScatterNonAtomic}; + using value = Kokkos::Experimental::ScatterNonAtomic; }; #ifdef KOKKOS_ENABLE_CUDA template<> struct AtomicDup { - enum {value = Kokkos::Experimental::ScatterAtomic}; + using value = Kokkos::Experimental::ScatterAtomic; }; #endif #if defined(KOKKOS_ENABLE_HIP) template<> struct AtomicDup { - enum {value = Kokkos::Experimental::ScatterAtomic}; + using value = Kokkos::Experimental::ScatterAtomic; }; #endif @@ -251,14 +251,14 @@ struct AtomicDup { #ifdef KOKKOS_ENABLE_OPENMP template<> struct AtomicDup { - enum {value = Kokkos::Experimental::ScatterAtomic}; + using value = Kokkos::Experimental::ScatterAtomic; }; #endif #ifdef KOKKOS_ENABLE_THREADS template<> struct AtomicDup { - enum {value = Kokkos::Experimental::ScatterAtomic}; + using value = Kokkos::Experimental::ScatterAtomic; }; #endif @@ -269,7 +269,7 @@ struct AtomicDup { // Use duplication when running threaded and not using atomics template struct NeedDup { - enum {value = Kokkos::Experimental::ScatterNonDuplicated}; + using value = Kokkos::Experimental::ScatterNonDuplicated; }; #ifndef LMP_KOKKOS_USE_ATOMICS @@ -277,20 +277,20 @@ struct NeedDup { #ifdef KOKKOS_ENABLE_OPENMP template<> struct NeedDup { - enum {value = Kokkos::Experimental::ScatterDuplicated}; + using value = Kokkos::Experimental::ScatterDuplicated; }; #endif #ifdef KOKKOS_ENABLE_THREADS template<> struct NeedDup { - enum {value = Kokkos::Experimental::ScatterDuplicated}; + using value = Kokkos::Experimental::ScatterDuplicated; }; #endif #endif -template +template class ScatterViewHelper {}; template diff --git a/src/KOKKOS/pair_coul_debye_kokkos.cpp b/src/KOKKOS/pair_coul_debye_kokkos.cpp index a97d1dbe137f7285bed0a02253fd1fc536a5411c..e3326f30560bfb24e70e073afe0a6e1012727a0b 100644 --- a/src/KOKKOS/pair_coul_debye_kokkos.cpp +++ b/src/KOKKOS/pair_coul_debye_kokkos.cpp @@ -226,8 +226,8 @@ void PairCoulDebyeKokkos::settings(int narg, char **arg) { if (narg > 2) error->all(FLERR,"Illegal pair_style command"); - kappa = force->numeric(FLERR,arg[0]); - cut_global = force->numeric(FLERR,arg[1]); + kappa = utils::numeric(FLERR,arg[0],false,lmp); + cut_global = utils::numeric(FLERR,arg[1],false,lmp); // reset cutoffs that have been explicitly set diff --git a/src/KOKKOS/pair_eam_alloy_kokkos.cpp b/src/KOKKOS/pair_eam_alloy_kokkos.cpp index df6d3c0291d10b2a6d200561b86964a5456f9643..28cf65c8d8fd211e91ce0b8643337c52ec292e6a 100644 --- a/src/KOKKOS/pair_eam_alloy_kokkos.cpp +++ b/src/KOKKOS/pair_eam_alloy_kokkos.cpp @@ -534,8 +534,8 @@ void PairEAMAlloyKokkos::operator()(TagPairEAMAlloyKernelA::value,decltype(dup_rho),decltype(ndup_rho)>::get(dup_rho,ndup_rho); - auto a_rho = v_rho.template access::value>(); + auto v_rho = ScatterViewHelper::value,decltype(dup_rho),decltype(ndup_rho)>::get(dup_rho,ndup_rho); + auto a_rho = v_rho.template access::value>(); const int i = d_ilist[ii]; const X_FLOAT xtmp = x(i,0); @@ -705,8 +705,8 @@ void PairEAMAlloyKokkos::operator()(TagPairEAMAlloyKernelC::value,decltype(dup_f),decltype(ndup_f)>::get(dup_f,ndup_f); - auto a_f = v_f.template access::value>(); + auto v_f = ScatterViewHelper::value,decltype(dup_f),decltype(ndup_f)>::get(dup_f,ndup_f); + auto a_f = v_f.template access::value>(); const int i = d_ilist[ii]; const X_FLOAT xtmp = x(i,0); @@ -815,11 +815,11 @@ void PairEAMAlloyKokkos::ev_tally(EV_FLOAT &ev, const int &i, const // The eatom and vatom arrays are duplicated for OpenMP, atomic for CUDA, and neither for Serial - auto v_eatom = ScatterViewHelper::value,decltype(dup_eatom),decltype(ndup_eatom)>::get(dup_eatom,ndup_eatom); - auto a_eatom = v_eatom.template access::value>(); + auto v_eatom = ScatterViewHelper::value,decltype(dup_eatom),decltype(ndup_eatom)>::get(dup_eatom,ndup_eatom); + auto a_eatom = v_eatom.template access::value>(); - auto v_vatom = ScatterViewHelper::value,decltype(dup_vatom),decltype(ndup_vatom)>::get(dup_vatom,ndup_vatom); - auto a_vatom = v_vatom.template access::value>(); + auto v_vatom = ScatterViewHelper::value,decltype(dup_vatom),decltype(ndup_vatom)>::get(dup_vatom,ndup_vatom); + auto a_vatom = v_vatom.template access::value>(); if (EFLAG) { if (eflag_atom) { diff --git a/src/KOKKOS/pair_eam_alloy_kokkos.h b/src/KOKKOS/pair_eam_alloy_kokkos.h index 5796bdd1d46c99c3951a9648c054a5fda7f8886f..aee94471cf60fb7eb42535488a83dba0fb67fd48 100644 --- a/src/KOKKOS/pair_eam_alloy_kokkos.h +++ b/src/KOKKOS/pair_eam_alloy_kokkos.h @@ -129,14 +129,14 @@ class PairEAMAlloyKokkos : public PairEAM, public KokkosBase { typename ArrayTypes::t_virial_array d_vatom; int need_dup; - Kokkos::Experimental::ScatterView::value,Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterDuplicated> dup_rho; - Kokkos::Experimental::ScatterView::value,Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterDuplicated> dup_f; - Kokkos::Experimental::ScatterView::value,Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterDuplicated> dup_eatom; - Kokkos::Experimental::ScatterView::value,Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterDuplicated> dup_vatom; - Kokkos::Experimental::ScatterView::value,Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterNonDuplicated> ndup_rho; - Kokkos::Experimental::ScatterView::value,Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterNonDuplicated> ndup_f; - Kokkos::Experimental::ScatterView::value,Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterNonDuplicated> ndup_eatom; - Kokkos::Experimental::ScatterView::value,Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterNonDuplicated> ndup_vatom; + Kokkos::Experimental::ScatterView::value,typename Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterDuplicated> dup_rho; + Kokkos::Experimental::ScatterView::value,typename Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterDuplicated> dup_f; + Kokkos::Experimental::ScatterView::value,typename Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterDuplicated> dup_eatom; + Kokkos::Experimental::ScatterView::value,typename Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterDuplicated> dup_vatom; + Kokkos::Experimental::ScatterView::value,typename Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterNonDuplicated> ndup_rho; + Kokkos::Experimental::ScatterView::value,typename Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterNonDuplicated> ndup_f; + Kokkos::Experimental::ScatterView::value,typename Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterNonDuplicated> ndup_eatom; + Kokkos::Experimental::ScatterView::value,typename Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterNonDuplicated> ndup_vatom; DAT::tdual_ffloat_1d k_rho; DAT::tdual_ffloat_1d k_fp; diff --git a/src/KOKKOS/pair_eam_fs_kokkos.cpp b/src/KOKKOS/pair_eam_fs_kokkos.cpp index 0a8e6c7be342c8c15b56a1fa81f4491f8be455a6..da49414892926a5bae4608de7b62f7fedcf7fcdf 100644 --- a/src/KOKKOS/pair_eam_fs_kokkos.cpp +++ b/src/KOKKOS/pair_eam_fs_kokkos.cpp @@ -534,8 +534,8 @@ void PairEAMFSKokkos::operator()(TagPairEAMFSKernelA::value,decltype(dup_rho),decltype(ndup_rho)>::get(dup_rho,ndup_rho); - auto a_rho = v_rho.template access::value>(); + auto v_rho = ScatterViewHelper::value,decltype(dup_rho),decltype(ndup_rho)>::get(dup_rho,ndup_rho); + auto a_rho = v_rho.template access::value>(); const int i = d_ilist[ii]; const X_FLOAT xtmp = x(i,0); @@ -705,8 +705,8 @@ void PairEAMFSKokkos::operator()(TagPairEAMFSKernelC::value,decltype(dup_f),decltype(ndup_f)>::get(dup_f,ndup_f); - auto a_f = v_f.template access::value>(); + auto v_f = ScatterViewHelper::value,decltype(dup_f),decltype(ndup_f)>::get(dup_f,ndup_f); + auto a_f = v_f.template access::value>(); const int i = d_ilist[ii]; const X_FLOAT xtmp = x(i,0); @@ -815,11 +815,11 @@ void PairEAMFSKokkos::ev_tally(EV_FLOAT &ev, const int &i, const int // The eatom and vatom arrays are duplicated for OpenMP, atomic for CUDA, and neither for Serial - auto v_eatom = ScatterViewHelper::value,decltype(dup_eatom),decltype(ndup_eatom)>::get(dup_eatom,ndup_eatom); - auto a_eatom = v_eatom.template access::value>(); + auto v_eatom = ScatterViewHelper::value,decltype(dup_eatom),decltype(ndup_eatom)>::get(dup_eatom,ndup_eatom); + auto a_eatom = v_eatom.template access::value>(); - auto v_vatom = ScatterViewHelper::value,decltype(dup_vatom),decltype(ndup_vatom)>::get(dup_vatom,ndup_vatom); - auto a_vatom = v_vatom.template access::value>(); + auto v_vatom = ScatterViewHelper::value,decltype(dup_vatom),decltype(ndup_vatom)>::get(dup_vatom,ndup_vatom); + auto a_vatom = v_vatom.template access::value>(); if (EFLAG) { if (eflag_atom) { diff --git a/src/KOKKOS/pair_eam_fs_kokkos.h b/src/KOKKOS/pair_eam_fs_kokkos.h index 64e1c78d560e6f6e3faeee34d51a78ae90b8d846..5f1a912f54201618117f90560c57131b37e5d16b 100644 --- a/src/KOKKOS/pair_eam_fs_kokkos.h +++ b/src/KOKKOS/pair_eam_fs_kokkos.h @@ -129,14 +129,14 @@ class PairEAMFSKokkos : public PairEAM, public KokkosBase { typename ArrayTypes::t_virial_array d_vatom; int need_dup; - Kokkos::Experimental::ScatterView::value,Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterDuplicated> dup_rho; - Kokkos::Experimental::ScatterView::value,Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterDuplicated> dup_f; - Kokkos::Experimental::ScatterView::value,Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterDuplicated> dup_eatom; - Kokkos::Experimental::ScatterView::value,Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterDuplicated> dup_vatom; - Kokkos::Experimental::ScatterView::value,Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterNonDuplicated> ndup_rho; - Kokkos::Experimental::ScatterView::value,Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterNonDuplicated> ndup_f; - Kokkos::Experimental::ScatterView::value,Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterNonDuplicated> ndup_eatom; - Kokkos::Experimental::ScatterView::value,Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterNonDuplicated> ndup_vatom; + Kokkos::Experimental::ScatterView::value,typename Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterDuplicated> dup_rho; + Kokkos::Experimental::ScatterView::value,typename Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterDuplicated> dup_f; + Kokkos::Experimental::ScatterView::value,typename Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterDuplicated> dup_eatom; + Kokkos::Experimental::ScatterView::value,typename Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterDuplicated> dup_vatom; + Kokkos::Experimental::ScatterView::value,typename Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterNonDuplicated> ndup_rho; + Kokkos::Experimental::ScatterView::value,typename Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterNonDuplicated> ndup_f; + Kokkos::Experimental::ScatterView::value,typename Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterNonDuplicated> ndup_eatom; + Kokkos::Experimental::ScatterView::value,typename Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterNonDuplicated> ndup_vatom; DAT::tdual_ffloat_1d k_rho; DAT::tdual_ffloat_1d k_fp; diff --git a/src/KOKKOS/pair_eam_kokkos.cpp b/src/KOKKOS/pair_eam_kokkos.cpp index 76f768cf131c1507b5ce9306b449f363cf5c49d5..fc3a264199612a4a8dddb2fa8baa9846ca52fe86 100644 --- a/src/KOKKOS/pair_eam_kokkos.cpp +++ b/src/KOKKOS/pair_eam_kokkos.cpp @@ -532,8 +532,8 @@ void PairEAMKokkos::operator()(TagPairEAMKernelA::value,decltype(dup_rho),decltype(ndup_rho)>::get(dup_rho,ndup_rho); - auto a_rho = v_rho.template access::value>(); + auto v_rho = ScatterViewHelper::value,decltype(dup_rho),decltype(ndup_rho)>::get(dup_rho,ndup_rho); + auto a_rho = v_rho.template access::value>(); const int i = d_ilist[ii]; const X_FLOAT xtmp = x(i,0); @@ -701,8 +701,8 @@ void PairEAMKokkos::operator()(TagPairEAMKernelC::value,decltype(dup_f),decltype(ndup_f)>::get(dup_f,ndup_f); - auto a_f = v_f.template access::value>(); + auto v_f = ScatterViewHelper::value,decltype(dup_f),decltype(ndup_f)>::get(dup_f,ndup_f); + auto a_f = v_f.template access::value>(); const int i = d_ilist[ii]; const X_FLOAT xtmp = x(i,0); @@ -811,11 +811,11 @@ void PairEAMKokkos::ev_tally(EV_FLOAT &ev, const int &i, const int & // The eatom and vatom arrays are duplicated for OpenMP, atomic for CUDA, and neither for Serial - auto v_eatom = ScatterViewHelper::value,decltype(dup_eatom),decltype(ndup_eatom)>::get(dup_eatom,ndup_eatom); - auto a_eatom = v_eatom.template access::value>(); + auto v_eatom = ScatterViewHelper::value,decltype(dup_eatom),decltype(ndup_eatom)>::get(dup_eatom,ndup_eatom); + auto a_eatom = v_eatom.template access::value>(); - auto v_vatom = ScatterViewHelper::value,decltype(dup_vatom),decltype(ndup_vatom)>::get(dup_vatom,ndup_vatom); - auto a_vatom = v_vatom.template access::value>(); + auto v_vatom = ScatterViewHelper::value,decltype(dup_vatom),decltype(ndup_vatom)>::get(dup_vatom,ndup_vatom); + auto a_vatom = v_vatom.template access::value>(); if (EFLAG) { if (eflag_atom) { diff --git a/src/KOKKOS/pair_eam_kokkos.h b/src/KOKKOS/pair_eam_kokkos.h index 20bac4ed1691792dbe777e53ab19db74d17fb6b0..5992b7ed6d7f606d54be2640d4c6692bc87d0ba7 100644 --- a/src/KOKKOS/pair_eam_kokkos.h +++ b/src/KOKKOS/pair_eam_kokkos.h @@ -126,14 +126,14 @@ class PairEAMKokkos : public PairEAM, public KokkosBase { typename ArrayTypes::t_virial_array d_vatom; int need_dup; - Kokkos::Experimental::ScatterView::value,Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterDuplicated> dup_rho; - Kokkos::Experimental::ScatterView::value,Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterDuplicated> dup_f; - Kokkos::Experimental::ScatterView::value,Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterDuplicated> dup_eatom; - Kokkos::Experimental::ScatterView::value,Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterDuplicated> dup_vatom; - Kokkos::Experimental::ScatterView::value,Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterNonDuplicated> ndup_rho; - Kokkos::Experimental::ScatterView::value,Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterNonDuplicated> ndup_f; - Kokkos::Experimental::ScatterView::value,Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterNonDuplicated> ndup_eatom; - Kokkos::Experimental::ScatterView::value,Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterNonDuplicated> ndup_vatom; + Kokkos::Experimental::ScatterView::value,typename Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterDuplicated> dup_rho; + Kokkos::Experimental::ScatterView::value,typename Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterDuplicated> dup_f; + Kokkos::Experimental::ScatterView::value,typename Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterDuplicated> dup_eatom; + Kokkos::Experimental::ScatterView::value,typename Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterDuplicated> dup_vatom; + Kokkos::Experimental::ScatterView::value,typename Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterNonDuplicated> ndup_rho; + Kokkos::Experimental::ScatterView::value,typename Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterNonDuplicated> ndup_f; + Kokkos::Experimental::ScatterView::value,typename Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterNonDuplicated> ndup_eatom; + Kokkos::Experimental::ScatterView::value,typename Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterNonDuplicated> ndup_vatom; DAT::tdual_ffloat_1d k_rho; DAT::tdual_ffloat_1d k_fp; diff --git a/src/KOKKOS/pair_exp6_rx_kokkos.cpp b/src/KOKKOS/pair_exp6_rx_kokkos.cpp index d5b1865713f7085e7ede131c1d13feb582ff6618..2e2c3ef04e89f99c2e8e5095f725913653bea469 100644 --- a/src/KOKKOS/pair_exp6_rx_kokkos.cpp +++ b/src/KOKKOS/pair_exp6_rx_kokkos.cpp @@ -814,7 +814,7 @@ void PairExp6rxKokkos::operator()(TagPairExp6rxComputeNoAtomics unique_token_type; unique_token_type unique_token; @@ -1156,7 +1156,7 @@ void PairExp6rxKokkos::operator()(TagPairExp6rxComputeNoAtomics::vectorized_operator(const int &ii, EV_FLOAT& Kokkos::View::value,Kokkos::MemoryTraits::value> > a_uCGnew = uCGnew; int tid = 0; -#ifndef KOKKOS_ENABLE_CUDA +#ifndef LMP_KOKKOS_GPU typedef Kokkos::Experimental::UniqueToken< DeviceType, Kokkos::Experimental::UniqueTokenScope::Global> unique_token_type; unique_token_type unique_token; @@ -1624,7 +1624,7 @@ void PairExp6rxKokkos::vectorized_operator(const int &ii, EV_FLOAT& t_uCGnew(tid,i) += uCGnew_i; } -#ifndef KOKKOS_ENABLE_CUDA +#ifndef LMP_KOKKOS_GPU unique_token.release(tid); #endif } @@ -1723,7 +1723,7 @@ void PairExp6rxKokkos::read_file(char *file) FILE *fp; fp = NULL; if (comm->me == 0) { - fp = force->open_potential(file); + fp = utils::open_potential(file,lmp,nullptr); if (fp == NULL) { char str[128]; snprintf(str,128,"Cannot open exp6/rx potential file %s",file); @@ -2129,7 +2129,7 @@ void partition_range( const int begin, const int end, int &thread_begin, int &th /* ---------------------------------------------------------------------- */ -#ifndef KOKKOS_ENABLE_CUDA +#ifndef LMP_KOKKOS_GPU template template void PairExp6rxKokkos::getMixingWeightsVect(const int np_total, int errorFlag, diff --git a/src/KOKKOS/pair_hybrid_overlay_kokkos.cpp b/src/KOKKOS/pair_hybrid_overlay_kokkos.cpp index 0cebd79c88e6cce0c55f66c66b4c87e097293410..1f2ad404bb49f9838172291859b9cc90df6eedbd 100644 --- a/src/KOKKOS/pair_hybrid_overlay_kokkos.cpp +++ b/src/KOKKOS/pair_hybrid_overlay_kokkos.cpp @@ -17,6 +17,7 @@ #include "atom.h" #include "force.h" #include "error.h" +#include "utils.h" using namespace LAMMPS_NS; @@ -34,8 +35,8 @@ void PairHybridOverlayKokkos::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); // 3rd arg = pair sub-style name // 4th arg = pair sub-style index if name used multiple times @@ -52,7 +53,7 @@ void PairHybridOverlayKokkos::coeff(int narg, char **arg) if (narg < 4) error->all(FLERR,"Incorrect args for pair coefficients"); if (!isdigit(arg[3][0])) error->all(FLERR,"Incorrect args for pair coefficients"); - int index = force->inumeric(FLERR,arg[3]); + int index = utils::inumeric(FLERR,arg[3],false,lmp); if (index == multiple[m]) break; else continue; } else break; diff --git a/src/KOKKOS/pair_kokkos.h b/src/KOKKOS/pair_kokkos.h index 22730684b051873e4a9ad6824c6e3571012eef27..ffafdf7f17f0aed75b62dfbfba1dbb1dd465923d 100644 --- a/src/KOKKOS/pair_kokkos.h +++ b/src/KOKKOS/pair_kokkos.h @@ -67,16 +67,16 @@ struct PairComputeFunctor { // The force array is atomic for Half/Thread neighbor style //Kokkos::View::value,Kokkos::MemoryTraits::value> > f; - Kokkos::Experimental::ScatterView::value,Kokkos::Experimental::ScatterSum,NeedDup::value > dup_f; + Kokkos::Experimental::ScatterView::value,typename Kokkos::Experimental::ScatterSum,typename NeedDup::value > dup_f; // The eatom and vatom arrays are atomic for Half/Thread neighbor style //Kokkos::View::value,Kokkos::MemoryTraits::value> > eatom; - Kokkos::Experimental::ScatterView::value,Kokkos::Experimental::ScatterSum,NeedDup::value > dup_eatom; + Kokkos::Experimental::ScatterView::value,typename Kokkos::Experimental::ScatterSum,typename NeedDup::value > dup_eatom; //Kokkos::View::value,Kokkos::MemoryTraits::value> > vatom; - Kokkos::Experimental::ScatterView::value,Kokkos::Experimental::ScatterSum,NeedDup::value > dup_vatom; + Kokkos::Experimental::ScatterView::value,typename Kokkos::Experimental::ScatterSum,typename NeedDup::value > dup_vatom; @@ -89,9 +89,9 @@ struct PairComputeFunctor { f = c.f; d_eatom = c.d_eatom; d_vatom = c.d_vatom; - dup_f = Kokkos::Experimental::create_scatter_view::value >(c.f); - dup_eatom = Kokkos::Experimental::create_scatter_view::value >(c.d_eatom); - dup_vatom = Kokkos::Experimental::create_scatter_view::value >(c.d_vatom); + dup_f = Kokkos::Experimental::create_scatter_view::value >(c.f); + dup_eatom = Kokkos::Experimental::create_scatter_view::value >(c.d_eatom); + dup_vatom = Kokkos::Experimental::create_scatter_view::value >(c.d_vatom); }; // Call cleanup_copy which sets allocations NULL which are destructed by the PairStyle @@ -118,7 +118,7 @@ struct PairComputeFunctor { EV_FLOAT compute_item(const int& ii, const NeighListKokkos &list, const NoCoulTag&) const { - auto a_f = dup_f.template access::value>(); + auto a_f = dup_f.template access::value>(); EV_FLOAT ev; const int i = list.d_ilist[ii]; @@ -185,7 +185,7 @@ struct PairComputeFunctor { EV_FLOAT compute_item(const int& ii, const NeighListKokkos &list, const CoulTag& ) const { - auto a_f = dup_f.template access::value>(); + auto a_f = dup_f.template access::value>(); EV_FLOAT ev; const int i = list.d_ilist[ii]; @@ -586,8 +586,8 @@ struct PairComputeFunctor { const F_FLOAT &epair, const F_FLOAT &fpair, const F_FLOAT &delx, const F_FLOAT &dely, const F_FLOAT &delz) const { - auto a_eatom = dup_eatom.template access::value>(); - auto a_vatom = dup_vatom.template access::value>(); + auto a_eatom = dup_eatom.template access::value>(); + auto a_vatom = dup_vatom.template access::value>(); const int EFLAG = c.eflag; const int NEWTON_PAIR = c.newton_pair; diff --git a/src/KOKKOS/pair_lj_cut_coul_debye_kokkos.cpp b/src/KOKKOS/pair_lj_cut_coul_debye_kokkos.cpp index 2f31b180d7d1b3fb3648bbbb67da880a9a46f6fd..05e0d15dbfb4f1d532fca395f085f24a79a709ae 100644 --- a/src/KOKKOS/pair_lj_cut_coul_debye_kokkos.cpp +++ b/src/KOKKOS/pair_lj_cut_coul_debye_kokkos.cpp @@ -277,10 +277,10 @@ void PairLJCutCoulDebyeKokkos::settings(int narg, char **arg) { if (narg < 2 || narg > 3) error->all(FLERR,"Illegal pair_style command"); - kappa = force->numeric(FLERR,arg[0]); - cut_lj_global = force->numeric(FLERR,arg[1]); + kappa = utils::numeric(FLERR,arg[0],false,lmp); + cut_lj_global = utils::numeric(FLERR,arg[1],false,lmp); if (narg == 2) cut_coul_global = cut_lj_global; - else cut_coul_global = force->numeric(FLERR,arg[2]); + else cut_coul_global = utils::numeric(FLERR,arg[2],false,lmp); // reset cutoffs that were previously set from data file diff --git a/src/KOKKOS/pair_multi_lucy_rx_kokkos.cpp b/src/KOKKOS/pair_multi_lucy_rx_kokkos.cpp index 5fbc465c76758ad0bda4d9484fdeeef8595c2ece..c4e1ae38cb26b87aae99835e6cf2f85a8cf5886c 100644 --- a/src/KOKKOS/pair_multi_lucy_rx_kokkos.cpp +++ b/src/KOKKOS/pair_multi_lucy_rx_kokkos.cpp @@ -953,7 +953,7 @@ void PairMultiLucyRXKokkos::settings(int narg, char **arg) else if (strcmp(arg[0],"linear") == 0) tabstyle = LINEAR; else error->all(FLERR,"Unknown table style in pair_style command"); - tablength = force->inumeric(FLERR,arg[1]); + tablength = utils::inumeric(FLERR,arg[1],false,lmp); if (tablength < 2) error->all(FLERR,"Illegal number of pair table entries"); // optional keywords diff --git a/src/KOKKOS/pair_reaxc_kokkos.cpp b/src/KOKKOS/pair_reaxc_kokkos.cpp index 2c6480ef9d3bc9699cf562dfade7bfc1019b640b..d0fe11285a6ac2c557c4431ec47156c853674da0 100644 --- a/src/KOKKOS/pair_reaxc_kokkos.cpp +++ b/src/KOKKOS/pair_reaxc_kokkos.cpp @@ -1084,8 +1084,8 @@ void PairReaxCKokkos::operator()(PairReaxComputeLJCoulomb::value,decltype(dup_f),decltype(ndup_f)>::get(dup_f,ndup_f); - auto a_f = v_f.template access::value>(); + auto v_f = ScatterViewHelper::value,decltype(dup_f),decltype(ndup_f)>::get(dup_f,ndup_f); + auto a_f = v_f.template access::value>(); F_FLOAT powr_vdw, powgi_vdw, fn13, dfn13, exp1, exp2, etmp; F_FLOAT evdwl, fvdwl; @@ -1236,8 +1236,8 @@ void PairReaxCKokkos::operator()(PairReaxComputeTabulatedLJCoulomb::value,decltype(dup_f),decltype(ndup_f)>::get(dup_f,ndup_f); - auto a_f = v_f.template access::value>(); + auto v_f = ScatterViewHelper::value,decltype(dup_f),decltype(ndup_f)>::get(dup_f,ndup_f); + auto a_f = v_f.template access::value>(); const int i = d_ilist[ii]; const X_FLOAT xtmp = x(i,0); @@ -1599,11 +1599,11 @@ void PairReaxCKokkos::operator()(PairReaxBuildListsHalf, if (d_resize_bo() || d_resize_hb()) return; - auto v_dDeltap_self = ScatterViewHelper::value,decltype(dup_dDeltap_self),decltype(ndup_dDeltap_self)>::get(dup_dDeltap_self,ndup_dDeltap_self); - auto a_dDeltap_self = v_dDeltap_self.template access::value>(); + auto v_dDeltap_self = ScatterViewHelper::value,decltype(dup_dDeltap_self),decltype(ndup_dDeltap_self)>::get(dup_dDeltap_self,ndup_dDeltap_self); + auto a_dDeltap_self = v_dDeltap_self.template access::value>(); - auto v_total_bo = ScatterViewHelper::value,decltype(dup_total_bo),decltype(ndup_total_bo)>::get(dup_total_bo,ndup_total_bo); - auto a_total_bo = v_total_bo.template access::value>(); + auto v_total_bo = ScatterViewHelper::value,decltype(dup_total_bo),decltype(ndup_total_bo)>::get(dup_total_bo,ndup_total_bo); + auto a_total_bo = v_total_bo.template access::value>(); const int i = d_ilist[ii]; const X_FLOAT xtmp = x(i,0); @@ -2027,8 +2027,8 @@ template KOKKOS_INLINE_FUNCTION void PairReaxCKokkos::operator()(PairReaxComputeMulti2, const int &ii, EV_FLOAT_REAX& ev) const { - auto v_CdDelta = ScatterViewHelper::value,decltype(dup_CdDelta),decltype(ndup_CdDelta)>::get(dup_CdDelta,ndup_CdDelta); - auto a_CdDelta = v_CdDelta.template access::value>(); + auto v_CdDelta = ScatterViewHelper::value,decltype(dup_CdDelta),decltype(ndup_CdDelta)>::get(dup_CdDelta,ndup_CdDelta); + auto a_CdDelta = v_CdDelta.template access::value>(); const int i = d_ilist[ii]; const int itype = type(i); @@ -2179,12 +2179,12 @@ template KOKKOS_INLINE_FUNCTION void PairReaxCKokkos::operator()(PairReaxComputeAngular, const int &ii, EV_FLOAT_REAX& ev) const { - auto v_f = ScatterViewHelper::value,decltype(dup_f),decltype(ndup_f)>::get(dup_f,ndup_f); - auto a_f = v_f.template access::value>(); + auto v_f = ScatterViewHelper::value,decltype(dup_f),decltype(ndup_f)>::get(dup_f,ndup_f); + auto a_f = v_f.template access::value>(); Kokkos::View::value,Kokkos::MemoryTraits::value> > a_Cdbo = d_Cdbo; - auto v_CdDelta = ScatterViewHelper::value,decltype(dup_CdDelta),decltype(ndup_CdDelta)>::get(dup_CdDelta,ndup_CdDelta); - auto a_CdDelta = v_CdDelta.template access::value>(); + auto v_CdDelta = ScatterViewHelper::value,decltype(dup_CdDelta),decltype(ndup_CdDelta)>::get(dup_CdDelta,ndup_CdDelta); + auto a_CdDelta = v_CdDelta.template access::value>(); const int i = d_ilist[ii]; const int itype = type(i); @@ -2491,13 +2491,13 @@ template KOKKOS_INLINE_FUNCTION void PairReaxCKokkos::operator()(PairReaxComputeTorsion, const int &ii, EV_FLOAT_REAX& ev) const { - auto v_f = ScatterViewHelper::value,decltype(dup_f),decltype(ndup_f)>::get(dup_f,ndup_f); - auto a_f = v_f.template access::value>(); + auto v_f = ScatterViewHelper::value,decltype(dup_f),decltype(ndup_f)>::get(dup_f,ndup_f); + auto a_f = v_f.template access::value>(); - auto v_CdDelta = ScatterViewHelper::value,decltype(dup_CdDelta),decltype(ndup_CdDelta)>::get(dup_CdDelta,ndup_CdDelta); - auto a_CdDelta = v_CdDelta.template access::value>(); + auto v_CdDelta = ScatterViewHelper::value,decltype(dup_CdDelta),decltype(ndup_CdDelta)>::get(dup_CdDelta,ndup_CdDelta); + auto a_CdDelta = v_CdDelta.template access::value>(); Kokkos::View::value,Kokkos::MemoryTraits::value> > a_Cdbo = d_Cdbo; - //auto a_Cdbo = dup_Cdbo.template access::value>(); + //auto a_Cdbo = dup_Cdbo.template access::value>(); // in reaxc_torsion_angles: j = i, k = j, i = k; @@ -2866,8 +2866,8 @@ template KOKKOS_INLINE_FUNCTION void PairReaxCKokkos::operator()(PairReaxComputeHydrogen, const int &ii, EV_FLOAT_REAX& ev) const { - auto v_f = ScatterViewHelper::value,decltype(dup_f),decltype(ndup_f)>::get(dup_f,ndup_f); - auto a_f = v_f.template access::value>(); + auto v_f = ScatterViewHelper::value,decltype(dup_f),decltype(ndup_f)>::get(dup_f,ndup_f); + auto a_f = v_f.template access::value>(); int hblist[MAX_BONDS]; F_FLOAT theta, cos_theta, sin_xhz4, cos_xhz1, sin_theta2; @@ -3016,9 +3016,9 @@ void PairReaxCKokkos::operator()(PairReaxUpdateBond, cons Kokkos::View::value,Kokkos::MemoryTraits::value> > a_Cdbo = d_Cdbo; Kokkos::View::value,Kokkos::MemoryTraits::value> > a_Cdbopi = d_Cdbopi; Kokkos::View::value,Kokkos::MemoryTraits::value> > a_Cdbopi2 = d_Cdbopi2; - //auto a_Cdbo = dup_Cdbo.template access::value>(); - //auto a_Cdbopi = dup_Cdbopi.template access::value>(); - //auto a_Cdbopi2 = dup_Cdbopi2.template access::value>(); + //auto a_Cdbo = dup_Cdbo.template access::value>(); + //auto a_Cdbopi = dup_Cdbopi.template access::value>(); + //auto a_Cdbopi2 = dup_Cdbopi2.template access::value>(); const int i = d_ilist[ii]; const tagint itag = tag(i); @@ -3065,11 +3065,11 @@ template KOKKOS_INLINE_FUNCTION void PairReaxCKokkos::operator()(PairReaxComputeBond1, const int &ii, EV_FLOAT_REAX& ev) const { - auto v_f = ScatterViewHelper::value,decltype(dup_f),decltype(ndup_f)>::get(dup_f,ndup_f); - auto a_f = v_f.template access::value>(); + auto v_f = ScatterViewHelper::value,decltype(dup_f),decltype(ndup_f)>::get(dup_f,ndup_f); + auto a_f = v_f.template access::value>(); - auto v_CdDelta = ScatterViewHelper::value,decltype(dup_CdDelta),decltype(ndup_CdDelta)>::get(dup_CdDelta,ndup_CdDelta); - auto a_CdDelta = v_CdDelta.template access::value>(); + auto v_CdDelta = ScatterViewHelper::value,decltype(dup_CdDelta),decltype(ndup_CdDelta)>::get(dup_CdDelta,ndup_CdDelta); + auto a_CdDelta = v_CdDelta.template access::value>(); F_FLOAT p_be1, p_be2, De_s, De_p, De_pp, pow_BOs_be2, exp_be12, CEbo, ebond; @@ -3184,8 +3184,8 @@ template KOKKOS_INLINE_FUNCTION void PairReaxCKokkos::operator()(PairReaxComputeBond2, const int &ii, EV_FLOAT_REAX& ev) const { - auto v_f = ScatterViewHelper::value,decltype(dup_f),decltype(ndup_f)>::get(dup_f,ndup_f); - auto a_f = v_f.template access::value>(); + auto v_f = ScatterViewHelper::value,decltype(dup_f),decltype(ndup_f)>::get(dup_f,ndup_f); + auto a_f = v_f.template access::value>(); F_FLOAT delij[3], delik[3], deljk[3], tmpvec[3]; F_FLOAT dBOp_i[3], dBOp_k[3], dln_BOp_pi[3], dln_BOp_pi2[3]; @@ -3391,11 +3391,11 @@ void PairReaxCKokkos::ev_tally(EV_FLOAT_REAX &ev, const int &i, cons // The eatom and vatom arrays are duplicated for OpenMP, atomic for CUDA, and neither for Serial - auto v_eatom = ScatterViewHelper::value,decltype(dup_eatom),decltype(ndup_eatom)>::get(dup_eatom,ndup_eatom); - auto a_eatom = v_eatom.template access::value>(); + auto v_eatom = ScatterViewHelper::value,decltype(dup_eatom),decltype(ndup_eatom)>::get(dup_eatom,ndup_eatom); + auto a_eatom = v_eatom.template access::value>(); - auto v_vatom = ScatterViewHelper::value,decltype(dup_vatom),decltype(ndup_vatom)>::get(dup_vatom,ndup_vatom); - auto a_vatom = v_vatom.template access::value>(); + auto v_vatom = ScatterViewHelper::value,decltype(dup_vatom),decltype(ndup_vatom)>::get(dup_vatom,ndup_vatom); + auto a_vatom = v_vatom.template access::value>(); if (eflag_atom) { const E_FLOAT epairhalf = 0.5 * epair; @@ -3450,8 +3450,8 @@ void PairReaxCKokkos::e_tally(EV_FLOAT_REAX & /*ev*/, const int &i, if (eflag_atom) { - auto v_eatom = ScatterViewHelper::value,decltype(dup_eatom),decltype(ndup_eatom)>::get(dup_eatom,ndup_eatom); - auto a_eatom = v_eatom.template access::value>(); + auto v_eatom = ScatterViewHelper::value,decltype(dup_eatom),decltype(ndup_eatom)>::get(dup_eatom,ndup_eatom); + auto a_eatom = v_eatom.template access::value>(); const E_FLOAT epairhalf = 0.5 * epair; a_eatom[i] += epairhalf; @@ -3468,8 +3468,8 @@ void PairReaxCKokkos::e_tally_single(EV_FLOAT_REAX & /*ev*/, const i const F_FLOAT &epair) const { // The eatom array is duplicated for OpenMP, atomic for CUDA, and neither for Serial - auto v_eatom = ScatterViewHelper::value,decltype(dup_eatom),decltype(ndup_eatom)>::get(dup_eatom,ndup_eatom); - auto a_eatom = v_eatom.template access::value>(); + auto v_eatom = ScatterViewHelper::value,decltype(dup_eatom),decltype(ndup_eatom)>::get(dup_eatom,ndup_eatom); + auto a_eatom = v_eatom.template access::value>(); a_eatom[i] += epair; } @@ -3502,8 +3502,8 @@ void PairReaxCKokkos::v_tally(EV_FLOAT_REAX &ev, const int &i, } if (vflag_atom) { - auto v_vatom = ScatterViewHelper::value,decltype(dup_vatom),decltype(ndup_vatom)>::get(dup_vatom,ndup_vatom); - auto a_vatom = v_vatom.template access::value>(); + auto v_vatom = ScatterViewHelper::value,decltype(dup_vatom),decltype(ndup_vatom)>::get(dup_vatom,ndup_vatom); + auto a_vatom = v_vatom.template access::value>(); a_vatom(i,0) += v[0]; a_vatom(i,1) += v[1]; a_vatom(i,2) += v[2]; a_vatom(i,3) += v[3]; a_vatom(i,4) += v[4]; a_vatom(i,5) += v[5]; @@ -3520,8 +3520,8 @@ void PairReaxCKokkos::v_tally3(EV_FLOAT_REAX &ev, const int &i, cons { // The eatom and vatom arrays are duplicated for OpenMP, atomic for CUDA, and neither for Serial - auto v_vatom = ScatterViewHelper::value,decltype(dup_vatom),decltype(ndup_vatom)>::get(dup_vatom,ndup_vatom); - auto a_vatom = v_vatom.template access::value>(); + auto v_vatom = ScatterViewHelper::value,decltype(dup_vatom),decltype(ndup_vatom)>::get(dup_vatom,ndup_vatom); + auto a_vatom = v_vatom.template access::value>(); F_FLOAT v[6]; @@ -3582,8 +3582,8 @@ void PairReaxCKokkos::v_tally4(EV_FLOAT_REAX &ev, const int &i, cons } if (vflag_atom) { - auto v_vatom = ScatterViewHelper::value,decltype(dup_vatom),decltype(ndup_vatom)>::get(dup_vatom,ndup_vatom); - auto a_vatom = v_vatom.template access::value>(); + auto v_vatom = ScatterViewHelper::value,decltype(dup_vatom),decltype(ndup_vatom)>::get(dup_vatom,ndup_vatom); + auto a_vatom = v_vatom.template access::value>(); a_vatom(i,0) += 0.25 * v[0]; a_vatom(i,1) += 0.25 * v[1]; a_vatom(i,2) += 0.25 * v[2]; a_vatom(i,3) += 0.25 * v[3]; a_vatom(i,4) += 0.25 * v[4]; a_vatom(i,5) += 0.25 * v[5]; diff --git a/src/KOKKOS/pair_reaxc_kokkos.h b/src/KOKKOS/pair_reaxc_kokkos.h index 8709129befdce3d5ed14c6fcf91bd4c5b564e80c..3e5c07cc4d154f98c1064fb3ba71f28bfc7cefd9 100644 --- a/src/KOKKOS/pair_reaxc_kokkos.h +++ b/src/KOKKOS/pair_reaxc_kokkos.h @@ -386,25 +386,25 @@ class PairReaxCKokkos : public PairReaxC { typename AT::t_ffloat_2d_dl d_C1dbopi2, d_C2dbopi2, d_C3dbopi2, d_C4dbopi2; typename AT::t_ffloat_2d_dl d_Cdbo, d_Cdbopi, d_Cdbopi2, d_dDeltap_self; - Kokkos::Experimental::ScatterView::value,Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterDuplicated> dup_total_bo; - Kokkos::Experimental::ScatterView::value,Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterDuplicated> dup_CdDelta; - Kokkos::Experimental::ScatterView::value,Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterDuplicated> dup_eatom; - Kokkos::Experimental::ScatterView::value,Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterDuplicated> dup_f; - Kokkos::Experimental::ScatterView::value,Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterDuplicated> dup_vatom; - Kokkos::Experimental::ScatterView::value,Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterDuplicated> dup_dDeltap_self; - Kokkos::Experimental::ScatterView::value,Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterDuplicated> dup_Cdbo; - Kokkos::Experimental::ScatterView::value,Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterDuplicated> dup_Cdbopi; - Kokkos::Experimental::ScatterView::value,Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterDuplicated> dup_Cdbopi2; - - Kokkos::Experimental::ScatterView::value,Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterNonDuplicated> ndup_total_bo; - Kokkos::Experimental::ScatterView::value,Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterNonDuplicated> ndup_CdDelta; - Kokkos::Experimental::ScatterView::value,Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterNonDuplicated> ndup_eatom; - Kokkos::Experimental::ScatterView::value,Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterNonDuplicated> ndup_f; - Kokkos::Experimental::ScatterView::value,Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterNonDuplicated> ndup_vatom; - Kokkos::Experimental::ScatterView::value,Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterNonDuplicated> ndup_dDeltap_self; - Kokkos::Experimental::ScatterView::value,Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterNonDuplicated> ndup_Cdbo; - Kokkos::Experimental::ScatterView::value,Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterNonDuplicated> ndup_Cdbopi; - Kokkos::Experimental::ScatterView::value,Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterNonDuplicated> ndup_Cdbopi2; + Kokkos::Experimental::ScatterView::value,typename Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterDuplicated> dup_total_bo; + Kokkos::Experimental::ScatterView::value,typename Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterDuplicated> dup_CdDelta; + Kokkos::Experimental::ScatterView::value,typename Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterDuplicated> dup_eatom; + Kokkos::Experimental::ScatterView::value,typename Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterDuplicated> dup_f; + Kokkos::Experimental::ScatterView::value,typename Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterDuplicated> dup_vatom; + Kokkos::Experimental::ScatterView::value,typename Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterDuplicated> dup_dDeltap_self; + Kokkos::Experimental::ScatterView::value,typename Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterDuplicated> dup_Cdbo; + Kokkos::Experimental::ScatterView::value,typename Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterDuplicated> dup_Cdbopi; + Kokkos::Experimental::ScatterView::value,typename Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterDuplicated> dup_Cdbopi2; + + Kokkos::Experimental::ScatterView::value,typename Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterNonDuplicated> ndup_total_bo; + Kokkos::Experimental::ScatterView::value,typename Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterNonDuplicated> ndup_CdDelta; + Kokkos::Experimental::ScatterView::value,typename Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterNonDuplicated> ndup_eatom; + Kokkos::Experimental::ScatterView::value,typename Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterNonDuplicated> ndup_f; + Kokkos::Experimental::ScatterView::value,typename Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterNonDuplicated> ndup_vatom; + Kokkos::Experimental::ScatterView::value,typename Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterNonDuplicated> ndup_dDeltap_self; + Kokkos::Experimental::ScatterView::value,typename Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterNonDuplicated> ndup_Cdbo; + Kokkos::Experimental::ScatterView::value,typename Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterNonDuplicated> ndup_Cdbopi; + Kokkos::Experimental::ScatterView::value,typename Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterNonDuplicated> ndup_Cdbopi2; int need_dup; diff --git a/src/KOKKOS/pair_snap_kokkos.h b/src/KOKKOS/pair_snap_kokkos.h index 37844f9380580536e6b9f9808cd2f3024a76f2d1..e7a1f3173d3f4f2b0deeb993325db10241c28fdf 100644 --- a/src/KOKKOS/pair_snap_kokkos.h +++ b/src/KOKKOS/pair_snap_kokkos.h @@ -228,10 +228,10 @@ inline double dist2(double* x,double* y); typename AT::t_int_1d_randomread type; int need_dup; - Kokkos::Experimental::ScatterView::value,Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterDuplicated> dup_f; - Kokkos::Experimental::ScatterView::value,Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterDuplicated> dup_vatom; - Kokkos::Experimental::ScatterView::value,Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterNonDuplicated> ndup_f; - Kokkos::Experimental::ScatterView::value,Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterNonDuplicated> ndup_vatom; + Kokkos::Experimental::ScatterView::value,typename Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterDuplicated> dup_f; + Kokkos::Experimental::ScatterView::value,typename Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterDuplicated> dup_vatom; + Kokkos::Experimental::ScatterView::value,typename Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterNonDuplicated> ndup_f; + Kokkos::Experimental::ScatterView::value,typename Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterNonDuplicated> ndup_vatom; friend void pair_virial_fdotr_compute(PairSNAPKokkos*); diff --git a/src/KOKKOS/pair_snap_kokkos_impl.h b/src/KOKKOS/pair_snap_kokkos_impl.h index fbdb23a79b98f05867d0e55cbc98ec0ed6b47e4f..bacb5f75d6ac280b9c8833aadc554a28d820446f 100644 --- a/src/KOKKOS/pair_snap_kokkos_impl.h +++ b/src/KOKKOS/pair_snap_kokkos_impl.h @@ -608,7 +608,7 @@ void PairSNAPKokkos::operator() (TagPairSNAPComputeNeigh,const typen if ( rsq < rnd_cutsq(itype,jtype) ) { if (final) { #ifdef LMP_KOKKOS_GPU - if (std::is_same::value) { + if (!host_flag) { my_sna.compute_cayley_klein(ii, offset, dx, dy, dz, (radi + d_radelem[elem_j])*rcutfac, d_wjelem[elem_j]); } else { @@ -1056,8 +1056,8 @@ void PairSNAPKokkos::operator() (TagPairSNAPComputeForce::value,decltype(dup_f),decltype(ndup_f)>::get(dup_f,ndup_f); - auto a_f = v_f.template access::value>(); + auto v_f = ScatterViewHelper::value,decltype(dup_f),decltype(ndup_f)>::get(dup_f,ndup_f); + auto a_f = v_f.template access::value>(); int ii = team.league_rank(); const int i = d_ilist[ii + chunk_offset]; @@ -1170,8 +1170,8 @@ void PairSNAPKokkos::v_tally_xyz(EV_FLOAT &ev, const int &i, const i { // The vatom array is duplicated for OpenMP, atomic for CUDA, and neither for Serial - auto v_vatom = ScatterViewHelper::value,decltype(dup_vatom),decltype(ndup_vatom)>::get(dup_vatom,ndup_vatom); - auto a_vatom = v_vatom.template access::value>(); + auto v_vatom = ScatterViewHelper::value,decltype(dup_vatom),decltype(ndup_vatom)>::get(dup_vatom,ndup_vatom); + auto a_vatom = v_vatom.template access::value>(); const E_FLOAT v0 = delx*fx; const E_FLOAT v1 = dely*fy; diff --git a/src/KOKKOS/pair_sw_kokkos.cpp b/src/KOKKOS/pair_sw_kokkos.cpp index 62a40579e66f7acb6f914d05d59eaf8948099cff..7a567e846bd35f582753913c7f868b9bcf5161e5 100644 --- a/src/KOKKOS/pair_sw_kokkos.cpp +++ b/src/KOKKOS/pair_sw_kokkos.cpp @@ -244,8 +244,8 @@ void PairSWKokkos::operator()(TagPairSWComputeHalf // The f array is duplicated for OpenMP, atomic for CUDA, and neither for Serial - auto v_f = ScatterViewHelper::value,decltype(dup_f),decltype(ndup_f)>::get(dup_f,ndup_f); - auto a_f = v_f.template access::value>(); + auto v_f = ScatterViewHelper::value,decltype(dup_f),decltype(ndup_f)>::get(dup_f,ndup_f); + auto a_f = v_f.template access::value>(); F_FLOAT delr1[3],delr2[3],fj[3],fk[3]; F_FLOAT evdwl = 0.0; @@ -798,11 +798,11 @@ void PairSWKokkos::ev_tally(EV_FLOAT &ev, const int &i, const int &j // The eatom and vatom arrays are duplicated for OpenMP, atomic for CUDA, and neither for Serial - auto v_eatom = ScatterViewHelper::value,decltype(dup_eatom),decltype(ndup_eatom)>::get(dup_eatom,ndup_eatom); - auto a_eatom = v_eatom.template access::value>(); + auto v_eatom = ScatterViewHelper::value,decltype(dup_eatom),decltype(ndup_eatom)>::get(dup_eatom,ndup_eatom); + auto a_eatom = v_eatom.template access::value>(); - auto v_vatom = ScatterViewHelper::value,decltype(dup_vatom),decltype(ndup_vatom)>::get(dup_vatom,ndup_vatom); - auto a_vatom = v_vatom.template access::value>(); + auto v_vatom = ScatterViewHelper::value,decltype(dup_vatom),decltype(ndup_vatom)>::get(dup_vatom,ndup_vatom); + auto a_vatom = v_vatom.template access::value>(); if (eflag_atom) { const E_FLOAT epairhalf = 0.5 * epair; @@ -876,11 +876,11 @@ void PairSWKokkos::ev_tally3(EV_FLOAT &ev, const int &i, const int & // The eatom and vatom arrays are duplicated for OpenMP, atomic for CUDA, and neither for Serial - auto v_eatom = ScatterViewHelper::value,decltype(dup_eatom),decltype(ndup_eatom)>::get(dup_eatom,ndup_eatom); - auto a_eatom = v_eatom.template access::value>(); + auto v_eatom = ScatterViewHelper::value,decltype(dup_eatom),decltype(ndup_eatom)>::get(dup_eatom,ndup_eatom); + auto a_eatom = v_eatom.template access::value>(); - auto v_vatom = ScatterViewHelper::value,decltype(dup_vatom),decltype(ndup_vatom)>::get(dup_vatom,ndup_vatom); - auto a_vatom = v_vatom.template access::value>(); + auto v_vatom = ScatterViewHelper::value,decltype(dup_vatom),decltype(ndup_vatom)>::get(dup_vatom,ndup_vatom); + auto a_vatom = v_vatom.template access::value>(); if (eflag_atom) { epairthird = THIRD * (evdwl + ecoul); diff --git a/src/KOKKOS/pair_sw_kokkos.h b/src/KOKKOS/pair_sw_kokkos.h index 2fc7f93c12587e11d12c905307631de8f2e3b2a0..31b7f3301df05d931c1952fe3e37c57d7305372b 100644 --- a/src/KOKKOS/pair_sw_kokkos.h +++ b/src/KOKKOS/pair_sw_kokkos.h @@ -135,12 +135,12 @@ class PairSWKokkos : public PairSW { typename AT::t_virial_array d_vatom; int need_dup; - Kokkos::Experimental::ScatterView::value,Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterDuplicated> dup_f; - Kokkos::Experimental::ScatterView::value,Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterDuplicated> dup_eatom; - Kokkos::Experimental::ScatterView::value,Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterDuplicated> dup_vatom; - Kokkos::Experimental::ScatterView::value,Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterNonDuplicated> ndup_f; - Kokkos::Experimental::ScatterView::value,Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterNonDuplicated> ndup_eatom; - Kokkos::Experimental::ScatterView::value,Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterNonDuplicated> ndup_vatom; + Kokkos::Experimental::ScatterView::value,typename Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterDuplicated> dup_f; + Kokkos::Experimental::ScatterView::value,typename Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterDuplicated> dup_eatom; + Kokkos::Experimental::ScatterView::value,typename Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterDuplicated> dup_vatom; + Kokkos::Experimental::ScatterView::value,typename Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterNonDuplicated> ndup_f; + Kokkos::Experimental::ScatterView::value,typename Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterNonDuplicated> ndup_eatom; + Kokkos::Experimental::ScatterView::value,typename Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterNonDuplicated> ndup_vatom; typename AT::t_int_1d_randomread d_type2frho; typename AT::t_int_2d_randomread d_type2rhor; diff --git a/src/KOKKOS/pair_table_kokkos.cpp b/src/KOKKOS/pair_table_kokkos.cpp index 86845c72fed75c7243ace7b2dd461b263bfd5917..b5b59dc4568cbb55d98cc713d1eda9be9bdc6250 100644 --- a/src/KOKKOS/pair_table_kokkos.cpp +++ b/src/KOKKOS/pair_table_kokkos.cpp @@ -428,7 +428,7 @@ void PairTableKokkos::settings(int narg, char **arg) else if (strcmp(arg[0],"bitmap") == 0) tabstyle = BITMAP; else error->all(FLERR,"Unknown table style in pair_style command"); - tablength = force->inumeric(FLERR,arg[1]); + tablength = utils::inumeric(FLERR,arg[1],false,lmp); if (tablength < 2) error->all(FLERR,"Illegal number of pair table entries"); // optional keywords diff --git a/src/KOKKOS/pair_table_rx_kokkos.cpp b/src/KOKKOS/pair_table_rx_kokkos.cpp index 3dc325371bd9c17231bc9946ddb79ebd05023210..26aa4373ccaa88310fb6b50e36937ef7a0d102c4 100644 --- a/src/KOKKOS/pair_table_rx_kokkos.cpp +++ b/src/KOKKOS/pair_table_rx_kokkos.cpp @@ -971,7 +971,7 @@ void PairTableRXKokkos::settings(int narg, char **arg) else if (strcmp(arg[0],"bitmap") == 0) tabstyle = BITMAP; else error->all(FLERR,"Unknown table style in pair_style command"); - tablength = force->inumeric(FLERR,arg[1]); + tablength = utils::inumeric(FLERR,arg[1],false,lmp); if (tablength < 2) error->all(FLERR,"Illegal number of pair table entries"); // optional keywords @@ -1025,8 +1025,8 @@ void PairTableRXKokkos::coeff(int narg, char **arg) if (!rx_flag) error->all(FLERR,"PairTableRX requires a fix rx command."); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); int me; MPI_Comm_rank(world,&me); @@ -1063,7 +1063,7 @@ void PairTableRXKokkos::coeff(int narg, char **arg) // set table cutoff - if (narg == 7) tb->cut = force->numeric(FLERR,arg[6]); + if (narg == 7) tb->cut = utils::numeric(FLERR,arg[6],false,lmp); else if (tb->rflag) tb->cut = tb->rhi; else tb->cut = tb->rfile[tb->ninput-1]; diff --git a/src/KOKKOS/pair_tersoff_kokkos.cpp b/src/KOKKOS/pair_tersoff_kokkos.cpp index 535c48586820aa8a35c543d7b424faf139c9be3f..6d1dea00fe3e2ca70319bc78dbe3b7c30c14dbc3 100644 --- a/src/KOKKOS/pair_tersoff_kokkos.cpp +++ b/src/KOKKOS/pair_tersoff_kokkos.cpp @@ -324,8 +324,8 @@ void PairTersoffKokkos::operator()(TagPairTersoffComputeHalf::value,decltype(dup_f),decltype(ndup_f)>::get(dup_f,ndup_f); - auto a_f = v_f.template access::value>(); + auto v_f = ScatterViewHelper::value,decltype(dup_f),decltype(ndup_f)>::get(dup_f,ndup_f); + auto a_f = v_f.template access::value>(); const int i = d_ilist[ii]; if (i >= nlocal) return; @@ -1139,11 +1139,11 @@ void PairTersoffKokkos::ev_tally(EV_FLOAT &ev, const int &i, const i // The eatom and vatom arrays are duplicated for OpenMP, atomic for CUDA, and neither for Serial - auto v_eatom = ScatterViewHelper::value,decltype(dup_eatom),decltype(ndup_eatom)>::get(dup_eatom,ndup_eatom); - auto a_eatom = v_eatom.template access::value>(); + auto v_eatom = ScatterViewHelper::value,decltype(dup_eatom),decltype(ndup_eatom)>::get(dup_eatom,ndup_eatom); + auto a_eatom = v_eatom.template access::value>(); - auto v_vatom = ScatterViewHelper::value,decltype(dup_vatom),decltype(ndup_vatom)>::get(dup_vatom,ndup_vatom); - auto a_vatom = v_vatom.template access::value>(); + auto v_vatom = ScatterViewHelper::value,decltype(dup_vatom),decltype(ndup_vatom)>::get(dup_vatom,ndup_vatom); + auto a_vatom = v_vatom.template access::value>(); if (eflag_atom) { const E_FLOAT epairhalf = 0.5 * epair; @@ -1207,8 +1207,8 @@ void PairTersoffKokkos::v_tally3(EV_FLOAT &ev, const int &i, const i { // The vatom array is duplicated for OpenMP, atomic for CUDA, and neither for Serial - auto v_vatom = ScatterViewHelper::value,decltype(dup_vatom),decltype(ndup_vatom)>::get(dup_vatom,ndup_vatom); - auto a_vatom = v_vatom.template access::value>(); + auto v_vatom = ScatterViewHelper::value,decltype(dup_vatom),decltype(ndup_vatom)>::get(dup_vatom,ndup_vatom); + auto a_vatom = v_vatom.template access::value>(); F_FLOAT v[6]; diff --git a/src/KOKKOS/pair_tersoff_kokkos.h b/src/KOKKOS/pair_tersoff_kokkos.h index 9c73329aedae69938513b76086baed28a5a8f0f2..9bae8df91fd755ba5a8b4e9a9796a5e63a4edd79 100644 --- a/src/KOKKOS/pair_tersoff_kokkos.h +++ b/src/KOKKOS/pair_tersoff_kokkos.h @@ -202,12 +202,12 @@ class PairTersoffKokkos : public PairTersoff { typename ArrayTypes::t_virial_array d_vatom; int need_dup; - Kokkos::Experimental::ScatterView::value,Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterDuplicated> dup_f; - Kokkos::Experimental::ScatterView::value,Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterDuplicated> dup_eatom; - Kokkos::Experimental::ScatterView::value,Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterDuplicated> dup_vatom; - Kokkos::Experimental::ScatterView::value,Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterNonDuplicated> ndup_f; - Kokkos::Experimental::ScatterView::value,Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterNonDuplicated> ndup_eatom; - Kokkos::Experimental::ScatterView::value,Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterNonDuplicated> ndup_vatom; + Kokkos::Experimental::ScatterView::value,typename Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterDuplicated> dup_f; + Kokkos::Experimental::ScatterView::value,typename Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterDuplicated> dup_eatom; + Kokkos::Experimental::ScatterView::value,typename Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterDuplicated> dup_vatom; + Kokkos::Experimental::ScatterView::value,typename Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterNonDuplicated> ndup_f; + Kokkos::Experimental::ScatterView::value,typename Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterNonDuplicated> ndup_eatom; + Kokkos::Experimental::ScatterView::value,typename Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterNonDuplicated> ndup_vatom; typedef Kokkos::DualView tdual_ffloat_2d_n7; typedef typename tdual_ffloat_2d_n7::t_dev_const_randomread t_ffloat_2d_n7_randomread; diff --git a/src/KOKKOS/pair_tersoff_mod_kokkos.cpp b/src/KOKKOS/pair_tersoff_mod_kokkos.cpp index 133d4414b0ed750fc0faaccdc4a737be40f09a51..581cb3e7f9e38c2b12a77f7e7287d6b520d4f918 100644 --- a/src/KOKKOS/pair_tersoff_mod_kokkos.cpp +++ b/src/KOKKOS/pair_tersoff_mod_kokkos.cpp @@ -324,8 +324,8 @@ void PairTersoffMODKokkos::operator()(TagPairTersoffMODComputeHalf::value,decltype(dup_f),decltype(ndup_f)>::get(dup_f,ndup_f); - auto a_f = v_f.template access::value>(); + auto v_f = ScatterViewHelper::value,decltype(dup_f),decltype(ndup_f)>::get(dup_f,ndup_f); + auto a_f = v_f.template access::value>(); const int i = d_ilist[ii]; if (i >= nlocal) return; @@ -1142,11 +1142,11 @@ void PairTersoffMODKokkos::ev_tally(EV_FLOAT &ev, const int &i, cons // The eatom and vatom arrays are duplicated for OpenMP, atomic for CUDA, and neither for Serial - auto v_eatom = ScatterViewHelper::value,decltype(dup_eatom),decltype(ndup_eatom)>::get(dup_eatom,ndup_eatom); - auto a_eatom = v_eatom.template access::value>(); + auto v_eatom = ScatterViewHelper::value,decltype(dup_eatom),decltype(ndup_eatom)>::get(dup_eatom,ndup_eatom); + auto a_eatom = v_eatom.template access::value>(); - auto v_vatom = ScatterViewHelper::value,decltype(dup_vatom),decltype(ndup_vatom)>::get(dup_vatom,ndup_vatom); - auto a_vatom = v_vatom.template access::value>(); + auto v_vatom = ScatterViewHelper::value,decltype(dup_vatom),decltype(ndup_vatom)>::get(dup_vatom,ndup_vatom); + auto a_vatom = v_vatom.template access::value>(); if (eflag_atom) { const E_FLOAT epairhalf = 0.5 * epair; @@ -1210,8 +1210,8 @@ void PairTersoffMODKokkos::v_tally3(EV_FLOAT &ev, const int &i, cons { // The vatom array is duplicated for OpenMP, atomic for CUDA, and neither for Serial - auto v_vatom = ScatterViewHelper::value,decltype(dup_vatom),decltype(ndup_vatom)>::get(dup_vatom,ndup_vatom); - auto a_vatom = v_vatom.template access::value>(); + auto v_vatom = ScatterViewHelper::value,decltype(dup_vatom),decltype(ndup_vatom)>::get(dup_vatom,ndup_vatom); + auto a_vatom = v_vatom.template access::value>(); F_FLOAT v[6]; diff --git a/src/KOKKOS/pair_tersoff_mod_kokkos.h b/src/KOKKOS/pair_tersoff_mod_kokkos.h index b83f42236a08bbf1f87f1f5e80d3b0c2808bb455..4d541c0446bdcc079b2c996c5745a8e92338697e 100644 --- a/src/KOKKOS/pair_tersoff_mod_kokkos.h +++ b/src/KOKKOS/pair_tersoff_mod_kokkos.h @@ -202,12 +202,12 @@ class PairTersoffMODKokkos : public PairTersoffMOD { typename ArrayTypes::t_virial_array d_vatom; int need_dup; - Kokkos::Experimental::ScatterView::value,Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterDuplicated> dup_f; - Kokkos::Experimental::ScatterView::value,Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterDuplicated> dup_eatom; - Kokkos::Experimental::ScatterView::value,Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterDuplicated> dup_vatom; - Kokkos::Experimental::ScatterView::value,Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterNonDuplicated> ndup_f; - Kokkos::Experimental::ScatterView::value,Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterNonDuplicated> ndup_eatom; - Kokkos::Experimental::ScatterView::value,Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterNonDuplicated> ndup_vatom; + Kokkos::Experimental::ScatterView::value,typename Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterDuplicated> dup_f; + Kokkos::Experimental::ScatterView::value,typename Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterDuplicated> dup_eatom; + Kokkos::Experimental::ScatterView::value,typename Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterDuplicated> dup_vatom; + Kokkos::Experimental::ScatterView::value,typename Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterNonDuplicated> ndup_f; + Kokkos::Experimental::ScatterView::value,typename Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterNonDuplicated> ndup_eatom; + Kokkos::Experimental::ScatterView::value,typename Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterNonDuplicated> ndup_vatom; typedef Kokkos::DualView tdual_ffloat_2d_n7; typedef typename tdual_ffloat_2d_n7::t_dev_const_randomread t_ffloat_2d_n7_randomread; diff --git a/src/KOKKOS/pair_tersoff_zbl_kokkos.cpp b/src/KOKKOS/pair_tersoff_zbl_kokkos.cpp index 5e07056fcc936bcf3484442405eee909494e909d..2610a63385bb32995b091e94bb8bda43124952ca 100644 --- a/src/KOKKOS/pair_tersoff_zbl_kokkos.cpp +++ b/src/KOKKOS/pair_tersoff_zbl_kokkos.cpp @@ -340,8 +340,8 @@ void PairTersoffZBLKokkos::operator()(TagPairTersoffZBLComputeHalf::value,decltype(dup_f),decltype(ndup_f)>::get(dup_f,ndup_f); - auto a_f = v_f.template access::value>(); + auto v_f = ScatterViewHelper::value,decltype(dup_f),decltype(ndup_f)>::get(dup_f,ndup_f); + auto a_f = v_f.template access::value>(); const int i = d_ilist[ii]; if (i >= nlocal) return; @@ -1238,11 +1238,11 @@ void PairTersoffZBLKokkos::ev_tally(EV_FLOAT &ev, const int &i, cons // The eatom and vatom arrays are duplicated for OpenMP, atomic for CUDA, and neither for Serial - auto v_eatom = ScatterViewHelper::value,decltype(dup_eatom),decltype(ndup_eatom)>::get(dup_eatom,ndup_eatom); - auto a_eatom = v_eatom.template access::value>(); + auto v_eatom = ScatterViewHelper::value,decltype(dup_eatom),decltype(ndup_eatom)>::get(dup_eatom,ndup_eatom); + auto a_eatom = v_eatom.template access::value>(); - auto v_vatom = ScatterViewHelper::value,decltype(dup_vatom),decltype(ndup_vatom)>::get(dup_vatom,ndup_vatom); - auto a_vatom = v_vatom.template access::value>(); + auto v_vatom = ScatterViewHelper::value,decltype(dup_vatom),decltype(ndup_vatom)>::get(dup_vatom,ndup_vatom); + auto a_vatom = v_vatom.template access::value>(); if (eflag_atom) { const E_FLOAT epairhalf = 0.5 * epair; @@ -1306,8 +1306,8 @@ void PairTersoffZBLKokkos::v_tally3(EV_FLOAT &ev, const int &i, cons { // The vatom array is duplicated for OpenMP, atomic for CUDA, and neither for Serial - auto v_vatom = ScatterViewHelper::value,decltype(dup_vatom),decltype(ndup_vatom)>::get(dup_vatom,ndup_vatom); - auto a_vatom = v_vatom.template access::value>(); + auto v_vatom = ScatterViewHelper::value,decltype(dup_vatom),decltype(ndup_vatom)>::get(dup_vatom,ndup_vatom); + auto a_vatom = v_vatom.template access::value>(); F_FLOAT v[6]; diff --git a/src/KOKKOS/pair_tersoff_zbl_kokkos.h b/src/KOKKOS/pair_tersoff_zbl_kokkos.h index 7e2d01b48e682d645d13f67c7059fe3f14acd712..fccbca7f460018d0ab8ef0eb844412086c40261e 100644 --- a/src/KOKKOS/pair_tersoff_zbl_kokkos.h +++ b/src/KOKKOS/pair_tersoff_zbl_kokkos.h @@ -207,12 +207,12 @@ class PairTersoffZBLKokkos : public PairTersoffZBL { typename ArrayTypes::t_virial_array d_vatom; int need_dup; - Kokkos::Experimental::ScatterView::value,Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterDuplicated> dup_f; - Kokkos::Experimental::ScatterView::value,Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterDuplicated> dup_eatom; - Kokkos::Experimental::ScatterView::value,Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterDuplicated> dup_vatom; - Kokkos::Experimental::ScatterView::value,Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterNonDuplicated> ndup_f; - Kokkos::Experimental::ScatterView::value,Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterNonDuplicated> ndup_eatom; - Kokkos::Experimental::ScatterView::value,Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterNonDuplicated> ndup_vatom; + Kokkos::Experimental::ScatterView::value,typename Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterDuplicated> dup_f; + Kokkos::Experimental::ScatterView::value,typename Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterDuplicated> dup_eatom; + Kokkos::Experimental::ScatterView::value,typename Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterDuplicated> dup_vatom; + Kokkos::Experimental::ScatterView::value,typename Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterNonDuplicated> ndup_f; + Kokkos::Experimental::ScatterView::value,typename Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterNonDuplicated> ndup_eatom; + Kokkos::Experimental::ScatterView::value,typename Kokkos::Experimental::ScatterSum,Kokkos::Experimental::ScatterNonDuplicated> ndup_vatom; typedef Kokkos::DualView tdual_ffloat_2d_n7; typedef typename tdual_ffloat_2d_n7::t_dev_const_randomread t_ffloat_2d_n7_randomread; diff --git a/src/KOKKOS/pppm_kokkos.cpp b/src/KOKKOS/pppm_kokkos.cpp index e71e5d6d5336b264301063ccb4ed33d26e77b3da..2eea5279470536e208e8246eeefbafe7ab84202f 100644 --- a/src/KOKKOS/pppm_kokkos.cpp +++ b/src/KOKKOS/pppm_kokkos.cpp @@ -144,7 +144,7 @@ template void PPPMKokkos::settings(int narg, char **arg) { if (narg < 1) error->all(FLERR,"Illegal kspace_style pppm/kk command"); - accuracy_relative = fabs(force->numeric(FLERR,arg[0])); + accuracy_relative = fabs(utils::numeric(FLERR,arg[0],false,lmp)); } /* ---------------------------------------------------------------------- diff --git a/src/KOKKOS/sna_kokkos.h b/src/KOKKOS/sna_kokkos.h index 2c712a1c845f2eb39e9c3554fae82254ba92ad0e..7804aaef18fe1206079e5cb1e6ce6fbe46c03509 100644 --- a/src/KOKKOS/sna_kokkos.h +++ b/src/KOKKOS/sna_kokkos.h @@ -77,6 +77,7 @@ inline double memory_usage(); int ncoeff; + int host_flag; // functions for bispectrum coefficients, GPU only KOKKOS_INLINE_FUNCTION diff --git a/src/KOKKOS/sna_kokkos_impl.h b/src/KOKKOS/sna_kokkos_impl.h index 96331662e01e52475ed7d106ce705baa5ad552aa..06641e601920df4db85c77f47e334adeaf3c053a 100644 --- a/src/KOKKOS/sna_kokkos_impl.h +++ b/src/KOKKOS/sna_kokkos_impl.h @@ -31,6 +31,9 @@ SNAKokkos::SNAKokkos(double rfac0_in, int twojmax_in, double rmin0_in, int switch_flag_in, int bzero_flag_in, int chem_flag_in, int bnorm_flag_in, int wselfall_flag_in, int nelements_in) { + LAMMPS_NS::ExecutionSpace execution_space = ExecutionSpaceFromDevice::space; + host_flag = (execution_space == LAMMPS_NS::Host); + wself = 1.0; rfac0 = rfac0_in; @@ -267,7 +270,7 @@ void SNAKokkos::grow_rij(int newnatom, int newnmax) dedr = t_sna_3d(Kokkos::ViewAllocateWithoutInitializing("sna:dedr"),natom,nmax,3); #ifdef LMP_KOKKOS_GPU - if (std::is_same::value) { + if (!host_flag) { cayleyklein = t_sna_2ckp(Kokkos::ViewAllocateWithoutInitializing("sna:cayleyklein"), natom, nmax); ulisttot = t_sna_3c_ll(Kokkos::ViewAllocateWithoutInitializing("sna:ulisttot"),1,1,1); // dummy allocation @@ -2169,7 +2172,7 @@ double SNAKokkos::memory_usage() bytes += idxcg_max * sizeof(double); // cglist #ifdef LMP_KOKKOS_GPU - if (std::is_same::value) { + if (!host_flag) { auto natom_pad = (natom+32-1)/32; diff --git a/src/KSPACE/ewald.cpp b/src/KSPACE/ewald.cpp index efb35d42b828521b4659701491059c232f5621dc..4aa95318db8ca4d96eb310f59585c55b4fe267b4 100644 --- a/src/KSPACE/ewald.cpp +++ b/src/KSPACE/ewald.cpp @@ -71,7 +71,7 @@ void Ewald::settings(int narg, char **arg) { if (narg != 1) error->all(FLERR,"Illegal kspace_style ewald command"); - accuracy_relative = fabs(force->numeric(FLERR,arg[0])); + accuracy_relative = fabs(utils::numeric(FLERR,arg[0],false,lmp)); } /* ---------------------------------------------------------------------- diff --git a/src/KSPACE/ewald_disp.cpp b/src/KSPACE/ewald_disp.cpp index b40e3cd34b9f3c3a400a08ce0c78fb947d97cf77..b616b2ae5d692fce3f9d2c9ce7cbbbbdf424e047 100644 --- a/src/KSPACE/ewald_disp.cpp +++ b/src/KSPACE/ewald_disp.cpp @@ -69,7 +69,7 @@ EwaldDisp::EwaldDisp(LAMMPS *lmp) : KSpace(lmp), void EwaldDisp::settings(int narg, char **arg) { if (narg!=1) error->all(FLERR,"Illegal kspace_style ewald/n command"); - accuracy_relative = fabs(force->numeric(FLERR,arg[0])); + accuracy_relative = fabs(utils::numeric(FLERR,arg[0],false,lmp)); } diff --git a/src/KSPACE/fix_tune_kspace.cpp b/src/KSPACE/fix_tune_kspace.cpp index 8a7d49091a60c976e9ed5e7151b7edffc6264e20..45c8a359711f39ae1fa877698f0d0341ece1db8d 100644 --- a/src/KSPACE/fix_tune_kspace.cpp +++ b/src/KSPACE/fix_tune_kspace.cpp @@ -64,7 +64,7 @@ FixTuneKspace::FixTuneKspace(LAMMPS *lmp, int narg, char **arg) : // parse arguments - nevery = force->inumeric(FLERR,arg[3]); + nevery = utils::inumeric(FLERR,arg[3],false,lmp); if (nevery <= 0) error->all(FLERR,"Illegal fix tune/kspace command"); // set up reneighboring diff --git a/src/KSPACE/msm.cpp b/src/KSPACE/msm.cpp index 973302a054fae6723309d019552ae6a849f42e39..00bdac53db99a45b746c92a4d1fd32c0394b993d 100644 --- a/src/KSPACE/msm.cpp +++ b/src/KSPACE/msm.cpp @@ -108,7 +108,7 @@ MSM::MSM(LAMMPS *lmp) void MSM::settings(int narg, char **arg) { if (narg < 1) error->all(FLERR,"Illegal kspace_style msm command"); - accuracy_relative = fabs(force->numeric(FLERR,arg[0])); + accuracy_relative = fabs(utils::numeric(FLERR,arg[0],false,lmp)); } /* ---------------------------------------------------------------------- diff --git a/src/KSPACE/msm_cg.cpp b/src/KSPACE/msm_cg.cpp index 8236f93c9cf7c35b66912c36647dabf3ef676077..79d33b869d8d50ab147213fee585676a68a68f6a 100644 --- a/src/KSPACE/msm_cg.cpp +++ b/src/KSPACE/msm_cg.cpp @@ -58,7 +58,7 @@ void MSMCG::settings(int narg, char **arg) MSM::settings(narg,arg); - if (narg == 2) smallq = fabs(force->numeric(FLERR,arg[1])); + if (narg == 2) smallq = fabs(utils::numeric(FLERR,arg[1],false,lmp)); else smallq = SMALLQ; } diff --git a/src/KSPACE/pair_born_coul_long.cpp b/src/KSPACE/pair_born_coul_long.cpp index b4d050412abc1e704ac5f6f8298edb33600d12f6..4742e4c48c2b0b80124170528f6d4357468b513c 100644 --- a/src/KSPACE/pair_born_coul_long.cpp +++ b/src/KSPACE/pair_born_coul_long.cpp @@ -240,9 +240,9 @@ void PairBornCoulLong::settings(int narg, char **arg) { if (narg < 1 || narg > 2) error->all(FLERR,"Illegal pair_style command"); - cut_lj_global = force->numeric(FLERR,arg[0]); + cut_lj_global = utils::numeric(FLERR,arg[0],false,lmp); if (narg == 1) cut_coul = cut_lj_global; - else cut_coul = force->numeric(FLERR,arg[1]); + else cut_coul = utils::numeric(FLERR,arg[1],false,lmp); // reset cutoffs that have been explicitly set @@ -264,18 +264,18 @@ void PairBornCoulLong::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); - double a_one = force->numeric(FLERR,arg[2]); - double rho_one = force->numeric(FLERR,arg[3]); - double sigma_one = force->numeric(FLERR,arg[4]); + double a_one = utils::numeric(FLERR,arg[2],false,lmp); + double rho_one = utils::numeric(FLERR,arg[3],false,lmp); + double sigma_one = utils::numeric(FLERR,arg[4],false,lmp); if (rho_one <= 0) error->all(FLERR,"Incorrect args for pair coefficients"); - double c_one = force->numeric(FLERR,arg[5]); - double d_one = force->numeric(FLERR,arg[6]); + double c_one = utils::numeric(FLERR,arg[5],false,lmp); + double d_one = utils::numeric(FLERR,arg[6],false,lmp); double cut_lj_one = cut_lj_global; - if (narg == 8) cut_lj_one = force->numeric(FLERR,arg[7]); + if (narg == 8) cut_lj_one = utils::numeric(FLERR,arg[7],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/KSPACE/pair_buck_coul_long.cpp b/src/KSPACE/pair_buck_coul_long.cpp index a46424baf7fa1c10322a4cc91f277fbbc9b062bb..f589dfaa90aa24e1256f93bfd54b31203577f59b 100644 --- a/src/KSPACE/pair_buck_coul_long.cpp +++ b/src/KSPACE/pair_buck_coul_long.cpp @@ -43,7 +43,17 @@ PairBuckCoulLong::PairBuckCoulLong(LAMMPS *lmp) : Pair(lmp) { ewaldflag = pppmflag = 1; writedata = 1; - ftable = NULL; + ftable = nullptr; + cut_lj = nullptr; + cut_ljsq = nullptr; + a = nullptr; + rho = nullptr; + c = nullptr; + rhoinv = nullptr; + buck1 = nullptr; + buck2 = nullptr; + offset = nullptr; + cut_respa = nullptr; } /* ---------------------------------------------------------------------- */ @@ -230,9 +240,9 @@ void PairBuckCoulLong::settings(int narg, char **arg) { if (narg < 1 || narg > 2) error->all(FLERR,"Illegal pair_style command"); - cut_lj_global = force->numeric(FLERR,arg[0]); + cut_lj_global = utils::numeric(FLERR,arg[0],false,lmp); if (narg == 1) cut_coul = cut_lj_global; - else cut_coul = force->numeric(FLERR,arg[1]); + else cut_coul = utils::numeric(FLERR,arg[1],false,lmp); // reset cutoffs that have been explicitly set @@ -255,16 +265,16 @@ void PairBuckCoulLong::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); - double a_one = force->numeric(FLERR,arg[2]); - double rho_one = force->numeric(FLERR,arg[3]); + double a_one = utils::numeric(FLERR,arg[2],false,lmp); + double rho_one = utils::numeric(FLERR,arg[3],false,lmp); if (rho_one <= 0) error->all(FLERR,"Incorrect args for pair coefficients"); - double c_one = force->numeric(FLERR,arg[4]); + double c_one = utils::numeric(FLERR,arg[4],false,lmp); double cut_lj_one = cut_lj_global; - if (narg == 6) cut_lj_one = force->numeric(FLERR,arg[5]); + if (narg == 6) cut_lj_one = utils::numeric(FLERR,arg[5],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/KSPACE/pair_buck_long_coul_long.cpp b/src/KSPACE/pair_buck_long_coul_long.cpp index 7408ac12b92d9e2c903236f5b380c2f4bd651a3a..3552e8bb86588cb19e8846f18a3dfe2d94730ccf 100644 --- a/src/KSPACE/pair_buck_long_coul_long.cpp +++ b/src/KSPACE/pair_buck_long_coul_long.cpp @@ -97,10 +97,10 @@ void PairBuckLongCoulLong::settings(int narg, char **arg) if (!((ewald_order^ewald_off) & (1<<1))) error->all(FLERR, "Coulomb cut not supported in pair_style buck/long/coul/coul"); - cut_buck_global = force->numeric(FLERR,*(arg++)); + cut_buck_global = utils::numeric(FLERR,*(arg++),false,lmp); if (narg == 4 && ((ewald_order & 0x42) == 0x42)) error->all(FLERR,"Only one cutoff allowed when requesting all long"); - if (narg == 4) cut_coul = force->numeric(FLERR,*arg); + if (narg == 4) cut_coul = utils::numeric(FLERR,*arg,false,lmp); else cut_coul = cut_buck_global; if (allocated) { @@ -200,15 +200,15 @@ void PairBuckLongCoulLong::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,*(arg++),atom->ntypes,ilo,ihi); - force->bounds(FLERR,*(arg++),atom->ntypes,jlo,jhi); + utils::bounds(FLERR,*(arg++),1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,*(arg++),1,atom->ntypes,jlo,jhi,error); - double buck_a_one = force->numeric(FLERR,*(arg++)); - double buck_rho_one = force->numeric(FLERR,*(arg++)); - double buck_c_one = force->numeric(FLERR,*(arg++)); + double buck_a_one = utils::numeric(FLERR,*(arg++),false,lmp); + double buck_rho_one = utils::numeric(FLERR,*(arg++),false,lmp); + double buck_c_one = utils::numeric(FLERR,*(arg++),false,lmp); double cut_buck_one = cut_buck_global; - if (narg == 6) cut_buck_one = force->numeric(FLERR,*(arg++)); + if (narg == 6) cut_buck_one = utils::numeric(FLERR,*(arg++),false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/KSPACE/pair_coul_long.cpp b/src/KSPACE/pair_coul_long.cpp index 9a9f2f3783e3f67bbbc67057a1a34ad95188ed2a..60187ce90104f7cc2777442f75ce6ffec0fa3000 100644 --- a/src/KSPACE/pair_coul_long.cpp +++ b/src/KSPACE/pair_coul_long.cpp @@ -199,7 +199,7 @@ void PairCoulLong::settings(int narg, char **arg) { if (narg != 1) error->all(FLERR,"Illegal pair_style command"); - cut_coul = force->numeric(FLERR,arg[0]); + cut_coul = utils::numeric(FLERR,arg[0],false,lmp); } /* ---------------------------------------------------------------------- @@ -212,8 +212,8 @@ void PairCoulLong::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/KSPACE/pair_lj_charmm_coul_long.cpp b/src/KSPACE/pair_lj_charmm_coul_long.cpp index 9ea6739c8e4b8567e8a25ea7d13056136beb39bf..ff52720a08f3ac8cf296349ed6c42e37b0372d72 100644 --- a/src/KSPACE/pair_lj_charmm_coul_long.cpp +++ b/src/KSPACE/pair_lj_charmm_coul_long.cpp @@ -631,10 +631,10 @@ void PairLJCharmmCoulLong::settings(int narg, char **arg) { if (narg != 2 && narg != 3) error->all(FLERR,"Illegal pair_style command"); - cut_lj_inner = force->numeric(FLERR,arg[0]); - cut_lj = force->numeric(FLERR,arg[1]); + cut_lj_inner = utils::numeric(FLERR,arg[0],false,lmp); + cut_lj = utils::numeric(FLERR,arg[1],false,lmp); if (narg == 2) cut_coul = cut_lj; - else cut_coul = force->numeric(FLERR,arg[2]); + else cut_coul = utils::numeric(FLERR,arg[2],false,lmp); } /* ---------------------------------------------------------------------- @@ -647,16 +647,16 @@ void PairLJCharmmCoulLong::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); - double epsilon_one = force->numeric(FLERR,arg[2]); - double sigma_one = force->numeric(FLERR,arg[3]); + double epsilon_one = utils::numeric(FLERR,arg[2],false,lmp); + double sigma_one = utils::numeric(FLERR,arg[3],false,lmp); double eps14_one = epsilon_one; double sigma14_one = sigma_one; if (narg == 6) { - eps14_one = force->numeric(FLERR,arg[4]); - sigma14_one = force->numeric(FLERR,arg[5]); + eps14_one = utils::numeric(FLERR,arg[4],false,lmp); + sigma14_one = utils::numeric(FLERR,arg[5],false,lmp); } int count = 0; diff --git a/src/KSPACE/pair_lj_charmmfsw_coul_long.cpp b/src/KSPACE/pair_lj_charmmfsw_coul_long.cpp index 36d8126eecaf3d810c0226a1d6a67a907de394a1..b10cdf2b08e93fe056aff228d67867b2a82bb4f7 100644 --- a/src/KSPACE/pair_lj_charmmfsw_coul_long.cpp +++ b/src/KSPACE/pair_lj_charmmfsw_coul_long.cpp @@ -682,10 +682,10 @@ void PairLJCharmmfswCoulLong::settings(int narg, char **arg) { if (narg != 2 && narg != 3) error->all(FLERR,"Illegal pair_style command"); - cut_lj_inner = force->numeric(FLERR,arg[0]); - cut_lj = force->numeric(FLERR,arg[1]); + cut_lj_inner = utils::numeric(FLERR,arg[0],false,lmp); + cut_lj = utils::numeric(FLERR,arg[1],false,lmp); if (narg == 2) cut_coul = cut_lj; - else cut_coul = force->numeric(FLERR,arg[2]); + else cut_coul = utils::numeric(FLERR,arg[2],false,lmp); } /* ---------------------------------------------------------------------- @@ -698,16 +698,16 @@ void PairLJCharmmfswCoulLong::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); - double epsilon_one = force->numeric(FLERR,arg[2]); - double sigma_one = force->numeric(FLERR,arg[3]); + double epsilon_one = utils::numeric(FLERR,arg[2],false,lmp); + double sigma_one = utils::numeric(FLERR,arg[3],false,lmp); double eps14_one = epsilon_one; double sigma14_one = sigma_one; if (narg == 6) { - eps14_one = force->numeric(FLERR,arg[4]); - sigma14_one = force->numeric(FLERR,arg[5]); + eps14_one = utils::numeric(FLERR,arg[4],false,lmp); + sigma14_one = utils::numeric(FLERR,arg[5],false,lmp); } int count = 0; diff --git a/src/KSPACE/pair_lj_cut_coul_long.cpp b/src/KSPACE/pair_lj_cut_coul_long.cpp index 578e5be30cd6a8ca6300d4f3637082358d294b27..ef25055a76a9c8a8d82b21bc077223c3f987e909 100644 --- a/src/KSPACE/pair_lj_cut_coul_long.cpp +++ b/src/KSPACE/pair_lj_cut_coul_long.cpp @@ -594,9 +594,9 @@ void PairLJCutCoulLong::settings(int narg, char **arg) { if (narg < 1 || narg > 2) error->all(FLERR,"Illegal pair_style command"); - cut_lj_global = force->numeric(FLERR,arg[0]); + cut_lj_global = utils::numeric(FLERR,arg[0],false,lmp); if (narg == 1) cut_coul = cut_lj_global; - else cut_coul = force->numeric(FLERR,arg[1]); + else cut_coul = utils::numeric(FLERR,arg[1],false,lmp); // reset cutoffs that have been explicitly set @@ -619,14 +619,14 @@ void PairLJCutCoulLong::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); - double epsilon_one = force->numeric(FLERR,arg[2]); - double sigma_one = force->numeric(FLERR,arg[3]); + double epsilon_one = utils::numeric(FLERR,arg[2],false,lmp); + double sigma_one = utils::numeric(FLERR,arg[3],false,lmp); double cut_lj_one = cut_lj_global; - if (narg == 5) cut_lj_one = force->numeric(FLERR,arg[4]); + if (narg == 5) cut_lj_one = utils::numeric(FLERR,arg[4],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/KSPACE/pair_lj_cut_tip4p_long.cpp b/src/KSPACE/pair_lj_cut_tip4p_long.cpp index a4f115568fedec88f7581ad2337a6447cc8a350f..426ec00e55c9b92f0b368e1f0030d898affbcddf 100644 --- a/src/KSPACE/pair_lj_cut_tip4p_long.cpp +++ b/src/KSPACE/pair_lj_cut_tip4p_long.cpp @@ -430,15 +430,15 @@ void PairLJCutTIP4PLong::settings(int narg, char **arg) { if (narg < 6 || narg > 7) error->all(FLERR,"Illegal pair_style command"); - typeO = force->inumeric(FLERR,arg[0]); - typeH = force->inumeric(FLERR,arg[1]); - typeB = force->inumeric(FLERR,arg[2]); - typeA = force->inumeric(FLERR,arg[3]); - qdist = force->numeric(FLERR,arg[4]); + typeO = utils::inumeric(FLERR,arg[0],false,lmp); + typeH = utils::inumeric(FLERR,arg[1],false,lmp); + typeB = utils::inumeric(FLERR,arg[2],false,lmp); + typeA = utils::inumeric(FLERR,arg[3],false,lmp); + qdist = utils::numeric(FLERR,arg[4],false,lmp); - cut_lj_global = force->numeric(FLERR,arg[5]); + cut_lj_global = utils::numeric(FLERR,arg[5],false,lmp); if (narg == 6) cut_coul = cut_lj_global; - else cut_coul = force->numeric(FLERR,arg[6]); + else cut_coul = utils::numeric(FLERR,arg[6],false,lmp); // reset cutoffs that have been explicitly set diff --git a/src/KSPACE/pair_lj_long_coul_long.cpp b/src/KSPACE/pair_lj_long_coul_long.cpp index 8ece088bd3c86e33d3b9d108c25403127ab30d1c..7b7a065e2220347fbf6ad29cb7d371882926a376 100644 --- a/src/KSPACE/pair_lj_long_coul_long.cpp +++ b/src/KSPACE/pair_lj_long_coul_long.cpp @@ -97,10 +97,10 @@ void PairLJLongCoulLong::settings(int narg, char **arg) if (!((ewald_order^ewald_off) & (1<<1))) error->all(FLERR, "Coulomb cut not supported in pair_style lj/long/coul/long"); - cut_lj_global = force->numeric(FLERR,*(arg++)); + cut_lj_global = utils::numeric(FLERR,*(arg++),false,lmp); if (narg == 4 && ((ewald_order & 0x42) == 0x42)) error->all(FLERR,"Only one cutoff allowed when requesting all long"); - if (narg == 4) cut_coul = force->numeric(FLERR,*arg); + if (narg == 4) cut_coul = utils::numeric(FLERR,*arg,false,lmp); else cut_coul = cut_lj_global; if (allocated) { @@ -198,14 +198,14 @@ void PairLJLongCoulLong::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); - double epsilon_one = force->numeric(FLERR,arg[2]); - double sigma_one = force->numeric(FLERR,arg[3]); + double epsilon_one = utils::numeric(FLERR,arg[2],false,lmp); + double sigma_one = utils::numeric(FLERR,arg[3],false,lmp); double cut_lj_one = cut_lj_global; - if (narg == 5) cut_lj_one = force->numeric(FLERR,arg[4]); + if (narg == 5) cut_lj_one = utils::numeric(FLERR,arg[4],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/KSPACE/pair_lj_long_tip4p_long.cpp b/src/KSPACE/pair_lj_long_tip4p_long.cpp index fa8c221382c55389188f35f9db3d2799a7296a0e..c71fee8206700614705114200d7e58f070b4980e 100644 --- a/src/KSPACE/pair_lj_long_tip4p_long.cpp +++ b/src/KSPACE/pair_lj_long_tip4p_long.cpp @@ -1445,16 +1445,16 @@ void PairLJLongTIP4PLong::settings(int narg, char **arg) if (!((ewald_order^ewald_off)&(1<<1))) error->all(FLERR, "Coulomb cut not supported in pair_style lj/long/tip4p/long"); - typeO = force->inumeric(FLERR,arg[1]); - typeH = force->inumeric(FLERR,arg[2]); - typeB = force->inumeric(FLERR,arg[3]); - typeA = force->inumeric(FLERR,arg[4]); - qdist = force->numeric(FLERR,arg[5]); + typeO = utils::inumeric(FLERR,arg[1],false,lmp); + typeH = utils::inumeric(FLERR,arg[2],false,lmp); + typeB = utils::inumeric(FLERR,arg[3],false,lmp); + typeA = utils::inumeric(FLERR,arg[4],false,lmp); + qdist = utils::numeric(FLERR,arg[5],false,lmp); - cut_lj_global = force->numeric(FLERR,arg[6]); + cut_lj_global = utils::numeric(FLERR,arg[6],false,lmp); if (narg == 8) cut_coul = cut_lj_global; - else cut_coul = force->numeric(FLERR,arg[7]); + else cut_coul = utils::numeric(FLERR,arg[7],false,lmp); // reset cutoffs that have been explicitly set diff --git a/src/KSPACE/pair_tip4p_long.cpp b/src/KSPACE/pair_tip4p_long.cpp index c3ec44b7eb0169aded889fbef138abf3df542b4f..ee7d4fed1b5c91db70e566ad3b4c6bcb5277ad39 100644 --- a/src/KSPACE/pair_tip4p_long.cpp +++ b/src/KSPACE/pair_tip4p_long.cpp @@ -398,13 +398,13 @@ void PairTIP4PLong::settings(int narg, char **arg) { if (narg != 6) error->all(FLERR,"Illegal pair_style command"); - typeO = force->inumeric(FLERR,arg[0]); - typeH = force->inumeric(FLERR,arg[1]); - typeB = force->inumeric(FLERR,arg[2]); - typeA = force->inumeric(FLERR,arg[3]); - qdist = force->numeric(FLERR,arg[4]); + typeO = utils::inumeric(FLERR,arg[0],false,lmp); + typeH = utils::inumeric(FLERR,arg[1],false,lmp); + typeB = utils::inumeric(FLERR,arg[2],false,lmp); + typeA = utils::inumeric(FLERR,arg[3],false,lmp); + qdist = utils::numeric(FLERR,arg[4],false,lmp); - cut_coul = force->numeric(FLERR,arg[5]); + cut_coul = utils::numeric(FLERR,arg[5],false,lmp); } /* ---------------------------------------------------------------------- diff --git a/src/KSPACE/pppm.cpp b/src/KSPACE/pppm.cpp index e399727001db49172228ab2172a7a44b59a7a701..9ce8ded7ddf20859c1ed2722e9ba217c84d5a3f1 100644 --- a/src/KSPACE/pppm.cpp +++ b/src/KSPACE/pppm.cpp @@ -164,7 +164,7 @@ PPPM::PPPM(LAMMPS *lmp) : KSpace(lmp), void PPPM::settings(int narg, char **arg) { if (narg < 1) error->all(FLERR,"Illegal kspace_style pppm command"); - accuracy_relative = fabs(force->numeric(FLERR,arg[0])); + accuracy_relative = fabs(utils::numeric(FLERR,arg[0],false,lmp)); } /* ---------------------------------------------------------------------- diff --git a/src/KSPACE/pppm_cg.cpp b/src/KSPACE/pppm_cg.cpp index 392d19336a86547a740260a0e4724bc1e9cdc67c..fa5235d6eb99edf02c1f7b7e367663bea5fb4c28 100644 --- a/src/KSPACE/pppm_cg.cpp +++ b/src/KSPACE/pppm_cg.cpp @@ -66,7 +66,7 @@ void PPPMCG::settings(int narg, char **arg) PPPM::settings(narg,arg); - if (narg == 2) smallq = fabs(force->numeric(FLERR,arg[1])); + if (narg == 2) smallq = fabs(utils::numeric(FLERR,arg[1],false,lmp)); else smallq = SMALLQ; } diff --git a/src/KSPACE/pppm_disp.cpp b/src/KSPACE/pppm_disp.cpp index c81dcbf909befa61a6ecbccfeabbcd0c40232971..fba3f279383a114357d69a2589711756b3bf4626 100644 --- a/src/KSPACE/pppm_disp.cpp +++ b/src/KSPACE/pppm_disp.cpp @@ -228,7 +228,7 @@ PPPMDisp::PPPMDisp(LAMMPS *lmp) : KSpace(lmp), void PPPMDisp::settings(int narg, char **arg) { if (narg < 1) error->all(FLERR,"Illegal kspace_style pppm/disp command"); - accuracy_relative = fabs(force->numeric(FLERR,arg[0])); + accuracy_relative = fabs(utils::numeric(FLERR,arg[0],false,lmp)); } /* ---------------------------------------------------------------------- diff --git a/src/MANYBODY/fix_qeq_comb.cpp b/src/MANYBODY/fix_qeq_comb.cpp index 31d62f0645845ea94aa332cc731d711139cde801..b8bbba73dabe5abf45ea027ceb55f4613fa548a8 100644 --- a/src/MANYBODY/fix_qeq_comb.cpp +++ b/src/MANYBODY/fix_qeq_comb.cpp @@ -49,8 +49,8 @@ FixQEQComb::FixQEQComb(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg), respa_level_support = 1; ilevel_respa = 0; - nevery = force->inumeric(FLERR,arg[3]); - precision = force->numeric(FLERR,arg[4]); + nevery = utils::inumeric(FLERR,arg[3],false,lmp); + precision = utils::numeric(FLERR,arg[4],false,lmp); if (nevery <= 0 || precision <= 0.0) error->all(FLERR,"Illegal fix qeq/comb command"); diff --git a/src/MANYBODY/pair_airebo.cpp b/src/MANYBODY/pair_airebo.cpp index 085905192e284d8f5b1f2c4be93498552a2eed18..6d783545f7e4d3827535cb7480f3c3c380da8b27 100644 --- a/src/MANYBODY/pair_airebo.cpp +++ b/src/MANYBODY/pair_airebo.cpp @@ -154,15 +154,15 @@ void PairAIREBO::settings(int narg, char **arg) if (narg != 1 && narg != 3 && narg != 4) error->all(FLERR,"Illegal pair_style command"); - cutlj = force->numeric(FLERR,arg[0]); + cutlj = utils::numeric(FLERR,arg[0],false,lmp); if (narg >= 3) { - ljflag = force->inumeric(FLERR,arg[1]); - torflag = force->inumeric(FLERR,arg[2]); + ljflag = utils::inumeric(FLERR,arg[1],false,lmp); + torflag = utils::inumeric(FLERR,arg[2],false,lmp); } if (narg == 4) { sigcut = cutlj; - sigmin = force->numeric(FLERR,arg[3]); + sigmin = utils::numeric(FLERR,arg[3],false,lmp); sigwid = sigcut - sigmin; } diff --git a/src/MANYBODY/pair_atm.cpp b/src/MANYBODY/pair_atm.cpp index e943b6bfddbc318e0ae21723cad4be6af76404f6..60905fd2ffd9fc85b7ad01abb150518176cc7b8b 100644 --- a/src/MANYBODY/pair_atm.cpp +++ b/src/MANYBODY/pair_atm.cpp @@ -210,8 +210,8 @@ void PairATM::settings(int narg, char **arg) { if (narg != 2) error->all(FLERR,"Illegal pair_style command"); - cut_global = force->numeric(FLERR,arg[0]); - cut_triple = force->numeric(FLERR,arg[1]); + cut_global = utils::numeric(FLERR,arg[0],false,lmp); + cut_triple = utils::numeric(FLERR,arg[1],false,lmp); } /* ---------------------------------------------------------------------- @@ -224,11 +224,11 @@ void PairATM::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi,klo,khi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); - force->bounds(FLERR,arg[2],atom->ntypes,klo,khi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); + utils::bounds(FLERR,arg[2],1,atom->ntypes,klo,khi,error); - double nu_one = force->numeric(FLERR,arg[3]); + double nu_one = utils::numeric(FLERR,arg[3],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/MANYBODY/pair_eam.cpp b/src/MANYBODY/pair_eam.cpp index da2385237b67b4ecf4442e70b2ba3bc44a2371b1..159ba55a29e597e02c573d11e7c6dd45458613fb 100644 --- a/src/MANYBODY/pair_eam.cpp +++ b/src/MANYBODY/pair_eam.cpp @@ -378,8 +378,8 @@ void PairEAM::coeff(int narg, char **arg) // parse pair of atom types int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); // read funcfl file if hasn't already been read // store filename in Funcfl data struct diff --git a/src/MANYBODY/pair_eam_cd.cpp b/src/MANYBODY/pair_eam_cd.cpp index 01c8a3fffe6a5fd79c46f0d5e9d7b7b4899de3d0..4f5041090f1c73a9aa2b2570017bd0eb86698da1 100644 --- a/src/MANYBODY/pair_eam_cd.cpp +++ b/src/MANYBODY/pair_eam_cd.cpp @@ -504,7 +504,7 @@ void PairEAMCD::read_h_coeff(char *filename) char line[MAXLINE]; char nextline[MAXLINE]; int convert_flag = unit_convert_flag; - fptr = force->open_potential(filename, &convert_flag); + fptr = utils::open_potential(filename, lmp, &convert_flag); if (fptr == NULL) error->one(FLERR,fmt::format("Cannot open EAMCD potential file {}", filename)); diff --git a/src/MANYBODY/pair_eim.cpp b/src/MANYBODY/pair_eim.cpp index 4321bd9f8b46d704a2a7728d5fe0712895fffe65..cdd928788b69858f12768dedf69d90df96008700 100644 --- a/src/MANYBODY/pair_eim.cpp +++ b/src/MANYBODY/pair_eim.cpp @@ -1061,7 +1061,7 @@ EIMPotentialFileReader::EIMPotentialFileReader(LAMMPS *lmp, } int unit_convert = auto_convert; - FILE *fp = force->open_potential(filename.c_str(), &unit_convert); + FILE *fp = utils::open_potential(filename, lmp, &unit_convert); conversion_factor = utils::get_conversion_factor(utils::ENERGY,unit_convert); if (fp == NULL) { diff --git a/src/MANYBODY/pair_lcbop.cpp b/src/MANYBODY/pair_lcbop.cpp index 7c29f44afc8f7931d9ddcb185acfff7247fd0ab9..56ef70d8f966e0f9a8a1fd2ab0e0e9c0008de324 100644 --- a/src/MANYBODY/pair_lcbop.cpp +++ b/src/MANYBODY/pair_lcbop.cpp @@ -969,7 +969,7 @@ void PairLCBOP::read_file(char *filename) // read file on proc 0 if (me == 0) { - FILE *fp = force->open_potential(filename); + FILE *fp = utils::open_potential(filename,lmp,nullptr); if (fp == NULL) { char str[128]; snprintf(str,128,"Cannot open LCBOP potential file %s",filename); diff --git a/src/MANYBODY/pair_vashishta_table.cpp b/src/MANYBODY/pair_vashishta_table.cpp index bf39183b9d5ad9beb1ba3e0246b75385aa79da3f..5e0c2c16f767d972d36f484bcc2ab02a7127a38a 100644 --- a/src/MANYBODY/pair_vashishta_table.cpp +++ b/src/MANYBODY/pair_vashishta_table.cpp @@ -230,8 +230,8 @@ void PairVashishtaTable::settings(int narg, char **arg) { if (narg != 2) error->all(FLERR,"Illegal pair_style command"); - ntable = force->inumeric(FLERR,arg[0]); - tabinner = force->numeric(FLERR,arg[1]); + ntable = utils::inumeric(FLERR,arg[0],false,lmp); + tabinner = utils::numeric(FLERR,arg[1],false,lmp); if (tabinner <= 0.0) error->all(FLERR,"Illegal inner cutoff for tabulation"); diff --git a/src/MC/fix_atom_swap.cpp b/src/MC/fix_atom_swap.cpp index 9a4a0b6a7f84500c36ef6abf11773fe47bed8ca1..53338f08dcdeb25ee7ab952e11153423e40e875f 100644 --- a/src/MC/fix_atom_swap.cpp +++ b/src/MC/fix_atom_swap.cpp @@ -68,10 +68,10 @@ FixAtomSwap::FixAtomSwap(LAMMPS *lmp, int narg, char **arg) : // required args - nevery = force->inumeric(FLERR,arg[3]); - ncycles = force->inumeric(FLERR,arg[4]); - seed = force->inumeric(FLERR,arg[5]); - double temperature = force->numeric(FLERR,arg[6]); + nevery = utils::inumeric(FLERR,arg[3],false,lmp); + ncycles = utils::inumeric(FLERR,arg[4],false,lmp); + seed = utils::inumeric(FLERR,arg[5],false,lmp); + double temperature = utils::numeric(FLERR,arg[6],false,lmp); beta = 1.0/(force->boltz*temperature); if (nevery <= 0) error->all(FLERR,"Illegal fix atom/swap command"); @@ -161,7 +161,7 @@ void FixAtomSwap::options(int narg, char **arg) while (iarg < narg) { if (isalpha(arg[iarg][0])) break; if (nswaptypes >= atom->ntypes) error->all(FLERR,"Illegal fix atom/swap command"); - type_list[nswaptypes] = force->numeric(FLERR,arg[iarg]); + type_list[nswaptypes] = utils::numeric(FLERR,arg[iarg],false,lmp); nswaptypes++; iarg++; } @@ -172,7 +172,7 @@ void FixAtomSwap::options(int narg, char **arg) if (isalpha(arg[iarg][0])) break; nmutypes++; if (nmutypes > atom->ntypes) error->all(FLERR,"Illegal fix atom/swap command"); - mu[nmutypes] = force->numeric(FLERR,arg[iarg]); + mu[nmutypes] = utils::numeric(FLERR,arg[iarg],false,lmp); iarg++; } } else error->all(FLERR,"Illegal fix atom/swap command"); diff --git a/src/MC/fix_bond_break.cpp b/src/MC/fix_bond_break.cpp index 2e8200f7517104c82d58196b2a1fdeaaeefa5090..833a071694b95a7da1146aed97e3c037aaa557b1 100644 --- a/src/MC/fix_bond_break.cpp +++ b/src/MC/fix_bond_break.cpp @@ -41,7 +41,7 @@ FixBondBreak::FixBondBreak(LAMMPS *lmp, int narg, char **arg) : MPI_Comm_rank(world,&me); MPI_Comm_size(world,&nprocs); - nevery = force->inumeric(FLERR,arg[3]); + nevery = utils::inumeric(FLERR,arg[3],false,lmp); if (nevery <= 0) error->all(FLERR,"Illegal fix bond/break command"); force_reneighbor = 1; @@ -51,8 +51,8 @@ FixBondBreak::FixBondBreak(LAMMPS *lmp, int narg, char **arg) : global_freq = 1; extvector = 0; - btype = force->inumeric(FLERR,arg[4]); - cutoff = force->numeric(FLERR,arg[5]); + btype = utils::inumeric(FLERR,arg[4],false,lmp); + cutoff = utils::numeric(FLERR,arg[5],false,lmp); if (btype < 1 || btype > atom->nbondtypes) error->all(FLERR,"Invalid bond type in fix bond/break command"); @@ -69,8 +69,8 @@ FixBondBreak::FixBondBreak(LAMMPS *lmp, int narg, char **arg) : while (iarg < narg) { if (strcmp(arg[iarg],"prob") == 0) { if (iarg+3 > narg) error->all(FLERR,"Illegal fix bond/break command"); - fraction = force->numeric(FLERR,arg[iarg+1]); - seed = force->inumeric(FLERR,arg[iarg+2]); + fraction = utils::numeric(FLERR,arg[iarg+1],false,lmp); + seed = utils::inumeric(FLERR,arg[iarg+2],false,lmp); if (fraction < 0.0 || fraction > 1.0) error->all(FLERR,"Illegal fix bond/break command"); if (seed <= 0) error->all(FLERR,"Illegal fix bond/break command"); diff --git a/src/MC/fix_bond_create.cpp b/src/MC/fix_bond_create.cpp index 9639832db92b613c6b4b4d1bbaa2dca739e3ab5a..9603fc1583adbc5daeba85c0163c1cfbfb25017d 100644 --- a/src/MC/fix_bond_create.cpp +++ b/src/MC/fix_bond_create.cpp @@ -47,7 +47,7 @@ FixBondCreate::FixBondCreate(LAMMPS *lmp, int narg, char **arg) : MPI_Comm_rank(world,&me); - nevery = force->inumeric(FLERR,arg[3]); + nevery = utils::inumeric(FLERR,arg[3],false,lmp); if (nevery <= 0) error->all(FLERR,"Illegal fix bond/create command"); force_reneighbor = 1; @@ -57,10 +57,10 @@ FixBondCreate::FixBondCreate(LAMMPS *lmp, int narg, char **arg) : global_freq = 1; extvector = 0; - iatomtype = force->inumeric(FLERR,arg[4]); - jatomtype = force->inumeric(FLERR,arg[5]); - double cutoff = force->numeric(FLERR,arg[6]); - btype = force->inumeric(FLERR,arg[7]); + iatomtype = utils::inumeric(FLERR,arg[4],false,lmp); + jatomtype = utils::inumeric(FLERR,arg[5],false,lmp); + double cutoff = utils::numeric(FLERR,arg[6],false,lmp); + btype = utils::inumeric(FLERR,arg[7],false,lmp); if (iatomtype < 1 || iatomtype > atom->ntypes || jatomtype < 1 || jatomtype > atom->ntypes) @@ -90,49 +90,49 @@ FixBondCreate::FixBondCreate(LAMMPS *lmp, int narg, char **arg) : while (iarg < narg) { if (strcmp(arg[iarg],"iparam") == 0) { if (iarg+3 > narg) error->all(FLERR,"Illegal fix bond/create command"); - imaxbond = force->inumeric(FLERR,arg[iarg+1]); - inewtype = force->inumeric(FLERR,arg[iarg+2]); + imaxbond = utils::inumeric(FLERR,arg[iarg+1],false,lmp); + inewtype = utils::inumeric(FLERR,arg[iarg+2],false,lmp); if (imaxbond < 0) error->all(FLERR,"Illegal fix bond/create command"); if (inewtype < 1 || inewtype > atom->ntypes) error->all(FLERR,"Invalid atom type in fix bond/create command"); iarg += 3; } else if (strcmp(arg[iarg],"jparam") == 0) { if (iarg+3 > narg) error->all(FLERR,"Illegal fix bond/create command"); - jmaxbond = force->inumeric(FLERR,arg[iarg+1]); - jnewtype = force->inumeric(FLERR,arg[iarg+2]); + jmaxbond = utils::inumeric(FLERR,arg[iarg+1],false,lmp); + jnewtype = utils::inumeric(FLERR,arg[iarg+2],false,lmp); if (jmaxbond < 0) error->all(FLERR,"Illegal fix bond/create command"); if (jnewtype < 1 || jnewtype > atom->ntypes) error->all(FLERR,"Invalid atom type in fix bond/create command"); iarg += 3; } else if (strcmp(arg[iarg],"prob") == 0) { if (iarg+3 > narg) error->all(FLERR,"Illegal fix bond/create command"); - fraction = force->numeric(FLERR,arg[iarg+1]); - seed = force->inumeric(FLERR,arg[iarg+2]); + fraction = utils::numeric(FLERR,arg[iarg+1],false,lmp); + seed = utils::inumeric(FLERR,arg[iarg+2],false,lmp); if (fraction < 0.0 || fraction > 1.0) error->all(FLERR,"Illegal fix bond/create command"); if (seed <= 0) error->all(FLERR,"Illegal fix bond/create command"); iarg += 3; } else if (strcmp(arg[iarg],"atype") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix bond/create command"); - atype = force->inumeric(FLERR,arg[iarg+1]); + atype = utils::inumeric(FLERR,arg[iarg+1],false,lmp); if (atype < 0) error->all(FLERR,"Illegal fix bond/create command"); iarg += 2; } else if (strcmp(arg[iarg],"dtype") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix bond/create command"); - dtype = force->inumeric(FLERR,arg[iarg+1]); + dtype = utils::inumeric(FLERR,arg[iarg+1],false,lmp); if (dtype < 0) error->all(FLERR,"Illegal fix bond/create command"); iarg += 2; } else if (strcmp(arg[iarg],"itype") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix bond/create command"); - itype = force->inumeric(FLERR,arg[iarg+1]); + itype = utils::inumeric(FLERR,arg[iarg+1],false,lmp); if (itype < 0) error->all(FLERR,"Illegal fix bond/create command"); iarg += 2; } else if (strcmp(arg[iarg],"aconstrain") == 0 && strcmp(style,"bond/create/angle") == 0) { if (iarg+3 > narg) error->all(FLERR,"Illegal fix bond/create/angle command"); - amin = force->numeric(FLERR,arg[iarg+1]); - amax = force->inumeric(FLERR,arg[iarg+2]); + amin = utils::numeric(FLERR,arg[iarg+1],false,lmp); + amax = utils::inumeric(FLERR,arg[iarg+2],false,lmp); if (amin >= amax) error->all(FLERR,"Illegal fix bond/create/angle command"); if (amin < 0 || amin > 180) diff --git a/src/MC/fix_bond_swap.cpp b/src/MC/fix_bond_swap.cpp index 8d3ff14f4817259f674c0109056aff09295aa03c..82b27d490fc55db39b7f43e8dd72ecb247d07dd8 100644 --- a/src/MC/fix_bond_swap.cpp +++ b/src/MC/fix_bond_swap.cpp @@ -59,7 +59,7 @@ FixBondSwap::FixBondSwap(LAMMPS *lmp, int narg, char **arg) : if (narg != 7) error->all(FLERR,"Illegal fix bond/swap command"); - nevery = force->inumeric(FLERR,arg[3]); + nevery = utils::inumeric(FLERR,arg[3],false,lmp); if (nevery <= 0) error->all(FLERR,"Illegal fix bond/swap command"); force_reneighbor = 1; @@ -69,13 +69,13 @@ FixBondSwap::FixBondSwap(LAMMPS *lmp, int narg, char **arg) : global_freq = 1; extvector = 0; - fraction = force->numeric(FLERR,arg[4]); - double cutoff = force->numeric(FLERR,arg[5]); + fraction = utils::numeric(FLERR,arg[4],false,lmp); + double cutoff = utils::numeric(FLERR,arg[5],false,lmp); cutsq = cutoff*cutoff; // initialize Marsaglia RNG with processor-unique seed - int seed = force->inumeric(FLERR,arg[6]); + int seed = utils::inumeric(FLERR,arg[6],false,lmp); random = new RanMars(lmp,seed + comm->me); // error check diff --git a/src/MC/fix_gcmc.cpp b/src/MC/fix_gcmc.cpp index f977f59c5337acb52d62746311f05afe33080b66..f286ab6807ea1a35793e1707cf0ba619ae2f155b 100644 --- a/src/MC/fix_gcmc.cpp +++ b/src/MC/fix_gcmc.cpp @@ -87,14 +87,14 @@ FixGCMC::FixGCMC(LAMMPS *lmp, int narg, char **arg) : // required args - nevery = force->inumeric(FLERR,arg[3]); - nexchanges = force->inumeric(FLERR,arg[4]); - nmcmoves = force->inumeric(FLERR,arg[5]); - ngcmc_type = force->inumeric(FLERR,arg[6]); - seed = force->inumeric(FLERR,arg[7]); - reservoir_temperature = force->numeric(FLERR,arg[8]); - chemical_potential = force->numeric(FLERR,arg[9]); - displace = force->numeric(FLERR,arg[10]); + nevery = utils::inumeric(FLERR,arg[3],false,lmp); + nexchanges = utils::inumeric(FLERR,arg[4],false,lmp); + nmcmoves = utils::inumeric(FLERR,arg[5],false,lmp); + ngcmc_type = utils::inumeric(FLERR,arg[6],false,lmp); + seed = utils::inumeric(FLERR,arg[7],false,lmp); + reservoir_temperature = utils::numeric(FLERR,arg[8],false,lmp); + chemical_potential = utils::numeric(FLERR,arg[9],false,lmp); + displace = utils::numeric(FLERR,arg[10],false,lmp); if (nevery <= 0) error->all(FLERR,"Illegal fix gcmc command"); if (nexchanges < 0) error->all(FLERR,"Illegal fix gcmc command"); @@ -287,9 +287,9 @@ void FixGCMC::options(int narg, char **arg) iarg += 2; } else if (strcmp(arg[iarg],"mcmoves") == 0) { if (iarg+4 > narg) error->all(FLERR,"Illegal fix gcmc command"); - patomtrans = force->numeric(FLERR,arg[iarg+1]); - pmoltrans = force->numeric(FLERR,arg[iarg+2]); - pmolrotate = force->numeric(FLERR,arg[iarg+3]); + patomtrans = utils::numeric(FLERR,arg[iarg+1],false,lmp); + pmoltrans = utils::numeric(FLERR,arg[iarg+2],false,lmp); + pmolrotate = utils::numeric(FLERR,arg[iarg+3],false,lmp); if (patomtrans < 0 || pmoltrans < 0 || pmolrotate < 0) error->all(FLERR,"Illegal fix gcmc command"); pmctot = patomtrans + pmoltrans + pmolrotate; @@ -308,21 +308,21 @@ void FixGCMC::options(int narg, char **arg) iarg += 2; } else if (strcmp(arg[iarg],"maxangle") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix gcmc command"); - max_rotation_angle = force->numeric(FLERR,arg[iarg+1]); + max_rotation_angle = utils::numeric(FLERR,arg[iarg+1],false,lmp); max_rotation_angle *= MY_PI/180; iarg += 2; } else if (strcmp(arg[iarg],"pressure") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix gcmc command"); - pressure = force->numeric(FLERR,arg[iarg+1]); + pressure = utils::numeric(FLERR,arg[iarg+1],false,lmp); pressure_flag = true; iarg += 2; } else if (strcmp(arg[iarg],"fugacity_coeff") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix gcmc command"); - fugacity_coeff = force->numeric(FLERR,arg[iarg+1]); + fugacity_coeff = utils::numeric(FLERR,arg[iarg+1],false,lmp); iarg += 2; } else if (strcmp(arg[iarg],"charge") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix gcmc command"); - charge = force->numeric(FLERR,arg[iarg+1]); + charge = utils::numeric(FLERR,arg[iarg+1],false,lmp); charge_flag = true; iarg += 2; } else if (strcmp(arg[iarg],"rigid") == 0) { @@ -369,7 +369,7 @@ void FixGCMC::options(int narg, char **arg) ngrouptypesmax*sizeof(char *), "fix_gcmc:grouptypestrings"); } - grouptypes[ngrouptypes] = force->inumeric(FLERR,arg[iarg+1]); + grouptypes[ngrouptypes] = utils::inumeric(FLERR,arg[iarg+1],false,lmp); int n = strlen(arg[iarg+2]) + 1; grouptypestrings[ngrouptypes] = new char[n]; strcpy(grouptypestrings[ngrouptypes],arg[iarg+2]); @@ -377,25 +377,25 @@ void FixGCMC::options(int narg, char **arg) iarg += 3; } else if (strcmp(arg[iarg],"intra_energy") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix gcmc command"); - energy_intra = force->numeric(FLERR,arg[iarg+1]); + energy_intra = utils::numeric(FLERR,arg[iarg+1],false,lmp); iarg += 2; } else if (strcmp(arg[iarg],"tfac_insert") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix gcmc command"); - tfac_insert = force->numeric(FLERR,arg[iarg+1]); + tfac_insert = utils::numeric(FLERR,arg[iarg+1],false,lmp); iarg += 2; } else if (strcmp(arg[iarg],"overlap_cutoff") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix gcmc command"); - double rtmp = force->numeric(FLERR,arg[iarg+1]); + double rtmp = utils::numeric(FLERR,arg[iarg+1],false,lmp); overlap_cutoffsq = rtmp*rtmp; overlap_flag = 1; iarg += 2; } else if (strcmp(arg[iarg],"min") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix gcmc command"); - min_ngas = force->numeric(FLERR,arg[iarg+1]); + min_ngas = utils::numeric(FLERR,arg[iarg+1],false,lmp); iarg += 2; } else if (strcmp(arg[iarg],"max") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix gcmc command"); - max_ngas = force->numeric(FLERR,arg[iarg+1]); + max_ngas = utils::numeric(FLERR,arg[iarg+1],false,lmp); iarg += 2; } else error->all(FLERR,"Illegal fix gcmc command"); } diff --git a/src/MC/fix_tfmc.cpp b/src/MC/fix_tfmc.cpp index e57f1cdf4a05afccfad4daad003c729b77e1ee2a..cf327dc2e1b3526cf64e496457b755aa09cb0797 100644 --- a/src/MC/fix_tfmc.cpp +++ b/src/MC/fix_tfmc.cpp @@ -44,9 +44,9 @@ FixTFMC::FixTFMC(LAMMPS *lmp, int narg, char **arg) : // although we are not doing MD, we would like to use tfMC as an MD "drop in" time_integrate = 1; - d_max = force->numeric(FLERR,arg[3]); - T_set = force->numeric(FLERR,arg[4]); - seed = force->inumeric(FLERR,arg[5]); + d_max = utils::numeric(FLERR,arg[3],false,lmp); + T_set = utils::numeric(FLERR,arg[4],false,lmp); + seed = utils::inumeric(FLERR,arg[5],false,lmp); if (d_max <= 0) error->all(FLERR,"Fix tfmc displacement length must be > 0"); if (T_set <= 0) error->all(FLERR,"Fix tfmc temperature must be > 0"); @@ -62,9 +62,9 @@ FixTFMC::FixTFMC(LAMMPS *lmp, int narg, char **arg) : if (strcmp(arg[iarg],"com") == 0) { if (iarg+4 > narg) error->all(FLERR,"Illegal fix tfmc command"); comflag = 1; - xflag = force->inumeric(FLERR,arg[iarg+1]); - yflag = force->inumeric(FLERR,arg[iarg+2]); - zflag = force->inumeric(FLERR,arg[iarg+3]); + xflag = utils::inumeric(FLERR,arg[iarg+1],false,lmp); + yflag = utils::inumeric(FLERR,arg[iarg+2],false,lmp); + zflag = utils::inumeric(FLERR,arg[iarg+3],false,lmp); iarg += 4; } else if (strcmp(arg[iarg],"rot") == 0) { if (iarg+1 > narg) error->all(FLERR,"Illegal fix tfmc command"); diff --git a/src/MC/fix_widom.cpp b/src/MC/fix_widom.cpp index af904bfe6ac97f9d7af769eab1f894f184bfc3c5..7f6f7ae1bde1c06dc152afd050fb8829e01c6ca1 100644 --- a/src/MC/fix_widom.cpp +++ b/src/MC/fix_widom.cpp @@ -83,11 +83,11 @@ FixWidom::FixWidom(LAMMPS *lmp, int narg, char **arg) : // required args - nevery = force->inumeric(FLERR,arg[3]); - ninsertions = force->inumeric(FLERR,arg[4]); - nwidom_type = force->inumeric(FLERR,arg[5]); - seed = force->inumeric(FLERR,arg[6]); - insertion_temperature = force->numeric(FLERR,arg[7]); + nevery = utils::inumeric(FLERR,arg[3],false,lmp); + ninsertions = utils::inumeric(FLERR,arg[4],false,lmp); + nwidom_type = utils::inumeric(FLERR,arg[5],false,lmp); + seed = utils::inumeric(FLERR,arg[6],false,lmp); + insertion_temperature = utils::numeric(FLERR,arg[7],false,lmp); if (nevery <= 0) error->all(FLERR,"Illegal fix Widom command"); if (ninsertions < 0) error->all(FLERR,"Illegal fix Widom command"); @@ -234,7 +234,7 @@ void FixWidom::options(int narg, char **arg) iarg += 2; } else if (strcmp(arg[iarg],"charge") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix Widom command"); - charge = force->numeric(FLERR,arg[iarg+1]); + charge = utils::numeric(FLERR,arg[iarg+1],false,lmp); charge_flag = true; iarg += 2; } else if (strcmp(arg[iarg],"full_energy") == 0) { @@ -242,7 +242,7 @@ void FixWidom::options(int narg, char **arg) iarg += 1; } else if (strcmp(arg[iarg],"intra_energy") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix Widom command"); - energy_intra = force->numeric(FLERR,arg[iarg+1]); + energy_intra = utils::numeric(FLERR,arg[iarg+1],false,lmp); iarg += 2; } else error->all(FLERR,"Illegal fix Widom command"); } diff --git a/src/MC/pair_dsmc.cpp b/src/MC/pair_dsmc.cpp index ed03ca6ffca932834fe09d5634857b78afc17cdc..30c66a671fb958ede354519c7b2dc081991846b8 100644 --- a/src/MC/pair_dsmc.cpp +++ b/src/MC/pair_dsmc.cpp @@ -209,12 +209,12 @@ void PairDSMC::settings(int narg, char **arg) if (narg != 6) error->all(FLERR,"Illegal pair_style command"); cut_global = 0.0; - max_cell_size = force->numeric(FLERR,arg[0]); - seed = force->inumeric(FLERR,arg[1]); - weighting = force->numeric(FLERR,arg[2]); - T_ref = force->numeric(FLERR,arg[3]); - recompute_vsigmamax_stride = force->inumeric(FLERR,arg[4]); - vsigmamax_samples = force->inumeric(FLERR,arg[5]); + max_cell_size = utils::numeric(FLERR,arg[0],false,lmp); + seed = utils::inumeric(FLERR,arg[1],false,lmp); + weighting = utils::numeric(FLERR,arg[2],false,lmp); + T_ref = utils::numeric(FLERR,arg[3],false,lmp); + recompute_vsigmamax_stride = utils::inumeric(FLERR,arg[4],false,lmp); + vsigmamax_samples = utils::inumeric(FLERR,arg[5],false,lmp); // initialize Marsaglia RNG with processor-unique seed @@ -245,13 +245,13 @@ void PairDSMC::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); - double sigma_one = force->numeric(FLERR,arg[2]); + double sigma_one = utils::numeric(FLERR,arg[2],false,lmp); double cut_one = cut_global; - if (narg == 4) cut_one = force->numeric(FLERR,arg[3]); + if (narg == 4) cut_one = utils::numeric(FLERR,arg[3],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/MISC/compute_ti.cpp b/src/MISC/compute_ti.cpp index 06188de238b6afa962817f31cb29d9961c1f1572..286770017c3b1627b65f7a58bc26ecffbf8b0854 100644 --- a/src/MISC/compute_ti.cpp +++ b/src/MISC/compute_ti.cpp @@ -27,6 +27,7 @@ #include "input.h" #include "variable.h" #include "error.h" +#include "utils.h" using namespace LAMMPS_NS; @@ -79,7 +80,7 @@ ComputeTI::ComputeTI(LAMMPS *lmp, int narg, char **arg) : int n = strlen(arg[iarg]) + 1; pstyle[nterms] = new char[n]; strcpy(pstyle[nterms],arg[iarg]); - force->bounds(FLERR,arg[iarg+1],atom->ntypes,ilo[nterms],ihi[nterms]); + utils::bounds(FLERR,arg[iarg+1],1,atom->ntypes,ilo[nterms],ihi[nterms],error); iarg += 1; if (strstr(arg[iarg+1],"v_") == arg[iarg+1]) { diff --git a/src/MISC/dump_xtc.cpp b/src/MISC/dump_xtc.cpp index 022591839fc912e1874fd257c9cc9c4823656359..fbd56b909601585c08326e5b7d8e60822dc7140d 100644 --- a/src/MISC/dump_xtc.cpp +++ b/src/MISC/dump_xtc.cpp @@ -283,7 +283,7 @@ int DumpXTC::modify_param(int narg, char **arg) return 2; } else if (strcmp(arg[0],"precision") == 0) { if (narg < 2) error->all(FLERR,"Illegal dump_modify command"); - precision = force->numeric(FLERR,arg[1]); + precision = utils::numeric(FLERR,arg[1],false,lmp); if ((fabs(precision-10.0) > EPS) && (fabs(precision-100.0) > EPS) && (fabs(precision-1000.0) > EPS) && (fabs(precision-10000.0) > EPS) && (fabs(precision-100000.0) > EPS) && @@ -292,13 +292,13 @@ int DumpXTC::modify_param(int narg, char **arg) return 2; } else if (strcmp(arg[0],"sfactor") == 0) { if (narg < 2) error->all(FLERR,"Illegal dump_modify command"); - sfactor = force->numeric(FLERR,arg[1]); + sfactor = utils::numeric(FLERR,arg[1],false,lmp); if (sfactor <= 0.0) error->all(FLERR,"Illegal dump_modify sfactor value (must be > 0.0)"); return 2; } else if (strcmp(arg[0],"tfactor") == 0) { if (narg < 2) error->all(FLERR,"Illegal dump_modify command"); - tfactor = force->numeric(FLERR,arg[1]); + tfactor = utils::numeric(FLERR,arg[1],false,lmp); if (tfactor <= 0.0) error->all(FLERR,"Illegal dump_modify tfactor value (must be > 0.0)"); return 2; diff --git a/src/MISC/fix_deposit.cpp b/src/MISC/fix_deposit.cpp index 4d654573401484074f191766cd61c3c468aea455..7d9766c57c3049b6dbb79f6d38a6a8ee5d5a848f 100644 --- a/src/MISC/fix_deposit.cpp +++ b/src/MISC/fix_deposit.cpp @@ -56,10 +56,10 @@ FixDeposit::FixDeposit(LAMMPS *lmp, int narg, char **arg) : // required args - ninsert = force->inumeric(FLERR,arg[3]); - ntype = force->inumeric(FLERR,arg[4]); - nfreq = force->inumeric(FLERR,arg[5]); - seed = force->inumeric(FLERR,arg[6]); + ninsert = utils::inumeric(FLERR,arg[3],false,lmp); + ntype = utils::inumeric(FLERR,arg[4],false,lmp); + nfreq = utils::inumeric(FLERR,arg[5],false,lmp); + seed = utils::inumeric(FLERR,arg[6],false,lmp); if (seed <= 0) error->all(FLERR,"Illegal fix deposit command"); @@ -712,9 +712,9 @@ void FixDeposit::options(int narg, char **arg) } else if (strcmp(arg[iarg],"molfrac") == 0) { if (mode != MOLECULE) error->all(FLERR,"Illegal fix deposit command"); if (iarg+nmol+1 > narg) error->all(FLERR,"Illegal fix deposit command"); - molfrac[0] = force->numeric(FLERR,arg[iarg+1]); + molfrac[0] = utils::numeric(FLERR,arg[iarg+1],false,lmp); for (int i = 1; i < nmol; i++) - molfrac[i] = molfrac[i-1] + force->numeric(FLERR,arg[iarg+i+1]); + molfrac[i] = molfrac[i-1] + utils::numeric(FLERR,arg[iarg+i+1],false,lmp); if (molfrac[nmol-1] < 1.0-EPSILON || molfrac[nmol-1] > 1.0+EPSILON) error->all(FLERR,"Illegal fix deposit command"); molfrac[nmol-1] = 1.0; @@ -747,54 +747,54 @@ void FixDeposit::options(int narg, char **arg) if (iarg+3 > narg) error->all(FLERR,"Illegal fix deposit command"); globalflag = 1; localflag = 0; - lo = force->numeric(FLERR,arg[iarg+1]); - hi = force->numeric(FLERR,arg[iarg+2]); + lo = utils::numeric(FLERR,arg[iarg+1],false,lmp); + hi = utils::numeric(FLERR,arg[iarg+2],false,lmp); iarg += 3; } else if (strcmp(arg[iarg],"local") == 0) { if (iarg+4 > narg) error->all(FLERR,"Illegal fix deposit command"); localflag = 1; globalflag = 0; - lo = force->numeric(FLERR,arg[iarg+1]); - hi = force->numeric(FLERR,arg[iarg+2]); - deltasq = force->numeric(FLERR,arg[iarg+3]) * - force->numeric(FLERR,arg[iarg+3]); + lo = utils::numeric(FLERR,arg[iarg+1],false,lmp); + hi = utils::numeric(FLERR,arg[iarg+2],false,lmp); + deltasq = utils::numeric(FLERR,arg[iarg+3],false,lmp) * + utils::numeric(FLERR,arg[iarg+3],false,lmp); iarg += 4; } else if (strcmp(arg[iarg],"near") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix deposit command"); - nearsq = force->numeric(FLERR,arg[iarg+1]) * - force->numeric(FLERR,arg[iarg+1]); + nearsq = utils::numeric(FLERR,arg[iarg+1],false,lmp) * + utils::numeric(FLERR,arg[iarg+1],false,lmp); iarg += 2; } else if (strcmp(arg[iarg],"attempt") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix deposit command"); - maxattempt = force->inumeric(FLERR,arg[iarg+1]); + maxattempt = utils::inumeric(FLERR,arg[iarg+1],false,lmp); iarg += 2; } else if (strcmp(arg[iarg],"rate") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix deposit command"); rateflag = 1; - rate = force->numeric(FLERR,arg[iarg+1]); + rate = utils::numeric(FLERR,arg[iarg+1],false,lmp); iarg += 2; } else if (strcmp(arg[iarg],"vx") == 0) { if (iarg+3 > narg) error->all(FLERR,"Illegal fix deposit command"); - vxlo = force->numeric(FLERR,arg[iarg+1]); - vxhi = force->numeric(FLERR,arg[iarg+2]); + vxlo = utils::numeric(FLERR,arg[iarg+1],false,lmp); + vxhi = utils::numeric(FLERR,arg[iarg+2],false,lmp); iarg += 3; } else if (strcmp(arg[iarg],"vy") == 0) { if (iarg+3 > narg) error->all(FLERR,"Illegal fix deposit command"); - vylo = force->numeric(FLERR,arg[iarg+1]); - vyhi = force->numeric(FLERR,arg[iarg+2]); + vylo = utils::numeric(FLERR,arg[iarg+1],false,lmp); + vyhi = utils::numeric(FLERR,arg[iarg+2],false,lmp); iarg += 3; } else if (strcmp(arg[iarg],"vz") == 0) { if (iarg+3 > narg) error->all(FLERR,"Illegal fix deposit command"); - vzlo = force->numeric(FLERR,arg[iarg+1]); - vzhi = force->numeric(FLERR,arg[iarg+2]); + vzlo = utils::numeric(FLERR,arg[iarg+1],false,lmp); + vzhi = utils::numeric(FLERR,arg[iarg+2],false,lmp); iarg += 3; } else if (strcmp(arg[iarg],"orient") == 0) { if (iarg+4 > narg) error->all(FLERR,"Illegal fix deposit command"); orientflag = 1; - rx = force->numeric(FLERR,arg[iarg+1]); - ry = force->numeric(FLERR,arg[iarg+2]); - rz = force->numeric(FLERR,arg[iarg+3]); + rx = utils::numeric(FLERR,arg[iarg+1],false,lmp); + ry = utils::numeric(FLERR,arg[iarg+2],false,lmp); + rz = utils::numeric(FLERR,arg[iarg+3],false,lmp); if (domain->dimension == 2 && (rx != 0.0 || ry != 0.0)) error->all(FLERR,"Illegal fix deposit orient settings"); if (rx == 0.0 && ry == 0.0 && rz == 0.0) @@ -808,17 +808,17 @@ void FixDeposit::options(int narg, char **arg) iarg += 2; } else if (strcmp(arg[iarg],"gaussian") == 0) { if (iarg+5 > narg) error->all(FLERR,"Illegal fix deposit command"); - xmid = force->numeric(FLERR,arg[iarg+1]); - ymid = force->numeric(FLERR,arg[iarg+2]); - zmid = force->numeric(FLERR,arg[iarg+3]); - sigma = force->numeric(FLERR,arg[iarg+4]); + xmid = utils::numeric(FLERR,arg[iarg+1],false,lmp); + ymid = utils::numeric(FLERR,arg[iarg+2],false,lmp); + zmid = utils::numeric(FLERR,arg[iarg+3],false,lmp); + sigma = utils::numeric(FLERR,arg[iarg+4],false,lmp); distflag = DIST_GAUSSIAN; iarg += 5; } else if (strcmp(arg[iarg],"target") == 0) { if (iarg+4 > narg) error->all(FLERR,"Illegal fix deposit command"); - tx = force->numeric(FLERR,arg[iarg+1]); - ty = force->numeric(FLERR,arg[iarg+2]); - tz = force->numeric(FLERR,arg[iarg+3]); + tx = utils::numeric(FLERR,arg[iarg+1],false,lmp); + ty = utils::numeric(FLERR,arg[iarg+2],false,lmp); + tz = utils::numeric(FLERR,arg[iarg+3],false,lmp); targetflag = 1; iarg += 4; } else error->all(FLERR,"Illegal fix deposit command"); diff --git a/src/MISC/fix_efield.cpp b/src/MISC/fix_efield.cpp index 5a13b93b91a72c42cd11609e6142a95122911a7d..0dc0be494722253b4c29ab76c1ee2d3031f9d1ee 100644 --- a/src/MISC/fix_efield.cpp +++ b/src/MISC/fix_efield.cpp @@ -64,7 +64,7 @@ FixEfield::FixEfield(LAMMPS *lmp, int narg, char **arg) : xstr = new char[n]; strcpy(xstr,&arg[3][2]); } else { - ex = qe2f * force->numeric(FLERR,arg[3]); + ex = qe2f * utils::numeric(FLERR,arg[3],false,lmp); xstyle = CONSTANT; } @@ -73,7 +73,7 @@ FixEfield::FixEfield(LAMMPS *lmp, int narg, char **arg) : ystr = new char[n]; strcpy(ystr,&arg[4][2]); } else { - ey = qe2f * force->numeric(FLERR,arg[4]); + ey = qe2f * utils::numeric(FLERR,arg[4],false,lmp); ystyle = CONSTANT; } @@ -82,7 +82,7 @@ FixEfield::FixEfield(LAMMPS *lmp, int narg, char **arg) : zstr = new char[n]; strcpy(zstr,&arg[5][2]); } else { - ez = qe2f * force->numeric(FLERR,arg[5]); + ez = qe2f * utils::numeric(FLERR,arg[5],false,lmp); zstyle = CONSTANT; } diff --git a/src/MISC/fix_evaporate.cpp b/src/MISC/fix_evaporate.cpp index c7e7af90577e91dcd7fff95ca5b439db66892ba7..153de8851b551cac08f0802d38270597fba61d66 100644 --- a/src/MISC/fix_evaporate.cpp +++ b/src/MISC/fix_evaporate.cpp @@ -41,13 +41,13 @@ FixEvaporate::FixEvaporate(LAMMPS *lmp, int narg, char **arg) : global_freq = 1; extscalar = 0; - nevery = force->inumeric(FLERR,arg[3]); - nflux = force->inumeric(FLERR,arg[4]); + nevery = utils::inumeric(FLERR,arg[3],false,lmp); + nflux = utils::inumeric(FLERR,arg[4],false,lmp); iregion = domain->find_region(arg[5]); int n = strlen(arg[5]) + 1; idregion = new char[n]; strcpy(idregion,arg[5]); - int seed = force->inumeric(FLERR,arg[6]); + int seed = utils::inumeric(FLERR,arg[6],false,lmp); if (nevery <= 0 || nflux <= 0) error->all(FLERR,"Illegal fix evaporate command"); diff --git a/src/MISC/fix_gld.cpp b/src/MISC/fix_gld.cpp index 0e4c61813bd745a8d61ee16f7e04b00e52bedfd9..c4ff1ebeba4296414b74aef8ea841a4ec5d33ddf 100644 --- a/src/MISC/fix_gld.cpp +++ b/src/MISC/fix_gld.cpp @@ -55,16 +55,16 @@ FixGLD::FixGLD(LAMMPS *lmp, int narg, char **arg) : // 1 = Group ID (e.g., all) // 2 = gld (name of this fix) // 3 = t_start (Starting target temperature) - t_start = force->numeric(FLERR,arg[3]); + t_start = utils::numeric(FLERR,arg[3],false,lmp); // 4 = t_stop (Stopping target temperature) - t_stop = force->numeric(FLERR,arg[4]); + t_stop = utils::numeric(FLERR,arg[4],false,lmp); // 5 = prony_terms (number of terms in Prony series) - prony_terms = force->inumeric(FLERR,arg[5]); + prony_terms = utils::inumeric(FLERR,arg[5],false,lmp); // 6 = seed (random seed) - int seed = force->inumeric(FLERR,arg[6]); + int seed = utils::inumeric(FLERR,arg[6],false,lmp); // 7 = series type if(strcmp(arg[7],"pprony") == 0) { @@ -99,8 +99,8 @@ FixGLD::FixGLD(LAMMPS *lmp, int narg, char **arg) : int iarg = narg_min; int icoeff = 0; while (iarg < narg && icoeff < prony_terms) { - double pc = force->numeric(FLERR,arg[iarg]); - double ptau = force->numeric(FLERR,arg[iarg+1]); + double pc = utils::numeric(FLERR,arg[iarg],false,lmp); + double ptau = utils::numeric(FLERR,arg[iarg+1],false,lmp); if (pc < 0) error->all(FLERR,"Fix gld c coefficients must be >= 0"); diff --git a/src/MISC/fix_oneway.cpp b/src/MISC/fix_oneway.cpp index 68a27b68be4a7dfa365ace25146b538abd8b771e..d2bef7cb9bd216dab3b8931390a7cbbd0255a42c 100644 --- a/src/MISC/fix_oneway.cpp +++ b/src/MISC/fix_oneway.cpp @@ -38,7 +38,7 @@ FixOneWay::FixOneWay(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) if (narg < 6) error->all(FLERR,"Illegal fix oneway command"); - nevery = force->inumeric(FLERR,arg[3]); + nevery = utils::inumeric(FLERR,arg[3],false,lmp); if (nevery < 1) error->all(FLERR,"Illegal fix oneway command"); int len = strlen(arg[4]); diff --git a/src/MISC/fix_orient_bcc.cpp b/src/MISC/fix_orient_bcc.cpp index 8548ee04cf1bdc2a5d81ab2e16b8fa6121e36014..3141f6496ccac41c09881b1319bfa0560d17a010 100644 --- a/src/MISC/fix_orient_bcc.cpp +++ b/src/MISC/fix_orient_bcc.cpp @@ -78,12 +78,12 @@ FixOrientBCC::FixOrientBCC(LAMMPS *lmp, int narg, char **arg) : respa_level_support = 1; ilevel_respa = 0; - nstats = force->inumeric(FLERR,arg[3]); - direction_of_motion = force->inumeric(FLERR,arg[4]); - a = force->numeric(FLERR,arg[5]); - Vxi = force->numeric(FLERR,arg[6]); - uxif_low = force->numeric(FLERR,arg[7]); - uxif_high = force->numeric(FLERR,arg[8]); + nstats = utils::inumeric(FLERR,arg[3],false,lmp); + direction_of_motion = utils::inumeric(FLERR,arg[4],false,lmp); + a = utils::numeric(FLERR,arg[5],false,lmp); + Vxi = utils::numeric(FLERR,arg[6],false,lmp); + uxif_low = utils::numeric(FLERR,arg[7],false,lmp); + uxif_high = utils::numeric(FLERR,arg[8],false,lmp); if (direction_of_motion == 0) { int n = strlen(arg[9]) + 1; diff --git a/src/MISC/fix_orient_fcc.cpp b/src/MISC/fix_orient_fcc.cpp index 97c545d189e6eb76b93fbcd21d558e4721651876..bcba14c355b16df378d00b8f2a689260fee83fe3 100644 --- a/src/MISC/fix_orient_fcc.cpp +++ b/src/MISC/fix_orient_fcc.cpp @@ -76,12 +76,12 @@ FixOrientFCC::FixOrientFCC(LAMMPS *lmp, int narg, char **arg) : respa_level_support = 1; ilevel_respa = 0; - nstats = force->inumeric(FLERR,arg[3]); - direction_of_motion = force->inumeric(FLERR,arg[4]); - a = force->numeric(FLERR,arg[5]); - Vxi = force->numeric(FLERR,arg[6]); - uxif_low = force->numeric(FLERR,arg[7]); - uxif_high = force->numeric(FLERR,arg[8]); + nstats = utils::inumeric(FLERR,arg[3],false,lmp); + direction_of_motion = utils::inumeric(FLERR,arg[4],false,lmp); + a = utils::numeric(FLERR,arg[5],false,lmp); + Vxi = utils::numeric(FLERR,arg[6],false,lmp); + uxif_low = utils::numeric(FLERR,arg[7],false,lmp); + uxif_high = utils::numeric(FLERR,arg[8],false,lmp); if (direction_of_motion == 0) { int n = strlen(arg[9]) + 1; diff --git a/src/MISC/fix_thermal_conductivity.cpp b/src/MISC/fix_thermal_conductivity.cpp index d0add6fecb46fddbca8de9ef9bcc7d05e2640b07..7eec60be8bb64057dcf580448ec1e4e644126c19 100644 --- a/src/MISC/fix_thermal_conductivity.cpp +++ b/src/MISC/fix_thermal_conductivity.cpp @@ -41,7 +41,7 @@ FixThermalConductivity::FixThermalConductivity(LAMMPS *lmp, MPI_Comm_rank(world,&me); - nevery = force->inumeric(FLERR,arg[3]); + nevery = utils::inumeric(FLERR,arg[3],false,lmp); if (nevery <= 0) error->all(FLERR,"Illegal fix thermal/conductivity command"); scalar_flag = 1; @@ -53,7 +53,7 @@ FixThermalConductivity::FixThermalConductivity(LAMMPS *lmp, else if (strcmp(arg[4],"z") == 0) edim = 2; else error->all(FLERR,"Illegal fix thermal/conductivity command"); - nbin = force->inumeric(FLERR,arg[5]); + nbin = utils::inumeric(FLERR,arg[5],false,lmp); if (nbin % 2 || nbin <= 2) error->all(FLERR,"Illegal fix thermal/conductivity command"); @@ -66,7 +66,7 @@ FixThermalConductivity::FixThermalConductivity(LAMMPS *lmp, if (strcmp(arg[iarg],"swap") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix thermal/conductivity command"); - nswap = force->inumeric(FLERR,arg[iarg+1]); + nswap = utils::inumeric(FLERR,arg[iarg+1],false,lmp); if (nswap <= 0) error->all(FLERR, "Fix thermal/conductivity swap value must be positive"); diff --git a/src/MISC/fix_ttm.cpp b/src/MISC/fix_ttm.cpp index 896eb24b7c1ae48ebfd2e7c9cf222d7681c8783c..24f988a76daa173ebd82985809ab72a1fad68cdd 100644 --- a/src/MISC/fix_ttm.cpp +++ b/src/MISC/fix_ttm.cpp @@ -58,17 +58,17 @@ FixTTM::FixTTM(LAMMPS *lmp, int narg, char **arg) : restart_peratom = 1; restart_global = 1; - seed = force->inumeric(FLERR,arg[3]); - electronic_specific_heat = force->numeric(FLERR,arg[4]); - electronic_density = force->numeric(FLERR,arg[5]); - electronic_thermal_conductivity = force->numeric(FLERR,arg[6]); - gamma_p = force->numeric(FLERR,arg[7]); - gamma_s = force->numeric(FLERR,arg[8]); - v_0 = force->numeric(FLERR,arg[9]); - nxnodes = force->inumeric(FLERR,arg[10]); - nynodes = force->inumeric(FLERR,arg[11]); - nznodes = force->inumeric(FLERR,arg[12]); - nfileevery = force->inumeric(FLERR,arg[14]); + seed = utils::inumeric(FLERR,arg[3],false,lmp); + electronic_specific_heat = utils::numeric(FLERR,arg[4],false,lmp); + electronic_density = utils::numeric(FLERR,arg[5],false,lmp); + electronic_thermal_conductivity = utils::numeric(FLERR,arg[6],false,lmp); + gamma_p = utils::numeric(FLERR,arg[7],false,lmp); + gamma_s = utils::numeric(FLERR,arg[8],false,lmp); + v_0 = utils::numeric(FLERR,arg[9],false,lmp); + nxnodes = utils::inumeric(FLERR,arg[10],false,lmp); + nynodes = utils::inumeric(FLERR,arg[11],false,lmp); + nznodes = utils::inumeric(FLERR,arg[12],false,lmp); + nfileevery = utils::inumeric(FLERR,arg[14],false,lmp); if (nfileevery) { if (narg != 16) error->all(FLERR,"Illegal fix ttm command"); diff --git a/src/MISC/fix_viscosity.cpp b/src/MISC/fix_viscosity.cpp index d5a97cd4b0cfc998c5c8d2c7008f055117d10a97..b8c04132ea29c8af6deb0745abaa107b635ee7d1 100644 --- a/src/MISC/fix_viscosity.cpp +++ b/src/MISC/fix_viscosity.cpp @@ -43,7 +43,7 @@ FixViscosity::FixViscosity(LAMMPS *lmp, int narg, char **arg) : MPI_Comm_rank(world,&me); - nevery = force->inumeric(FLERR,arg[3]); + nevery = utils::inumeric(FLERR,arg[3],false,lmp); if (nevery <= 0) error->all(FLERR,"Illegal fix viscosity command"); scalar_flag = 1; @@ -60,7 +60,7 @@ FixViscosity::FixViscosity(LAMMPS *lmp, int narg, char **arg) : else if (strcmp(arg[5],"z") == 0) pdim = 2; else error->all(FLERR,"Illegal fix viscosity command"); - nbin = force->inumeric(FLERR,arg[6]); + nbin = utils::inumeric(FLERR,arg[6],false,lmp); if (nbin % 2 || nbin <= 2) error->all(FLERR,"Illegal fix viscosity command"); // optional keywords @@ -72,14 +72,14 @@ FixViscosity::FixViscosity(LAMMPS *lmp, int narg, char **arg) : while (iarg < narg) { if (strcmp(arg[iarg],"swap") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix viscosity command"); - nswap = force->inumeric(FLERR,arg[iarg+1]); + nswap = utils::inumeric(FLERR,arg[iarg+1],false,lmp); if (nswap <= 0) error->all(FLERR,"Fix viscosity swap value must be positive"); iarg += 2; } else if (strcmp(arg[iarg],"vtarget") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix viscosity command"); if (strcmp(arg[iarg+1],"INF") == 0) vtarget = BIG; - else vtarget = force->numeric(FLERR,arg[iarg+1]); + else vtarget = utils::numeric(FLERR,arg[iarg+1],false,lmp); if (vtarget <= 0.0) error->all(FLERR,"Fix viscosity vtarget value must be positive"); iarg += 2; diff --git a/src/MISC/pair_nm_cut.cpp b/src/MISC/pair_nm_cut.cpp index 07731fe93be45ce3de4358320a4d87b0f0b04fd3..e2e6f408570d3549e23f70bf0181fccaf383f4e5 100644 --- a/src/MISC/pair_nm_cut.cpp +++ b/src/MISC/pair_nm_cut.cpp @@ -179,7 +179,7 @@ void PairNMCut::settings(int narg, char **arg) { if (narg != 1) error->all(FLERR,"Illegal pair_style command"); - cut_global = force->numeric(FLERR,arg[0]); + cut_global = utils::numeric(FLERR,arg[0],false,lmp); // reset cutoffs that have been explicitly set @@ -202,16 +202,16 @@ void PairNMCut::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); - double e0_one = force->numeric(FLERR,arg[2]); - double r0_one = force->numeric(FLERR,arg[3]); - double nn_one = force->numeric(FLERR,arg[4]); - double mm_one = force->numeric(FLERR,arg[5]); + double e0_one = utils::numeric(FLERR,arg[2],false,lmp); + double r0_one = utils::numeric(FLERR,arg[3],false,lmp); + double nn_one = utils::numeric(FLERR,arg[4],false,lmp); + double mm_one = utils::numeric(FLERR,arg[5],false,lmp); double cut_one = cut_global; - if (narg == 7) cut_one = force->numeric(FLERR,arg[6]); + if (narg == 7) cut_one = utils::numeric(FLERR,arg[6],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/MISC/pair_nm_cut_coul_cut.cpp b/src/MISC/pair_nm_cut_coul_cut.cpp index 270f4080ee3e2c4ff015c1d5a3e93ac9fb0186e4..efc84f22b52e985d29cdbc762372227a5ffefcfa 100644 --- a/src/MISC/pair_nm_cut_coul_cut.cpp +++ b/src/MISC/pair_nm_cut_coul_cut.cpp @@ -203,9 +203,9 @@ void PairNMCutCoulCut::settings(int narg, char **arg) { if (narg < 1 || narg > 2) error->all(FLERR,"Illegal pair_style command"); - cut_lj_global = force->numeric(FLERR,arg[0]); + cut_lj_global = utils::numeric(FLERR,arg[0],false,lmp); if (narg == 1) cut_coul_global = cut_lj_global; - else cut_coul_global = force->numeric(FLERR,arg[1]); + else cut_coul_global = utils::numeric(FLERR,arg[1],false,lmp); // reset cutoffs that have been explicitly set @@ -231,18 +231,18 @@ void PairNMCutCoulCut::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); - double e0_one = force->numeric(FLERR,arg[2]); - double r0_one = force->numeric(FLERR,arg[3]); - double nn_one = force->numeric(FLERR,arg[4]); - double mm_one = force->numeric(FLERR,arg[5]); + double e0_one = utils::numeric(FLERR,arg[2],false,lmp); + double r0_one = utils::numeric(FLERR,arg[3],false,lmp); + double nn_one = utils::numeric(FLERR,arg[4],false,lmp); + double mm_one = utils::numeric(FLERR,arg[5],false,lmp); double cut_lj_one = cut_lj_global; double cut_coul_one = cut_coul_global; - if (narg >= 7) cut_coul_one = cut_lj_one = force->numeric(FLERR,arg[4]); - if (narg == 8) cut_coul_one = force->numeric(FLERR,arg[5]); + if (narg >= 7) cut_coul_one = cut_lj_one = utils::numeric(FLERR,arg[4],false,lmp); + if (narg == 8) cut_coul_one = utils::numeric(FLERR,arg[5],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/MISC/pair_nm_cut_coul_long.cpp b/src/MISC/pair_nm_cut_coul_long.cpp index b63ede2b635624cf64f166e8cc0a357cf2716fe6..79b1ebae66d8e6eaac27dd5d0fd4020e3ef29533 100644 --- a/src/MISC/pair_nm_cut_coul_long.cpp +++ b/src/MISC/pair_nm_cut_coul_long.cpp @@ -242,9 +242,9 @@ void PairNMCutCoulLong::settings(int narg, char **arg) { if (narg < 1 || narg > 2) error->all(FLERR,"Illegal pair_style command"); - cut_lj_global = force->numeric(FLERR,arg[0]); + cut_lj_global = utils::numeric(FLERR,arg[0],false,lmp); if (narg == 1) cut_coul = cut_lj_global; - else cut_coul = force->numeric(FLERR,arg[1]); + else cut_coul = utils::numeric(FLERR,arg[1],false,lmp); // reset cutoffs that have been explicitly set @@ -267,16 +267,16 @@ void PairNMCutCoulLong::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); - double e0_one = force->numeric(FLERR,arg[2]); - double r0_one = force->numeric(FLERR,arg[3]); - double nn_one = force->numeric(FLERR,arg[4]); - double mm_one = force->numeric(FLERR,arg[5]); + double e0_one = utils::numeric(FLERR,arg[2],false,lmp); + double r0_one = utils::numeric(FLERR,arg[3],false,lmp); + double nn_one = utils::numeric(FLERR,arg[4],false,lmp); + double mm_one = utils::numeric(FLERR,arg[5],false,lmp); double cut_lj_one = cut_lj_global; - if (narg == 7) cut_lj_one = force->numeric(FLERR,arg[4]); + if (narg == 7) cut_lj_one = utils::numeric(FLERR,arg[4],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/MLIAP/mliap_descriptor_snap.cpp b/src/MLIAP/mliap_descriptor_snap.cpp index 24e8b19a654ea85eea90f8643ffb86cf96b07e3f..fd1bf18330ce669d70cce1abbff5bdc1d5ffdddc 100644 --- a/src/MLIAP/mliap_descriptor_snap.cpp +++ b/src/MLIAP/mliap_descriptor_snap.cpp @@ -376,7 +376,7 @@ void MLIAPDescriptorSNAP::read_paramfile(char *paramfilename) FILE *fpparam; if (comm->me == 0) { - fpparam = force->open_potential(paramfilename); + fpparam = utils::open_potential(paramfilename,lmp,nullptr); if (fpparam == NULL) error->one(FLERR,fmt::format("Cannot open SNAP parameter file {}: {}", paramfilename, utils::getsyserror())); diff --git a/src/MLIAP/mliap_model.cpp b/src/MLIAP/mliap_model.cpp index bc760b7a680d61606aee2334a603ec2f4f9ff588..b8ad1913a0014750164d6550d88daed63e5a8951 100644 --- a/src/MLIAP/mliap_model.cpp +++ b/src/MLIAP/mliap_model.cpp @@ -85,7 +85,7 @@ void MLIAPModel::read_coeffs(char *coefffilename) FILE *fpcoeff; if (comm->me == 0) { - fpcoeff = force->open_potential(coefffilename); + fpcoeff = utils::open_potential(coefffilename,lmp,nullptr); if (fpcoeff == NULL) error->one(FLERR,fmt::format("Cannot open MLIAPModel coeff file {}: {}", coefffilename,utils::getsyserror())); diff --git a/src/MOLECULE/angle_charmm.cpp b/src/MOLECULE/angle_charmm.cpp index 161ad90ea383529c9ec8dca84062406e25fbaa51..117056ac58ff00cdd332b6ff40406e5d0c696065 100644 --- a/src/MOLECULE/angle_charmm.cpp +++ b/src/MOLECULE/angle_charmm.cpp @@ -196,12 +196,12 @@ void AngleCharmm::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi; - force->bounds(FLERR,arg[0],atom->nangletypes,ilo,ihi); + utils::bounds(FLERR,arg[0],1,atom->nangletypes,ilo,ihi,error); - double k_one = force->numeric(FLERR,arg[1]); - double theta0_one = force->numeric(FLERR,arg[2]); - double k_ub_one = force->numeric(FLERR,arg[3]); - double r_ub_one = force->numeric(FLERR,arg[4]); + double k_one = utils::numeric(FLERR,arg[1],false,lmp); + double theta0_one = utils::numeric(FLERR,arg[2],false,lmp); + double k_ub_one = utils::numeric(FLERR,arg[3],false,lmp); + double r_ub_one = utils::numeric(FLERR,arg[4],false,lmp); // convert theta0 from degrees to radians diff --git a/src/MOLECULE/angle_cosine.cpp b/src/MOLECULE/angle_cosine.cpp index 59593d24484a9cb1c7bbb16c0c9696e7aab19226..732843f412d98f10748c43fe033af305f76d1198 100644 --- a/src/MOLECULE/angle_cosine.cpp +++ b/src/MOLECULE/angle_cosine.cpp @@ -156,9 +156,9 @@ void AngleCosine::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi; - force->bounds(FLERR,arg[0],atom->nangletypes,ilo,ihi); + utils::bounds(FLERR,arg[0],1,atom->nangletypes,ilo,ihi,error); - double k_one = force->numeric(FLERR,arg[1]); + double k_one = utils::numeric(FLERR,arg[1],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/MOLECULE/angle_cosine_periodic.cpp b/src/MOLECULE/angle_cosine_periodic.cpp index b305ece7dd2984fb933c6f47afe5d6ae1e804960..2ec59bfb1ee9c913b37fcc79d044f7e103c242f6 100644 --- a/src/MOLECULE/angle_cosine_periodic.cpp +++ b/src/MOLECULE/angle_cosine_periodic.cpp @@ -201,11 +201,11 @@ void AngleCosinePeriodic::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi; - force->bounds(FLERR,arg[0],atom->nangletypes,ilo,ihi); + utils::bounds(FLERR,arg[0],1,atom->nangletypes,ilo,ihi,error); - double c_one = force->numeric(FLERR,arg[1]); - int b_one = force->inumeric(FLERR,arg[2]); - int n_one = force->inumeric(FLERR,arg[3]); + double c_one = utils::numeric(FLERR,arg[1],false,lmp); + int b_one = utils::inumeric(FLERR,arg[2],false,lmp); + int n_one = utils::inumeric(FLERR,arg[3],false,lmp); if (n_one <= 0) error->all(FLERR,"Incorrect args for angle coefficients"); int count = 0; diff --git a/src/MOLECULE/angle_cosine_squared.cpp b/src/MOLECULE/angle_cosine_squared.cpp index 9056600c3f89f6c5e8aba0de8c8fbf19a1fb60b5..ac276511a25290ea82d23531b1b76ab2ce9a92b5 100644 --- a/src/MOLECULE/angle_cosine_squared.cpp +++ b/src/MOLECULE/angle_cosine_squared.cpp @@ -172,10 +172,10 @@ void AngleCosineSquared::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi; - force->bounds(FLERR,arg[0],atom->nangletypes,ilo,ihi); + utils::bounds(FLERR,arg[0],1,atom->nangletypes,ilo,ihi,error); - double k_one = force->numeric(FLERR,arg[1]); - double theta0_one = force->numeric(FLERR,arg[2]); + double k_one = utils::numeric(FLERR,arg[1],false,lmp); + double theta0_one = utils::numeric(FLERR,arg[2],false,lmp); // convert theta0 from degrees to radians diff --git a/src/MOLECULE/angle_harmonic.cpp b/src/MOLECULE/angle_harmonic.cpp index baeb9a8ed83c57c6e7965c94240103c1613a9651..02bab37a8a979fd3e4ecbd8227d91ed6ef2a8f5f 100644 --- a/src/MOLECULE/angle_harmonic.cpp +++ b/src/MOLECULE/angle_harmonic.cpp @@ -172,10 +172,10 @@ void AngleHarmonic::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi; - force->bounds(FLERR,arg[0],atom->nangletypes,ilo,ihi); + utils::bounds(FLERR,arg[0],1,atom->nangletypes,ilo,ihi,error); - double k_one = force->numeric(FLERR,arg[1]); - double theta0_one = force->numeric(FLERR,arg[2]); + double k_one = utils::numeric(FLERR,arg[1],false,lmp); + double theta0_one = utils::numeric(FLERR,arg[2],false,lmp); // convert theta0 from degrees to radians diff --git a/src/MOLECULE/angle_table.cpp b/src/MOLECULE/angle_table.cpp index 4890a1197586b24b719ded9defcc1bdeb6cd618a..83e4485d481f099a6aed54e230f62602073b1d7f 100644 --- a/src/MOLECULE/angle_table.cpp +++ b/src/MOLECULE/angle_table.cpp @@ -190,7 +190,7 @@ void AngleTable::settings(int narg, char **arg) else if (strcmp(arg[0],"spline") == 0) tabstyle = SPLINE; else error->all(FLERR,"Unknown table style in angle style table"); - tablength = force->inumeric(FLERR,arg[1]); + tablength = utils::inumeric(FLERR,arg[1],false,lmp); if (tablength < 2) error->all(FLERR,"Illegal number of angle table entries"); // delete old tables, since cannot just change settings @@ -218,7 +218,7 @@ void AngleTable::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi; - force->bounds(FLERR,arg[0],atom->nangletypes,ilo,ihi); + utils::bounds(FLERR,arg[0],1,atom->nangletypes,ilo,ihi,error); int me; MPI_Comm_rank(world,&me); diff --git a/src/MOLECULE/bond_fene.cpp b/src/MOLECULE/bond_fene.cpp index 357c37b7a24f4ade252bda99e780fe7998ee755b..9617894a9a66ba7ce68bada3e303d0d4ffcea5be 100644 --- a/src/MOLECULE/bond_fene.cpp +++ b/src/MOLECULE/bond_fene.cpp @@ -152,12 +152,12 @@ void BondFENE::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi; - force->bounds(FLERR,arg[0],atom->nbondtypes,ilo,ihi); + utils::bounds(FLERR,arg[0],1,atom->nbondtypes,ilo,ihi,error); - double k_one = force->numeric(FLERR,arg[1]); - double r0_one = force->numeric(FLERR,arg[2]); - double epsilon_one = force->numeric(FLERR,arg[3]); - double sigma_one = force->numeric(FLERR,arg[4]); + double k_one = utils::numeric(FLERR,arg[1],false,lmp); + double r0_one = utils::numeric(FLERR,arg[2],false,lmp); + double epsilon_one = utils::numeric(FLERR,arg[3],false,lmp); + double sigma_one = utils::numeric(FLERR,arg[4],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/MOLECULE/bond_fene_expand.cpp b/src/MOLECULE/bond_fene_expand.cpp index 9cdc2639a58512f6280c45f2e35e5cf4c53c6867..eec8c14872d5e0c008ccb6d547fb8382a212e247 100644 --- a/src/MOLECULE/bond_fene_expand.cpp +++ b/src/MOLECULE/bond_fene_expand.cpp @@ -159,13 +159,13 @@ void BondFENEExpand::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi; - force->bounds(FLERR,arg[0],atom->nbondtypes,ilo,ihi); + utils::bounds(FLERR,arg[0],1,atom->nbondtypes,ilo,ihi,error); - double k_one = force->numeric(FLERR,arg[1]); - double r0_one = force->numeric(FLERR,arg[2]); - double epsilon_one = force->numeric(FLERR,arg[3]); - double sigma_one = force->numeric(FLERR,arg[4]); - double shift_one = force->numeric(FLERR,arg[5]); + double k_one = utils::numeric(FLERR,arg[1],false,lmp); + double r0_one = utils::numeric(FLERR,arg[2],false,lmp); + double epsilon_one = utils::numeric(FLERR,arg[3],false,lmp); + double sigma_one = utils::numeric(FLERR,arg[4],false,lmp); + double shift_one = utils::numeric(FLERR,arg[5],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/MOLECULE/bond_gromos.cpp b/src/MOLECULE/bond_gromos.cpp index 27447d72986c3593a4a233fb90f72be3860ba4b5..4e20a2711d65032e57f513d6da17dd83129f141f 100644 --- a/src/MOLECULE/bond_gromos.cpp +++ b/src/MOLECULE/bond_gromos.cpp @@ -123,10 +123,10 @@ void BondGromos::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi; - force->bounds(FLERR,arg[0],atom->nbondtypes,ilo,ihi); + utils::bounds(FLERR,arg[0],1,atom->nbondtypes,ilo,ihi,error); - double k_one = force->numeric(FLERR,arg[1]); - double r0_one = force->numeric(FLERR,arg[2]); + double k_one = utils::numeric(FLERR,arg[1],false,lmp); + double r0_one = utils::numeric(FLERR,arg[2],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/MOLECULE/bond_harmonic.cpp b/src/MOLECULE/bond_harmonic.cpp index 5ea60cda4636baee95309f94b1443329c04613ae..773a4ee12a91df47ae8f115def961074e121bb9d 100644 --- a/src/MOLECULE/bond_harmonic.cpp +++ b/src/MOLECULE/bond_harmonic.cpp @@ -124,10 +124,10 @@ void BondHarmonic::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi; - force->bounds(FLERR,arg[0],atom->nbondtypes,ilo,ihi); + utils::bounds(FLERR,arg[0],1,atom->nbondtypes,ilo,ihi,error); - double k_one = force->numeric(FLERR,arg[1]); - double r0_one = force->numeric(FLERR,arg[2]); + double k_one = utils::numeric(FLERR,arg[1],false,lmp); + double r0_one = utils::numeric(FLERR,arg[2],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/MOLECULE/bond_morse.cpp b/src/MOLECULE/bond_morse.cpp index c644d2be1c537267df4e216780d40a5cbbb0bdfa..38d8d6a45f1e6882be425698cf114510ba56348a 100644 --- a/src/MOLECULE/bond_morse.cpp +++ b/src/MOLECULE/bond_morse.cpp @@ -126,11 +126,11 @@ void BondMorse::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi; - force->bounds(FLERR,arg[0],atom->nbondtypes,ilo,ihi); + utils::bounds(FLERR,arg[0],1,atom->nbondtypes,ilo,ihi,error); - double d0_one = force->numeric(FLERR,arg[1]); - double alpha_one = force->numeric(FLERR,arg[2]); - double r0_one = force->numeric(FLERR,arg[3]); + double d0_one = utils::numeric(FLERR,arg[1],false,lmp); + double alpha_one = utils::numeric(FLERR,arg[2],false,lmp); + double r0_one = utils::numeric(FLERR,arg[3],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/MOLECULE/bond_nonlinear.cpp b/src/MOLECULE/bond_nonlinear.cpp index 1451fa29c28eb75fd6ec0e7d8e72baf2d1f32142..1733ffc6706312fe46656024ef7069423a2d585b 100644 --- a/src/MOLECULE/bond_nonlinear.cpp +++ b/src/MOLECULE/bond_nonlinear.cpp @@ -123,11 +123,11 @@ void BondNonlinear::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi; - force->bounds(FLERR,arg[0],atom->nbondtypes,ilo,ihi); + utils::bounds(FLERR,arg[0],1,atom->nbondtypes,ilo,ihi,error); - double epsilon_one = force->numeric(FLERR,arg[1]); - double r0_one = force->numeric(FLERR,arg[2]); - double lamda_one = force->numeric(FLERR,arg[3]); + double epsilon_one = utils::numeric(FLERR,arg[1],false,lmp); + double r0_one = utils::numeric(FLERR,arg[2],false,lmp); + double lamda_one = utils::numeric(FLERR,arg[3],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/MOLECULE/bond_quartic.cpp b/src/MOLECULE/bond_quartic.cpp index 813e322473fe5d6ff458bc8ab062e3581af32bb6..c89ac552aead1ed9b38926fb19dd2adeadf9dfad 100644 --- a/src/MOLECULE/bond_quartic.cpp +++ b/src/MOLECULE/bond_quartic.cpp @@ -201,13 +201,13 @@ void BondQuartic::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi; - force->bounds(FLERR,arg[0],atom->nbondtypes,ilo,ihi); + utils::bounds(FLERR,arg[0],1,atom->nbondtypes,ilo,ihi,error); - double k_one = force->numeric(FLERR,arg[1]); - double b1_one = force->numeric(FLERR,arg[2]); - double b2_one = force->numeric(FLERR,arg[3]); - double rc_one = force->numeric(FLERR,arg[4]); - double u0_one = force->numeric(FLERR,arg[5]); + double k_one = utils::numeric(FLERR,arg[1],false,lmp); + double b1_one = utils::numeric(FLERR,arg[2],false,lmp); + double b2_one = utils::numeric(FLERR,arg[3],false,lmp); + double rc_one = utils::numeric(FLERR,arg[4],false,lmp); + double u0_one = utils::numeric(FLERR,arg[5],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/MOLECULE/bond_table.cpp b/src/MOLECULE/bond_table.cpp index 3a1529a155e0b2dfc5bbd87b2705e01807c5a5c0..2724d4f20c349a66ae0365c6671cade2957494ae 100644 --- a/src/MOLECULE/bond_table.cpp +++ b/src/MOLECULE/bond_table.cpp @@ -142,7 +142,7 @@ void BondTable::settings(int narg, char **arg) else if (strcmp(arg[0],"spline") == 0) tabstyle = SPLINE; else error->all(FLERR,"Unknown table style in bond style table"); - tablength = force->inumeric(FLERR,arg[1]); + tablength = utils::inumeric(FLERR,arg[1],false,lmp); if (tablength < 2) error->all(FLERR,"Illegal number of bond table entries"); // delete old tables, since cannot just change settings @@ -170,7 +170,7 @@ void BondTable::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi; - force->bounds(FLERR,arg[0],atom->nbondtypes,ilo,ihi); + utils::bounds(FLERR,arg[0],1,atom->nbondtypes,ilo,ihi,error); int me; MPI_Comm_rank(world,&me); diff --git a/src/MOLECULE/dihedral_charmm.cpp b/src/MOLECULE/dihedral_charmm.cpp index 016377212354d2bff4693ff5fe68d94386a596d8..71c9f586a3161d13b2569ecc512b0d5e39afcd1c 100644 --- a/src/MOLECULE/dihedral_charmm.cpp +++ b/src/MOLECULE/dihedral_charmm.cpp @@ -330,16 +330,16 @@ void DihedralCharmm::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi; - force->bounds(FLERR,arg[0],atom->ndihedraltypes,ilo,ihi); + utils::bounds(FLERR,arg[0],1,atom->ndihedraltypes,ilo,ihi,error); // require integer values of shift for backwards compatibility // arbitrary phase angle shift could be allowed, but would break // backwards compatibility and is probably not needed - double k_one = force->numeric(FLERR,arg[1]); - int multiplicity_one = force->inumeric(FLERR,arg[2]); - int shift_one = force->inumeric(FLERR,arg[3]); - double weight_one = force->numeric(FLERR,arg[4]); + double k_one = utils::numeric(FLERR,arg[1],false,lmp); + int multiplicity_one = utils::inumeric(FLERR,arg[2],false,lmp); + int shift_one = utils::inumeric(FLERR,arg[3],false,lmp); + double weight_one = utils::numeric(FLERR,arg[4],false,lmp); if (multiplicity_one < 0) error->all(FLERR,"Incorrect multiplicity arg for dihedral coefficients"); diff --git a/src/MOLECULE/dihedral_charmmfsw.cpp b/src/MOLECULE/dihedral_charmmfsw.cpp index 39b7e92bd228a35cd69d31c2c9e81fd02a0665b7..d4956b42bd290e94b1f9107c7f6b3c428aa93962 100644 --- a/src/MOLECULE/dihedral_charmmfsw.cpp +++ b/src/MOLECULE/dihedral_charmmfsw.cpp @@ -348,16 +348,16 @@ void DihedralCharmmfsw::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi; - force->bounds(FLERR,arg[0],atom->ndihedraltypes,ilo,ihi); + utils::bounds(FLERR,arg[0],1,atom->ndihedraltypes,ilo,ihi,error); // require integer values of shift for backwards compatibility // arbitrary phase angle shift could be allowed, but would break // backwards compatibility and is probably not needed - double k_one = force->numeric(FLERR,arg[1]); - int multiplicity_one = force->inumeric(FLERR,arg[2]); - int shift_one = force->inumeric(FLERR,arg[3]); - double weight_one = force->numeric(FLERR,arg[4]); + double k_one = utils::numeric(FLERR,arg[1],false,lmp); + int multiplicity_one = utils::inumeric(FLERR,arg[2],false,lmp); + int shift_one = utils::inumeric(FLERR,arg[3],false,lmp); + double weight_one = utils::numeric(FLERR,arg[4],false,lmp); if (multiplicity_one < 0) error->all(FLERR,"Incorrect multiplicity arg for dihedral coefficients"); diff --git a/src/MOLECULE/dihedral_harmonic.cpp b/src/MOLECULE/dihedral_harmonic.cpp index 48adf0790338ce96faea4a82d573da6307d21b6d..403bafd23e228c6c40aebdf4189e8d6f5e33e30e 100644 --- a/src/MOLECULE/dihedral_harmonic.cpp +++ b/src/MOLECULE/dihedral_harmonic.cpp @@ -274,11 +274,11 @@ void DihedralHarmonic::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi; - force->bounds(FLERR,arg[0],atom->ndihedraltypes,ilo,ihi); + utils::bounds(FLERR,arg[0],1,atom->ndihedraltypes,ilo,ihi,error); - double k_one = force->numeric(FLERR,arg[1]); - int sign_one = force->inumeric(FLERR,arg[2]); - int multiplicity_one = force->inumeric(FLERR,arg[3]); + double k_one = utils::numeric(FLERR,arg[1],false,lmp); + int sign_one = utils::inumeric(FLERR,arg[2],false,lmp); + int multiplicity_one = utils::inumeric(FLERR,arg[3],false,lmp); // require sign = +/- 1 for backwards compatibility // arbitrary phase angle shift could be allowed, but would break diff --git a/src/MOLECULE/dihedral_helix.cpp b/src/MOLECULE/dihedral_helix.cpp index 26461883c6493a3b49af44bf32775cbc0c4e9a81..ce31a12ed3f030eb464f00e9a5ec4941c983a0b7 100644 --- a/src/MOLECULE/dihedral_helix.cpp +++ b/src/MOLECULE/dihedral_helix.cpp @@ -285,11 +285,11 @@ void DihedralHelix::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi; - force->bounds(FLERR,arg[0],atom->ndihedraltypes,ilo,ihi); + utils::bounds(FLERR,arg[0],1,atom->ndihedraltypes,ilo,ihi,error); - double aphi_one = force->numeric(FLERR,arg[1]); - double bphi_one = force->numeric(FLERR,arg[2]); - double cphi_one = force->numeric(FLERR,arg[3]); + double aphi_one = utils::numeric(FLERR,arg[1],false,lmp); + double bphi_one = utils::numeric(FLERR,arg[2],false,lmp); + double cphi_one = utils::numeric(FLERR,arg[3],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/MOLECULE/dihedral_multi_harmonic.cpp b/src/MOLECULE/dihedral_multi_harmonic.cpp index b5db6852478ab5be87a145e19584d63c40d4b8f1..a3c76b91ee74ec493a51766d49b3dbe09bcb5519 100644 --- a/src/MOLECULE/dihedral_multi_harmonic.cpp +++ b/src/MOLECULE/dihedral_multi_harmonic.cpp @@ -275,13 +275,13 @@ void DihedralMultiHarmonic::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi; - force->bounds(FLERR,arg[0],atom->ndihedraltypes,ilo,ihi); + utils::bounds(FLERR,arg[0],1,atom->ndihedraltypes,ilo,ihi,error); - double a1_one = force->numeric(FLERR,arg[1]); - double a2_one = force->numeric(FLERR,arg[2]); - double a3_one = force->numeric(FLERR,arg[3]); - double a4_one = force->numeric(FLERR,arg[4]); - double a5_one = force->numeric(FLERR,arg[5]); + double a1_one = utils::numeric(FLERR,arg[1],false,lmp); + double a2_one = utils::numeric(FLERR,arg[2],false,lmp); + double a3_one = utils::numeric(FLERR,arg[3],false,lmp); + double a4_one = utils::numeric(FLERR,arg[4],false,lmp); + double a5_one = utils::numeric(FLERR,arg[5],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/MOLECULE/dihedral_opls.cpp b/src/MOLECULE/dihedral_opls.cpp index 5dd268b39fd1de0207cd96588fe134ac9b1b4073..151986ca3f68b1de8171ff540f4bcf194140e563 100644 --- a/src/MOLECULE/dihedral_opls.cpp +++ b/src/MOLECULE/dihedral_opls.cpp @@ -288,12 +288,12 @@ void DihedralOPLS::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi; - force->bounds(FLERR,arg[0],atom->ndihedraltypes,ilo,ihi); + utils::bounds(FLERR,arg[0],1,atom->ndihedraltypes,ilo,ihi,error); - double k1_one = force->numeric(FLERR,arg[1]); - double k2_one = force->numeric(FLERR,arg[2]); - double k3_one = force->numeric(FLERR,arg[3]); - double k4_one = force->numeric(FLERR,arg[4]); + double k1_one = utils::numeric(FLERR,arg[1],false,lmp); + double k2_one = utils::numeric(FLERR,arg[2],false,lmp); + double k3_one = utils::numeric(FLERR,arg[3],false,lmp); + double k4_one = utils::numeric(FLERR,arg[4],false,lmp); // store 1/2 factor with prefactor diff --git a/src/MOLECULE/fix_cmap.cpp b/src/MOLECULE/fix_cmap.cpp index 5d95ae73c2ddcf78987fe7f18925fed857792de1..ddf035070b679d9a899d2ecf1d8e673f949d1565 100644 --- a/src/MOLECULE/fix_cmap.cpp +++ b/src/MOLECULE/fix_cmap.cpp @@ -633,7 +633,7 @@ void FixCMAP::read_grid_map(char *cmapfile) FILE *fp = NULL; if (comm->me == 0) { - fp = force->open_potential(cmapfile); + fp = utils::open_potential(cmapfile,lmp,nullptr); if (fp == NULL) error->one(FLERR,fmt::format("Cannot open fix cmap file {}: {}", cmapfile, utils::getsyserror())); diff --git a/src/MOLECULE/improper_cvff.cpp b/src/MOLECULE/improper_cvff.cpp index 0ffb3f3c316ad00feeb8d85ce7656f4846248568..d819642bb10b42c0217173c457afe98303f421f7 100644 --- a/src/MOLECULE/improper_cvff.cpp +++ b/src/MOLECULE/improper_cvff.cpp @@ -296,11 +296,11 @@ void ImproperCvff::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi; - force->bounds(FLERR,arg[0],atom->nimpropertypes,ilo,ihi); + utils::bounds(FLERR,arg[0],1,atom->nimpropertypes,ilo,ihi,error); - double k_one = force->numeric(FLERR,arg[1]); - int sign_one = force->inumeric(FLERR,arg[2]); - int multiplicity_one = force->inumeric(FLERR,arg[3]); + double k_one = utils::numeric(FLERR,arg[1],false,lmp); + int sign_one = utils::inumeric(FLERR,arg[2],false,lmp); + int multiplicity_one = utils::inumeric(FLERR,arg[3],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/MOLECULE/improper_harmonic.cpp b/src/MOLECULE/improper_harmonic.cpp index e90bc04c90610d2a2ec4db8df0fc62883e6f0136..2af1126876a6a3c7e76090db5e4589e2b593cbb8 100644 --- a/src/MOLECULE/improper_harmonic.cpp +++ b/src/MOLECULE/improper_harmonic.cpp @@ -238,10 +238,10 @@ void ImproperHarmonic::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi; - force->bounds(FLERR,arg[0],atom->nimpropertypes,ilo,ihi); + utils::bounds(FLERR,arg[0],1,atom->nimpropertypes,ilo,ihi,error); - double k_one = force->numeric(FLERR,arg[1]); - double chi_one = force->numeric(FLERR,arg[2]); + double k_one = utils::numeric(FLERR,arg[1],false,lmp); + double chi_one = utils::numeric(FLERR,arg[2],false,lmp); // convert chi from degrees to radians diff --git a/src/MOLECULE/improper_umbrella.cpp b/src/MOLECULE/improper_umbrella.cpp index 5259b6baf4135ed6b6fc3ffa9b3dc269acff85cc..1f2da63486fa549621c1204f870b9cdc0f73dc7b 100644 --- a/src/MOLECULE/improper_umbrella.cpp +++ b/src/MOLECULE/improper_umbrella.cpp @@ -276,10 +276,10 @@ void ImproperUmbrella::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi; - force->bounds(FLERR,arg[0],atom->nimpropertypes,ilo,ihi); + utils::bounds(FLERR,arg[0],1,atom->nimpropertypes,ilo,ihi,error); - double k_one = force->numeric(FLERR,arg[1]); - double w_one = force->numeric(FLERR,arg[2]); + double k_one = utils::numeric(FLERR,arg[1],false,lmp); + double w_one = utils::numeric(FLERR,arg[2],false,lmp); // convert w0 from degrees to radians diff --git a/src/MOLECULE/pair_hbond_dreiding_lj.cpp b/src/MOLECULE/pair_hbond_dreiding_lj.cpp index 647060eab795353440254b944b33d27376e81bd9..69ea81a0176b7705947649433c8ae8592fb1b29b 100644 --- a/src/MOLECULE/pair_hbond_dreiding_lj.cpp +++ b/src/MOLECULE/pair_hbond_dreiding_lj.cpp @@ -30,6 +30,7 @@ #include "math_special.h" #include "memory.h" #include "error.h" +#include "utils.h" using namespace LAMMPS_NS; using namespace MathConst; @@ -300,10 +301,10 @@ void PairHbondDreidingLJ::settings(int narg, char **arg) { if (narg != 4) error->all(FLERR,"Illegal pair_style command"); - ap_global = force->inumeric(FLERR,arg[0]); - cut_inner_global = force->numeric(FLERR,arg[1]); - cut_outer_global = force->numeric(FLERR,arg[2]); - cut_angle_global = force->numeric(FLERR,arg[3]) * MY_PI/180.0; + ap_global = utils::inumeric(FLERR,arg[0],false,lmp); + cut_inner_global = utils::numeric(FLERR,arg[1],false,lmp); + cut_outer_global = utils::numeric(FLERR,arg[2],false,lmp); + cut_angle_global = utils::numeric(FLERR,arg[3],false,lmp) * MY_PI/180.0; } /* ---------------------------------------------------------------------- @@ -317,30 +318,30 @@ void PairHbondDreidingLJ::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi,klo,khi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); - force->bounds(FLERR,arg[2],atom->ntypes,klo,khi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); + utils::bounds(FLERR,arg[2],1,atom->ntypes,klo,khi,error); int donor_flag; if (strcmp(arg[3],"i") == 0) donor_flag = 0; else if (strcmp(arg[3],"j") == 0) donor_flag = 1; else error->all(FLERR,"Incorrect args for pair coefficients"); - double epsilon_one = force->numeric(FLERR,arg[4]); - double sigma_one = force->numeric(FLERR,arg[5]); + double epsilon_one = utils::numeric(FLERR,arg[4],false,lmp); + double sigma_one = utils::numeric(FLERR,arg[5],false,lmp); int ap_one = ap_global; - if (narg > 6) ap_one = force->inumeric(FLERR,arg[6]); + if (narg > 6) ap_one = utils::inumeric(FLERR,arg[6],false,lmp); double cut_inner_one = cut_inner_global; double cut_outer_one = cut_outer_global; if (narg > 8) { - cut_inner_one = force->numeric(FLERR,arg[7]); - cut_outer_one = force->numeric(FLERR,arg[8]); + cut_inner_one = utils::numeric(FLERR,arg[7],false,lmp); + cut_outer_one = utils::numeric(FLERR,arg[8],false,lmp); } if (cut_inner_one>cut_outer_one) error->all(FLERR,"Pair inner cutoff >= Pair outer cutoff"); double cut_angle_one = cut_angle_global; - if (narg == 10) cut_angle_one = force->numeric(FLERR,arg[9]) * MY_PI/180.0; + if (narg == 10) cut_angle_one = utils::numeric(FLERR,arg[9],false,lmp) * MY_PI/180.0; // grow params array if necessary if (nparams == maxparam) { diff --git a/src/MOLECULE/pair_hbond_dreiding_morse.cpp b/src/MOLECULE/pair_hbond_dreiding_morse.cpp index 44eefc07fd7263d0e6276e6d3aec79bf9e3d68ca..8d6dfc7d68d8c88366d4d8ce216abe06234d3326 100644 --- a/src/MOLECULE/pair_hbond_dreiding_morse.cpp +++ b/src/MOLECULE/pair_hbond_dreiding_morse.cpp @@ -30,6 +30,7 @@ #include "math_special.h" #include "memory.h" #include "error.h" +#include "utils.h" using namespace LAMMPS_NS; using namespace MathConst; @@ -241,31 +242,31 @@ void PairHbondDreidingMorse::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi,klo,khi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); - force->bounds(FLERR,arg[2],atom->ntypes,klo,khi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); + utils::bounds(FLERR,arg[2],1,atom->ntypes,klo,khi,error); int donor_flag; if (strcmp(arg[3],"i") == 0) donor_flag = 0; else if (strcmp(arg[3],"j") == 0) donor_flag = 1; else error->all(FLERR,"Incorrect args for pair coefficients"); - double d0_one = force->numeric(FLERR,arg[4]); - double alpha_one = force->numeric(FLERR,arg[5]); - double r0_one = force->numeric(FLERR,arg[6]); + double d0_one = utils::numeric(FLERR,arg[4],false,lmp); + double alpha_one = utils::numeric(FLERR,arg[5],false,lmp); + double r0_one = utils::numeric(FLERR,arg[6],false,lmp); int ap_one = ap_global; - if (narg > 7) ap_one = force->inumeric(FLERR,arg[7]); + if (narg > 7) ap_one = utils::inumeric(FLERR,arg[7],false,lmp); double cut_inner_one = cut_inner_global; double cut_outer_one = cut_outer_global; if (narg > 9) { - cut_inner_one = force->numeric(FLERR,arg[8]); - cut_outer_one = force->numeric(FLERR,arg[9]); + cut_inner_one = utils::numeric(FLERR,arg[8],false,lmp); + cut_outer_one = utils::numeric(FLERR,arg[9],false,lmp); } if (cut_inner_one>cut_outer_one) error->all(FLERR,"Pair inner cutoff >= Pair outer cutoff"); double cut_angle_one = cut_angle_global; - if (narg > 10) cut_angle_one = force->numeric(FLERR,arg[10]) * MY_PI/180.0; + if (narg > 10) cut_angle_one = utils::numeric(FLERR,arg[10],false,lmp) * MY_PI/180.0; // grow params array if necessary diff --git a/src/MOLECULE/pair_lj_charmm_coul_charmm.cpp b/src/MOLECULE/pair_lj_charmm_coul_charmm.cpp index 0712f6be737c920e1dd704ff2bc29f5e15dfc3fb..f09f9a483acea6f6a4b37fb185af74f61dc49c7b 100644 --- a/src/MOLECULE/pair_lj_charmm_coul_charmm.cpp +++ b/src/MOLECULE/pair_lj_charmm_coul_charmm.cpp @@ -224,14 +224,14 @@ void PairLJCharmmCoulCharmm::settings(int narg, char **arg) if (narg != 2 && narg != 4) error->all(FLERR,"Illegal pair_style command"); - cut_lj_inner = force->numeric(FLERR,arg[0]); - cut_lj = force->numeric(FLERR,arg[1]); + cut_lj_inner = utils::numeric(FLERR,arg[0],false,lmp); + cut_lj = utils::numeric(FLERR,arg[1],false,lmp); if (narg == 2) { cut_coul_inner = cut_lj_inner; cut_coul = cut_lj; } else { - cut_coul_inner = force->numeric(FLERR,arg[2]); - cut_coul = force->numeric(FLERR,arg[3]); + cut_coul_inner = utils::numeric(FLERR,arg[2],false,lmp); + cut_coul = utils::numeric(FLERR,arg[3],false,lmp); } } @@ -246,16 +246,16 @@ void PairLJCharmmCoulCharmm::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); - double epsilon_one = force->numeric(FLERR,arg[2]); - double sigma_one = force->numeric(FLERR,arg[3]); + double epsilon_one = utils::numeric(FLERR,arg[2],false,lmp); + double sigma_one = utils::numeric(FLERR,arg[3],false,lmp); double eps14_one = epsilon_one; double sigma14_one = sigma_one; if (narg == 6) { - eps14_one = force->numeric(FLERR,arg[4]); - sigma14_one = force->numeric(FLERR,arg[5]); + eps14_one = utils::numeric(FLERR,arg[4],false,lmp); + sigma14_one = utils::numeric(FLERR,arg[5],false,lmp); } int count = 0; diff --git a/src/MOLECULE/pair_lj_charmmfsw_coul_charmmfsh.cpp b/src/MOLECULE/pair_lj_charmmfsw_coul_charmmfsh.cpp index 026b96c00cc1075a255072dbbcef2fa4b37e7fd9..e646392e0e29a4238798de98cbe93fd6ad93ee3b 100644 --- a/src/MOLECULE/pair_lj_charmmfsw_coul_charmmfsh.cpp +++ b/src/MOLECULE/pair_lj_charmmfsw_coul_charmmfsh.cpp @@ -250,12 +250,12 @@ void PairLJCharmmfswCoulCharmmfsh::settings(int narg, char **arg) if (narg != 2 && narg != 3) error->all(FLERR,"Illegal pair_style command"); - cut_lj_inner = force->numeric(FLERR,arg[0]); - cut_lj = force->numeric(FLERR,arg[1]); + cut_lj_inner = utils::numeric(FLERR,arg[0],false,lmp); + cut_lj = utils::numeric(FLERR,arg[1],false,lmp); if (narg == 2) { cut_coul = cut_lj; } else { - cut_coul = force->numeric(FLERR,arg[2]); + cut_coul = utils::numeric(FLERR,arg[2],false,lmp); } } @@ -270,16 +270,16 @@ void PairLJCharmmfswCoulCharmmfsh::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); - double epsilon_one = force->numeric(FLERR,arg[2]); - double sigma_one = force->numeric(FLERR,arg[3]); + double epsilon_one = utils::numeric(FLERR,arg[2],false,lmp); + double sigma_one = utils::numeric(FLERR,arg[3],false,lmp); double eps14_one = epsilon_one; double sigma14_one = sigma_one; if (narg == 6) { - eps14_one = force->numeric(FLERR,arg[4]); - sigma14_one = force->numeric(FLERR,arg[5]); + eps14_one = utils::numeric(FLERR,arg[4],false,lmp); + sigma14_one = utils::numeric(FLERR,arg[5],false,lmp); } int count = 0; diff --git a/src/MOLECULE/pair_lj_cut_tip4p_cut.cpp b/src/MOLECULE/pair_lj_cut_tip4p_cut.cpp index 673fb83066e891abc282d9eeec1ddef81ce053bd..b23195086c192b135649fcf6d30ab5e1a6244fd8 100644 --- a/src/MOLECULE/pair_lj_cut_tip4p_cut.cpp +++ b/src/MOLECULE/pair_lj_cut_tip4p_cut.cpp @@ -425,15 +425,15 @@ void PairLJCutTIP4PCut::settings(int narg, char **arg) { if (narg < 6 || narg > 7) error->all(FLERR,"Illegal pair_style command"); - typeO = force->inumeric(FLERR,arg[0]); - typeH = force->inumeric(FLERR,arg[1]); - typeB = force->inumeric(FLERR,arg[2]); - typeA = force->inumeric(FLERR,arg[3]); - qdist = force->numeric(FLERR,arg[4]); + typeO = utils::inumeric(FLERR,arg[0],false,lmp); + typeH = utils::inumeric(FLERR,arg[1],false,lmp); + typeB = utils::inumeric(FLERR,arg[2],false,lmp); + typeA = utils::inumeric(FLERR,arg[3],false,lmp); + qdist = utils::numeric(FLERR,arg[4],false,lmp); - cut_lj_global = force->numeric(FLERR,arg[5]); + cut_lj_global = utils::numeric(FLERR,arg[5],false,lmp); if (narg == 6) cut_coul = cut_lj_global; - else cut_coul = force->numeric(FLERR,arg[6]); + else cut_coul = utils::numeric(FLERR,arg[6],false,lmp); cut_coulsq = cut_coul * cut_coul; cut_coulsqplus = (cut_coul + 2.0*qdist) * (cut_coul + 2.0*qdist); @@ -457,14 +457,14 @@ void PairLJCutTIP4PCut::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); - double epsilon_one = force->numeric(FLERR,arg[2]); - double sigma_one = force->numeric(FLERR,arg[3]); + double epsilon_one = utils::numeric(FLERR,arg[2],false,lmp); + double sigma_one = utils::numeric(FLERR,arg[3],false,lmp); double cut_lj_one = cut_lj_global; - if (narg == 5) cut_lj_one = force->numeric(FLERR,arg[4]); + if (narg == 5) cut_lj_one = utils::numeric(FLERR,arg[4],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/MOLECULE/pair_tip4p_cut.cpp b/src/MOLECULE/pair_tip4p_cut.cpp index 334dbf89c8bc4ead54e6e343cbcb733a326dc37a..bea8acbcbcd6c50aa7b7d52e743f057060497241 100644 --- a/src/MOLECULE/pair_tip4p_cut.cpp +++ b/src/MOLECULE/pair_tip4p_cut.cpp @@ -373,12 +373,12 @@ void PairTIP4PCut::settings(int narg, char **arg) { if (narg != 6) error->all(FLERR,"Illegal pair_style command"); - typeO = force->inumeric(FLERR,arg[0]); - typeH = force->inumeric(FLERR,arg[1]); - typeB = force->inumeric(FLERR,arg[2]); - typeA = force->inumeric(FLERR,arg[3]); - qdist = force->numeric(FLERR,arg[4]); - cut_coul = force->numeric(FLERR,arg[5]); + typeO = utils::inumeric(FLERR,arg[0],false,lmp); + typeH = utils::inumeric(FLERR,arg[1],false,lmp); + typeB = utils::inumeric(FLERR,arg[2],false,lmp); + typeA = utils::inumeric(FLERR,arg[3],false,lmp); + qdist = utils::numeric(FLERR,arg[4],false,lmp); + cut_coul = utils::numeric(FLERR,arg[5],false,lmp); cut_coulsq = cut_coul * cut_coul; cut_coulsqplus = (cut_coul + 2.0*qdist) * (cut_coul + 2.0*qdist); @@ -395,8 +395,8 @@ void PairTIP4PCut::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/MSCG/fix_mscg.cpp b/src/MSCG/fix_mscg.cpp index caa9a528a7875963e644f9df52a4b35f63ad1cb5..9c9e415be5136dead7c279ca1a9199ddfbb98e07 100644 --- a/src/MSCG/fix_mscg.cpp +++ b/src/MSCG/fix_mscg.cpp @@ -43,7 +43,7 @@ FixMSCG::FixMSCG(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) { if (narg < 4) error->all(FLERR,"Illegal fix mscg command"); - nevery = force->inumeric(FLERR,arg[3]); + nevery = utils::inumeric(FLERR,arg[3],false,lmp); if (nevery <= 0) error->all(FLERR,"Illegal fix mscg command"); me = comm->me; diff --git a/src/Makefile b/src/Makefile index 4528c027cf91b426b9208510046190663a2b530e..8216d5164cd8d369c2283c3c4dfd5d8f410f964d 100644 --- a/src/Makefile +++ b/src/Makefile @@ -85,8 +85,8 @@ PACKUSERUC = $(call uppercase,$(PACKUSER)) YESDIR = $(call uppercase,$(@:yes-%=%)) NODIR = $(call uppercase,$(@:no-%=%)) -LIBDIR = $($(@:lib-%=%)) -LIBUSERDIR = $($(@:lib-user-%=%)) +LIBDIR = $(@:lib-%=%) +LIBUSERDIR = $(@:lib-user-%=%) # List of all targets diff --git a/src/PERI/pair_peri_eps.cpp b/src/PERI/pair_peri_eps.cpp index cae33fe580e7cbe703e41bc85a33b6a1b5736979..5e3a514b617ff4e9c4108fe115e9c0744b40835f 100644 --- a/src/PERI/pair_peri_eps.cpp +++ b/src/PERI/pair_peri_eps.cpp @@ -450,15 +450,15 @@ void PairPeriEPS::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); - - double bulkmodulus_one = force->numeric(FLERR,arg[2]); - double shearmodulus_one = force->numeric(FLERR,arg[3]); - double cut_one = force->numeric(FLERR,arg[4]); - double s00_one = force->numeric(FLERR,arg[5]); - double alpha_one = force->numeric(FLERR,arg[6]); - double myieldstress_one = force->numeric(FLERR,arg[7]); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); + + double bulkmodulus_one = utils::numeric(FLERR,arg[2],false,lmp); + double shearmodulus_one = utils::numeric(FLERR,arg[3],false,lmp); + double cut_one = utils::numeric(FLERR,arg[4],false,lmp); + double s00_one = utils::numeric(FLERR,arg[5],false,lmp); + double alpha_one = utils::numeric(FLERR,arg[6],false,lmp); + double myieldstress_one = utils::numeric(FLERR,arg[7],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/PERI/pair_peri_lps.cpp b/src/PERI/pair_peri_lps.cpp index 65c6c30e196580798b70e148b5a7fdf8601d5b19..e73e2eff677d2ff89bb46543582d1bd6379fda9c 100644 --- a/src/PERI/pair_peri_lps.cpp +++ b/src/PERI/pair_peri_lps.cpp @@ -378,14 +378,14 @@ void PairPeriLPS::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); - - double bulkmodulus_one = force->numeric(FLERR,arg[2]); - double shearmodulus_one = force->numeric(FLERR,arg[3]); - double cut_one = force->numeric(FLERR,arg[4]); - double s00_one = force->numeric(FLERR,arg[5]); - double alpha_one = force->numeric(FLERR,arg[6]); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); + + double bulkmodulus_one = utils::numeric(FLERR,arg[2],false,lmp); + double shearmodulus_one = utils::numeric(FLERR,arg[3],false,lmp); + double cut_one = utils::numeric(FLERR,arg[4],false,lmp); + double s00_one = utils::numeric(FLERR,arg[5],false,lmp); + double alpha_one = utils::numeric(FLERR,arg[6],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/PERI/pair_peri_pmb.cpp b/src/PERI/pair_peri_pmb.cpp index 7c900b5c4edb5687240f9ff9983bdd29200ceb6d..cf751885d6fc7569cdeaaaec1985590c2b6f1f3b 100644 --- a/src/PERI/pair_peri_pmb.cpp +++ b/src/PERI/pair_peri_pmb.cpp @@ -311,13 +311,13 @@ void PairPeriPMB::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); - double kspring_one = force->numeric(FLERR,arg[2]); - double cut_one = force->numeric(FLERR,arg[3]); - double s00_one = force->numeric(FLERR,arg[4]); - double alpha_one = force->numeric(FLERR,arg[5]); + double kspring_one = utils::numeric(FLERR,arg[2],false,lmp); + double cut_one = utils::numeric(FLERR,arg[3],false,lmp); + double s00_one = utils::numeric(FLERR,arg[4],false,lmp); + double alpha_one = utils::numeric(FLERR,arg[5],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/PERI/pair_peri_ves.cpp b/src/PERI/pair_peri_ves.cpp index ed9babf5edd3a5cf2e9e33d3e15c5add89b53697..138584123af1f3efa32dbb4641cd624c31fc5cc6 100644 --- a/src/PERI/pair_peri_ves.cpp +++ b/src/PERI/pair_peri_ves.cpp @@ -426,16 +426,16 @@ void PairPeriVES::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); - - double bulkmodulus_one = force->numeric(FLERR,arg[2]); - double shearmodulus_one = force->numeric(FLERR,arg[3]); - double cut_one = force->numeric(FLERR,arg[4]); - double s00_one = force->numeric(FLERR,arg[5]); - double alpha_one = force->numeric(FLERR,arg[6]); - double mlambdai_one = force->numeric(FLERR,arg[7]); - double mtaui_one = force->numeric(FLERR,arg[8]); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); + + double bulkmodulus_one = utils::numeric(FLERR,arg[2],false,lmp); + double shearmodulus_one = utils::numeric(FLERR,arg[3],false,lmp); + double cut_one = utils::numeric(FLERR,arg[4],false,lmp); + double s00_one = utils::numeric(FLERR,arg[5],false,lmp); + double alpha_one = utils::numeric(FLERR,arg[6],false,lmp); + double mlambdai_one = utils::numeric(FLERR,arg[7],false,lmp); + double mtaui_one = utils::numeric(FLERR,arg[8],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/PYTHON/fix_python_invoke.cpp b/src/PYTHON/fix_python_invoke.cpp index 57ea2e914870284828d957a504398b9d6c9e51a3..767c22c49634958769328ec70f68d505da3f1931 100644 --- a/src/PYTHON/fix_python_invoke.cpp +++ b/src/PYTHON/fix_python_invoke.cpp @@ -34,7 +34,7 @@ FixPythonInvoke::FixPythonInvoke(LAMMPS *lmp, int narg, char **arg) : { if (narg != 6) error->all(FLERR,"Illegal fix python/invoke command"); - nevery = force->inumeric(FLERR,arg[3]); + nevery = utils::inumeric(FLERR,arg[3],false,lmp); if (nevery <= 0) error->all(FLERR,"Illegal fix python/invoke command"); // ensure Python interpreter is initialized diff --git a/src/PYTHON/pair_python.cpp b/src/PYTHON/pair_python.cpp index 8fbb3e6f8b2a4906e3863e219fc5234488302a19..d0650bcb51a16063b1eed9af507d2bf4e3503e47 100644 --- a/src/PYTHON/pair_python.cpp +++ b/src/PYTHON/pair_python.cpp @@ -233,7 +233,7 @@ void PairPython::settings(int narg, char **arg) if (narg != 1) error->all(FLERR,"Illegal pair_style command"); - cut_global = force->numeric(FLERR,arg[0]); + cut_global = utils::numeric(FLERR,arg[0],false,lmp); } /* ---------------------------------------------------------------------- diff --git a/src/PYTHON/python_impl.cpp b/src/PYTHON/python_impl.cpp index b1183677d4d0082d06fff7a4106da9d2a7d643b5..b54abe28b0d144ec972ec2e01af494c6b8b9886d 100644 --- a/src/PYTHON/python_impl.cpp +++ b/src/PYTHON/python_impl.cpp @@ -148,7 +148,7 @@ void PythonImpl::command(int narg, char **arg) while (iarg < narg) { if (strcmp(arg[iarg],"input") == 0) { if (iarg+2 > narg) error->all(FLERR,"Invalid python command"); - ninput = force->inumeric(FLERR,arg[iarg+1]); + ninput = utils::inumeric(FLERR,arg[iarg+1],false,lmp); if (ninput < 0) error->all(FLERR,"Invalid python command"); iarg += 2; istr = new char*[ninput]; @@ -168,7 +168,7 @@ void PythonImpl::command(int narg, char **arg) iarg += 2; } else if (strcmp(arg[iarg],"length") == 0) { if (iarg+2 > narg) error->all(FLERR,"Invalid python command"); - length_longstr = force->inumeric(FLERR,arg[iarg+1]); + length_longstr = utils::inumeric(FLERR,arg[iarg+1],false,lmp); if (length_longstr <= 0) error->all(FLERR,"Invalid python command"); iarg += 2; } else if (strcmp(arg[iarg],"file") == 0) { @@ -433,7 +433,7 @@ int PythonImpl::create_entry(char *name) strcpy(pfuncs[ifunc].svalue[i],&istr[i][2]); } else { pfuncs[ifunc].ivarflag[i] = 0; - pfuncs[ifunc].ivalue[i] = force->inumeric(FLERR,istr[i]); + pfuncs[ifunc].ivalue[i] = utils::inumeric(FLERR,istr[i],false,lmp); } } else if (type == 'f') { pfuncs[ifunc].itype[i] = DOUBLE; @@ -444,7 +444,7 @@ int PythonImpl::create_entry(char *name) strcpy(pfuncs[ifunc].svalue[i],&istr[i][2]); } else { pfuncs[ifunc].ivarflag[i] = 0; - pfuncs[ifunc].dvalue[i] = force->numeric(FLERR,istr[i]); + pfuncs[ifunc].dvalue[i] = utils::numeric(FLERR,istr[i],false,lmp); } } else if (type == 's') { pfuncs[ifunc].itype[i] = STRING; diff --git a/src/QEQ/fix_qeq.cpp b/src/QEQ/fix_qeq.cpp index 63fa3caefef19beeacc5a450262c091fb79d38f6..ba4932a485a7adb74d5745afc920cb5997248c6f 100644 --- a/src/QEQ/fix_qeq.cpp +++ b/src/QEQ/fix_qeq.cpp @@ -45,10 +45,10 @@ FixQEq::FixQEq(LAMMPS *lmp, int narg, char **arg) : { if (narg < 8) error->all(FLERR,"Illegal fix qeq command"); - nevery = force->inumeric(FLERR,arg[3]); - cutoff = force->numeric(FLERR,arg[4]); - tolerance = force->numeric(FLERR,arg[5]); - maxiter = force->inumeric(FLERR,arg[6]); + nevery = utils::inumeric(FLERR,arg[3],false,lmp); + cutoff = utils::numeric(FLERR,arg[4],false,lmp); + tolerance = utils::numeric(FLERR,arg[5],false,lmp); + maxiter = utils::inumeric(FLERR,arg[6],false,lmp); // check for sane arguments if ((nevery <= 0) || (cutoff <= 0.0) || (tolerance <= 0.0) || (maxiter <= 0)) @@ -707,7 +707,7 @@ void FixQEq::read_file(char *file) FILE *fp; if (comm->me == 0) { - fp = force->open_potential(file); + fp = utils::open_potential(file,lmp,nullptr); if (fp == NULL) { char str[128]; snprintf(str,128,"Cannot open fix qeq parameter file %s",file); @@ -753,13 +753,13 @@ void FixQEq::read_file(char *file) n < 6; words[++n] = strtok(NULL," \t\n\r\f")); - force->bounds(FLERR,words[0],ntypes,nlo,nhi); + utils::bounds(FLERR,words[0],1,ntypes,nlo,nhi,error); for (n=nlo; n <=nhi; ++n) { - chi[n] = force->numeric(FLERR,words[1]); - eta[n] = force->numeric(FLERR,words[2]); - gamma[n] = force->numeric(FLERR,words[3]); - zeta[n] = force->numeric(FLERR,words[4]); - zcore[n] = force->numeric(FLERR,words[5]); + chi[n] = utils::numeric(FLERR,words[1],false,lmp); + eta[n] = utils::numeric(FLERR,words[2],false,lmp); + gamma[n] = utils::numeric(FLERR,words[3],false,lmp); + zeta[n] = utils::numeric(FLERR,words[4],false,lmp); + zcore[n] = utils::numeric(FLERR,words[5],false,lmp); setflag[n] = 1; } } diff --git a/src/REPLICA/compute_event_displace.cpp b/src/REPLICA/compute_event_displace.cpp index a6abcce85daf3ed103443cdb0be958cce5ccdf15..e130f85f5ffffc2c68fdf198898b37b2a9e341b3 100644 --- a/src/REPLICA/compute_event_displace.cpp +++ b/src/REPLICA/compute_event_displace.cpp @@ -40,7 +40,7 @@ ComputeEventDisplace::ComputeEventDisplace(LAMMPS *lmp, int narg, char **arg) : scalar_flag = 1; extscalar = 0; - double displace_dist = force->numeric(FLERR,arg[3]); + double displace_dist = utils::numeric(FLERR,arg[3],false,lmp); if (displace_dist <= 0.0) error->all(FLERR,"Distance must be > 0 for compute event/displace"); displace_distsq = displace_dist * displace_dist; diff --git a/src/REPLICA/fix_hyper_global.cpp b/src/REPLICA/fix_hyper_global.cpp index bc5df921c65f58296d017194b81067fdecc74e0b..16c37fcb77eb430f20ac93350934e1835889f40d 100644 --- a/src/REPLICA/fix_hyper_global.cpp +++ b/src/REPLICA/fix_hyper_global.cpp @@ -56,10 +56,10 @@ FixHyperGlobal::FixHyperGlobal(LAMMPS *lmp, int narg, char **arg) : extscalar = 0; extvector = 0; - cutbond = force->numeric(FLERR,arg[3]); - qfactor = force->numeric(FLERR,arg[4]); - vmax = force->numeric(FLERR,arg[5]); - tequil = force->numeric(FLERR,arg[6]); + cutbond = utils::numeric(FLERR,arg[3],false,lmp); + qfactor = utils::numeric(FLERR,arg[4],false,lmp); + vmax = utils::numeric(FLERR,arg[5],false,lmp); + tequil = utils::numeric(FLERR,arg[6],false,lmp); if (cutbond < 0.0 || qfactor <= 0.0 || vmax < 0.0 || tequil <= 0.0) error->all(FLERR,"Illegal fix hyper/global command"); diff --git a/src/REPLICA/fix_hyper_local.cpp b/src/REPLICA/fix_hyper_local.cpp index d5311fc37d1626e09f236926e3d6a65014ae254b..9e3ce9b00d6ad8f0c53d4ad130d7310fb5609ecb 100644 --- a/src/REPLICA/fix_hyper_local.cpp +++ b/src/REPLICA/fix_hyper_local.cpp @@ -75,13 +75,13 @@ FixHyperLocal::FixHyperLocal(LAMMPS *lmp, int narg, char **arg) : extscalar = 0; extvector = 0; - cutbond = force->numeric(FLERR,arg[3]); - qfactor = force->numeric(FLERR,arg[4]); - vmax = force->numeric(FLERR,arg[5]); - tequil = force->numeric(FLERR,arg[6]); - dcut = force->numeric(FLERR,arg[7]); - alpha_user = force->numeric(FLERR,arg[8]); - boost_target = force->numeric(FLERR,arg[9]); + cutbond = utils::numeric(FLERR,arg[3],false,lmp); + qfactor = utils::numeric(FLERR,arg[4],false,lmp); + vmax = utils::numeric(FLERR,arg[5],false,lmp); + tequil = utils::numeric(FLERR,arg[6],false,lmp); + dcut = utils::numeric(FLERR,arg[7],false,lmp); + alpha_user = utils::numeric(FLERR,arg[8],false,lmp); + boost_target = utils::numeric(FLERR,arg[9],false,lmp); if (cutbond < 0.0 || qfactor < 0.0 || vmax < 0.0 || tequil <= 0.0 || dcut <= 0.0 || alpha_user <= 0.0 || boost_target < 1.0) @@ -105,13 +105,13 @@ FixHyperLocal::FixHyperLocal(LAMMPS *lmp, int narg, char **arg) : while (iarg < narg) { if (strcmp(arg[iarg],"bound") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix hyper/local command"); - boundfrac = force->numeric(FLERR,arg[iarg+1]); + boundfrac = utils::numeric(FLERR,arg[iarg+1],false,lmp); if (boundfrac < 0.0) boundflag = 0; else boundflag = 1; iarg += 2; } else if (strcmp(arg[iarg],"reset") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix hyper/local command"); - resetfreq = force->inumeric(FLERR,arg[iarg+1]); + resetfreq = utils::inumeric(FLERR,arg[iarg+1],false,lmp); if (resetfreq < -1) error->all(FLERR,"Illegal fix hyper/local command"); iarg += 2; } else if (strcmp(arg[iarg],"check/ghost") == 0) { @@ -120,7 +120,7 @@ FixHyperLocal::FixHyperLocal(LAMMPS *lmp, int narg, char **arg) : } else if (strcmp(arg[iarg],"check/bias") == 0) { if (iarg+3 > narg) error->all(FLERR,"Illegal fix hyper/local command"); checkbias = 1; - checkbias_every = force->inumeric(FLERR,arg[iarg+1]); + checkbias_every = utils::inumeric(FLERR,arg[iarg+1],false,lmp); if (strcmp(arg[iarg+2],"error") == 0) checkbias_flag = ERROR; else if (strcmp(arg[iarg+2],"warn") == 0) checkbias_flag = WARN; else if (strcmp(arg[iarg+2],"ignore") == 0) checkbias_flag = IGNORE; diff --git a/src/REPLICA/fix_neb.cpp b/src/REPLICA/fix_neb.cpp index b3af01fda49320951b4af95c37037c01e77e78be..93689eb7f9346e5383bd76e4c8024d4ccb8abee5 100644 --- a/src/REPLICA/fix_neb.cpp +++ b/src/REPLICA/fix_neb.cpp @@ -56,7 +56,7 @@ FixNEB::FixNEB(LAMMPS *lmp, int narg, char **arg) : if (narg < 4) error->all(FLERR,"Illegal fix neb command"); - kspring = force->numeric(FLERR,arg[3]); + kspring = utils::numeric(FLERR,arg[3],false,lmp); if (kspring <= 0.0) error->all(FLERR,"Illegal fix neb command"); // optional params @@ -85,7 +85,7 @@ FixNEB::FixNEB(LAMMPS *lmp, int narg, char **arg) : } else if (strcmp(arg[iarg],"perp") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix neb command"); PerpSpring = true; - kspringPerp = force->numeric(FLERR,arg[iarg+1]); + kspringPerp = utils::numeric(FLERR,arg[iarg+1],false,lmp); if (kspringPerp == 0.0) PerpSpring = false; if (kspringPerp < 0.0) error->all(FLERR,"Illegal fix neb command"); iarg += 2; @@ -94,22 +94,22 @@ FixNEB::FixNEB(LAMMPS *lmp, int narg, char **arg) : if (iarg+3 > narg) error->all(FLERR,"Illegal fix neb command"); if (strcmp(arg[iarg+1],"first") == 0) { FreeEndIni = true; - kspringIni = force->numeric(FLERR,arg[iarg+2]); + kspringIni = utils::numeric(FLERR,arg[iarg+2],false,lmp); } else if (strcmp(arg[iarg+1],"last") == 0) { FreeEndFinal = true; FinalAndInterWithRespToEIni = false; FreeEndFinalWithRespToEIni = false; - kspringFinal = force->numeric(FLERR,arg[iarg+2]); + kspringFinal = utils::numeric(FLERR,arg[iarg+2],false,lmp); } else if (strcmp(arg[iarg+1],"last/efirst") == 0) { FreeEndFinal = false; FinalAndInterWithRespToEIni = false; FreeEndFinalWithRespToEIni = true; - kspringFinal = force->numeric(FLERR,arg[iarg+2]); + kspringFinal = utils::numeric(FLERR,arg[iarg+2],false,lmp); } else if (strcmp(arg[iarg+1],"last/efirst/middle") == 0) { FreeEndFinal = false; FinalAndInterWithRespToEIni = true; FreeEndFinalWithRespToEIni = true; - kspringFinal = force->numeric(FLERR,arg[iarg+2]); + kspringFinal = utils::numeric(FLERR,arg[iarg+2],false,lmp); } else error->all(FLERR,"Illegal fix neb command"); iarg += 3; diff --git a/src/REPLICA/hyper.cpp b/src/REPLICA/hyper.cpp index 6a2891dee1ad0717601576bc0038ca834ddf137f..1e78326fbde9be16bf17dadb116b2171e17392ca 100644 --- a/src/REPLICA/hyper.cpp +++ b/src/REPLICA/hyper.cpp @@ -59,8 +59,8 @@ void Hyper::command(int narg, char **arg) if (narg < 4) error->all(FLERR,"Illegal hyper command"); - int nsteps = force->inumeric(FLERR,arg[0]); - t_event = force->inumeric(FLERR,arg[1]); + int nsteps = utils::inumeric(FLERR,arg[0],false,lmp); + t_event = utils::inumeric(FLERR,arg[1],false,lmp); char *id_fix = new char[strlen(arg[2])+1]; strcpy(id_fix,arg[2]); @@ -459,10 +459,10 @@ void Hyper::options(int narg, char **arg) while (iarg < narg) { if (strcmp(arg[iarg],"min") == 0) { if (iarg+5 > narg) error->all(FLERR,"Illegal hyper command"); - etol = force->numeric(FLERR,arg[iarg+1]); - ftol = force->numeric(FLERR,arg[iarg+2]); - maxiter = force->inumeric(FLERR,arg[iarg+3]); - maxeval = force->inumeric(FLERR,arg[iarg+4]); + etol = utils::numeric(FLERR,arg[iarg+1],false,lmp); + ftol = utils::numeric(FLERR,arg[iarg+2],false,lmp); + maxiter = utils::inumeric(FLERR,arg[iarg+3],false,lmp); + maxeval = utils::inumeric(FLERR,arg[iarg+4],false,lmp); if (maxiter < 0) error->all(FLERR,"Illegal hyper command"); iarg += 5; @@ -478,7 +478,7 @@ void Hyper::options(int narg, char **arg) } else if (strcmp(arg[iarg],"rebond") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal hyper command"); - rebond = force->inumeric(FLERR,arg[iarg+1]); + rebond = utils::inumeric(FLERR,arg[iarg+1],false,lmp); iarg += 2; } else error->all(FLERR,"Illegal hyper command"); diff --git a/src/REPLICA/neb.cpp b/src/REPLICA/neb.cpp index 5a1f942815c0857e8c4c0494c358cfcb97088599..34b5cf40fed828cfa8c8f7cb2fae4be6c10e1570 100644 --- a/src/REPLICA/neb.cpp +++ b/src/REPLICA/neb.cpp @@ -110,11 +110,11 @@ void NEB::command(int narg, char **arg) if (narg < 6) error->universe_all(FLERR,"Illegal NEB command"); - etol = force->numeric(FLERR,arg[0]); - ftol = force->numeric(FLERR,arg[1]); - n1steps = force->inumeric(FLERR,arg[2]); - n2steps = force->inumeric(FLERR,arg[3]); - nevery = force->inumeric(FLERR,arg[4]); + etol = utils::numeric(FLERR,arg[0],false,lmp); + ftol = utils::numeric(FLERR,arg[1],false,lmp); + n1steps = utils::inumeric(FLERR,arg[2],false,lmp); + n2steps = utils::inumeric(FLERR,arg[3],false,lmp); + nevery = utils::inumeric(FLERR,arg[4],false,lmp); // error checks diff --git a/src/REPLICA/prd.cpp b/src/REPLICA/prd.cpp index 633fcefc80c63c6494ba0b6fedde1d320201081d..796cf01681f8b9473b08cb7919e5758245f89fec 100644 --- a/src/REPLICA/prd.cpp +++ b/src/REPLICA/prd.cpp @@ -74,15 +74,15 @@ void PRD::command(int narg, char **arg) // read as double so can cast to bigint - int nsteps = force->inumeric(FLERR,arg[0]); - t_event = force->inumeric(FLERR,arg[1]); - n_dephase = force->inumeric(FLERR,arg[2]); - t_dephase = force->inumeric(FLERR,arg[3]); - t_corr = force->inumeric(FLERR,arg[4]); + int nsteps = utils::inumeric(FLERR,arg[0],false,lmp); + t_event = utils::inumeric(FLERR,arg[1],false,lmp); + n_dephase = utils::inumeric(FLERR,arg[2],false,lmp); + t_dephase = utils::inumeric(FLERR,arg[3],false,lmp); + t_corr = utils::inumeric(FLERR,arg[4],false,lmp); char *id_compute = new char[strlen(arg[5])+1]; strcpy(id_compute,arg[5]); - int seed = force->inumeric(FLERR,arg[6]); + int seed = utils::inumeric(FLERR,arg[6],false,lmp); options(narg-7,&arg[7]); @@ -892,17 +892,17 @@ void PRD::options(int narg, char **arg) while (iarg < narg) { if (strcmp(arg[iarg],"min") == 0) { if (iarg+5 > narg) error->all(FLERR,"Illegal prd command"); - etol = force->numeric(FLERR,arg[iarg+1]); - ftol = force->numeric(FLERR,arg[iarg+2]); - maxiter = force->inumeric(FLERR,arg[iarg+3]); - maxeval = force->inumeric(FLERR,arg[iarg+4]); + etol = utils::numeric(FLERR,arg[iarg+1],false,lmp); + ftol = utils::numeric(FLERR,arg[iarg+2],false,lmp); + maxiter = utils::inumeric(FLERR,arg[iarg+3],false,lmp); + maxeval = utils::inumeric(FLERR,arg[iarg+4],false,lmp); if (maxiter < 0) error->all(FLERR,"Illegal prd command"); iarg += 5; } else if (strcmp(arg[iarg],"temp") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal prd command"); temp_flag = 1; - temp_dephase = force->numeric(FLERR,arg[iarg+1]); + temp_dephase = utils::numeric(FLERR,arg[iarg+1],false,lmp); if (temp_dephase <= 0.0) error->all(FLERR,"Illegal prd command"); iarg += 2; diff --git a/src/REPLICA/tad.cpp b/src/REPLICA/tad.cpp index a629ee6b0486b230aeaf24a62b315fbc97c19102..fba753d602fedd843e10608a9d7a6e53fe0be305 100644 --- a/src/REPLICA/tad.cpp +++ b/src/REPLICA/tad.cpp @@ -82,12 +82,12 @@ void TAD::command(int narg, char **arg) if (narg < 7) error->universe_all(FLERR,"Illegal tad command"); - nsteps = force->inumeric(FLERR,arg[0]); - t_event = force->inumeric(FLERR,arg[1]); - templo = force->numeric(FLERR,arg[2]); - temphi = force->numeric(FLERR,arg[3]); - delta_conf = force->numeric(FLERR,arg[4]); - tmax = force->numeric(FLERR,arg[5]); + nsteps = utils::inumeric(FLERR,arg[0],false,lmp); + t_event = utils::inumeric(FLERR,arg[1],false,lmp); + templo = utils::numeric(FLERR,arg[2],false,lmp); + temphi = utils::numeric(FLERR,arg[3],false,lmp); + delta_conf = utils::numeric(FLERR,arg[4],false,lmp); + tmax = utils::numeric(FLERR,arg[5],false,lmp); char *id_compute = new char[strlen(arg[6])+1]; strcpy(id_compute,arg[6]); @@ -592,10 +592,10 @@ void TAD::options(int narg, char **arg) while (iarg < narg) { if (strcmp(arg[iarg],"min") == 0) { if (iarg+5 > narg) error->all(FLERR,"Illegal tad command"); - etol = force->numeric(FLERR,arg[iarg+1]); - ftol = force->numeric(FLERR,arg[iarg+2]); - maxiter = force->inumeric(FLERR,arg[iarg+3]); - maxeval = force->inumeric(FLERR,arg[iarg+4]); + etol = utils::numeric(FLERR,arg[iarg+1],false,lmp); + ftol = utils::numeric(FLERR,arg[iarg+2],false,lmp); + maxiter = utils::inumeric(FLERR,arg[iarg+3],false,lmp); + maxeval = utils::inumeric(FLERR,arg[iarg+4],false,lmp); if (maxiter < 0 || maxeval < 0 || etol < 0.0 || ftol < 0.0 ) error->all(FLERR,"Illegal tad command"); @@ -603,11 +603,11 @@ void TAD::options(int narg, char **arg) } else if (strcmp(arg[iarg],"neb") == 0) { if (iarg+6 > narg) error->all(FLERR,"Illegal tad command"); - etol_neb = force->numeric(FLERR,arg[iarg+1]); - ftol_neb = force->numeric(FLERR,arg[iarg+2]); - n1steps_neb = force->inumeric(FLERR,arg[iarg+3]); - n2steps_neb = force->inumeric(FLERR,arg[iarg+4]); - nevery_neb = force->inumeric(FLERR,arg[iarg+5]); + etol_neb = utils::numeric(FLERR,arg[iarg+1],false,lmp); + ftol_neb = utils::numeric(FLERR,arg[iarg+2],false,lmp); + n1steps_neb = utils::inumeric(FLERR,arg[iarg+3],false,lmp); + n2steps_neb = utils::inumeric(FLERR,arg[iarg+4],false,lmp); + nevery_neb = utils::inumeric(FLERR,arg[iarg+5],false,lmp); if (etol_neb < 0.0 || ftol_neb < 0.0 || n1steps_neb < 0 || n2steps_neb < 0 || nevery_neb < 0) error->all(FLERR,"Illegal tad command"); @@ -623,7 +623,7 @@ void TAD::options(int narg, char **arg) } else if (strcmp(arg[iarg],"neb_step") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal tad command"); - dt_neb = force->numeric(FLERR,arg[iarg+1]); + dt_neb = utils::numeric(FLERR,arg[iarg+1],false,lmp); if (dt_neb <= 0.0) error->all(FLERR,"Illegal tad command"); iarg += 2; diff --git a/src/REPLICA/temper.cpp b/src/REPLICA/temper.cpp index a4c67108d3d7e707e2deec29e79150a90688efff..a7ad4c068b465eb20e9eb028127121607bbbf9ac 100644 --- a/src/REPLICA/temper.cpp +++ b/src/REPLICA/temper.cpp @@ -67,9 +67,9 @@ void Temper::command(int narg, char **arg) if (narg != 6 && narg != 7) error->universe_all(FLERR,"Illegal temper command"); - int nsteps = force->inumeric(FLERR,arg[0]); - nevery = force->inumeric(FLERR,arg[1]); - double temp = force->numeric(FLERR,arg[2]); + int nsteps = utils::inumeric(FLERR,arg[0],false,lmp); + nevery = utils::inumeric(FLERR,arg[1],false,lmp); + double temp = utils::numeric(FLERR,arg[2],false,lmp); // ignore temper command, if walltime limit was already reached @@ -80,11 +80,11 @@ void Temper::command(int narg, char **arg) if (whichfix == modify->nfix) error->universe_all(FLERR,"Tempering fix ID is not defined"); - seed_swap = force->inumeric(FLERR,arg[4]); - seed_boltz = force->inumeric(FLERR,arg[5]); + seed_swap = utils::inumeric(FLERR,arg[4],false,lmp); + seed_boltz = utils::inumeric(FLERR,arg[5],false,lmp); my_set_temp = universe->iworld; - if (narg == 7) my_set_temp = force->inumeric(FLERR,arg[6]); + if (narg == 7) my_set_temp = utils::inumeric(FLERR,arg[6],false,lmp); if ((my_set_temp < 0) || (my_set_temp >= universe->nworlds)) error->universe_one(FLERR,"Illegal temperature index"); diff --git a/src/RIGID/fix_ehex.cpp b/src/RIGID/fix_ehex.cpp index a5efc22d11b44b762a468e06418249dee7904f29..03119d304eac86947777f44bb64fd9136a73abde 100644 --- a/src/RIGID/fix_ehex.cpp +++ b/src/RIGID/fix_ehex.cpp @@ -59,13 +59,13 @@ FixEHEX::FixEHEX(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg), // apply fix every nevery timesteps - nevery = force->inumeric(FLERR,arg[3]); + nevery = utils::inumeric(FLERR,arg[3],false,lmp); if (nevery <= 0) error->all(FLERR,"Illegal fix ehex command"); // heat flux into the reservoir - heat_input = force->numeric(FLERR,arg[4]); + heat_input = utils::numeric(FLERR,arg[4],false,lmp); // optional args diff --git a/src/RIGID/fix_rigid.cpp b/src/RIGID/fix_rigid.cpp index 0d15f220907ad93d0c9597a6e31a45772ec4b586..761b9572928de6b28fa1eee243510c9135bf21a5 100644 --- a/src/RIGID/fix_rigid.cpp +++ b/src/RIGID/fix_rigid.cpp @@ -226,7 +226,7 @@ FixRigid::FixRigid(LAMMPS *lmp, int narg, char **arg) : } else if (strcmp(arg[3],"group") == 0) { if (narg < 5) error->all(FLERR,"Illegal fix rigid command"); rstyle = GROUP; - nbody = force->inumeric(FLERR,arg[4]); + nbody = utils::inumeric(FLERR,arg[4],false,lmp); if (nbody <= 0) error->all(FLERR,"Illegal fix rigid command"); if (narg < 5+nbody) error->all(FLERR,"Illegal fix rigid command"); iarg = 5+nbody; @@ -340,7 +340,7 @@ FixRigid::FixRigid(LAMMPS *lmp, int narg, char **arg) : if (iarg+5 > narg) error->all(FLERR,"Illegal fix rigid command"); int mlo,mhi; - force->bounds(FLERR,arg[iarg+1],nbody,mlo,mhi); + utils::bounds(FLERR,arg[iarg+1],1,nbody,mlo,mhi,error); double xflag,yflag,zflag; if (strcmp(arg[iarg+2],"off") == 0) xflag = 0.0; @@ -371,7 +371,7 @@ FixRigid::FixRigid(LAMMPS *lmp, int narg, char **arg) : if (iarg+5 > narg) error->all(FLERR,"Illegal fix rigid command"); int mlo,mhi; - force->bounds(FLERR,arg[iarg+1],nbody,mlo,mhi); + utils::bounds(FLERR,arg[iarg+1],1,nbody,mlo,mhi,error); double xflag,yflag,zflag; if (strcmp(arg[iarg+2],"off") == 0) xflag = 0.0; @@ -404,10 +404,10 @@ FixRigid::FixRigid(LAMMPS *lmp, int narg, char **arg) : strcmp(style,"rigid/omp") != 0 && strcmp(style,"rigid/nve/omp") != 0) error->all(FLERR,"Illegal fix rigid command"); langflag = 1; - t_start = force->numeric(FLERR,arg[iarg+1]); - t_stop = force->numeric(FLERR,arg[iarg+2]); - t_period = force->numeric(FLERR,arg[iarg+3]); - seed = force->inumeric(FLERR,arg[iarg+4]); + t_start = utils::numeric(FLERR,arg[iarg+1],false,lmp); + t_stop = utils::numeric(FLERR,arg[iarg+2],false,lmp); + t_period = utils::numeric(FLERR,arg[iarg+3],false,lmp); + seed = utils::inumeric(FLERR,arg[iarg+4],false,lmp); if (t_period <= 0.0) error->all(FLERR,"Fix rigid langevin period must be > 0.0"); if (seed <= 0) error->all(FLERR,"Illegal fix rigid command"); @@ -418,9 +418,9 @@ FixRigid::FixRigid(LAMMPS *lmp, int narg, char **arg) : if (!utils::strmatch(style,"^rigid/n.t")) error->all(FLERR,"Illegal fix rigid command"); tstat_flag = 1; - t_start = force->numeric(FLERR,arg[iarg+1]); - t_stop = force->numeric(FLERR,arg[iarg+2]); - t_period = force->numeric(FLERR,arg[iarg+3]); + t_start = utils::numeric(FLERR,arg[iarg+1],false,lmp); + t_stop = utils::numeric(FLERR,arg[iarg+2],false,lmp); + t_period = utils::numeric(FLERR,arg[iarg+3],false,lmp); iarg += 4; } else if (strcmp(arg[iarg],"iso") == 0) { @@ -428,10 +428,10 @@ FixRigid::FixRigid(LAMMPS *lmp, int narg, char **arg) : if (!utils::strmatch(style,"^rigid/np.")) error->all(FLERR,"Illegal fix rigid command"); pcouple = XYZ; - p_start[0] = p_start[1] = p_start[2] = force->numeric(FLERR,arg[iarg+1]); - p_stop[0] = p_stop[1] = p_stop[2] = force->numeric(FLERR,arg[iarg+2]); + p_start[0] = p_start[1] = p_start[2] = utils::numeric(FLERR,arg[iarg+1],false,lmp); + p_stop[0] = p_stop[1] = p_stop[2] = utils::numeric(FLERR,arg[iarg+2],false,lmp); p_period[0] = p_period[1] = p_period[2] = - force->numeric(FLERR,arg[iarg+3]); + utils::numeric(FLERR,arg[iarg+3],false,lmp); p_flag[0] = p_flag[1] = p_flag[2] = 1; if (dimension == 2) { p_start[2] = p_stop[2] = p_period[2] = 0.0; @@ -443,10 +443,10 @@ FixRigid::FixRigid(LAMMPS *lmp, int narg, char **arg) : if (iarg+4 > narg) error->all(FLERR,"Illegal fix rigid command"); if (!utils::strmatch(style,"^rigid/np.")) error->all(FLERR,"Illegal fix rigid command"); - p_start[0] = p_start[1] = p_start[2] = force->numeric(FLERR,arg[iarg+1]); - p_stop[0] = p_stop[1] = p_stop[2] = force->numeric(FLERR,arg[iarg+2]); + p_start[0] = p_start[1] = p_start[2] = utils::numeric(FLERR,arg[iarg+1],false,lmp); + p_stop[0] = p_stop[1] = p_stop[2] = utils::numeric(FLERR,arg[iarg+2],false,lmp); p_period[0] = p_period[1] = p_period[2] = - force->numeric(FLERR,arg[iarg+3]); + utils::numeric(FLERR,arg[iarg+3],false,lmp); p_flag[0] = p_flag[1] = p_flag[2] = 1; if (dimension == 2) { p_start[2] = p_stop[2] = p_period[2] = 0.0; @@ -458,9 +458,9 @@ FixRigid::FixRigid(LAMMPS *lmp, int narg, char **arg) : if (iarg+4 > narg) error->all(FLERR,"Illegal fix rigid command"); if (!utils::strmatch(style,"^rigid/np.")) error->all(FLERR,"Illegal fix rigid command"); - p_start[0] = force->numeric(FLERR,arg[iarg+1]); - p_stop[0] = force->numeric(FLERR,arg[iarg+2]); - p_period[0] = force->numeric(FLERR,arg[iarg+3]); + p_start[0] = utils::numeric(FLERR,arg[iarg+1],false,lmp); + p_stop[0] = utils::numeric(FLERR,arg[iarg+2],false,lmp); + p_period[0] = utils::numeric(FLERR,arg[iarg+3],false,lmp); p_flag[0] = 1; iarg += 4; @@ -468,9 +468,9 @@ FixRigid::FixRigid(LAMMPS *lmp, int narg, char **arg) : if (iarg+4 > narg) error->all(FLERR,"Illegal fix rigid command"); if (!utils::strmatch(style,"^rigid/np.")) error->all(FLERR,"Illegal fix rigid command"); - p_start[1] = force->numeric(FLERR,arg[iarg+1]); - p_stop[1] = force->numeric(FLERR,arg[iarg+2]); - p_period[1] = force->numeric(FLERR,arg[iarg+3]); + p_start[1] = utils::numeric(FLERR,arg[iarg+1],false,lmp); + p_stop[1] = utils::numeric(FLERR,arg[iarg+2],false,lmp); + p_period[1] = utils::numeric(FLERR,arg[iarg+3],false,lmp); p_flag[1] = 1; iarg += 4; @@ -478,9 +478,9 @@ FixRigid::FixRigid(LAMMPS *lmp, int narg, char **arg) : if (iarg+4 > narg) error->all(FLERR,"Illegal fix rigid command"); if (!utils::strmatch(style,"^rigid/np.")) error->all(FLERR,"Illegal fix rigid command"); - p_start[2] = force->numeric(FLERR,arg[iarg+1]); - p_stop[2] = force->numeric(FLERR,arg[iarg+2]); - p_period[2] = force->numeric(FLERR,arg[iarg+3]); + p_start[2] = utils::numeric(FLERR,arg[iarg+1],false,lmp); + p_stop[2] = utils::numeric(FLERR,arg[iarg+2],false,lmp); + p_period[2] = utils::numeric(FLERR,arg[iarg+3],false,lmp); p_flag[2] = 1; iarg += 4; @@ -515,16 +515,16 @@ FixRigid::FixRigid(LAMMPS *lmp, int narg, char **arg) : if (iarg+4 > narg) error->all(FLERR,"Illegal fix rigid command"); if (!utils::strmatch(style,"^rigid/n.t")) error->all(FLERR,"Illegal fix rigid command"); - t_chain = force->inumeric(FLERR,arg[iarg+1]); - t_iter = force->inumeric(FLERR,arg[iarg+2]); - t_order = force->inumeric(FLERR,arg[iarg+3]); + t_chain = utils::inumeric(FLERR,arg[iarg+1],false,lmp); + t_iter = utils::inumeric(FLERR,arg[iarg+2],false,lmp); + t_order = utils::inumeric(FLERR,arg[iarg+3],false,lmp); iarg += 4; } else if (strcmp(arg[iarg],"pchain") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix rigid command"); if (!utils::strmatch(style,"^rigid/np.")) error->all(FLERR,"Illegal fix rigid command"); - p_chain = force->inumeric(FLERR,arg[iarg+1]); + p_chain = utils::inumeric(FLERR,arg[iarg+1],false,lmp); iarg += 2; } else if (strcmp(arg[iarg],"infile") == 0) { diff --git a/src/RIGID/fix_rigid_small.cpp b/src/RIGID/fix_rigid_small.cpp index f12c53bf3ac3a4f7e0d2659ec86c25d3d11bf9cc..01dd9e889e3647b41d6ae7411b03c7f50cec72e0 100644 --- a/src/RIGID/fix_rigid_small.cpp +++ b/src/RIGID/fix_rigid_small.cpp @@ -210,10 +210,10 @@ FixRigidSmall::FixRigidSmall(LAMMPS *lmp, int narg, char **arg) : (strcmp(style,"rigid/nph/small") != 0)) error->all(FLERR,"Illegal fix rigid/small command"); langflag = 1; - t_start = force->numeric(FLERR,arg[iarg+1]); - t_stop = force->numeric(FLERR,arg[iarg+2]); - t_period = force->numeric(FLERR,arg[iarg+3]); - seed = force->inumeric(FLERR,arg[iarg+4]); + t_start = utils::numeric(FLERR,arg[iarg+1],false,lmp); + t_stop = utils::numeric(FLERR,arg[iarg+2],false,lmp); + t_period = utils::numeric(FLERR,arg[iarg+3],false,lmp); + seed = utils::inumeric(FLERR,arg[iarg+4],false,lmp); if (t_period <= 0.0) error->all(FLERR,"Fix rigid/small langevin period must be > 0.0"); if (seed <= 0) error->all(FLERR,"Illegal fix rigid/small command"); @@ -252,9 +252,9 @@ FixRigidSmall::FixRigidSmall(LAMMPS *lmp, int narg, char **arg) : if (!utils::strmatch(style,"^rigid/n.t/small")) error->all(FLERR,"Illegal fix rigid command"); tstat_flag = 1; - t_start = force->numeric(FLERR,arg[iarg+1]); - t_stop = force->numeric(FLERR,arg[iarg+2]); - t_period = force->numeric(FLERR,arg[iarg+3]); + t_start = utils::numeric(FLERR,arg[iarg+1],false,lmp); + t_stop = utils::numeric(FLERR,arg[iarg+2],false,lmp); + t_period = utils::numeric(FLERR,arg[iarg+3],false,lmp); iarg += 4; } else if (strcmp(arg[iarg],"iso") == 0) { @@ -262,10 +262,10 @@ FixRigidSmall::FixRigidSmall(LAMMPS *lmp, int narg, char **arg) : if (!utils::strmatch(style,"^rigid/np./small")) error->all(FLERR,"Illegal fix rigid/small command"); pcouple = XYZ; - p_start[0] = p_start[1] = p_start[2] = force->numeric(FLERR,arg[iarg+1]); - p_stop[0] = p_stop[1] = p_stop[2] = force->numeric(FLERR,arg[iarg+2]); + p_start[0] = p_start[1] = p_start[2] = utils::numeric(FLERR,arg[iarg+1],false,lmp); + p_stop[0] = p_stop[1] = p_stop[2] = utils::numeric(FLERR,arg[iarg+2],false,lmp); p_period[0] = p_period[1] = p_period[2] = - force->numeric(FLERR,arg[iarg+3]); + utils::numeric(FLERR,arg[iarg+3],false,lmp); p_flag[0] = p_flag[1] = p_flag[2] = 1; if (domain->dimension == 2) { p_start[2] = p_stop[2] = p_period[2] = 0.0; @@ -277,10 +277,10 @@ FixRigidSmall::FixRigidSmall(LAMMPS *lmp, int narg, char **arg) : if (iarg+4 > narg) error->all(FLERR,"Illegal fix rigid/small command"); if (!utils::strmatch(style,"^rigid/np./small")) error->all(FLERR,"Illegal fix rigid/small command"); - p_start[0] = p_start[1] = p_start[2] = force->numeric(FLERR,arg[iarg+1]); - p_stop[0] = p_stop[1] = p_stop[2] = force->numeric(FLERR,arg[iarg+2]); + p_start[0] = p_start[1] = p_start[2] = utils::numeric(FLERR,arg[iarg+1],false,lmp); + p_stop[0] = p_stop[1] = p_stop[2] = utils::numeric(FLERR,arg[iarg+2],false,lmp); p_period[0] = p_period[1] = p_period[2] = - force->numeric(FLERR,arg[iarg+3]); + utils::numeric(FLERR,arg[iarg+3],false,lmp); p_flag[0] = p_flag[1] = p_flag[2] = 1; if (domain->dimension == 2) { p_start[2] = p_stop[2] = p_period[2] = 0.0; @@ -292,9 +292,9 @@ FixRigidSmall::FixRigidSmall(LAMMPS *lmp, int narg, char **arg) : if (iarg+4 > narg) error->all(FLERR,"Illegal fix rigid/small command"); if (!utils::strmatch(style,"^rigid/np./small")) error->all(FLERR,"Illegal fix rigid/small command"); - p_start[0] = force->numeric(FLERR,arg[iarg+1]); - p_stop[0] = force->numeric(FLERR,arg[iarg+2]); - p_period[0] = force->numeric(FLERR,arg[iarg+3]); + p_start[0] = utils::numeric(FLERR,arg[iarg+1],false,lmp); + p_stop[0] = utils::numeric(FLERR,arg[iarg+2],false,lmp); + p_period[0] = utils::numeric(FLERR,arg[iarg+3],false,lmp); p_flag[0] = 1; iarg += 4; @@ -302,9 +302,9 @@ FixRigidSmall::FixRigidSmall(LAMMPS *lmp, int narg, char **arg) : if (iarg+4 > narg) error->all(FLERR,"Illegal fix rigid/small command"); if (!utils::strmatch(style,"^rigid/np./small")) error->all(FLERR,"Illegal fix rigid/small command"); - p_start[1] = force->numeric(FLERR,arg[iarg+1]); - p_stop[1] = force->numeric(FLERR,arg[iarg+2]); - p_period[1] = force->numeric(FLERR,arg[iarg+3]); + p_start[1] = utils::numeric(FLERR,arg[iarg+1],false,lmp); + p_stop[1] = utils::numeric(FLERR,arg[iarg+2],false,lmp); + p_period[1] = utils::numeric(FLERR,arg[iarg+3],false,lmp); p_flag[1] = 1; iarg += 4; @@ -312,9 +312,9 @@ FixRigidSmall::FixRigidSmall(LAMMPS *lmp, int narg, char **arg) : if (iarg+4 > narg) error->all(FLERR,"Illegal fix rigid/small command"); if (!utils::strmatch(style,"^rigid/np./small")) error->all(FLERR,"Illegal fix rigid/small command"); - p_start[2] = force->numeric(FLERR,arg[iarg+1]); - p_stop[2] = force->numeric(FLERR,arg[iarg+2]); - p_period[2] = force->numeric(FLERR,arg[iarg+3]); + p_start[2] = utils::numeric(FLERR,arg[iarg+1],false,lmp); + p_stop[2] = utils::numeric(FLERR,arg[iarg+2],false,lmp); + p_period[2] = utils::numeric(FLERR,arg[iarg+3],false,lmp); p_flag[2] = 1; iarg += 4; @@ -349,16 +349,16 @@ FixRigidSmall::FixRigidSmall(LAMMPS *lmp, int narg, char **arg) : if (iarg+4 > narg) error->all(FLERR,"Illegal fix rigid/small command"); if (!utils::strmatch(style,"^rigid/n.t/small")) error->all(FLERR,"Illegal fix rigid/small command"); - t_chain = force->inumeric(FLERR,arg[iarg+1]); - t_iter = force->inumeric(FLERR,arg[iarg+2]); - t_order = force->inumeric(FLERR,arg[iarg+3]); + t_chain = utils::inumeric(FLERR,arg[iarg+1],false,lmp); + t_iter = utils::inumeric(FLERR,arg[iarg+2],false,lmp); + t_order = utils::inumeric(FLERR,arg[iarg+3],false,lmp); iarg += 4; } else if (strcmp(arg[iarg],"pchain") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix rigid/small command"); if (!utils::strmatch(style,"^rigid/np./small")) error->all(FLERR,"Illegal fix rigid/small command"); - p_chain = force->inumeric(FLERR,arg[iarg+1]); + p_chain = utils::inumeric(FLERR,arg[iarg+1],false,lmp); iarg += 2; } else if (strcmp(arg[iarg],"gravity") == 0) { diff --git a/src/RIGID/fix_shake.cpp b/src/RIGID/fix_shake.cpp index a216526528b7191a0d0a6a7db50a41d944d30048..d6603cd7b66cad47bea72ba9c0da82175e82b92c 100644 --- a/src/RIGID/fix_shake.cpp +++ b/src/RIGID/fix_shake.cpp @@ -95,9 +95,9 @@ FixShake::FixShake(LAMMPS *lmp, int narg, char **arg) : if (narg < 8) error->all(FLERR,"Illegal fix shake command"); - tolerance = force->numeric(FLERR,arg[3]); - max_iter = force->inumeric(FLERR,arg[4]); - output_every = force->inumeric(FLERR,arg[5]); + tolerance = utils::numeric(FLERR,arg[3],false,lmp); + max_iter = utils::inumeric(FLERR,arg[4],false,lmp); + output_every = utils::inumeric(FLERR,arg[5],false,lmp); // parse SHAKE args for bond and angle types // will be used by find_clusters @@ -131,25 +131,25 @@ FixShake::FixShake(LAMMPS *lmp, int narg, char **arg) : // read numeric args of b,a,t,m else if (mode == 'b') { - int i = force->inumeric(FLERR,arg[next]); + int i = utils::inumeric(FLERR,arg[next],false,lmp); if (i < 1 || i > atom->nbondtypes) error->all(FLERR,"Invalid bond type index for fix shake"); bond_flag[i] = 1; } else if (mode == 'a') { - int i = force->inumeric(FLERR,arg[next]); + int i = utils::inumeric(FLERR,arg[next],false,lmp); if (i < 1 || i > atom->nangletypes) error->all(FLERR,"Invalid angle type index for fix shake"); angle_flag[i] = 1; } else if (mode == 't') { - int i = force->inumeric(FLERR,arg[next]); + int i = utils::inumeric(FLERR,arg[next],false,lmp); if (i < 1 || i > atom->ntypes) error->all(FLERR,"Invalid atom type index for fix shake"); type_flag[i] = 1; } else if (mode == 'm') { - double massone = force->numeric(FLERR,arg[next]); + double massone = utils::numeric(FLERR,arg[next],false,lmp); if (massone == 0.0) error->all(FLERR,"Invalid atom mass for fix shake"); if (nmass == atom->ntypes) error->all(FLERR,"Too many masses for fix shake"); diff --git a/src/SHOCK/fix_append_atoms.cpp b/src/SHOCK/fix_append_atoms.cpp index 1a6b128cd5e5fd8b9047dc682aa1ddb545d14748..b5b586bc7f784af07d719440067651076602ac0c 100644 --- a/src/SHOCK/fix_append_atoms.cpp +++ b/src/SHOCK/fix_append_atoms.cpp @@ -114,7 +114,7 @@ FixAppendAtoms::FixAppendAtoms(LAMMPS *lmp, int narg, char **arg) : error->all(FLERR,"Append boundary must be shrink/minimum"); } else if (strcmp(arg[iarg],"freq") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix append/atoms command"); - freq = force->inumeric(FLERR,arg[iarg+1]); + freq = utils::inumeric(FLERR,arg[iarg+1],false,lmp); iarg += 2; } else if (strcmp(arg[iarg],"spatial") == 0) { if (iarg+3 > narg) error->all(FLERR,"Illegal fix append/atoms command"); @@ -123,7 +123,7 @@ FixAppendAtoms::FixAppendAtoms(LAMMPS *lmp, int narg, char **arg) : "Bad fix ID in fix append/atoms command"); spatflag = 1; int n = strlen(arg[iarg+1]); - spatlead = force->numeric(FLERR,arg[iarg+2]); + spatlead = utils::numeric(FLERR,arg[iarg+2],false,lmp); char *suffix = new char[n]; strcpy(suffix,&arg[iarg+1][2]); n = strlen(suffix) + 1; @@ -133,15 +133,15 @@ FixAppendAtoms::FixAppendAtoms(LAMMPS *lmp, int narg, char **arg) : iarg += 3; } else if (strcmp(arg[iarg],"basis") == 0) { if (iarg+3 > narg) error->all(FLERR,"Illegal fix append/atoms command"); - int ibasis = force->inumeric(FLERR,arg[iarg+1]); - int itype = force->inumeric(FLERR,arg[iarg+2]); + int ibasis = utils::inumeric(FLERR,arg[iarg+1],false,lmp); + int itype = utils::inumeric(FLERR,arg[iarg+2],false,lmp); if (ibasis <= 0 || ibasis > nbasis || itype <= 0 || itype > atom->ntypes) error->all(FLERR,"Invalid basis setting in fix append/atoms command"); basistype[ibasis-1] = itype; iarg += 3; } else if (strcmp(arg[iarg],"size") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix append/atoms command"); - size = force->numeric(FLERR,arg[iarg+1]); + size = utils::numeric(FLERR,arg[iarg+1],false,lmp); iarg += 2; } else if (strcmp(arg[iarg],"units") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix append/atoms command"); @@ -152,20 +152,20 @@ FixAppendAtoms::FixAppendAtoms(LAMMPS *lmp, int narg, char **arg) : } else if (strcmp(arg[iarg],"random") == 0) { if (iarg+5 > narg) error->all(FLERR,"Illegal fix append/atoms command"); ranflag = 1; - ranx = force->numeric(FLERR,arg[iarg+1]); - rany = force->numeric(FLERR,arg[iarg+2]); - ranz = force->numeric(FLERR,arg[iarg+3]); - xseed = force->inumeric(FLERR,arg[iarg+4]); + ranx = utils::numeric(FLERR,arg[iarg+1],false,lmp); + rany = utils::numeric(FLERR,arg[iarg+2],false,lmp); + ranz = utils::numeric(FLERR,arg[iarg+3],false,lmp); + xseed = utils::inumeric(FLERR,arg[iarg+4],false,lmp); if (xseed <= 0) error->all(FLERR,"Illegal fix append/atoms command"); randomx = new RanMars(lmp,xseed + comm->me); iarg += 5; } else if (strcmp(arg[iarg],"temp") == 0) { if (iarg+5 > narg) error->all(FLERR,"Illegal fix append/atoms command"); tempflag = 1; - t_target = force->numeric(FLERR,arg[iarg+1]); - t_period = force->numeric(FLERR,arg[iarg+2]); - tseed = force->inumeric(FLERR,arg[iarg+3]); - t_extent = force->numeric(FLERR,arg[iarg+4]); + t_target = utils::numeric(FLERR,arg[iarg+1],false,lmp); + t_period = utils::numeric(FLERR,arg[iarg+2],false,lmp); + tseed = utils::inumeric(FLERR,arg[iarg+3],false,lmp); + t_extent = utils::numeric(FLERR,arg[iarg+4],false,lmp); if (t_target <= 0) error->all(FLERR,"Illegal fix append/atoms command"); if (t_period <= 0) error->all(FLERR,"Illegal fix append/atoms command"); if (t_extent <= 0) error->all(FLERR,"Illegal fix append/atoms command"); diff --git a/src/SHOCK/fix_msst.cpp b/src/SHOCK/fix_msst.cpp index c9591e92acc0bfa31ff53c14c705f66900ff8eae..986b1323e81803c7ac93a9b8a153031f422b037a 100644 --- a/src/SHOCK/fix_msst.cpp +++ b/src/SHOCK/fix_msst.cpp @@ -90,7 +90,7 @@ FixMSST::FixMSST(LAMMPS *lmp, int narg, char **arg) : box_change |= BOX_CHANGE_Z; } else error->all(FLERR,"Illegal fix msst command"); - velocity = force->numeric(FLERR,arg[4]); + velocity = utils::numeric(FLERR,arg[4],false,lmp); if (velocity < 0) error->all(FLERR,"Illegal fix msst command"); // optional args @@ -99,30 +99,30 @@ FixMSST::FixMSST(LAMMPS *lmp, int narg, char **arg) : while (iarg < narg) { if (strcmp(arg[iarg],"q") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix msst command"); - qmass = force->numeric(FLERR,arg[iarg+1]); + qmass = utils::numeric(FLERR,arg[iarg+1],false,lmp); iarg += 2; } else if (strcmp(arg[iarg],"mu") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix msst command"); - mu = force->numeric(FLERR,arg[iarg+1]); + mu = utils::numeric(FLERR,arg[iarg+1],false,lmp); iarg += 2; } else if (strcmp(arg[iarg],"p0") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix msst command"); - p0 = force->numeric(FLERR,arg[iarg+1]); + p0 = utils::numeric(FLERR,arg[iarg+1],false,lmp); p0_set = 1; iarg += 2; } else if (strcmp(arg[iarg],"v0") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix msst command"); - v0 = force->numeric(FLERR,arg[iarg+1]); + v0 = utils::numeric(FLERR,arg[iarg+1],false,lmp); v0_set = 1; iarg += 2; } else if (strcmp(arg[iarg],"e0") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix msst command"); - e0 = force->numeric(FLERR,arg[iarg+1]); + e0 = utils::numeric(FLERR,arg[iarg+1],false,lmp); e0_set = 1; iarg += 2; } else if (strcmp(arg[iarg],"tscale") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix msst command"); - tscale = force->numeric(FLERR,arg[iarg+1]); + tscale = utils::numeric(FLERR,arg[iarg+1],false,lmp); if (tscale < 0.0 || tscale > 1.0) error->all(FLERR,"Fix msst tscale must satisfy 0 <= tscale < 1"); iarg += 2; @@ -134,7 +134,7 @@ FixMSST::FixMSST(LAMMPS *lmp, int narg, char **arg) : iarg += 2; } else if (strcmp(arg[iarg],"beta") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix msst command"); - beta = force->numeric(FLERR,arg[iarg+1]); + beta = utils::numeric(FLERR,arg[iarg+1],false,lmp); if (beta < 0.0 || beta > 1.0) error->all(FLERR,"Illegal fix msst command"); iarg += 2; diff --git a/src/SHOCK/fix_nphug.cpp b/src/SHOCK/fix_nphug.cpp index 8ad787d7593181271320c14f4e1d56b9b7b2a63f..1179bb6b35253577920af964d533cf0b28c8c551 100644 --- a/src/SHOCK/fix_nphug.cpp +++ b/src/SHOCK/fix_nphug.cpp @@ -439,17 +439,17 @@ int FixNPHug::modify_param(int narg, char **arg) { if (strcmp(arg[0],"e0") == 0) { if (narg < 2) error->all(FLERR,"Illegal fix nphug command"); - e0 = force->numeric(FLERR,arg[1]); + e0 = utils::numeric(FLERR,arg[1],false,lmp); e0_set = 1; return 2; } else if (strcmp(arg[0],"v0") == 0) { if (narg < 2) error->all(FLERR,"Illegal fix nphug command"); - v0 = force->numeric(FLERR,arg[1]); + v0 = utils::numeric(FLERR,arg[1],false,lmp); v0_set = 1; return 2; } else if (strcmp(arg[0],"p0") == 0) { if (narg < 2) error->all(FLERR,"Illegal fix nphug command"); - p0 = force->numeric(FLERR,arg[1]); + p0 = utils::numeric(FLERR,arg[1],false,lmp); p0_set = 1; return 2; } diff --git a/src/SHOCK/fix_wall_piston.cpp b/src/SHOCK/fix_wall_piston.cpp index 5a359d9f6f4e31354d3c08f3b45968aac09e4602..a796c1a4b4a4437568c0ab12485f0f6e804fcfdb 100644 --- a/src/SHOCK/fix_wall_piston.cpp +++ b/src/SHOCK/fix_wall_piston.cpp @@ -71,19 +71,19 @@ FixWallPiston::FixWallPiston(LAMMPS *lmp, int narg, char **arg) : error->all(FLERR,"Fix wall/piston command only available at zlo"); else if (strcmp(arg[iarg],"vel") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix wall/piston command"); - vz = force->numeric(FLERR,arg[iarg+1]); + vz = utils::numeric(FLERR,arg[iarg+1],false,lmp); iarg += 2; } else if (strcmp(arg[iarg],"pos") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix wall/piston command"); - z0 = force->numeric(FLERR,arg[iarg+1]); + z0 = utils::numeric(FLERR,arg[iarg+1],false,lmp); iarg += 2; } else if (strcmp(arg[iarg],"temp") == 0) { if (iarg+5 > narg) error->all(FLERR,"Illegal fix wall/piston command"); tempflag = 1; - t_target = force->numeric(FLERR,arg[iarg+1]); - t_period = force->numeric(FLERR,arg[iarg+2]); - tseed = force->inumeric(FLERR,arg[iarg+3]); - t_extent = force->numeric(FLERR,arg[iarg+4]); + t_target = utils::numeric(FLERR,arg[iarg+1],false,lmp); + t_period = utils::numeric(FLERR,arg[iarg+2],false,lmp); + tseed = utils::inumeric(FLERR,arg[iarg+3],false,lmp); + t_extent = utils::numeric(FLERR,arg[iarg+4],false,lmp); if (t_target <= 0) error->all(FLERR,"Illegal fix wall/piston command"); if (t_period <= 0) error->all(FLERR,"Illegal fix wall/piston command"); if (t_extent <= 0) error->all(FLERR,"Illegal fix wall/piston command"); @@ -94,7 +94,7 @@ FixWallPiston::FixWallPiston(LAMMPS *lmp, int narg, char **arg) : iarg += 5; } else if (strcmp(arg[iarg],"rough") == 0) { roughflag = 1; - roughdist = force->numeric(FLERR,arg[iarg+1]); + roughdist = utils::numeric(FLERR,arg[iarg+1],false,lmp); iarg += 2; } else if (strcmp(arg[iarg],"ramp") == 0) { rampflag = 1; diff --git a/src/SNAP/compute_sna_atom.cpp b/src/SNAP/compute_sna_atom.cpp index 4a57f31ec308bc0aadcb61acbcec125b4008c6a1..1e85441d1f02278b1d90077b952da63f66de2df7 100644 --- a/src/SNAP/compute_sna_atom.cpp +++ b/src/SNAP/compute_sna_atom.cpp @@ -114,9 +114,9 @@ ComputeSNAAtom::ComputeSNAAtom(LAMMPS *lmp, int narg, char **arg) : error->all(FLERR,"Illegal compute sna/atom command"); chemflag = 1; memory->create(map,ntypes+1,"compute_sna_atom:map"); - nelements = force->inumeric(FLERR,arg[iarg+1]); + nelements = utils::inumeric(FLERR,arg[iarg+1],false,lmp); for(int i = 0; i < ntypes; i++) { - int jelem = force->inumeric(FLERR,arg[iarg+2+i]); + int jelem = utils::inumeric(FLERR,arg[iarg+2+i],false,lmp); if (jelem < 0 || jelem >= nelements) error->all(FLERR,"Illegal compute sna/atom command"); map[i+1] = jelem; diff --git a/src/SNAP/compute_snad_atom.cpp b/src/SNAP/compute_snad_atom.cpp index cd0c0cbc41229bb23ef975c416f482cfb734f1bf..13761930705b10431ab2a2d82a6055d1c21451b2 100644 --- a/src/SNAP/compute_snad_atom.cpp +++ b/src/SNAP/compute_snad_atom.cpp @@ -112,9 +112,9 @@ ComputeSNADAtom::ComputeSNADAtom(LAMMPS *lmp, int narg, char **arg) : error->all(FLERR,"Illegal compute snad/atom command"); chemflag = 1; memory->create(map,ntypes+1,"compute_snad_atom:map"); - nelements = force->inumeric(FLERR,arg[iarg+1]); + nelements = utils::inumeric(FLERR,arg[iarg+1],false,lmp); for(int i = 0; i < ntypes; i++) { - int jelem = force->inumeric(FLERR,arg[iarg+2+i]); + int jelem = utils::inumeric(FLERR,arg[iarg+2+i],false,lmp); if (jelem < 0 || jelem >= nelements) error->all(FLERR,"Illegal compute snad/atom command"); map[i+1] = jelem; diff --git a/src/SNAP/compute_snap.cpp b/src/SNAP/compute_snap.cpp index 613fc1a862d5bcaa62673265e2d5594db6316fd2..eb18b7274e9470e2241ab9dc32111ff7cff5cb94 100644 --- a/src/SNAP/compute_snap.cpp +++ b/src/SNAP/compute_snap.cpp @@ -118,9 +118,9 @@ ComputeSnap::ComputeSnap(LAMMPS *lmp, int narg, char **arg) : error->all(FLERR,"Illegal compute snap command"); chemflag = 1; memory->create(map,ntypes+1,"compute_snap:map"); - nelements = force->inumeric(FLERR,arg[iarg+1]); + nelements = utils::inumeric(FLERR,arg[iarg+1],false,lmp); for(int i = 0; i < ntypes; i++) { - int jelem = force->inumeric(FLERR,arg[iarg+2+i]); + int jelem = utils::inumeric(FLERR,arg[iarg+2+i],false,lmp); if (jelem < 0 || jelem >= nelements) error->all(FLERR,"Illegal compute snap command"); map[i+1] = jelem; diff --git a/src/SNAP/compute_snav_atom.cpp b/src/SNAP/compute_snav_atom.cpp index 2d33c35563a7a6e42609b563d791924841b2b75d..066fc56c119be7bf058ef769f30dda55824c522e 100644 --- a/src/SNAP/compute_snav_atom.cpp +++ b/src/SNAP/compute_snav_atom.cpp @@ -107,9 +107,9 @@ ComputeSNAVAtom::ComputeSNAVAtom(LAMMPS *lmp, int narg, char **arg) : error->all(FLERR,"Illegal compute sna/atom command"); chemflag = 1; memory->create(map,ntypes+1,"compute_sna_atom:map"); - nelements = force->inumeric(FLERR,arg[iarg+1]); + nelements = utils::inumeric(FLERR,arg[iarg+1],false,lmp); for(int i = 0; i < ntypes; i++) { - int jelem = force->inumeric(FLERR,arg[iarg+2+i]); + int jelem = utils::inumeric(FLERR,arg[iarg+2+i],false,lmp); if (jelem < 0 || jelem >= nelements) error->all(FLERR,"Illegal compute snav/atom command"); map[i+1] = jelem; diff --git a/src/SNAP/pair_snap.cpp b/src/SNAP/pair_snap.cpp index 63867f16919e3ac4b890c486fd21301da605fce7..48014592edb5932077e61c1df48e006749d40e3a 100644 --- a/src/SNAP/pair_snap.cpp +++ b/src/SNAP/pair_snap.cpp @@ -515,7 +515,7 @@ void PairSNAP::read_files(char *coefffilename, char *paramfilename) FILE *fpcoeff; if (comm->me == 0) { - fpcoeff = force->open_potential(coefffilename); + fpcoeff = utils::open_potential(coefffilename,lmp,nullptr); if (fpcoeff == NULL) { char str[128]; snprintf(str,128,"Cannot open SNAP coefficient file %s",coefffilename); @@ -662,7 +662,7 @@ void PairSNAP::read_files(char *coefffilename, char *paramfilename) FILE *fpparam; if (comm->me == 0) { - fpparam = force->open_potential(paramfilename); + fpparam = utils::open_potential(paramfilename,lmp,nullptr); if (fpparam == NULL) { char str[128]; snprintf(str,128,"Cannot open SNAP parameter file %s",paramfilename); diff --git a/src/SPIN/fix_langevin_spin.cpp b/src/SPIN/fix_langevin_spin.cpp index 6b9ad517bb3ebdd57179eb72b6e5c9cd45ee8931..6df9dd4af290bb3722807e0740da070c7dad2450 100644 --- a/src/SPIN/fix_langevin_spin.cpp +++ b/src/SPIN/fix_langevin_spin.cpp @@ -53,9 +53,9 @@ FixLangevinSpin::FixLangevinSpin(LAMMPS *lmp, int narg, char **arg) : extscalar = 1; nevery = 1; - temp = force->numeric(FLERR,arg[3]); - alpha_t = force->numeric(FLERR,arg[4]); - seed = force->inumeric(FLERR,arg[5]); + temp = utils::numeric(FLERR,arg[3],false,lmp); + alpha_t = utils::numeric(FLERR,arg[4],false,lmp); + seed = utils::inumeric(FLERR,arg[5],false,lmp); if (alpha_t < 0.0) { error->all(FLERR,"Illegal langevin/spin command"); diff --git a/src/SPIN/fix_neb_spin.cpp b/src/SPIN/fix_neb_spin.cpp index 5acbbf59e8f012109ca3cbdcc91bf70fb72b54b0..110cfb58d8ad5482addf3b9485747afaea43e38d 100644 --- a/src/SPIN/fix_neb_spin.cpp +++ b/src/SPIN/fix_neb_spin.cpp @@ -57,7 +57,7 @@ FixNEBSpin::FixNEBSpin(LAMMPS *lmp, int narg, char **arg) : if (narg < 4) error->all(FLERR,"Illegal fix neb_spin command"); - kspring = force->numeric(FLERR,arg[3]); + kspring = utils::numeric(FLERR,arg[3],false,lmp); if (kspring <= 0.0) error->all(FLERR,"Illegal fix neb command"); // optional params diff --git a/src/SPIN/fix_precession_spin.cpp b/src/SPIN/fix_precession_spin.cpp index b788d27d05bfbf077c206b63a71b34b05f2540d0..9a33f0d61de054062d252c1168904260d034b44e 100644 --- a/src/SPIN/fix_precession_spin.cpp +++ b/src/SPIN/fix_precession_spin.cpp @@ -80,33 +80,33 @@ FixPrecessionSpin::FixPrecessionSpin(LAMMPS *lmp, int narg, char **arg) : Fix(lm if (strcmp(arg[iarg],"zeeman") == 0) { if (iarg+4 > narg) error->all(FLERR,"Illegal fix precession/spin command"); zeeman_flag = 1; - H_field = force->numeric(FLERR,arg[iarg+1]); - nhx = force->numeric(FLERR,arg[iarg+2]); - nhy = force->numeric(FLERR,arg[iarg+3]); - nhz = force->numeric(FLERR,arg[iarg+4]); + H_field = utils::numeric(FLERR,arg[iarg+1],false,lmp); + nhx = utils::numeric(FLERR,arg[iarg+2],false,lmp); + nhy = utils::numeric(FLERR,arg[iarg+3],false,lmp); + nhz = utils::numeric(FLERR,arg[iarg+4],false,lmp); iarg += 5; } else if (strcmp(arg[iarg],"anisotropy") == 0) { if (iarg+4 > narg) error->all(FLERR,"Illegal fix precession/spin command"); aniso_flag = 1; - Ka = force->numeric(FLERR,arg[iarg+1]); - nax = force->numeric(FLERR,arg[iarg+2]); - nay = force->numeric(FLERR,arg[iarg+3]); - naz = force->numeric(FLERR,arg[iarg+4]); + Ka = utils::numeric(FLERR,arg[iarg+1],false,lmp); + nax = utils::numeric(FLERR,arg[iarg+2],false,lmp); + nay = utils::numeric(FLERR,arg[iarg+3],false,lmp); + naz = utils::numeric(FLERR,arg[iarg+4],false,lmp); iarg += 5; } else if (strcmp(arg[iarg],"cubic") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix precession/spin command"); cubic_flag = 1; - k1c = force->numeric(FLERR,arg[iarg+1]); - k2c = force->numeric(FLERR,arg[iarg+2]); - nc1x = force->numeric(FLERR,arg[iarg+3]); - nc1y = force->numeric(FLERR,arg[iarg+4]); - nc1z = force->numeric(FLERR,arg[iarg+5]); - nc2x = force->numeric(FLERR,arg[iarg+6]); - nc2y = force->numeric(FLERR,arg[iarg+7]); - nc2z = force->numeric(FLERR,arg[iarg+8]); - nc3x = force->numeric(FLERR,arg[iarg+9]); - nc3y = force->numeric(FLERR,arg[iarg+10]); - nc3z = force->numeric(FLERR,arg[iarg+11]); + k1c = utils::numeric(FLERR,arg[iarg+1],false,lmp); + k2c = utils::numeric(FLERR,arg[iarg+2],false,lmp); + nc1x = utils::numeric(FLERR,arg[iarg+3],false,lmp); + nc1y = utils::numeric(FLERR,arg[iarg+4],false,lmp); + nc1z = utils::numeric(FLERR,arg[iarg+5],false,lmp); + nc2x = utils::numeric(FLERR,arg[iarg+6],false,lmp); + nc2y = utils::numeric(FLERR,arg[iarg+7],false,lmp); + nc2z = utils::numeric(FLERR,arg[iarg+8],false,lmp); + nc3x = utils::numeric(FLERR,arg[iarg+9],false,lmp); + nc3y = utils::numeric(FLERR,arg[iarg+10],false,lmp); + nc3z = utils::numeric(FLERR,arg[iarg+11],false,lmp); iarg += 12; } else error->all(FLERR,"Illegal precession/spin command"); } diff --git a/src/SPIN/min_spin.cpp b/src/SPIN/min_spin.cpp index f6a6b90891e13c1668e56784d2a4a48850e2586a..df7fc71f8b48968834f4a71efaf77384ed6b4879 100644 --- a/src/SPIN/min_spin.cpp +++ b/src/SPIN/min_spin.cpp @@ -78,12 +78,12 @@ int MinSpin::modify_param(int narg, char **arg) { if (strcmp(arg[0],"alpha_damp") == 0) { if (narg < 2) error->all(FLERR,"Illegal min_modify command"); - alpha_damp = force->numeric(FLERR,arg[1]); + alpha_damp = utils::numeric(FLERR,arg[1],false,lmp); return 2; } if (strcmp(arg[0],"discrete_factor") == 0) { if (narg < 2) error->all(FLERR,"Illegal min_modify command"); - discrete_factor = force->numeric(FLERR,arg[1]); + discrete_factor = utils::numeric(FLERR,arg[1],false,lmp); return 2; } return 0; diff --git a/src/SPIN/min_spin_cg.cpp b/src/SPIN/min_spin_cg.cpp index de1ef39f66bbeaf05595c41c9ac0db1bd03d5bfc..a658713d1bdab1bfaeb8d39c1e344667288dfd38 100644 --- a/src/SPIN/min_spin_cg.cpp +++ b/src/SPIN/min_spin_cg.cpp @@ -148,7 +148,7 @@ int MinSpinCG::modify_param(int narg, char **arg) { if (strcmp(arg[0],"discrete_factor") == 0) { if (narg < 2) error->all(FLERR,"Illegal fix_modify command"); - discrete_factor = force->numeric(FLERR,arg[1]); + discrete_factor = utils::numeric(FLERR,arg[1],false,lmp); return 2; } return 0; diff --git a/src/SPIN/min_spin_lbfgs.cpp b/src/SPIN/min_spin_lbfgs.cpp index df127825284f56908890d378bbb49f3b41e18856..f92fc69e0497439c3e8c657f0f9e5caae8016aa8 100644 --- a/src/SPIN/min_spin_lbfgs.cpp +++ b/src/SPIN/min_spin_lbfgs.cpp @@ -156,7 +156,7 @@ int MinSpinLBFGS::modify_param(int narg, char **arg) if (strcmp(arg[0],"discrete_factor") == 0) { if (narg < 2) error->all(FLERR,"Illegal min_modify command"); double discrete_factor; - discrete_factor = force->numeric(FLERR,arg[1]); + discrete_factor = utils::numeric(FLERR,arg[1],false,lmp); maxepsrot = MY_2PI / (10 * discrete_factor); return 2; } diff --git a/src/SPIN/neb_spin.cpp b/src/SPIN/neb_spin.cpp index 168e288181216581420bcca9a5f5e491c0a57b35..96808b7f104e3fb69e12e3147339db14d1f04720 100644 --- a/src/SPIN/neb_spin.cpp +++ b/src/SPIN/neb_spin.cpp @@ -94,11 +94,11 @@ void NEBSpin::command(int narg, char **arg) if (narg < 6) error->universe_all(FLERR,"Illegal NEBSpin command"); - etol = force->numeric(FLERR,arg[0]); - ttol = force->numeric(FLERR,arg[1]); - n1steps = force->inumeric(FLERR,arg[2]); - n2steps = force->inumeric(FLERR,arg[3]); - nevery = force->inumeric(FLERR,arg[4]); + etol = utils::numeric(FLERR,arg[0],false,lmp); + ttol = utils::numeric(FLERR,arg[1],false,lmp); + n1steps = utils::inumeric(FLERR,arg[2],false,lmp); + n2steps = utils::inumeric(FLERR,arg[3],false,lmp); + nevery = utils::inumeric(FLERR,arg[4],false,lmp); // error checks diff --git a/src/SPIN/pair_spin_dipole_cut.cpp b/src/SPIN/pair_spin_dipole_cut.cpp index cdae3c0babbaf438a3f5d1c28b8c0caddbe2f69e..5573d914b73f1ffab1ec9215a662a602814a263a 100644 --- a/src/SPIN/pair_spin_dipole_cut.cpp +++ b/src/SPIN/pair_spin_dipole_cut.cpp @@ -76,7 +76,7 @@ void PairSpinDipoleCut::settings(int narg, char **arg) { PairSpin::settings(narg,arg); - cut_spin_long_global = force->numeric(FLERR,arg[0]); + cut_spin_long_global = utils::numeric(FLERR,arg[0],false,lmp); // reset cutoffs that have been explicitly set @@ -105,10 +105,10 @@ void PairSpinDipoleCut::coeff(int narg, char **arg) error->all(FLERR,"Incorrect args in pair_style command"); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); - double spin_long_cut_one = force->numeric(FLERR,arg[2]); + double spin_long_cut_one = utils::numeric(FLERR,arg[2],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/SPIN/pair_spin_dipole_long.cpp b/src/SPIN/pair_spin_dipole_long.cpp index aeb916cfae1e08f18fa9ea5f7ddef9f2632fee5c..4188bb214ce8f5b1fd01141ba90c1c72d4a4cf79 100644 --- a/src/SPIN/pair_spin_dipole_long.cpp +++ b/src/SPIN/pair_spin_dipole_long.cpp @@ -81,7 +81,7 @@ void PairSpinDipoleLong::settings(int narg, char **arg) { PairSpin::settings(narg,arg); - cut_spin_long_global = force->numeric(FLERR,arg[0]); + cut_spin_long_global = utils::numeric(FLERR,arg[0],false,lmp); // reset cutoffs that have been explicitly set @@ -109,10 +109,10 @@ void PairSpinDipoleLong::coeff(int narg, char **arg) error->all(FLERR,"Incorrect args in pair_style command"); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); - double spin_long_cut_one = force->numeric(FLERR,arg[2]); + double spin_long_cut_one = utils::numeric(FLERR,arg[2],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/SPIN/pair_spin_dmi.cpp b/src/SPIN/pair_spin_dmi.cpp index c6b0564463a815738f52395f6c350508bf75dd18..b4b3fcb6f586ae888cd3b49cef24e76373ea320a 100644 --- a/src/SPIN/pair_spin_dmi.cpp +++ b/src/SPIN/pair_spin_dmi.cpp @@ -65,7 +65,7 @@ void PairSpinDmi::settings(int narg, char **arg) { PairSpin::settings(narg,arg); - cut_spin_dmi_global = force->numeric(FLERR,arg[0]); + cut_spin_dmi_global = utils::numeric(FLERR,arg[0],false,lmp); // reset cutoffs that have been explicitly set @@ -98,14 +98,14 @@ void PairSpinDmi::coeff(int narg, char **arg) error->all(FLERR,"Incorrect args in pair_style command"); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); - - const double rij = force->numeric(FLERR,arg[3]); - const double dm = (force->numeric(FLERR,arg[4])); - double dmx = force->numeric(FLERR,arg[5]); - double dmy = force->numeric(FLERR,arg[6]); - double dmz = force->numeric(FLERR,arg[7]); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); + + const double rij = utils::numeric(FLERR,arg[3],false,lmp); + const double dm = utils::numeric(FLERR,arg[4],false,lmp); + double dmx = utils::numeric(FLERR,arg[5],false,lmp); + double dmy = utils::numeric(FLERR,arg[6],false,lmp); + double dmz = utils::numeric(FLERR,arg[7],false,lmp); double inorm = 1.0/(dmx*dmx+dmy*dmy+dmz*dmz); dmx *= inorm; diff --git a/src/SPIN/pair_spin_exchange.cpp b/src/SPIN/pair_spin_exchange.cpp index 5c5d5cb1a4a206e2383685ac533147c2c79574d1..b82dca3dcc8c3a34930b4810cea77a08f17f6261 100644 --- a/src/SPIN/pair_spin_exchange.cpp +++ b/src/SPIN/pair_spin_exchange.cpp @@ -62,7 +62,7 @@ void PairSpinExchange::settings(int narg, char **arg) { PairSpin::settings(narg,arg); - cut_spin_exchange_global = force->numeric(FLERR,arg[0]); + cut_spin_exchange_global = utils::numeric(FLERR,arg[0],false,lmp); // reset cutoffs that have been explicitly set @@ -92,15 +92,15 @@ void PairSpinExchange::coeff(int narg, char **arg) error->all(FLERR,"Incorrect args in pair_style command"); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); // get exchange arguments from input command - const double rc = force->numeric(FLERR,arg[3]); - const double j1 = force->numeric(FLERR,arg[4]); - const double j2 = force->numeric(FLERR,arg[5]); - const double j3 = force->numeric(FLERR,arg[6]); + const double rc = utils::numeric(FLERR,arg[3],false,lmp); + const double j1 = utils::numeric(FLERR,arg[4],false,lmp); + const double j2 = utils::numeric(FLERR,arg[5],false,lmp); + const double j3 = utils::numeric(FLERR,arg[6],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/SPIN/pair_spin_magelec.cpp b/src/SPIN/pair_spin_magelec.cpp index 741305fbf47fbf1fc7c983dbdf85cae249834a2d..50cd1fe54ae9c6b5cc88e0913ee5158842ec4593 100644 --- a/src/SPIN/pair_spin_magelec.cpp +++ b/src/SPIN/pair_spin_magelec.cpp @@ -64,7 +64,7 @@ void PairSpinMagelec::settings(int narg, char **arg) PairSpin::settings(narg,arg); - cut_spin_magelec_global = force->numeric(FLERR,arg[0]); + cut_spin_magelec_global = utils::numeric(FLERR,arg[0],false,lmp); // reset cutoffs that have been explicitly set @@ -95,14 +95,14 @@ void PairSpinMagelec::coeff(int narg, char **arg) error->all(FLERR,"Incorrect args in pair_style command"); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); - - const double rij = force->numeric(FLERR,arg[3]); - const double magelec = (force->numeric(FLERR,arg[4])); - double mex = force->numeric(FLERR,arg[5]); - double mey = force->numeric(FLERR,arg[6]); - double mez = force->numeric(FLERR,arg[7]); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); + + const double rij = utils::numeric(FLERR,arg[3],false,lmp); + const double magelec = utils::numeric(FLERR,arg[4],false,lmp); + double mex = utils::numeric(FLERR,arg[5],false,lmp); + double mey = utils::numeric(FLERR,arg[6],false,lmp); + double mez = utils::numeric(FLERR,arg[7],false,lmp); double inorm = 1.0/(mex*mex+mey*mey+mez*mez); mex *= inorm; diff --git a/src/SPIN/pair_spin_neel.cpp b/src/SPIN/pair_spin_neel.cpp index 4fd8ecc2152f32e0c27787d6b6f694fd3e08b19b..4468e157b42cee3b3b970de701422fd0d3ba0393 100644 --- a/src/SPIN/pair_spin_neel.cpp +++ b/src/SPIN/pair_spin_neel.cpp @@ -66,7 +66,7 @@ void PairSpinNeel::settings(int narg, char **arg) { PairSpin::settings(narg,arg); - cut_spin_neel_global = force->numeric(FLERR,arg[0]); + cut_spin_neel_global = utils::numeric(FLERR,arg[0],false,lmp); // reset cutoffs that have been explicitly set @@ -99,16 +99,16 @@ void PairSpinNeel::coeff(int narg, char **arg) error->all(FLERR,"Incorrect args in pair_style command"); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); - - const double rij = force->numeric(FLERR,arg[3]); - const double k1 = force->numeric(FLERR,arg[4]); - const double k2 = force->numeric(FLERR,arg[5]); - const double k3 = force->numeric(FLERR,arg[6]); - const double l1 = force->numeric(FLERR,arg[7]); - const double l2 = force->numeric(FLERR,arg[8]); - const double l3 = force->numeric(FLERR,arg[9]); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); + + const double rij = utils::numeric(FLERR,arg[3],false,lmp); + const double k1 = utils::numeric(FLERR,arg[4],false,lmp); + const double k2 = utils::numeric(FLERR,arg[5],false,lmp); + const double k3 = utils::numeric(FLERR,arg[6],false,lmp); + const double l1 = utils::numeric(FLERR,arg[7],false,lmp); + const double l2 = utils::numeric(FLERR,arg[8],false,lmp); + const double l3 = utils::numeric(FLERR,arg[9],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/SRD/fix_srd.cpp b/src/SRD/fix_srd.cpp index 8f15128399da4fad5c27ef155a876218329d8f56..ca0bdbac0a75a7f77ee18b2c8ef9fdf12d71fb2a 100644 --- a/src/SRD/fix_srd.cpp +++ b/src/SRD/fix_srd.cpp @@ -94,15 +94,15 @@ FixSRD::FixSRD(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg), global_freq = 1; extvector = 0; - nevery = force->inumeric(FLERR,arg[3]); + nevery = utils::inumeric(FLERR,arg[3],false,lmp); bigexist = 1; if (strcmp(arg[4],"NULL") == 0) bigexist = 0; else biggroup = group->find(arg[4]); - temperature_srd = force->numeric(FLERR,arg[5]); - gridsrd = force->numeric(FLERR,arg[6]); - int seed = force->inumeric(FLERR,arg[7]); + temperature_srd = utils::numeric(FLERR,arg[5],false,lmp); + gridsrd = utils::numeric(FLERR,arg[6],false,lmp); + int seed = utils::inumeric(FLERR,arg[7],false,lmp); // parse options @@ -125,7 +125,7 @@ FixSRD::FixSRD(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg), while (iarg < narg) { if (strcmp(arg[iarg],"lamda") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix srd command"); - lamda = force->numeric(FLERR,arg[iarg+1]); + lamda = utils::numeric(FLERR,arg[iarg+1],false,lmp); lamdaflag = 1; iarg += 2; } else if (strcmp(arg[iarg],"collision") == 0) { @@ -155,22 +155,22 @@ FixSRD::FixSRD(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg), iarg += 2; } else if (strcmp(arg[iarg],"radius") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix srd command"); - radfactor = force->numeric(FLERR,arg[iarg+1]); + radfactor = utils::numeric(FLERR,arg[iarg+1],false,lmp); iarg += 2; } else if (strcmp(arg[iarg],"bounce") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix srd command"); - maxbounceallow = force->inumeric(FLERR,arg[iarg+1]); + maxbounceallow = utils::inumeric(FLERR,arg[iarg+1],false,lmp); iarg += 2; } else if (strcmp(arg[iarg],"search") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix srd command"); - gridsearch = force->numeric(FLERR,arg[iarg+1]); + gridsearch = utils::numeric(FLERR,arg[iarg+1],false,lmp); iarg += 2; } else if (strcmp(arg[iarg],"cubic") == 0) { if (iarg+3 > narg) error->all(FLERR,"Illegal fix srd command"); if (strcmp(arg[iarg+1],"error") == 0) cubicflag = CUBIC_ERROR; else if (strcmp(arg[iarg+1],"warn") == 0) cubicflag = CUBIC_WARN; else error->all(FLERR,"Illegal fix srd command"); - cubictol = force->numeric(FLERR,arg[iarg+2]); + cubictol = utils::numeric(FLERR,arg[iarg+2],false,lmp); iarg += 3; } else if (strcmp(arg[iarg],"shift") == 0) { if (iarg+3 > narg) error->all(FLERR,"Illegal fix srd command"); @@ -178,7 +178,7 @@ FixSRD::FixSRD(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg), else if (strcmp(arg[iarg+1],"yes") == 0) shiftuser = SHIFT_YES; else if (strcmp(arg[iarg+1],"possible") == 0) shiftuser = SHIFT_POSSIBLE; else error->all(FLERR,"Illegal fix srd command"); - shiftseed = force->inumeric(FLERR,arg[iarg+2]); + shiftseed = utils::inumeric(FLERR,arg[iarg+2],false,lmp); iarg += 3; } else if (strcmp(arg[iarg],"tstat") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix srd command"); diff --git a/src/SRD/fix_wall_srd.cpp b/src/SRD/fix_wall_srd.cpp index ab113df28af60f82968986db2a569a35e7ee8f88..8b9ea6fb795d99a26755e4eb216f12500913d158 100644 --- a/src/SRD/fix_wall_srd.cpp +++ b/src/SRD/fix_wall_srd.cpp @@ -76,7 +76,7 @@ FixWallSRD::FixWallSRD(LAMMPS *lmp, int narg, char **arg) : strcpy(varstr[nwall],&arg[iarg+1][2]); } else { wallstyle[nwall] = CONSTANT; - coord0[nwall] = force->numeric(FLERR,arg[iarg+1]); + coord0[nwall] = utils::numeric(FLERR,arg[iarg+1],false,lmp); } nwall++; diff --git a/src/USER-AWPMD/pair_awpmd_cut.cpp b/src/USER-AWPMD/pair_awpmd_cut.cpp index e382a1cb9c6d768a457d859504aeba9016cef7df..4d812852db2af93f1b0da333420e5664225c8af3 100644 --- a/src/USER-AWPMD/pair_awpmd_cut.cpp +++ b/src/USER-AWPMD/pair_awpmd_cut.cpp @@ -407,7 +407,7 @@ void PairAWPMDCut::allocate() void PairAWPMDCut::settings(int narg, char **arg){ if (narg < 1) error->all(FLERR,"Illegal pair_style command"); - cut_global = force->numeric(FLERR,arg[0]); + cut_global = utils::numeric(FLERR,arg[0],false,lmp); ermscale=1.; width_pbc=0.; @@ -427,21 +427,21 @@ void PairAWPMDCut::settings(int narg, char **arg){ i++; if(i>=narg) error->all(FLERR,"Setting 'fix' should be followed by a number in awpmd/cut"); - wpmd->w0=force->numeric(FLERR,arg[i]); + wpmd->w0=utils::numeric(FLERR,arg[i],false,lmp); } else if(!strcmp(arg[i],"harm")){ wpmd->constraint=AWPMD::HARM; i++; if(i>=narg) error->all(FLERR,"Setting 'harm' should be followed by a number in awpmd/cut"); - wpmd->w0=force->numeric(FLERR,arg[i]); + wpmd->w0=utils::numeric(FLERR,arg[i],false,lmp); wpmd->set_harm_constr(wpmd->w0); } else if(!strcmp(arg[i],"pbc")){ i++; if(i>=narg) error->all(FLERR,"Setting 'pbc' should be followed by a number in awpmd/cut"); - width_pbc=force->numeric(FLERR,arg[i]); + width_pbc=utils::numeric(FLERR,arg[i],false,lmp); } else if(!strcmp(arg[i],"relax")) wpmd->constraint=AWPMD::RELAX; @@ -449,7 +449,7 @@ void PairAWPMDCut::settings(int narg, char **arg){ i++; if(i>=narg) error->all(FLERR,"Setting 'ermscale' should be followed by a number in awpmd/cut"); - ermscale=force->numeric(FLERR,arg[i]); + ermscale=utils::numeric(FLERR,arg[i],false,lmp); } else if(!strcmp(arg[i],"flex_press")) flexible_pressure_flag = 1; @@ -484,11 +484,11 @@ void PairAWPMDCut::coeff(int narg, char **arg) } int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); double cut_one = cut_global; - if (narg == 3) cut_one = force->numeric(FLERR,arg[2]); + if (narg == 3) cut_one = utils::numeric(FLERR,arg[2],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/USER-BOCS/fix_bocs.cpp b/src/USER-BOCS/fix_bocs.cpp index 7c2f75a8ce0dbd5c4c341667052c7df62774b1a6..838a708940820f11cc9050b5634ec277b8fcdc1d 100644 --- a/src/USER-BOCS/fix_bocs.cpp +++ b/src/USER-BOCS/fix_bocs.cpp @@ -149,10 +149,10 @@ FixBocs::FixBocs(LAMMPS *lmp, int narg, char **arg) : if (strcmp(arg[iarg],"temp") == 0) { if (iarg+4 > narg) error->all(FLERR,"Illegal fix bocs command"); tstat_flag = 1; - t_start = force->numeric(FLERR,arg[iarg+1]); + t_start = utils::numeric(FLERR,arg[iarg+1],false,lmp); t_target = t_start; - t_stop = force->numeric(FLERR,arg[iarg+2]); - t_period = force->numeric(FLERR,arg[iarg+3]); + t_stop = utils::numeric(FLERR,arg[iarg+2],false,lmp); + t_period = utils::numeric(FLERR,arg[iarg+3],false,lmp); if (t_start <= 0.0 || t_stop <= 0.0) error->all(FLERR, "Target temperature for fix bocs cannot be 0.0"); @@ -167,11 +167,11 @@ FixBocs::FixBocs(LAMMPS *lmp, int narg, char **arg) : p_match_flag = 1; pcouple = XYZ; p_start[0] = p_start[1] = p_start[2] = - force->numeric(FLERR,arg[iarg+1]); + utils::numeric(FLERR,arg[iarg+1],false,lmp); p_stop[0] = p_stop[1] = p_stop[2] = - force->numeric(FLERR,arg[iarg+2]); + utils::numeric(FLERR,arg[iarg+2],false,lmp); p_period[0] = p_period[1] = p_period[2] = - force->numeric(FLERR,arg[iarg+3]); + utils::numeric(FLERR,arg[iarg+3],false,lmp); p_flag[0] = p_flag[1] = p_flag[2] = 1; p_flag[3] = p_flag[4] = p_flag[5] = 0; // MRD @@ -187,15 +187,15 @@ FixBocs::FixBocs(LAMMPS *lmp, int narg, char **arg) : " must be followed by: avg_vol n_mol n_pmatch_coeff"); } p_basis_type = 0; - vavg = force->numeric(FLERR,arg[iarg+1]); - N_mol = force->inumeric(FLERR,arg[iarg+2]); - N_p_match = force->inumeric(FLERR,arg[iarg+3]); + vavg = utils::numeric(FLERR,arg[iarg+1],false,lmp); + N_mol = utils::inumeric(FLERR,arg[iarg+2],false,lmp); + N_p_match = utils::inumeric(FLERR,arg[iarg+3],false,lmp); p_match_coeffs = (double *) (calloc(N_p_match, sizeof(double)) ); iarg += 4; if (iarg + N_p_match > narg) error->all(FLERR,"Illegal fix bocs command. Missing coeffs."); for (int pmatchi = 0; pmatchi < N_p_match; pmatchi++) - p_match_coeffs[pmatchi] = force->numeric(FLERR,arg[iarg+pmatchi]); + p_match_coeffs[pmatchi] = utils::numeric(FLERR,arg[iarg+pmatchi],false,lmp); iarg += (N_p_match); } else if (strcmp(arg[iarg], "linear_spline") == 0 ) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix bocs command. " @@ -217,14 +217,14 @@ FixBocs::FixBocs(LAMMPS *lmp, int narg, char **arg) : } // END NJD MRD } else if (strcmp(arg[iarg],"tchain") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix bocs command"); - mtchain = force->inumeric(FLERR,arg[iarg+1]); + mtchain = utils::inumeric(FLERR,arg[iarg+1],false,lmp); // used by FixNVTSllod to preserve non-default value mtchain_default_flag = 0; if (mtchain < 1) error->all(FLERR,"Illegal fix bocs command"); iarg += 2; } else if (strcmp(arg[iarg],"pchain") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix bocs command"); - mpchain = force->inumeric(FLERR,arg[iarg+1]); + mpchain = utils::inumeric(FLERR,arg[iarg+1],false,lmp); if (mpchain < 0) error->all(FLERR,"Illegal fix bocs command"); iarg += 2; } else if (strcmp(arg[iarg],"mtk") == 0) { @@ -235,12 +235,12 @@ FixBocs::FixBocs(LAMMPS *lmp, int narg, char **arg) : iarg += 2; } else if (strcmp(arg[iarg],"tloop") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix bocs command"); - nc_tchain = force->inumeric(FLERR,arg[iarg+1]); + nc_tchain = utils::inumeric(FLERR,arg[iarg+1],false,lmp); if (nc_tchain < 0) error->all(FLERR,"Illegal fix bocs command"); iarg += 2; } else if (strcmp(arg[iarg],"ploop") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix bocs command"); - nc_pchain = force->inumeric(FLERR,arg[iarg+1]); + nc_pchain = utils::inumeric(FLERR,arg[iarg+1],false,lmp); if (nc_pchain < 0) error->all(FLERR,"Illegal fix bocs command"); iarg += 2; } else { diff --git a/src/USER-CGDNA/bond_oxdna_fene.cpp b/src/USER-CGDNA/bond_oxdna_fene.cpp index b2737fc4cde9e51a0806584b5374333d7c559757..cc70f2fb31015574bc4c7c9a7e4a9b6e60bbed93 100644 --- a/src/USER-CGDNA/bond_oxdna_fene.cpp +++ b/src/USER-CGDNA/bond_oxdna_fene.cpp @@ -302,11 +302,11 @@ void BondOxdnaFene::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi; - force->bounds(FLERR,arg[0],atom->nbondtypes,ilo,ihi); + utils::bounds(FLERR,arg[0],1,atom->nbondtypes,ilo,ihi,error); - double k_one = force->numeric(FLERR,arg[1]); - double Delta_one = force->numeric(FLERR,arg[2]); - double r0_one = force->numeric(FLERR,arg[3]); + double k_one = utils::numeric(FLERR,arg[1],false,lmp); + double Delta_one = utils::numeric(FLERR,arg[2],false,lmp); + double r0_one = utils::numeric(FLERR,arg[3],false,lmp); int count = 0; diff --git a/src/USER-CGDNA/fix_nve_dotc_langevin.cpp b/src/USER-CGDNA/fix_nve_dotc_langevin.cpp index 59def4c812df66878e92cf421d997c4b72452a93..66871fa64e97a14f5321b27a0403b7b57201d062 100644 --- a/src/USER-CGDNA/fix_nve_dotc_langevin.cpp +++ b/src/USER-CGDNA/fix_nve_dotc_langevin.cpp @@ -40,13 +40,13 @@ FixNVEDotcLangevin::FixNVEDotcLangevin(LAMMPS *lmp, int narg, char **arg) : { if (narg != 9) error->all(FLERR,"Illegal fix nve/dotc/langevin command"); - t_start = force->numeric(FLERR,arg[3]); + t_start = utils::numeric(FLERR,arg[3],false,lmp); t_target = t_start; - t_stop = force->numeric(FLERR,arg[4]); - t_period = force->numeric(FLERR,arg[5]); + t_stop = utils::numeric(FLERR,arg[4],false,lmp); + t_period = utils::numeric(FLERR,arg[5],false,lmp); if (t_period <= 0.0) error->all(FLERR,"Fix nve/dotc/langevin period must be > 0.0"); gamma = 1.0/t_period; - seed = force->inumeric(FLERR,arg[6]); + seed = utils::inumeric(FLERR,arg[6],false,lmp); if (seed <= 0) error->all(FLERR,"Illegal fix nve/dotc/langevin command"); if (strcmp(arg[7],"angmom") == 0) { @@ -56,7 +56,7 @@ FixNVEDotcLangevin::FixNVEDotcLangevin(LAMMPS *lmp, int narg, char **arg) : Gamma = 0.0; } else { - ascale = force->numeric(FLERR,arg[8]); + ascale = utils::numeric(FLERR,arg[8],false,lmp); Gamma = gamma * ascale; } diff --git a/src/USER-CGDNA/pair_oxdna2_coaxstk.cpp b/src/USER-CGDNA/pair_oxdna2_coaxstk.cpp index 51ff26cc6e60363e8c90c765d8d7411e5172dca8..32ee0ed1451d5f2faa031f6265ca54ca9fec4712 100644 --- a/src/USER-CGDNA/pair_oxdna2_coaxstk.cpp +++ b/src/USER-CGDNA/pair_oxdna2_coaxstk.cpp @@ -555,8 +555,8 @@ void PairOxdna2Coaxstk::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); // cross-stacking interaction count = 0; @@ -578,30 +578,30 @@ void PairOxdna2Coaxstk::coeff(int narg, char **arg) double AA_cxst1_one, BB_cxst1_one; - k_cxst_one = force->numeric(FLERR,arg[2]); - cut_cxst_0_one = force->numeric(FLERR,arg[3]); - cut_cxst_c_one = force->numeric(FLERR,arg[4]); - cut_cxst_lo_one = force->numeric(FLERR,arg[5]); - cut_cxst_hi_one = force->numeric(FLERR,arg[6]); + k_cxst_one = utils::numeric(FLERR,arg[2],false,lmp); + cut_cxst_0_one = utils::numeric(FLERR,arg[3],false,lmp); + cut_cxst_c_one = utils::numeric(FLERR,arg[4],false,lmp); + cut_cxst_lo_one = utils::numeric(FLERR,arg[5],false,lmp); + cut_cxst_hi_one = utils::numeric(FLERR,arg[6],false,lmp); - a_cxst1_one = force->numeric(FLERR,arg[7]); - theta_cxst1_0_one = force->numeric(FLERR,arg[8]); - dtheta_cxst1_ast_one = force->numeric(FLERR,arg[9]); + a_cxst1_one = utils::numeric(FLERR,arg[7],false,lmp); + theta_cxst1_0_one = utils::numeric(FLERR,arg[8],false,lmp); + dtheta_cxst1_ast_one = utils::numeric(FLERR,arg[9],false,lmp); - a_cxst4_one = force->numeric(FLERR,arg[10]); - theta_cxst4_0_one = force->numeric(FLERR,arg[11]); - dtheta_cxst4_ast_one = force->numeric(FLERR,arg[12]); + a_cxst4_one = utils::numeric(FLERR,arg[10],false,lmp); + theta_cxst4_0_one = utils::numeric(FLERR,arg[11],false,lmp); + dtheta_cxst4_ast_one = utils::numeric(FLERR,arg[12],false,lmp); - a_cxst5_one = force->numeric(FLERR,arg[13]); - theta_cxst5_0_one = force->numeric(FLERR,arg[14]); - dtheta_cxst5_ast_one = force->numeric(FLERR,arg[15]); + a_cxst5_one = utils::numeric(FLERR,arg[13],false,lmp); + theta_cxst5_0_one = utils::numeric(FLERR,arg[14],false,lmp); + dtheta_cxst5_ast_one = utils::numeric(FLERR,arg[15],false,lmp); - a_cxst6_one = force->numeric(FLERR,arg[16]); - theta_cxst6_0_one = force->numeric(FLERR,arg[17]); - dtheta_cxst6_ast_one = force->numeric(FLERR,arg[18]); + a_cxst6_one = utils::numeric(FLERR,arg[16],false,lmp); + theta_cxst6_0_one = utils::numeric(FLERR,arg[17],false,lmp); + dtheta_cxst6_ast_one = utils::numeric(FLERR,arg[18],false,lmp); - AA_cxst1_one = force->numeric(FLERR,arg[19]); - BB_cxst1_one = force->numeric(FLERR,arg[20]); + AA_cxst1_one = utils::numeric(FLERR,arg[19],false,lmp); + BB_cxst1_one = utils::numeric(FLERR,arg[20],false,lmp); b_cxst_lo_one = 0.25 * (cut_cxst_lo_one - cut_cxst_0_one) * (cut_cxst_lo_one - cut_cxst_0_one)/ (0.5 * (cut_cxst_lo_one - cut_cxst_0_one) * (cut_cxst_lo_one - cut_cxst_0_one) - diff --git a/src/USER-CGDNA/pair_oxdna2_dh.cpp b/src/USER-CGDNA/pair_oxdna2_dh.cpp index e698d8d9062908dbc534eb599f0c75a94ed80c64..04aaf82ccbdd7f4a3b465ba54bf4c4b1c9c72746 100644 --- a/src/USER-CGDNA/pair_oxdna2_dh.cpp +++ b/src/USER-CGDNA/pair_oxdna2_dh.cpp @@ -277,16 +277,16 @@ void PairOxdna2Dh::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); count = 0; double T, rhos_dh_one, qeff_dh_one; - T = force->numeric(FLERR,arg[2]); - rhos_dh_one = force->numeric(FLERR,arg[3]); - qeff_dh_one = force->numeric(FLERR,arg[4]); + T = utils::numeric(FLERR,arg[2],false,lmp); + rhos_dh_one = utils::numeric(FLERR,arg[3],false,lmp); + qeff_dh_one = utils::numeric(FLERR,arg[4],false,lmp); double lambda_dh_one, kappa_dh_one, qeff_dh_pf_one; double b_dh_one, cut_dh_ast_one, cut_dh_c_one; diff --git a/src/USER-CGDNA/pair_oxdna_coaxstk.cpp b/src/USER-CGDNA/pair_oxdna_coaxstk.cpp index 750c6c022d9b95bc21d9d4366fb0084b164d8968..87f58857bbae514f5b1e8a0f54e3e2a2cfc985bb 100644 --- a/src/USER-CGDNA/pair_oxdna_coaxstk.cpp +++ b/src/USER-CGDNA/pair_oxdna_coaxstk.cpp @@ -685,8 +685,8 @@ void PairOxdnaCoaxstk::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); // cross-stacking interaction count = 0; @@ -709,32 +709,32 @@ void PairOxdnaCoaxstk::coeff(int narg, char **arg) double a_cxst3p_one, cosphi_cxst3p_ast_one, b_cxst3p_one, cosphi_cxst3p_c_one; double a_cxst4p_one, cosphi_cxst4p_ast_one, b_cxst4p_one, cosphi_cxst4p_c_one; - k_cxst_one = force->numeric(FLERR,arg[2]); - cut_cxst_0_one = force->numeric(FLERR,arg[3]); - cut_cxst_c_one = force->numeric(FLERR,arg[4]); - cut_cxst_lo_one = force->numeric(FLERR,arg[5]); - cut_cxst_hi_one = force->numeric(FLERR,arg[6]); + k_cxst_one = utils::numeric(FLERR,arg[2],false,lmp); + cut_cxst_0_one = utils::numeric(FLERR,arg[3],false,lmp); + cut_cxst_c_one = utils::numeric(FLERR,arg[4],false,lmp); + cut_cxst_lo_one = utils::numeric(FLERR,arg[5],false,lmp); + cut_cxst_hi_one = utils::numeric(FLERR,arg[6],false,lmp); - a_cxst1_one = force->numeric(FLERR,arg[7]); - theta_cxst1_0_one = force->numeric(FLERR,arg[8]); - dtheta_cxst1_ast_one = force->numeric(FLERR,arg[9]); + a_cxst1_one = utils::numeric(FLERR,arg[7],false,lmp); + theta_cxst1_0_one = utils::numeric(FLERR,arg[8],false,lmp); + dtheta_cxst1_ast_one = utils::numeric(FLERR,arg[9],false,lmp); - a_cxst4_one = force->numeric(FLERR,arg[10]); - theta_cxst4_0_one = force->numeric(FLERR,arg[11]); - dtheta_cxst4_ast_one = force->numeric(FLERR,arg[12]); + a_cxst4_one = utils::numeric(FLERR,arg[10],false,lmp); + theta_cxst4_0_one = utils::numeric(FLERR,arg[11],false,lmp); + dtheta_cxst4_ast_one = utils::numeric(FLERR,arg[12],false,lmp); - a_cxst5_one = force->numeric(FLERR,arg[13]); - theta_cxst5_0_one = force->numeric(FLERR,arg[14]); - dtheta_cxst5_ast_one = force->numeric(FLERR,arg[15]); + a_cxst5_one = utils::numeric(FLERR,arg[13],false,lmp); + theta_cxst5_0_one = utils::numeric(FLERR,arg[14],false,lmp); + dtheta_cxst5_ast_one = utils::numeric(FLERR,arg[15],false,lmp); - a_cxst6_one = force->numeric(FLERR,arg[16]); - theta_cxst6_0_one = force->numeric(FLERR,arg[17]); - dtheta_cxst6_ast_one = force->numeric(FLERR,arg[18]); + a_cxst6_one = utils::numeric(FLERR,arg[16],false,lmp); + theta_cxst6_0_one = utils::numeric(FLERR,arg[17],false,lmp); + dtheta_cxst6_ast_one = utils::numeric(FLERR,arg[18],false,lmp); - a_cxst3p_one = force->numeric(FLERR,arg[19]); - cosphi_cxst3p_ast_one = force->numeric(FLERR,arg[20]); - a_cxst4p_one = force->numeric(FLERR,arg[21]); - cosphi_cxst4p_ast_one = force->numeric(FLERR,arg[22]); + a_cxst3p_one = utils::numeric(FLERR,arg[19],false,lmp); + cosphi_cxst3p_ast_one = utils::numeric(FLERR,arg[20],false,lmp); + a_cxst4p_one = utils::numeric(FLERR,arg[21],false,lmp); + cosphi_cxst4p_ast_one = utils::numeric(FLERR,arg[22],false,lmp); b_cxst_lo_one = 0.25 * (cut_cxst_lo_one - cut_cxst_0_one) * (cut_cxst_lo_one - cut_cxst_0_one)/ (0.5 * (cut_cxst_lo_one - cut_cxst_0_one) * (cut_cxst_lo_one - cut_cxst_0_one) - diff --git a/src/USER-CGDNA/pair_oxdna_excv.cpp b/src/USER-CGDNA/pair_oxdna_excv.cpp index e8e2fad0204c342ab11a298764d90b8c6ae1f269..22ed31000382f19cfc7c1e25acc3df105d296d2b 100644 --- a/src/USER-CGDNA/pair_oxdna_excv.cpp +++ b/src/USER-CGDNA/pair_oxdna_excv.cpp @@ -455,8 +455,8 @@ void PairOxdnaExcv::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); count = 0; @@ -471,9 +471,9 @@ void PairOxdnaExcv::coeff(int narg, char **arg) // Excluded volume interaction // LJ parameters - epsilon_ss_one = force->numeric(FLERR,arg[2]); - sigma_ss_one = force->numeric(FLERR,arg[3]); - cut_ss_ast_one = force->numeric(FLERR,arg[4]); + epsilon_ss_one = utils::numeric(FLERR,arg[2],false,lmp); + sigma_ss_one = utils::numeric(FLERR,arg[3],false,lmp); + cut_ss_ast_one = utils::numeric(FLERR,arg[4],false,lmp); // smoothing - determined through continuity and differentiability b_ss_one = 4.0/sigma_ss_one @@ -502,9 +502,9 @@ void PairOxdnaExcv::coeff(int narg, char **arg) count = 0; // LJ parameters - epsilon_sb_one = force->numeric(FLERR,arg[5]); - sigma_sb_one = force->numeric(FLERR,arg[6]); - cut_sb_ast_one = force->numeric(FLERR,arg[7]); + epsilon_sb_one = utils::numeric(FLERR,arg[5],false,lmp); + sigma_sb_one = utils::numeric(FLERR,arg[6],false,lmp); + cut_sb_ast_one = utils::numeric(FLERR,arg[7],false,lmp); // smoothing - determined through continuity and differentiability b_sb_one = 4.0/sigma_sb_one @@ -533,9 +533,9 @@ void PairOxdnaExcv::coeff(int narg, char **arg) count = 0; // LJ parameters - epsilon_bb_one = force->numeric(FLERR,arg[8]); - sigma_bb_one = force->numeric(FLERR,arg[9]); - cut_bb_ast_one = force->numeric(FLERR,arg[10]); + epsilon_bb_one = utils::numeric(FLERR,arg[8],false,lmp); + sigma_bb_one = utils::numeric(FLERR,arg[9],false,lmp); + cut_bb_ast_one = utils::numeric(FLERR,arg[10],false,lmp); // smoothing - determined through continuity and differentiability b_bb_one = 4.0/sigma_bb_one diff --git a/src/USER-CGDNA/pair_oxdna_hbond.cpp b/src/USER-CGDNA/pair_oxdna_hbond.cpp index 26042339ea5f42862ac96bde66225d8ee602c400..df952d0ff26871fe74d7a6b6ba76438e593ed0e6 100644 --- a/src/USER-CGDNA/pair_oxdna_hbond.cpp +++ b/src/USER-CGDNA/pair_oxdna_hbond.cpp @@ -634,8 +634,8 @@ void PairOxdnaHbond::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi,imod4,jmod4; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); // h-bonding interaction count = 0; @@ -667,36 +667,36 @@ void PairOxdnaHbond::coeff(int narg, char **arg) if (strcmp(arg[2],"seqav") == 0) seqdepflag = 0; if (strcmp(arg[2],"seqdep") == 0) seqdepflag = 1; - epsilon_hb_one = force->numeric(FLERR,arg[3]); - a_hb_one = force->numeric(FLERR,arg[4]); - cut_hb_0_one = force->numeric(FLERR,arg[5]); - cut_hb_c_one = force->numeric(FLERR,arg[6]); - cut_hb_lo_one = force->numeric(FLERR,arg[7]); - cut_hb_hi_one = force->numeric(FLERR,arg[8]); + epsilon_hb_one = utils::numeric(FLERR,arg[3],false,lmp); + a_hb_one = utils::numeric(FLERR,arg[4],false,lmp); + cut_hb_0_one = utils::numeric(FLERR,arg[5],false,lmp); + cut_hb_c_one = utils::numeric(FLERR,arg[6],false,lmp); + cut_hb_lo_one = utils::numeric(FLERR,arg[7],false,lmp); + cut_hb_hi_one = utils::numeric(FLERR,arg[8],false,lmp); - a_hb1_one = force->numeric(FLERR,arg[9]); - theta_hb1_0_one = force->numeric(FLERR,arg[10]); - dtheta_hb1_ast_one = force->numeric(FLERR,arg[11]); + a_hb1_one = utils::numeric(FLERR,arg[9],false,lmp); + theta_hb1_0_one = utils::numeric(FLERR,arg[10],false,lmp); + dtheta_hb1_ast_one = utils::numeric(FLERR,arg[11],false,lmp); - a_hb2_one = force->numeric(FLERR,arg[12]); - theta_hb2_0_one = force->numeric(FLERR,arg[13]); - dtheta_hb2_ast_one = force->numeric(FLERR,arg[14]); + a_hb2_one = utils::numeric(FLERR,arg[12],false,lmp); + theta_hb2_0_one = utils::numeric(FLERR,arg[13],false,lmp); + dtheta_hb2_ast_one = utils::numeric(FLERR,arg[14],false,lmp); - a_hb3_one = force->numeric(FLERR,arg[15]); - theta_hb3_0_one = force->numeric(FLERR,arg[16]); - dtheta_hb3_ast_one = force->numeric(FLERR,arg[17]); + a_hb3_one = utils::numeric(FLERR,arg[15],false,lmp); + theta_hb3_0_one = utils::numeric(FLERR,arg[16],false,lmp); + dtheta_hb3_ast_one = utils::numeric(FLERR,arg[17],false,lmp); - a_hb4_one = force->numeric(FLERR,arg[18]); - theta_hb4_0_one = force->numeric(FLERR,arg[19]); - dtheta_hb4_ast_one = force->numeric(FLERR,arg[20]); + a_hb4_one = utils::numeric(FLERR,arg[18],false,lmp); + theta_hb4_0_one = utils::numeric(FLERR,arg[19],false,lmp); + dtheta_hb4_ast_one = utils::numeric(FLERR,arg[20],false,lmp); - a_hb7_one = force->numeric(FLERR,arg[21]); - theta_hb7_0_one = force->numeric(FLERR,arg[22]); - dtheta_hb7_ast_one = force->numeric(FLERR,arg[23]); + a_hb7_one = utils::numeric(FLERR,arg[21],false,lmp); + theta_hb7_0_one = utils::numeric(FLERR,arg[22],false,lmp); + dtheta_hb7_ast_one = utils::numeric(FLERR,arg[23],false,lmp); - a_hb8_one = force->numeric(FLERR,arg[24]); - theta_hb8_0_one = force->numeric(FLERR,arg[25]); - dtheta_hb8_ast_one = force->numeric(FLERR,arg[26]); + a_hb8_one = utils::numeric(FLERR,arg[24],false,lmp); + theta_hb8_0_one = utils::numeric(FLERR,arg[25],false,lmp); + dtheta_hb8_ast_one = utils::numeric(FLERR,arg[26],false,lmp); b_hb_lo_one = 2*a_hb_one*exp(-a_hb_one*(cut_hb_lo_one-cut_hb_0_one))* 2*a_hb_one*exp(-a_hb_one*(cut_hb_lo_one-cut_hb_0_one))* diff --git a/src/USER-CGDNA/pair_oxdna_stk.cpp b/src/USER-CGDNA/pair_oxdna_stk.cpp index 4d1c4a7101025072e4aab748da72f02d80382e59..fa9204ed86ce0d127414b20cd208ea0ae0a52038 100644 --- a/src/USER-CGDNA/pair_oxdna_stk.cpp +++ b/src/USER-CGDNA/pair_oxdna_stk.cpp @@ -779,8 +779,8 @@ void PairOxdnaStk::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi,imod4,jmod4; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); // stacking interaction count = 0; @@ -807,30 +807,30 @@ void PairOxdnaStk::coeff(int narg, char **arg) if (strcmp(arg[2],"seqav") == 0) seqdepflag = 0; if (strcmp(arg[2],"seqdep") == 0) seqdepflag = 1; - T = force->numeric(FLERR,arg[3]); - xi_st_one = force->numeric(FLERR,arg[4]); - kappa_st_one = force->numeric(FLERR,arg[5]); + T = utils::numeric(FLERR,arg[3],false,lmp); + xi_st_one = utils::numeric(FLERR,arg[4],false,lmp); + kappa_st_one = utils::numeric(FLERR,arg[5],false,lmp); epsilon_st_one = stacking_strength(xi_st_one, kappa_st_one, T); - a_st_one = force->numeric(FLERR,arg[6]); - cut_st_0_one = force->numeric(FLERR,arg[7]); - cut_st_c_one = force->numeric(FLERR,arg[8]); - cut_st_lo_one = force->numeric(FLERR,arg[9]); - cut_st_hi_one = force->numeric(FLERR,arg[10]); - - a_st4_one = force->numeric(FLERR,arg[11]); - theta_st4_0_one = force->numeric(FLERR,arg[12]); - dtheta_st4_ast_one = force->numeric(FLERR,arg[13]); - a_st5_one = force->numeric(FLERR,arg[14]); - theta_st5_0_one = force->numeric(FLERR,arg[15]); - dtheta_st5_ast_one = force->numeric(FLERR,arg[16]); - a_st6_one = force->numeric(FLERR,arg[17]); - theta_st6_0_one = force->numeric(FLERR,arg[18]); - dtheta_st6_ast_one = force->numeric(FLERR,arg[19]); - a_st1_one = force->numeric(FLERR,arg[20]); - cosphi_st1_ast_one = force->numeric(FLERR,arg[21]); - a_st2_one = force->numeric(FLERR,arg[22]); - cosphi_st2_ast_one = force->numeric(FLERR,arg[23]); + a_st_one = utils::numeric(FLERR,arg[6],false,lmp); + cut_st_0_one = utils::numeric(FLERR,arg[7],false,lmp); + cut_st_c_one = utils::numeric(FLERR,arg[8],false,lmp); + cut_st_lo_one = utils::numeric(FLERR,arg[9],false,lmp); + cut_st_hi_one = utils::numeric(FLERR,arg[10],false,lmp); + + a_st4_one = utils::numeric(FLERR,arg[11],false,lmp); + theta_st4_0_one = utils::numeric(FLERR,arg[12],false,lmp); + dtheta_st4_ast_one = utils::numeric(FLERR,arg[13],false,lmp); + a_st5_one = utils::numeric(FLERR,arg[14],false,lmp); + theta_st5_0_one = utils::numeric(FLERR,arg[15],false,lmp); + dtheta_st5_ast_one = utils::numeric(FLERR,arg[16],false,lmp); + a_st6_one = utils::numeric(FLERR,arg[17],false,lmp); + theta_st6_0_one = utils::numeric(FLERR,arg[18],false,lmp); + dtheta_st6_ast_one = utils::numeric(FLERR,arg[19],false,lmp); + a_st1_one = utils::numeric(FLERR,arg[20],false,lmp); + cosphi_st1_ast_one = utils::numeric(FLERR,arg[21],false,lmp); + a_st2_one = utils::numeric(FLERR,arg[22],false,lmp); + cosphi_st2_ast_one = utils::numeric(FLERR,arg[23],false,lmp); b_st_lo_one = 2*a_st_one*exp(-a_st_one*(cut_st_lo_one-cut_st_0_one))* 2*a_st_one*exp(-a_st_one*(cut_st_lo_one-cut_st_0_one))* diff --git a/src/USER-CGDNA/pair_oxdna_xstk.cpp b/src/USER-CGDNA/pair_oxdna_xstk.cpp index a1fc86bd4d8e18862869c29a916c46cb6e9e381f..7845451dafa1141140aee9f14bc215ec3f4d2e2d 100644 --- a/src/USER-CGDNA/pair_oxdna_xstk.cpp +++ b/src/USER-CGDNA/pair_oxdna_xstk.cpp @@ -630,8 +630,8 @@ void PairOxdnaXstk::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); // cross-stacking interaction count = 0; @@ -657,35 +657,35 @@ void PairOxdnaXstk::coeff(int narg, char **arg) double a_xst8_one, theta_xst8_0_one, dtheta_xst8_ast_one; double b_xst8_one, dtheta_xst8_c_one; - k_xst_one = force->numeric(FLERR,arg[2]); - cut_xst_0_one = force->numeric(FLERR,arg[3]); - cut_xst_c_one = force->numeric(FLERR,arg[4]); - cut_xst_lo_one = force->numeric(FLERR,arg[5]); - cut_xst_hi_one = force->numeric(FLERR,arg[6]); + k_xst_one = utils::numeric(FLERR,arg[2],false,lmp); + cut_xst_0_one = utils::numeric(FLERR,arg[3],false,lmp); + cut_xst_c_one = utils::numeric(FLERR,arg[4],false,lmp); + cut_xst_lo_one = utils::numeric(FLERR,arg[5],false,lmp); + cut_xst_hi_one = utils::numeric(FLERR,arg[6],false,lmp); - a_xst1_one = force->numeric(FLERR,arg[7]); - theta_xst1_0_one = force->numeric(FLERR,arg[8]); - dtheta_xst1_ast_one = force->numeric(FLERR,arg[9]); + a_xst1_one = utils::numeric(FLERR,arg[7],false,lmp); + theta_xst1_0_one = utils::numeric(FLERR,arg[8],false,lmp); + dtheta_xst1_ast_one = utils::numeric(FLERR,arg[9],false,lmp); - a_xst2_one = force->numeric(FLERR,arg[10]); - theta_xst2_0_one = force->numeric(FLERR,arg[11]); - dtheta_xst2_ast_one = force->numeric(FLERR,arg[12]); + a_xst2_one = utils::numeric(FLERR,arg[10],false,lmp); + theta_xst2_0_one = utils::numeric(FLERR,arg[11],false,lmp); + dtheta_xst2_ast_one = utils::numeric(FLERR,arg[12],false,lmp); - a_xst3_one = force->numeric(FLERR,arg[13]); - theta_xst3_0_one = force->numeric(FLERR,arg[14]); - dtheta_xst3_ast_one = force->numeric(FLERR,arg[15]); + a_xst3_one = utils::numeric(FLERR,arg[13],false,lmp); + theta_xst3_0_one = utils::numeric(FLERR,arg[14],false,lmp); + dtheta_xst3_ast_one = utils::numeric(FLERR,arg[15],false,lmp); - a_xst4_one = force->numeric(FLERR,arg[16]); - theta_xst4_0_one = force->numeric(FLERR,arg[17]); - dtheta_xst4_ast_one = force->numeric(FLERR,arg[18]); + a_xst4_one = utils::numeric(FLERR,arg[16],false,lmp); + theta_xst4_0_one = utils::numeric(FLERR,arg[17],false,lmp); + dtheta_xst4_ast_one = utils::numeric(FLERR,arg[18],false,lmp); - a_xst7_one = force->numeric(FLERR,arg[19]); - theta_xst7_0_one = force->numeric(FLERR,arg[20]); - dtheta_xst7_ast_one = force->numeric(FLERR,arg[21]); + a_xst7_one = utils::numeric(FLERR,arg[19],false,lmp); + theta_xst7_0_one = utils::numeric(FLERR,arg[20],false,lmp); + dtheta_xst7_ast_one = utils::numeric(FLERR,arg[21],false,lmp); - a_xst8_one = force->numeric(FLERR,arg[22]); - theta_xst8_0_one = force->numeric(FLERR,arg[23]); - dtheta_xst8_ast_one = force->numeric(FLERR,arg[24]); + a_xst8_one = utils::numeric(FLERR,arg[22],false,lmp); + theta_xst8_0_one = utils::numeric(FLERR,arg[23],false,lmp); + dtheta_xst8_ast_one = utils::numeric(FLERR,arg[24],false,lmp); b_xst_lo_one = 0.25 * (cut_xst_lo_one - cut_xst_0_one) * (cut_xst_lo_one - cut_xst_0_one)/ diff --git a/src/USER-CGDNA/pair_oxrna2_stk.cpp b/src/USER-CGDNA/pair_oxrna2_stk.cpp index de2cd637990fd0126c89edd35212982b61c0fdfc..1b6c577a19b73330f28d3268ba6a0c1c9b700fb7 100644 --- a/src/USER-CGDNA/pair_oxrna2_stk.cpp +++ b/src/USER-CGDNA/pair_oxrna2_stk.cpp @@ -863,8 +863,8 @@ void PairOxrna2Stk::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); // stacking interaction count = 0; @@ -894,35 +894,35 @@ void PairOxrna2Stk::coeff(int narg, char **arg) if (strcmp(arg[2],"seqav") == 0) seqdepflag = 0; if (strcmp(arg[2],"seqdep") == 0) seqdepflag = 1; - T = force->numeric(FLERR,arg[3]); - xi_st_one = force->numeric(FLERR,arg[4]); - kappa_st_one = force->numeric(FLERR,arg[5]); + T = utils::numeric(FLERR,arg[3],false,lmp); + xi_st_one = utils::numeric(FLERR,arg[4],false,lmp); + kappa_st_one = utils::numeric(FLERR,arg[5],false,lmp); epsilon_st_one = stacking_strength(xi_st_one, kappa_st_one, T); - a_st_one = force->numeric(FLERR,arg[6]); - cut_st_0_one = force->numeric(FLERR,arg[7]); - cut_st_c_one = force->numeric(FLERR,arg[8]); - cut_st_lo_one = force->numeric(FLERR,arg[9]); - cut_st_hi_one = force->numeric(FLERR,arg[10]); - - a_st5_one = force->numeric(FLERR,arg[11]); - theta_st5_0_one = force->numeric(FLERR,arg[12]); - dtheta_st5_ast_one = force->numeric(FLERR,arg[13]); - a_st6_one = force->numeric(FLERR,arg[14]); - theta_st6_0_one = force->numeric(FLERR,arg[15]); - dtheta_st6_ast_one = force->numeric(FLERR,arg[16]); - - a_st9_one = force->numeric(FLERR,arg[17]); - theta_st9_0_one = force->numeric(FLERR,arg[18]); - dtheta_st9_ast_one = force->numeric(FLERR,arg[19]); - a_st10_one = force->numeric(FLERR,arg[20]); - theta_st10_0_one = force->numeric(FLERR,arg[21]); - dtheta_st10_ast_one = force->numeric(FLERR,arg[22]); - - a_st1_one = force->numeric(FLERR,arg[23]); - cosphi_st1_ast_one = force->numeric(FLERR,arg[24]); - a_st2_one = force->numeric(FLERR,arg[25]); - cosphi_st2_ast_one = force->numeric(FLERR,arg[26]); + a_st_one = utils::numeric(FLERR,arg[6],false,lmp); + cut_st_0_one = utils::numeric(FLERR,arg[7],false,lmp); + cut_st_c_one = utils::numeric(FLERR,arg[8],false,lmp); + cut_st_lo_one = utils::numeric(FLERR,arg[9],false,lmp); + cut_st_hi_one = utils::numeric(FLERR,arg[10],false,lmp); + + a_st5_one = utils::numeric(FLERR,arg[11],false,lmp); + theta_st5_0_one = utils::numeric(FLERR,arg[12],false,lmp); + dtheta_st5_ast_one = utils::numeric(FLERR,arg[13],false,lmp); + a_st6_one = utils::numeric(FLERR,arg[14],false,lmp); + theta_st6_0_one = utils::numeric(FLERR,arg[15],false,lmp); + dtheta_st6_ast_one = utils::numeric(FLERR,arg[16],false,lmp); + + a_st9_one = utils::numeric(FLERR,arg[17],false,lmp); + theta_st9_0_one = utils::numeric(FLERR,arg[18],false,lmp); + dtheta_st9_ast_one = utils::numeric(FLERR,arg[19],false,lmp); + a_st10_one = utils::numeric(FLERR,arg[20],false,lmp); + theta_st10_0_one = utils::numeric(FLERR,arg[21],false,lmp); + dtheta_st10_ast_one = utils::numeric(FLERR,arg[22],false,lmp); + + a_st1_one = utils::numeric(FLERR,arg[23],false,lmp); + cosphi_st1_ast_one = utils::numeric(FLERR,arg[24],false,lmp); + a_st2_one = utils::numeric(FLERR,arg[25],false,lmp); + cosphi_st2_ast_one = utils::numeric(FLERR,arg[26],false,lmp); b_st_lo_one = 2*a_st_one*exp(-a_st_one*(cut_st_lo_one-cut_st_0_one))* 2*a_st_one*exp(-a_st_one*(cut_st_lo_one-cut_st_0_one))* diff --git a/src/USER-CGDNA/pair_oxrna2_xstk.cpp b/src/USER-CGDNA/pair_oxrna2_xstk.cpp index 73a73c1ea0a1e12ebe40002741ab40c0d7bee45f..11c2f2b9b13e09087bb6f971a6c1bce0e89bdd14 100644 --- a/src/USER-CGDNA/pair_oxrna2_xstk.cpp +++ b/src/USER-CGDNA/pair_oxrna2_xstk.cpp @@ -580,8 +580,8 @@ void PairOxrna2Xstk::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); // cross-stacking interaction count = 0; @@ -604,31 +604,31 @@ void PairOxrna2Xstk::coeff(int narg, char **arg) double a_xst8_one, theta_xst8_0_one, dtheta_xst8_ast_one; double b_xst8_one, dtheta_xst8_c_one; - k_xst_one = force->numeric(FLERR,arg[2]); - cut_xst_0_one = force->numeric(FLERR,arg[3]); - cut_xst_c_one = force->numeric(FLERR,arg[4]); - cut_xst_lo_one = force->numeric(FLERR,arg[5]); - cut_xst_hi_one = force->numeric(FLERR,arg[6]); + k_xst_one = utils::numeric(FLERR,arg[2],false,lmp); + cut_xst_0_one = utils::numeric(FLERR,arg[3],false,lmp); + cut_xst_c_one = utils::numeric(FLERR,arg[4],false,lmp); + cut_xst_lo_one = utils::numeric(FLERR,arg[5],false,lmp); + cut_xst_hi_one = utils::numeric(FLERR,arg[6],false,lmp); - a_xst1_one = force->numeric(FLERR,arg[7]); - theta_xst1_0_one = force->numeric(FLERR,arg[8]); - dtheta_xst1_ast_one = force->numeric(FLERR,arg[9]); + a_xst1_one = utils::numeric(FLERR,arg[7],false,lmp); + theta_xst1_0_one = utils::numeric(FLERR,arg[8],false,lmp); + dtheta_xst1_ast_one = utils::numeric(FLERR,arg[9],false,lmp); - a_xst2_one = force->numeric(FLERR,arg[10]); - theta_xst2_0_one = force->numeric(FLERR,arg[11]); - dtheta_xst2_ast_one = force->numeric(FLERR,arg[12]); + a_xst2_one = utils::numeric(FLERR,arg[10],false,lmp); + theta_xst2_0_one = utils::numeric(FLERR,arg[11],false,lmp); + dtheta_xst2_ast_one = utils::numeric(FLERR,arg[12],false,lmp); - a_xst3_one = force->numeric(FLERR,arg[13]); - theta_xst3_0_one = force->numeric(FLERR,arg[14]); - dtheta_xst3_ast_one = force->numeric(FLERR,arg[15]); + a_xst3_one = utils::numeric(FLERR,arg[13],false,lmp); + theta_xst3_0_one = utils::numeric(FLERR,arg[14],false,lmp); + dtheta_xst3_ast_one = utils::numeric(FLERR,arg[15],false,lmp); - a_xst7_one = force->numeric(FLERR,arg[16]); - theta_xst7_0_one = force->numeric(FLERR,arg[17]); - dtheta_xst7_ast_one = force->numeric(FLERR,arg[18]); + a_xst7_one = utils::numeric(FLERR,arg[16],false,lmp); + theta_xst7_0_one = utils::numeric(FLERR,arg[17],false,lmp); + dtheta_xst7_ast_one = utils::numeric(FLERR,arg[18],false,lmp); - a_xst8_one = force->numeric(FLERR,arg[19]); - theta_xst8_0_one = force->numeric(FLERR,arg[20]); - dtheta_xst8_ast_one = force->numeric(FLERR,arg[21]); + a_xst8_one = utils::numeric(FLERR,arg[19],false,lmp); + theta_xst8_0_one = utils::numeric(FLERR,arg[20],false,lmp); + dtheta_xst8_ast_one = utils::numeric(FLERR,arg[21],false,lmp); b_xst_lo_one = 0.25 * (cut_xst_lo_one - cut_xst_0_one) * (cut_xst_lo_one - cut_xst_0_one)/ diff --git a/src/USER-CGSDK/angle_sdk.cpp b/src/USER-CGSDK/angle_sdk.cpp index 11b3a8308c99abb3f3a30cf5a2f1a87ea2b93bb6..d535baeda5dea824f364a417f58c61153cca431c 100644 --- a/src/USER-CGSDK/angle_sdk.cpp +++ b/src/USER-CGSDK/angle_sdk.cpp @@ -241,10 +241,10 @@ void AngleSDK::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi; - force->bounds(FLERR,arg[0],atom->nangletypes,ilo,ihi); + utils::bounds(FLERR,arg[0],1,atom->nangletypes,ilo,ihi,error); - double k_one = force->numeric(FLERR,arg[1]); - double theta0_one = force->numeric(FLERR,arg[2]); + double k_one = utils::numeric(FLERR,arg[1],false,lmp); + double theta0_one = utils::numeric(FLERR,arg[2],false,lmp); double repscale_one=1.0; // backward compatibility with old cg/cmm style input: @@ -253,9 +253,9 @@ void AngleSDK::coeff(int narg, char **arg) // otherwise assume repscale 1.0, since we were using // epsilon to turn repulsion on or off. if (narg == 6) { - repscale_one = force->numeric(FLERR,arg[4]); + repscale_one = utils::numeric(FLERR,arg[4],false,lmp); if (repscale_one > 0.0) repscale_one = 1.0; - } else if (narg == 4) repscale_one = force->numeric(FLERR,arg[3]); + } else if (narg == 4) repscale_one = utils::numeric(FLERR,arg[3],false,lmp); else if (narg == 3) repscale_one = 1.0; else error->all(FLERR,"Incorrect args for angle coefficients"); diff --git a/src/USER-CGSDK/pair_lj_sdk.cpp b/src/USER-CGSDK/pair_lj_sdk.cpp index 3e4f8deee8842fc6f633f71b47b8b19e45332100..cf478e85fbcfd1a0af97e9d1d974a9f9a6bb95a4 100644 --- a/src/USER-CGSDK/pair_lj_sdk.cpp +++ b/src/USER-CGSDK/pair_lj_sdk.cpp @@ -234,7 +234,7 @@ void PairLJSDK::settings(int narg, char **arg) { if (narg != 1) error->all(FLERR,"Illegal pair_style command"); - cut_global = force->numeric(FLERR,arg[0]); + cut_global = utils::numeric(FLERR,arg[0],false,lmp); // reset cutoffs that have been explicitly set @@ -256,18 +256,18 @@ void PairLJSDK::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); int lj_type_one = find_lj_type(arg[2],lj_type_list); if (lj_type_one == LJ_NOT_SET) error->all(FLERR,"Cannot parse LJ type flag."); - double epsilon_one = force->numeric(FLERR,arg[3]); - double sigma_one = force->numeric(FLERR,arg[4]); + double epsilon_one = utils::numeric(FLERR,arg[3],false,lmp); + double sigma_one = utils::numeric(FLERR,arg[4],false,lmp); double cut_one = cut_global; - if (narg == 6) cut_one = force->numeric(FLERR,arg[5]); + if (narg == 6) cut_one = utils::numeric(FLERR,arg[5],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/USER-CGSDK/pair_lj_sdk_coul_long.cpp b/src/USER-CGSDK/pair_lj_sdk_coul_long.cpp index 7e5852f3675d78873a8d24c001b737aaaef12943..cd02c7f9e1c70d2c5ae07ef6a4f7d69feb20b344 100644 --- a/src/USER-CGSDK/pair_lj_sdk_coul_long.cpp +++ b/src/USER-CGSDK/pair_lj_sdk_coul_long.cpp @@ -293,9 +293,9 @@ void PairLJSDKCoulLong::settings(int narg, char **arg) { if (narg < 1 || narg > 2) error->all(FLERR,"Illegal pair_style command"); - cut_lj_global = force->numeric(FLERR,arg[0]); + cut_lj_global = utils::numeric(FLERR,arg[0],false,lmp); if (narg == 1) cut_coul = cut_lj_global; - else cut_coul = force->numeric(FLERR,arg[1]); + else cut_coul = utils::numeric(FLERR,arg[1],false,lmp); // reset cutoffs that have been explicitly set @@ -318,18 +318,18 @@ void PairLJSDKCoulLong::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); int lj_type_one = find_lj_type(arg[2],lj_type_list); if (lj_type_one == LJ_NOT_SET) error->all(FLERR,"Cannot parse LJ type flag."); - double epsilon_one = force->numeric(FLERR,arg[3]); - double sigma_one = force->numeric(FLERR,arg[4]); + double epsilon_one = utils::numeric(FLERR,arg[3],false,lmp); + double sigma_one = utils::numeric(FLERR,arg[4],false,lmp); double cut_lj_one = cut_lj_global; - if (narg == 6) cut_lj_one = force->numeric(FLERR,arg[5]); + if (narg == 6) cut_lj_one = utils::numeric(FLERR,arg[5],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/USER-COLVARS/fix_colvars.cpp b/src/USER-COLVARS/fix_colvars.cpp index 7ce2a93680edeeb55ecd9780f0ce40d64240197d..f9e071a0b384eafe94514434ae45324ad4bdecf4 100644 --- a/src/USER-COLVARS/fix_colvars.cpp +++ b/src/USER-COLVARS/fix_colvars.cpp @@ -324,7 +324,7 @@ FixColvars::FixColvars(LAMMPS *lmp, int narg, char **arg) : } else if (0 == strcmp(arg[argsdone], "output")) { out_name = strdup(arg[argsdone+1]); } else if (0 == strcmp(arg[argsdone], "seed")) { - rng_seed = force->inumeric(FLERR,arg[argsdone+1]); + rng_seed = utils::inumeric(FLERR,arg[argsdone+1],false,lmp); } else if (0 == strcmp(arg[argsdone], "unwrap")) { if (0 == strcmp(arg[argsdone+1], "yes")) { unwrap_flag = 1; diff --git a/src/USER-DIFFRACTION/fix_saed_vtk.cpp b/src/USER-DIFFRACTION/fix_saed_vtk.cpp index b6c00c23744f1869bb1e74b19423f5bd4574eacd..0a018338a464c627b96a765273cb43bd50d0612a 100644 --- a/src/USER-DIFFRACTION/fix_saed_vtk.cpp +++ b/src/USER-DIFFRACTION/fix_saed_vtk.cpp @@ -48,9 +48,9 @@ FixSAEDVTK::FixSAEDVTK(LAMMPS *lmp, int narg, char **arg) : MPI_Comm_rank(world,&me); - nevery = force->inumeric(FLERR,arg[3]); - nrepeat = force->inumeric(FLERR,arg[4]); - nfreq = force->inumeric(FLERR,arg[5]); + nevery = utils::inumeric(FLERR,arg[3],false,lmp); + nrepeat = utils::inumeric(FLERR,arg[4],false,lmp); + nfreq = utils::inumeric(FLERR,arg[5],false,lmp); global_freq = nfreq; @@ -568,14 +568,14 @@ void FixSAEDVTK::options(int narg, char **arg) else error->all(FLERR,"Illegal fix saed/vtk command"); if (ave == WINDOW) { if (iarg+3 > narg) error->all(FLERR,"Illegal fix saed/vtk command"); - nwindow = force->inumeric(FLERR,arg[iarg+2]); + nwindow = utils::inumeric(FLERR,arg[iarg+2],false,lmp); if (nwindow <= 0) error->all(FLERR,"Illegal fix saed/vtk command"); } iarg += 2; if (ave == WINDOW) iarg++; } else if (strcmp(arg[iarg],"start") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix saed/vtk command"); - startstep = force->inumeric(FLERR,arg[iarg+1]); + startstep = utils::inumeric(FLERR,arg[iarg+1],false,lmp); iarg += 2; } else if (strcmp(arg[iarg],"overwrite") == 0) { overwrite = 1; diff --git a/src/USER-DPD/fix_eos_cv.cpp b/src/USER-DPD/fix_eos_cv.cpp index 5b25519a401d2e2ce073bd2903f2064b6ccd94ea..bd0e334ffcd7ed8024f314da653bb9be8c540cf0 100644 --- a/src/USER-DPD/fix_eos_cv.cpp +++ b/src/USER-DPD/fix_eos_cv.cpp @@ -29,7 +29,7 @@ FixEOScv::FixEOScv(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) { if (narg != 4) error->all(FLERR,"Illegal fix eos/cv command"); - cvEOS = force->numeric(FLERR,arg[3]); + cvEOS = utils::numeric(FLERR,arg[3],false,lmp); if(cvEOS <= 0.0) error->all(FLERR,"EOS cv must be > 0.0"); nevery = 1; diff --git a/src/USER-DPD/fix_eos_table.cpp b/src/USER-DPD/fix_eos_table.cpp index dc6310ae42097fa7aa8c8d3ad96e0e4d394b172a..69e53369457703f0edf73edebade141e53c7b61b 100644 --- a/src/USER-DPD/fix_eos_table.cpp +++ b/src/USER-DPD/fix_eos_table.cpp @@ -41,7 +41,7 @@ FixEOStable::FixEOStable(LAMMPS *lmp, int narg, char **arg) : if (strcmp(arg[3],"linear") == 0) tabstyle = LINEAR; else error->all(FLERR,"Unknown table style in fix eos/table"); - tablength = force->inumeric(FLERR,arg[5]); + tablength = utils::inumeric(FLERR,arg[5],false,lmp); if (tablength < 2) error->all(FLERR,"Illegal number of eos/table entries"); ntables = 0; @@ -199,7 +199,7 @@ void FixEOStable::read_table(Table *tb, Table *tb2, char *file, char *keyword) // open file - FILE *fp = force->open_potential(file); + FILE *fp = utils::open_potential(file,lmp,nullptr); if (fp == NULL) { char str[128]; snprintf(str,128,"Cannot open file %s",file); diff --git a/src/USER-DPD/fix_eos_table_rx.cpp b/src/USER-DPD/fix_eos_table_rx.cpp index d9641f2aab0b64c59944ddeee8dde0f16461dd26..d728f7e98737db50bd4598b2395ead089d08fc69 100644 --- a/src/USER-DPD/fix_eos_table_rx.cpp +++ b/src/USER-DPD/fix_eos_table_rx.cpp @@ -60,7 +60,7 @@ FixEOStableRX::FixEOStableRX(LAMMPS *lmp, int narg, char **arg) : if (strcmp(arg[3],"linear") == 0) tabstyle = LINEAR; else error->all(FLERR,"Unknown table style in fix eos/table/rx"); - tablength = force->inumeric(FLERR,arg[5]); + tablength = utils::inumeric(FLERR,arg[5],false,lmp); if (tablength < 2) error->all(FLERR,"Illegal number of eos/table/rx entries"); ntables = 0; diff --git a/src/USER-DPD/fix_rx.cpp b/src/USER-DPD/fix_rx.cpp index 77efd1842b53f4007732f6b4cd9905f71b45aab6..ced7283ef401b902f4465949109ba607a565fcd1 100644 --- a/src/USER-DPD/fix_rx.cpp +++ b/src/USER-DPD/fix_rx.cpp @@ -266,7 +266,7 @@ void FixRX::post_constructor() FILE *fp; fp = NULL; if (comm->me == 0) { - fp = force->open_potential(kineticsFile); + fp = utils::open_potential(kineticsFile,lmp,nullptr); if (fp == NULL) { char str[128]; snprintf(str,128,"Cannot open rx file %s",kineticsFile); @@ -855,7 +855,7 @@ void FixRX::read_file(char *file) FILE *fp; fp = NULL; if (comm->me == 0) { - fp = force->open_potential(file); + fp = utils::open_potential(file,lmp,nullptr); if (fp == NULL) { char str[128]; snprintf(str,128,"Cannot open rx file %s",file); @@ -892,7 +892,7 @@ void FixRX::read_file(char *file) } // open file on proc 0 - if (comm->me == 0) fp = force->open_potential(file); + if (comm->me == 0) fp = utils::open_potential(file,lmp,nullptr); // read each reaction from kinetics file eof=0; diff --git a/src/USER-DPD/pair_dpd_fdt.cpp b/src/USER-DPD/pair_dpd_fdt.cpp index 14bbe0b784d50790861685f8fc49719492554ac1..876d76a42f971f9d68bb145ab3349de76e49a9d5 100644 --- a/src/USER-DPD/pair_dpd_fdt.cpp +++ b/src/USER-DPD/pair_dpd_fdt.cpp @@ -249,9 +249,9 @@ void PairDPDfdt::settings(int narg, char **arg) // process keywords if (narg != 3) error->all(FLERR,"Illegal pair_style command"); - temperature = force->numeric(FLERR,arg[0]); - cut_global = force->numeric(FLERR,arg[1]); - seed = force->inumeric(FLERR,arg[2]); + temperature = utils::numeric(FLERR,arg[0],false,lmp); + cut_global = utils::numeric(FLERR,arg[1],false,lmp); + seed = utils::inumeric(FLERR,arg[2],false,lmp); // initialize Marsaglia RNG with processor-unique seed @@ -279,16 +279,16 @@ void PairDPDfdt::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); - double a0_one = force->numeric(FLERR,arg[2]); - double sigma_one = force->numeric(FLERR,arg[3]); + double a0_one = utils::numeric(FLERR,arg[2],false,lmp); + double sigma_one = utils::numeric(FLERR,arg[3],false,lmp); double cut_one = cut_global; a0_is_zero = (a0_one == 0.0); // Typical use with SSA is to set a0 to zero - if (narg == 5) cut_one = force->numeric(FLERR,arg[4]); + if (narg == 5) cut_one = utils::numeric(FLERR,arg[4],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/USER-DPD/pair_dpd_fdt_energy.cpp b/src/USER-DPD/pair_dpd_fdt_energy.cpp index 455af2f48195c43a86d52b8e58e53637aa25926c..3686bcb7e93b3ee01df0e8297757d031c584b251 100644 --- a/src/USER-DPD/pair_dpd_fdt_energy.cpp +++ b/src/USER-DPD/pair_dpd_fdt_energy.cpp @@ -336,8 +336,8 @@ void PairDPDfdtEnergy::settings(int narg, char **arg) // process keywords if (narg != 2) error->all(FLERR,"Illegal pair_style command"); - cut_global = force->numeric(FLERR,arg[0]); - seed = force->inumeric(FLERR,arg[1]); + cut_global = utils::numeric(FLERR,arg[0],false,lmp); + seed = utils::inumeric(FLERR,arg[1],false,lmp); if (atom->dpd_flag != 1) error->all(FLERR,"pair_style dpd/fdt/energy requires atom_style with internal temperature and energies (e.g. dpd)"); @@ -367,19 +367,19 @@ void PairDPDfdtEnergy::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); - double a0_one = force->numeric(FLERR,arg[2]); - double sigma_one = force->numeric(FLERR,arg[3]); + double a0_one = utils::numeric(FLERR,arg[2],false,lmp); + double sigma_one = utils::numeric(FLERR,arg[3],false,lmp); double cut_one = cut_global; double kappa_one, alpha_one; a0_is_zero = (a0_one == 0.0); // Typical use with SSA is to set a0 to zero - kappa_one = force->numeric(FLERR,arg[4]); + kappa_one = utils::numeric(FLERR,arg[4],false,lmp); alpha_one = sqrt(2.0*force->boltz*kappa_one); - if (narg == 6) cut_one = force->numeric(FLERR,arg[5]); + if (narg == 6) cut_one = utils::numeric(FLERR,arg[5],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/USER-DPD/pair_exp6_rx.cpp b/src/USER-DPD/pair_exp6_rx.cpp index 4ac491afb1a704047184af612bee76b3636782f1..839d22b50b32c18f80751665828eb8152441bb69 100644 --- a/src/USER-DPD/pair_exp6_rx.cpp +++ b/src/USER-DPD/pair_exp6_rx.cpp @@ -549,7 +549,7 @@ void PairExp6rx::settings(int narg, char **arg) { if (narg < 1) error->all(FLERR,"Illegal pair_style command"); - cut_global = force->numeric(FLERR,arg[0]); + cut_global = utils::numeric(FLERR,arg[0],false,lmp); // optional keywords @@ -589,8 +589,8 @@ void PairExp6rx::coeff(int narg, char **arg) int ilo,ihi,jlo,jhi; int n; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); nspecies = atom->nspecies_dpd; if(nspecies==0) error->all(FLERR,"There are no rx species specified."); @@ -666,10 +666,10 @@ void PairExp6rx::coeff(int narg, char **arg) double cut_one = cut_global; if (strcmp(arg[5],"exponent") == 0){ scalingFlag = EXPONENT; - exponentR = force->numeric(FLERR,arg[6]); - exponentEpsilon = force->numeric(FLERR,arg[7]); + exponentR = utils::numeric(FLERR,arg[6],false,lmp); + exponentEpsilon = utils::numeric(FLERR,arg[7],false,lmp); if (narg > 9) error->all(FLERR,"Incorrect args for pair coefficients"); - if (narg == 9) cut_one = force->numeric(FLERR,arg[8]); + if (narg == 9) cut_one = utils::numeric(FLERR,arg[8],false,lmp); } else if (strcmp(arg[5],"polynomial") == 0){ scalingFlag = POLYNOMIAL; memory->create(coeffAlpha,6,"pair:coeffAlpha"); @@ -677,11 +677,11 @@ void PairExp6rx::coeff(int narg, char **arg) memory->create(coeffRm,6,"pair:coeffRm"); read_file2(arg[6]); if (narg > 8) error->all(FLERR,"Incorrect args for pair coefficients"); - if (narg == 8) cut_one = force->numeric(FLERR,arg[7]); + if (narg == 8) cut_one = utils::numeric(FLERR,arg[7],false,lmp); } else if (strcmp(arg[5],"none") == 0){ scalingFlag = NONE; if (narg > 7) error->all(FLERR,"Incorrect args for pair coefficients"); - if (narg == 7) cut_one = force->numeric(FLERR,arg[6]); + if (narg == 7) cut_one = utils::numeric(FLERR,arg[6],false,lmp); } else { error->all(FLERR,"Incorrect args for pair coefficients"); } @@ -725,7 +725,7 @@ void PairExp6rx::read_file(char *file) FILE *fp; fp = NULL; if (comm->me == 0) { - fp = force->open_potential(file); + fp = utils::open_potential(file,lmp,nullptr); if (fp == NULL) { char str[128]; snprintf(str,128,"Cannot open exp6/rx potential file %s",file); diff --git a/src/USER-DPD/pair_multi_lucy.cpp b/src/USER-DPD/pair_multi_lucy.cpp index 1cbb29a93c13f63a3c21260d4e8e1aad81175d0f..f9074d5c056423957c67f829f213bae66c6d2eaf 100644 --- a/src/USER-DPD/pair_multi_lucy.cpp +++ b/src/USER-DPD/pair_multi_lucy.cpp @@ -240,7 +240,7 @@ void PairMultiLucy::settings(int narg, char **arg) else if (strcmp(arg[0],"linear") == 0) tabstyle = LINEAR; else error->all(FLERR,"Unknown table style in pair_style command"); - tablength = force->inumeric(FLERR,arg[1]); + tablength = utils::inumeric(FLERR,arg[1],false,lmp); if (tablength < 2) error->all(FLERR,"Illegal number of pair table entries"); // delete old tables, since cannot just change settings @@ -269,8 +269,8 @@ void PairMultiLucy::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); int me; MPI_Comm_rank(world,&me); @@ -282,7 +282,7 @@ void PairMultiLucy::coeff(int narg, char **arg) bcast_table(tb); // set table cutoff - if (narg == 5) tb->cut = force->numeric(FLERR,arg[4]); + if (narg == 5) tb->cut = utils::numeric(FLERR,arg[4],false,lmp); else if (tb->rflag) tb->cut = tb->rhi; else tb->cut = tb->rfile[tb->ninput-1]; diff --git a/src/USER-DPD/pair_multi_lucy_rx.cpp b/src/USER-DPD/pair_multi_lucy_rx.cpp index 79df11a038dde8c0a6f19b73cea4ca57e2244304..90f6dc6170e30b71ebb2b0457415f4a66c26951f 100644 --- a/src/USER-DPD/pair_multi_lucy_rx.cpp +++ b/src/USER-DPD/pair_multi_lucy_rx.cpp @@ -329,7 +329,7 @@ void PairMultiLucyRX::settings(int narg, char **arg) else if (strcmp(arg[0],"linear") == 0) tabstyle = LINEAR; else error->all(FLERR,"Unknown table style in pair_style command"); - tablength = force->inumeric(FLERR,arg[1]); + tablength = utils::inumeric(FLERR,arg[1],false,lmp); if (tablength < 2) error->all(FLERR,"Illegal number of pair table entries"); // optional keywords @@ -374,8 +374,8 @@ void PairMultiLucyRX::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); int me; MPI_Comm_rank(world,&me); @@ -398,7 +398,7 @@ void PairMultiLucyRX::coeff(int narg, char **arg) // set table cutoff - if (narg == 7) tb->cut = force->numeric(FLERR,arg[6]); + if (narg == 7) tb->cut = utils::numeric(FLERR,arg[6],false,lmp); else if (tb->rflag) tb->cut = tb->rhi; else tb->cut = tb->rfile[tb->ninput-1]; @@ -493,7 +493,7 @@ void PairMultiLucyRX::read_table(Table *tb, char *file, char *keyword) // open file - FILE *fp = force->open_potential(file); + FILE *fp = utils::open_potential(file,lmp,nullptr); if (fp == NULL) { char str[128]; snprintf(str,128,"Cannot open file %s",file); diff --git a/src/USER-DPD/pair_table_rx.cpp b/src/USER-DPD/pair_table_rx.cpp index cf64c17c5ebc64da35a587f374f2976a20d0c132..56c3e28c468eb31cc332702bb45109ec5a9f570f 100644 --- a/src/USER-DPD/pair_table_rx.cpp +++ b/src/USER-DPD/pair_table_rx.cpp @@ -258,7 +258,7 @@ void PairTableRX::settings(int narg, char **arg) else if (strcmp(arg[0],"bitmap") == 0) tabstyle = BITMAP; else error->all(FLERR,"Unknown table style in pair_style command"); - tablength = force->inumeric(FLERR,arg[1]); + tablength = utils::inumeric(FLERR,arg[1],false,lmp); if (tablength < 2) error->all(FLERR,"Illegal number of pair table entries"); // optional keywords @@ -308,8 +308,8 @@ void PairTableRX::coeff(int narg, char **arg) if (!rx_flag) error->all(FLERR,"Pair style table/rx requires a fix rx command."); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); int me; MPI_Comm_rank(world,&me); @@ -346,7 +346,7 @@ void PairTableRX::coeff(int narg, char **arg) // set table cutoff - if (narg == 7) tb->cut = force->numeric(FLERR,arg[6]); + if (narg == 7) tb->cut = utils::numeric(FLERR,arg[6],false,lmp); else if (tb->rflag) tb->cut = tb->rhi; else tb->cut = tb->rfile[tb->ninput-1]; diff --git a/src/USER-DRUDE/fix_langevin_drude.cpp b/src/USER-DRUDE/fix_langevin_drude.cpp index d413c31bd71892fc95a8b04fbd460b486a6210ad..e865e9cd29255d2a457efa6e8b52d0ec605783ec 100644 --- a/src/USER-DRUDE/fix_langevin_drude.cpp +++ b/src/USER-DRUDE/fix_langevin_drude.cpp @@ -55,12 +55,12 @@ FixLangevinDrude::FixLangevinDrude(LAMMPS *lmp, int narg, char **arg) : strcpy(tstr_core,&arg[3][2]); tstyle_core = EQUAL; } else { - t_start_core = force->numeric(FLERR,arg[3]); + t_start_core = utils::numeric(FLERR,arg[3],false,lmp); t_target_core = t_start_core; tstyle_core = CONSTANT; } - t_period_core = force->numeric(FLERR,arg[4]); - int seed_core = force->inumeric(FLERR,arg[5]); + t_period_core = utils::numeric(FLERR,arg[4],false,lmp); + int seed_core = utils::inumeric(FLERR,arg[5],false,lmp); // drude temperature tstr_drude = NULL; @@ -70,12 +70,12 @@ FixLangevinDrude::FixLangevinDrude(LAMMPS *lmp, int narg, char **arg) : strcpy(tstr_drude,&arg[6][2]); tstyle_drude = EQUAL; } else { - t_start_drude = force->numeric(FLERR,arg[6]); + t_start_drude = utils::numeric(FLERR,arg[6],false,lmp); t_target_drude = t_start_drude; tstyle_drude = CONSTANT; } - t_period_drude = force->numeric(FLERR,arg[7]); - int seed_drude = force->inumeric(FLERR,arg[8]); + t_period_drude = utils::numeric(FLERR,arg[7],false,lmp); + int seed_drude = utils::inumeric(FLERR,arg[8],false,lmp); // error checks if (t_period_core <= 0.0) diff --git a/src/USER-DRUDE/pair_lj_cut_thole_long.cpp b/src/USER-DRUDE/pair_lj_cut_thole_long.cpp index fa4f761663118ae053002cf01a163705176fc7fa..875b4a9cbaf883f21935af86a8ab9c01cb7ac0c8 100644 --- a/src/USER-DRUDE/pair_lj_cut_thole_long.cpp +++ b/src/USER-DRUDE/pair_lj_cut_thole_long.cpp @@ -291,10 +291,10 @@ void PairLJCutTholeLong::settings(int narg, char **arg) { if (narg < 2 || narg > 3) error->all(FLERR,"Illegal pair_style command"); - thole_global = force->numeric(FLERR,arg[0]); - cut_lj_global = force->numeric(FLERR,arg[1]); + thole_global = utils::numeric(FLERR,arg[0],false,lmp); + cut_lj_global = utils::numeric(FLERR,arg[1],false,lmp); if (narg == 2) cut_coul = cut_lj_global; - else cut_coul = force->numeric(FLERR,arg[2]); + else cut_coul = utils::numeric(FLERR,arg[2],false,lmp); // reset cutoffs that have been explicitly set @@ -320,17 +320,17 @@ void PairLJCutTholeLong::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); - double epsilon_one = force->numeric(FLERR,arg[2]); - double sigma_one = force->numeric(FLERR,arg[3]); - double polar_one = force->numeric(FLERR,arg[4]); + double epsilon_one = utils::numeric(FLERR,arg[2],false,lmp); + double sigma_one = utils::numeric(FLERR,arg[3],false,lmp); + double polar_one = utils::numeric(FLERR,arg[4],false,lmp); double thole_one = thole_global; - if (narg >=6) thole_one = force->numeric(FLERR,arg[5]); + if (narg >=6) thole_one = utils::numeric(FLERR,arg[5],false,lmp); double cut_lj_one = cut_lj_global; - if (narg == 7) cut_lj_one = force->numeric(FLERR,arg[6]); + if (narg == 7) cut_lj_one = utils::numeric(FLERR,arg[6],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/USER-DRUDE/pair_thole.cpp b/src/USER-DRUDE/pair_thole.cpp index 4dd6cb12c09b599cff1cc2b16ba5d5782a316f1a..882fd047a92321ada64837d169bc29a6e996dba7 100644 --- a/src/USER-DRUDE/pair_thole.cpp +++ b/src/USER-DRUDE/pair_thole.cpp @@ -192,8 +192,8 @@ void PairThole::settings(int narg, char **arg) { if (narg != 2) error->all(FLERR,"Illegal pair_style command"); - thole_global = force->numeric(FLERR,arg[0]); - cut_global = force->numeric(FLERR,arg[1]); + thole_global = utils::numeric(FLERR,arg[0],false,lmp); + cut_global = utils::numeric(FLERR,arg[1],false,lmp); // reset cutoffs that have been explicitly set @@ -219,14 +219,14 @@ void PairThole::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); - double polar_one = force->numeric(FLERR,arg[2]); + double polar_one = utils::numeric(FLERR,arg[2],false,lmp); double thole_one = thole_global; double cut_one = cut_global; - if (narg >=4) thole_one = force->numeric(FLERR,arg[3]); - if (narg == 5) cut_one = force->numeric(FLERR,arg[4]); + if (narg >=4) thole_one = utils::numeric(FLERR,arg[3],false,lmp); + if (narg == 5) cut_one = utils::numeric(FLERR,arg[4],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/USER-EFF/fix_temp_rescale_eff.cpp b/src/USER-EFF/fix_temp_rescale_eff.cpp index 4a8f4b0372dbcdbd37f12bcaaf38c6683210b27a..e2163990bd999cf865781dee2bf152b8323545cb 100644 --- a/src/USER-EFF/fix_temp_rescale_eff.cpp +++ b/src/USER-EFF/fix_temp_rescale_eff.cpp @@ -40,17 +40,17 @@ FixTempRescaleEff::FixTempRescaleEff(LAMMPS *lmp, int narg, char **arg) : { if (narg < 8) error->all(FLERR,"Illegal fix temp/rescale/eff command"); - nevery = force->inumeric(FLERR,arg[3]); + nevery = utils::inumeric(FLERR,arg[3],false,lmp); if (nevery <= 0) error->all(FLERR,"Illegal fix temp/rescale/eff command"); scalar_flag = 1; global_freq = nevery; extscalar = 1; - t_start = force->numeric(FLERR,arg[4]); - t_stop = force->numeric(FLERR,arg[5]); - t_window = force->numeric(FLERR,arg[6]); - fraction = force->numeric(FLERR,arg[7]); + t_start = utils::numeric(FLERR,arg[4],false,lmp); + t_stop = utils::numeric(FLERR,arg[5],false,lmp); + t_window = utils::numeric(FLERR,arg[6],false,lmp); + fraction = utils::numeric(FLERR,arg[7],false,lmp); // create a new compute temp/eff // id = fix-ID + temp, compute group = fix group diff --git a/src/USER-EFF/pair_eff_cut.cpp b/src/USER-EFF/pair_eff_cut.cpp index f9333f4becba6649fa8209a0fd477b3a0ee4c476..b9b442ed2af21673efbfb033d9a638c8f6253b2c 100644 --- a/src/USER-EFF/pair_eff_cut.cpp +++ b/src/USER-EFF/pair_eff_cut.cpp @@ -795,7 +795,7 @@ void PairEffCut::settings(int narg, char **arg) PAULI_CORE_D[14] = 0.0; PAULI_CORE_E[14] = 0.0; - cut_global = force->numeric(FLERR,arg[0]); + cut_global = utils::numeric(FLERR,arg[0],false,lmp); limit_eradius_flag = 0; pressure_with_evirials_flag = 0; @@ -815,7 +815,7 @@ void PairEffCut::settings(int narg, char **arg) else if (strcmp(arg[iarg],"ecp") == 0) { iarg += 1; while (iarg < narg) { - atype = force->inumeric(FLERR,arg[iarg]); + atype = utils::inumeric(FLERR,arg[iarg],false,lmp); if (strcmp(arg[iarg+1],"C") == 0) ecp_type[atype] = 6; else if (strcmp(arg[iarg+1],"N") == 0) ecp_type[atype] = 7; else if (strcmp(arg[iarg+1],"O") == 0) ecp_type[atype] = 8; @@ -903,11 +903,11 @@ void PairEffCut::coeff(int narg, char **arg) if ((strcmp(arg[0],"*") == 0) || (strcmp(arg[1],"*") == 0)) { int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); double cut_one = cut_global; - if (narg == 3) cut_one = force->numeric(FLERR,arg[2]); + if (narg == 3) cut_one = utils::numeric(FLERR,arg[2],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { @@ -920,19 +920,19 @@ void PairEffCut::coeff(int narg, char **arg) if (count == 0) error->all(FLERR,"Incorrect args for pair coefficients"); } else { int ecp; - ecp = force->inumeric(FLERR,arg[0]); + ecp = utils::inumeric(FLERR,arg[0],false,lmp); if (strcmp(arg[1],"s") ==0) { - PAULI_CORE_A[ecp_type[ecp]] = force->numeric(FLERR,arg[2]); - PAULI_CORE_B[ecp_type[ecp]] = force->numeric(FLERR,arg[3]); - PAULI_CORE_C[ecp_type[ecp]] = force->numeric(FLERR,arg[4]); + PAULI_CORE_A[ecp_type[ecp]] = utils::numeric(FLERR,arg[2],false,lmp); + PAULI_CORE_B[ecp_type[ecp]] = utils::numeric(FLERR,arg[3],false,lmp); + PAULI_CORE_C[ecp_type[ecp]] = utils::numeric(FLERR,arg[4],false,lmp); PAULI_CORE_D[ecp_type[ecp]] = 0.0; PAULI_CORE_E[ecp_type[ecp]] = 0.0; } else if (strcmp(arg[1],"p") ==0) { - PAULI_CORE_A[ecp_type[ecp]] = force->numeric(FLERR,arg[2]); - PAULI_CORE_B[ecp_type[ecp]] = force->numeric(FLERR,arg[3]); - PAULI_CORE_C[ecp_type[ecp]] = force->numeric(FLERR,arg[4]); - PAULI_CORE_D[ecp_type[ecp]] = force->numeric(FLERR,arg[5]); - PAULI_CORE_E[ecp_type[ecp]] = force->numeric(FLERR,arg[6]); + PAULI_CORE_A[ecp_type[ecp]] = utils::numeric(FLERR,arg[2],false,lmp); + PAULI_CORE_B[ecp_type[ecp]] = utils::numeric(FLERR,arg[3],false,lmp); + PAULI_CORE_C[ecp_type[ecp]] = utils::numeric(FLERR,arg[4],false,lmp); + PAULI_CORE_D[ecp_type[ecp]] = utils::numeric(FLERR,arg[5],false,lmp); + PAULI_CORE_E[ecp_type[ecp]] = utils::numeric(FLERR,arg[6],false,lmp); } else error->all(FLERR,"Illegal pair_coeff command"); } } diff --git a/src/USER-FEP/compute_fep.cpp b/src/USER-FEP/compute_fep.cpp index 1853828db3679a66684aa69a5959ab5a430ffae7..488a85fc209bd2c610e04d3b6b9b7df7230772ff 100644 --- a/src/USER-FEP/compute_fep.cpp +++ b/src/USER-FEP/compute_fep.cpp @@ -34,6 +34,7 @@ #include "timer.h" #include "memory.h" #include "error.h" +#include "utils.h" using namespace LAMMPS_NS; @@ -56,7 +57,7 @@ ComputeFEP::ComputeFEP(LAMMPS *lmp, int narg, char **arg) : fepinitflag = 0; // avoid init to run entirely when called by write_data - temp_fep = force->numeric(FLERR,arg[3]); + temp_fep = utils::numeric(FLERR,arg[3],false,lmp); // count # of perturbations @@ -94,10 +95,10 @@ ComputeFEP::ComputeFEP(LAMMPS *lmp, int narg, char **arg) : n = strlen(arg[iarg+2]) + 1; perturb[npert].pparam = new char[n]; strcpy(perturb[npert].pparam,arg[iarg+2]); - force->bounds(FLERR,arg[iarg+3],atom->ntypes, - perturb[npert].ilo,perturb[npert].ihi); - force->bounds(FLERR,arg[iarg+4],atom->ntypes, - perturb[npert].jlo,perturb[npert].jhi); + utils::bounds(FLERR,arg[iarg+3],1,atom->ntypes, + perturb[npert].ilo,perturb[npert].ihi,error); + utils::bounds(FLERR,arg[iarg+4],1,atom->ntypes, + perturb[npert].jlo,perturb[npert].jhi,error); if (strstr(arg[iarg+5],"v_") == arg[iarg+5]) { n = strlen(&arg[iarg+5][2]) + 1; perturb[npert].var = new char[n]; @@ -111,8 +112,8 @@ ComputeFEP::ComputeFEP(LAMMPS *lmp, int narg, char **arg) : perturb[npert].aparam = CHARGE; chgflag = 1; } else error->all(FLERR,"Illegal atom argument in compute fep"); - force->bounds(FLERR,arg[iarg+2],atom->ntypes, - perturb[npert].ilo,perturb[npert].ihi); + utils::bounds(FLERR,arg[iarg+2],1,atom->ntypes, + perturb[npert].ilo,perturb[npert].ihi,error); if (strstr(arg[iarg+3],"v_") == arg[iarg+3]) { int n = strlen(&arg[iarg+3][2]) + 1; perturb[npert].var = new char[n]; diff --git a/src/USER-FEP/fix_adapt_fep.cpp b/src/USER-FEP/fix_adapt_fep.cpp index 46cf32cf0bca97c210d7108ca9bc06cf32177239..f88f2b6c40ea0859c4f4e235962f66ee437106d1 100644 --- a/src/USER-FEP/fix_adapt_fep.cpp +++ b/src/USER-FEP/fix_adapt_fep.cpp @@ -32,6 +32,7 @@ #include "math_const.h" #include "memory.h" #include "error.h" +#include "utils.h" using namespace LAMMPS_NS; using namespace FixConst; @@ -46,7 +47,7 @@ FixAdaptFEP::FixAdaptFEP(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) { if (narg < 5) error->all(FLERR,"Illegal fix adapt/fep command"); - nevery = force->inumeric(FLERR,arg[3]); + nevery = utils::inumeric(FLERR,arg[3],false,lmp); if (nevery < 0) error->all(FLERR,"Illegal fix adapt/fep command"); dynamic_group_allow = 1; @@ -93,10 +94,10 @@ FixAdaptFEP::FixAdaptFEP(LAMMPS *lmp, int narg, char **arg) : n = strlen(arg[iarg+2]) + 1; adapt[nadapt].pparam = new char[n]; strcpy(adapt[nadapt].pparam,arg[iarg+2]); - force->bounds(FLERR,arg[iarg+3],atom->ntypes, - adapt[nadapt].ilo,adapt[nadapt].ihi); - force->bounds(FLERR,arg[iarg+4],atom->ntypes, - adapt[nadapt].jlo,adapt[nadapt].jhi); + utils::bounds(FLERR,arg[iarg+3],1,atom->ntypes, + adapt[nadapt].ilo,adapt[nadapt].ihi,error); + utils::bounds(FLERR,arg[iarg+4],1,atom->ntypes, + adapt[nadapt].jlo,adapt[nadapt].jhi,error); if (strstr(arg[iarg+5],"v_") == arg[iarg+5]) { n = strlen(&arg[iarg+5][2]) + 1; adapt[nadapt].var = new char[n]; @@ -124,8 +125,8 @@ FixAdaptFEP::FixAdaptFEP(LAMMPS *lmp, int narg, char **arg) : adapt[nadapt].aparam = CHARGE; chgflag = 1; } else error->all(FLERR,"Illegal fix adapt/fep command"); - force->bounds(FLERR,arg[iarg+2],atom->ntypes, - adapt[nadapt].ilo,adapt[nadapt].ihi); + utils::bounds(FLERR,arg[iarg+2],1,atom->ntypes, + adapt[nadapt].ilo,adapt[nadapt].ihi,error); if (strstr(arg[iarg+3],"v_") == arg[iarg+3]) { int n = strlen(&arg[iarg+3][2]) + 1; adapt[nadapt].var = new char[n]; diff --git a/src/USER-FEP/pair_coul_cut_soft.cpp b/src/USER-FEP/pair_coul_cut_soft.cpp index eb872ab8b936ab5110f15c8121f0afc89e1ce036..fd5141525c43c45437a681f4e9d4d40828b85199 100644 --- a/src/USER-FEP/pair_coul_cut_soft.cpp +++ b/src/USER-FEP/pair_coul_cut_soft.cpp @@ -159,10 +159,10 @@ void PairCoulCutSoft::settings(int narg, char **arg) { if (narg != 3) error->all(FLERR,"Illegal pair_style command"); - nlambda = force->numeric(FLERR,arg[0]); - alphac = force->numeric(FLERR,arg[1]); + nlambda = utils::numeric(FLERR,arg[0],false,lmp); + alphac = utils::numeric(FLERR,arg[1],false,lmp); - cut_global = force->numeric(FLERR,arg[2]); + cut_global = utils::numeric(FLERR,arg[2],false,lmp); // reset cutoffs that have been explicitly set @@ -185,13 +185,13 @@ void PairCoulCutSoft::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); - double lambda_one = force->numeric(FLERR,arg[2]); + double lambda_one = utils::numeric(FLERR,arg[2],false,lmp); double cut_one = cut_global; - if (narg == 4) cut_one = force->numeric(FLERR,arg[3]); + if (narg == 4) cut_one = utils::numeric(FLERR,arg[3],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/USER-FEP/pair_coul_long_soft.cpp b/src/USER-FEP/pair_coul_long_soft.cpp index a631dca1b7e9d4d939f9c2da8f0850809e1ab066..39e06ddd60ca96c3c634d1cfc3d5d281cbae1af4 100644 --- a/src/USER-FEP/pair_coul_long_soft.cpp +++ b/src/USER-FEP/pair_coul_long_soft.cpp @@ -186,10 +186,10 @@ void PairCoulLongSoft::settings(int narg, char **arg) { if (narg != 3) error->all(FLERR,"Illegal pair_style command"); - nlambda = force->numeric(FLERR,arg[0]); - alphac = force->numeric(FLERR,arg[1]); + nlambda = utils::numeric(FLERR,arg[0],false,lmp); + alphac = utils::numeric(FLERR,arg[1],false,lmp); - cut_coul = force->numeric(FLERR,arg[2]); + cut_coul = utils::numeric(FLERR,arg[2],false,lmp); } /* ---------------------------------------------------------------------- @@ -203,10 +203,10 @@ void PairCoulLongSoft::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); - double lambda_one = force->numeric(FLERR,arg[2]); + double lambda_one = utils::numeric(FLERR,arg[2],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/USER-FEP/pair_lj_charmm_coul_long_soft.cpp b/src/USER-FEP/pair_lj_charmm_coul_long_soft.cpp index 81c159950812981265c9679a1396a06b584443b9..f9149c8fb8330e100ce1202d39fbd73a2e86c5d4 100644 --- a/src/USER-FEP/pair_lj_charmm_coul_long_soft.cpp +++ b/src/USER-FEP/pair_lj_charmm_coul_long_soft.cpp @@ -628,14 +628,14 @@ void PairLJCharmmCoulLongSoft::settings(int narg, char **arg) { if (narg != 5 && narg != 6) error->all(FLERR,"Illegal pair_style command"); - nlambda = force->numeric(FLERR,arg[0]); - alphalj = force->numeric(FLERR,arg[1]); - alphac = force->numeric(FLERR,arg[2]); + nlambda = utils::numeric(FLERR,arg[0],false,lmp); + alphalj = utils::numeric(FLERR,arg[1],false,lmp); + alphac = utils::numeric(FLERR,arg[2],false,lmp); - cut_lj_inner = force->numeric(FLERR,arg[3]); - cut_lj = force->numeric(FLERR,arg[4]); + cut_lj_inner = utils::numeric(FLERR,arg[3],false,lmp); + cut_lj = utils::numeric(FLERR,arg[4],false,lmp); if (narg == 5) cut_coul = cut_lj; - else cut_coul = force->numeric(FLERR,arg[5]); + else cut_coul = utils::numeric(FLERR,arg[5],false,lmp); } /* ---------------------------------------------------------------------- @@ -648,18 +648,18 @@ void PairLJCharmmCoulLongSoft::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); - double epsilon_one = force->numeric(FLERR,arg[2]); - double sigma_one = force->numeric(FLERR,arg[3]); - double lambda_one = force->numeric(FLERR,arg[4]); + double epsilon_one = utils::numeric(FLERR,arg[2],false,lmp); + double sigma_one = utils::numeric(FLERR,arg[3],false,lmp); + double lambda_one = utils::numeric(FLERR,arg[4],false,lmp); double eps14_one = epsilon_one; double sigma14_one = sigma_one; if (narg == 7) { - eps14_one = force->numeric(FLERR,arg[5]); - sigma14_one = force->numeric(FLERR,arg[6]); + eps14_one = utils::numeric(FLERR,arg[5],false,lmp); + sigma14_one = utils::numeric(FLERR,arg[6],false,lmp); } int count = 0; diff --git a/src/USER-FEP/pair_lj_class2_coul_cut_soft.cpp b/src/USER-FEP/pair_lj_class2_coul_cut_soft.cpp index 255bdf6a0718a3d9e059c9209d7c2826de90090e..f1aa99b416e6b20e82205429526d99b8cb3f6c42 100644 --- a/src/USER-FEP/pair_lj_class2_coul_cut_soft.cpp +++ b/src/USER-FEP/pair_lj_class2_coul_cut_soft.cpp @@ -198,13 +198,13 @@ void PairLJClass2CoulCutSoft::settings(int narg, char **arg) { if (narg < 4 || narg > 5) error->all(FLERR,"Illegal pair_style command"); - nlambda = force->numeric(FLERR,arg[0]); - alphalj = force->numeric(FLERR,arg[1]); - alphac = force->numeric(FLERR,arg[2]); + nlambda = utils::numeric(FLERR,arg[0],false,lmp); + alphalj = utils::numeric(FLERR,arg[1],false,lmp); + alphac = utils::numeric(FLERR,arg[2],false,lmp); - cut_lj_global = force->numeric(FLERR,arg[3]); + cut_lj_global = utils::numeric(FLERR,arg[3],false,lmp); if (narg == 4) cut_coul_global = cut_lj_global; - else cut_coul_global = force->numeric(FLERR,arg[4]); + else cut_coul_global = utils::numeric(FLERR,arg[4],false,lmp); // reset cutoffs that have been explicitly set @@ -229,19 +229,19 @@ void PairLJClass2CoulCutSoft::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); - double epsilon_one = force->numeric(FLERR,arg[2]); - double sigma_one = force->numeric(FLERR,arg[3]); - double lambda_one = force->numeric(FLERR,arg[4]); + double epsilon_one = utils::numeric(FLERR,arg[2],false,lmp); + double sigma_one = utils::numeric(FLERR,arg[3],false,lmp); + double lambda_one = utils::numeric(FLERR,arg[4],false,lmp); if (sigma_one <= 0.0) error->all(FLERR,"Incorrect args for pair coefficients"); double cut_lj_one = cut_lj_global; double cut_coul_one = cut_coul_global; - if (narg >= 6) cut_coul_one = cut_lj_one = force->numeric(FLERR,arg[5]); - if (narg == 7) cut_coul_one = force->numeric(FLERR,arg[6]); + if (narg >= 6) cut_coul_one = cut_lj_one = utils::numeric(FLERR,arg[5],false,lmp); + if (narg == 7) cut_coul_one = utils::numeric(FLERR,arg[6],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/USER-FEP/pair_lj_class2_coul_long_soft.cpp b/src/USER-FEP/pair_lj_class2_coul_long_soft.cpp index dda10ed9e098d810a23855f2f31463cef5d83a9f..19c41f04cb1bc03630ccee9b3e3746b6e4e0ea79 100644 --- a/src/USER-FEP/pair_lj_class2_coul_long_soft.cpp +++ b/src/USER-FEP/pair_lj_class2_coul_long_soft.cpp @@ -213,13 +213,13 @@ void PairLJClass2CoulLongSoft::settings(int narg, char **arg) { if (narg < 4 || narg > 5) error->all(FLERR,"Illegal pair_style command"); - nlambda = force->numeric(FLERR,arg[0]); - alphalj = force->numeric(FLERR,arg[1]); - alphac = force->numeric(FLERR,arg[2]); + nlambda = utils::numeric(FLERR,arg[0],false,lmp); + alphalj = utils::numeric(FLERR,arg[1],false,lmp); + alphac = utils::numeric(FLERR,arg[2],false,lmp); - cut_lj_global = force->numeric(FLERR,arg[3]); + cut_lj_global = utils::numeric(FLERR,arg[3],false,lmp); if (narg == 4) cut_coul = cut_lj_global; - else cut_coul = force->numeric(FLERR,arg[4]); + else cut_coul = utils::numeric(FLERR,arg[4],false,lmp); // reset cutoffs that have been explicitly set @@ -242,17 +242,17 @@ void PairLJClass2CoulLongSoft::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); - double epsilon_one = force->numeric(FLERR,arg[2]); - double sigma_one = force->numeric(FLERR,arg[3]); - double lambda_one = force->numeric(FLERR,arg[4]); + double epsilon_one = utils::numeric(FLERR,arg[2],false,lmp); + double sigma_one = utils::numeric(FLERR,arg[3],false,lmp); + double lambda_one = utils::numeric(FLERR,arg[4],false,lmp); if (sigma_one <= 0.0) error->all(FLERR,"Incorrect args for pair coefficients"); double cut_lj_one = cut_lj_global; - if (narg == 6) cut_lj_one = force->numeric(FLERR,arg[5]); + if (narg == 6) cut_lj_one = utils::numeric(FLERR,arg[5],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/USER-FEP/pair_lj_class2_soft.cpp b/src/USER-FEP/pair_lj_class2_soft.cpp index 957fc0f8ab68ab04c01733225b3efc298b313b2c..3c1869da0848f410c626d1d6efe1c9abef08e404 100644 --- a/src/USER-FEP/pair_lj_class2_soft.cpp +++ b/src/USER-FEP/pair_lj_class2_soft.cpp @@ -169,10 +169,10 @@ void PairLJClass2Soft::settings(int narg, char **arg) { if (narg != 3) error->all(FLERR,"Illegal pair_style command"); - nlambda = force->numeric(FLERR,arg[0]); - alphalj = force->numeric(FLERR,arg[1]); + nlambda = utils::numeric(FLERR,arg[0],false,lmp); + alphalj = utils::numeric(FLERR,arg[1],false,lmp); - cut_global = force->numeric(FLERR,arg[2]); + cut_global = utils::numeric(FLERR,arg[2],false,lmp); // reset cutoffs that have been explicitly set @@ -194,16 +194,16 @@ void PairLJClass2Soft::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); - double epsilon_one = force->numeric(FLERR,arg[2]); - double sigma_one = force->numeric(FLERR,arg[3]); - double lambda_one = force->numeric(FLERR,arg[4]); + double epsilon_one = utils::numeric(FLERR,arg[2],false,lmp); + double sigma_one = utils::numeric(FLERR,arg[3],false,lmp); + double lambda_one = utils::numeric(FLERR,arg[4],false,lmp); if (sigma_one <= 0.0) error->all(FLERR,"Incorrect args for pair coefficients"); double cut_one = cut_global; - if (narg == 6) cut_one = force->numeric(FLERR,arg[5]); + if (narg == 6) cut_one = utils::numeric(FLERR,arg[5],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/USER-FEP/pair_lj_cut_coul_cut_soft.cpp b/src/USER-FEP/pair_lj_cut_coul_cut_soft.cpp index 3f85a2c8aaf3713bf45e98a2eac7d3a8ad7d9dc2..4a92a6fcef6403241b0ccc8b8e2d85ba6d28e68b 100644 --- a/src/USER-FEP/pair_lj_cut_coul_cut_soft.cpp +++ b/src/USER-FEP/pair_lj_cut_coul_cut_soft.cpp @@ -198,13 +198,13 @@ void PairLJCutCoulCutSoft::settings(int narg, char **arg) { if (narg < 4 || narg > 5) error->all(FLERR,"Illegal pair_style command"); - nlambda = force->numeric(FLERR,arg[0]); - alphalj = force->numeric(FLERR,arg[1]); - alphac = force->numeric(FLERR,arg[2]); + nlambda = utils::numeric(FLERR,arg[0],false,lmp); + alphalj = utils::numeric(FLERR,arg[1],false,lmp); + alphac = utils::numeric(FLERR,arg[2],false,lmp); - cut_lj_global = force->numeric(FLERR,arg[3]); + cut_lj_global = utils::numeric(FLERR,arg[3],false,lmp); if (narg == 4) cut_coul_global = cut_lj_global; - else cut_coul_global = force->numeric(FLERR,arg[4]); + else cut_coul_global = utils::numeric(FLERR,arg[4],false,lmp); // reset cutoffs that have been explicitly set @@ -230,19 +230,19 @@ void PairLJCutCoulCutSoft::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); - double epsilon_one = force->numeric(FLERR,arg[2]); - double sigma_one = force->numeric(FLERR,arg[3]); - double lambda_one = force->numeric(FLERR,arg[4]); + double epsilon_one = utils::numeric(FLERR,arg[2],false,lmp); + double sigma_one = utils::numeric(FLERR,arg[3],false,lmp); + double lambda_one = utils::numeric(FLERR,arg[4],false,lmp); if (sigma_one <= 0.0) error->all(FLERR,"Incorrect args for pair coefficients"); double cut_lj_one = cut_lj_global; double cut_coul_one = cut_coul_global; - if (narg >= 6) cut_coul_one = cut_lj_one = force->numeric(FLERR,arg[5]); - if (narg == 7) cut_coul_one = force->numeric(FLERR,arg[6]); + if (narg >= 6) cut_coul_one = cut_lj_one = utils::numeric(FLERR,arg[5],false,lmp); + if (narg == 7) cut_coul_one = utils::numeric(FLERR,arg[6],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/USER-FEP/pair_lj_cut_coul_long_soft.cpp b/src/USER-FEP/pair_lj_cut_coul_long_soft.cpp index c22b2ca67330ec3f6d524456843a6b6aabe2a643..56cf31b9d33778176daebb499a18cea269a70f32 100644 --- a/src/USER-FEP/pair_lj_cut_coul_long_soft.cpp +++ b/src/USER-FEP/pair_lj_cut_coul_long_soft.cpp @@ -566,13 +566,13 @@ void PairLJCutCoulLongSoft::settings(int narg, char **arg) { if (narg < 4 || narg > 5) error->all(FLERR,"Illegal pair_style command"); - nlambda = force->numeric(FLERR,arg[0]); - alphalj = force->numeric(FLERR,arg[1]); - alphac = force->numeric(FLERR,arg[2]); + nlambda = utils::numeric(FLERR,arg[0],false,lmp); + alphalj = utils::numeric(FLERR,arg[1],false,lmp); + alphac = utils::numeric(FLERR,arg[2],false,lmp); - cut_lj_global = force->numeric(FLERR,arg[3]); + cut_lj_global = utils::numeric(FLERR,arg[3],false,lmp); if (narg == 4) cut_coul = cut_lj_global; - else cut_coul = force->numeric(FLERR,arg[4]); + else cut_coul = utils::numeric(FLERR,arg[4],false,lmp); // reset cutoffs that have been explicitly set @@ -595,17 +595,17 @@ void PairLJCutCoulLongSoft::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); - double epsilon_one = force->numeric(FLERR,arg[2]); - double sigma_one = force->numeric(FLERR,arg[3]); - double lambda_one = force->numeric(FLERR,arg[4]); + double epsilon_one = utils::numeric(FLERR,arg[2],false,lmp); + double sigma_one = utils::numeric(FLERR,arg[3],false,lmp); + double lambda_one = utils::numeric(FLERR,arg[4],false,lmp); if (sigma_one <= 0.0) error->all(FLERR,"Incorrect args for pair coefficients"); double cut_lj_one = cut_lj_global; - if (narg == 6) cut_lj_one = force->numeric(FLERR,arg[5]); + if (narg == 6) cut_lj_one = utils::numeric(FLERR,arg[5],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/USER-FEP/pair_lj_cut_soft.cpp b/src/USER-FEP/pair_lj_cut_soft.cpp index 92abdf540a1f3f47ae814ac4d56ebe302ba844d8..2ab677c454c68e4831564d79bb9c6388bb7e38c0 100644 --- a/src/USER-FEP/pair_lj_cut_soft.cpp +++ b/src/USER-FEP/pair_lj_cut_soft.cpp @@ -450,10 +450,10 @@ void PairLJCutSoft::settings(int narg, char **arg) { if (narg != 3) error->all(FLERR,"Illegal pair_style command"); - nlambda = force->numeric(FLERR,arg[0]); - alphalj = force->numeric(FLERR,arg[1]); + nlambda = utils::numeric(FLERR,arg[0],false,lmp); + alphalj = utils::numeric(FLERR,arg[1],false,lmp); - cut_global = force->numeric(FLERR,arg[2]); + cut_global = utils::numeric(FLERR,arg[2],false,lmp); // reset cutoffs that have been explicitly set @@ -476,17 +476,17 @@ void PairLJCutSoft::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); - double epsilon_one = force->numeric(FLERR,arg[2]); - double sigma_one = force->numeric(FLERR,arg[3]); - double lambda_one = force->numeric(FLERR,arg[4]); + double epsilon_one = utils::numeric(FLERR,arg[2],false,lmp); + double sigma_one = utils::numeric(FLERR,arg[3],false,lmp); + double lambda_one = utils::numeric(FLERR,arg[4],false,lmp); if (sigma_one <= 0.0) error->all(FLERR,"Incorrect args for pair coefficients"); double cut_one = cut_global; - if (narg == 6) cut_one = force->numeric(FLERR,arg[5]); + if (narg == 6) cut_one = utils::numeric(FLERR,arg[5],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/USER-FEP/pair_lj_cut_tip4p_long_soft.cpp b/src/USER-FEP/pair_lj_cut_tip4p_long_soft.cpp index 0601a641ac8e49ea8f4b9f78202260cd06968b22..35342f68d805319992ee89ee98ca8d52cfacf0f4 100644 --- a/src/USER-FEP/pair_lj_cut_tip4p_long_soft.cpp +++ b/src/USER-FEP/pair_lj_cut_tip4p_long_soft.cpp @@ -413,18 +413,18 @@ void PairLJCutTIP4PLongSoft::settings(int narg, char **arg) { if (narg < 9 || narg > 10) error->all(FLERR,"Illegal pair_style command"); - typeO = force->inumeric(FLERR,arg[0]); - typeH = force->inumeric(FLERR,arg[1]); - typeB = force->inumeric(FLERR,arg[2]); - typeA = force->inumeric(FLERR,arg[3]); - qdist = force->numeric(FLERR,arg[4]); - nlambda = force->numeric(FLERR,arg[5]); - alphalj = force->numeric(FLERR,arg[6]); - alphac = force->numeric(FLERR,arg[7]); - - cut_lj_global = force->numeric(FLERR,arg[8]); + typeO = utils::inumeric(FLERR,arg[0],false,lmp); + typeH = utils::inumeric(FLERR,arg[1],false,lmp); + typeB = utils::inumeric(FLERR,arg[2],false,lmp); + typeA = utils::inumeric(FLERR,arg[3],false,lmp); + qdist = utils::numeric(FLERR,arg[4],false,lmp); + nlambda = utils::numeric(FLERR,arg[5],false,lmp); + alphalj = utils::numeric(FLERR,arg[6],false,lmp); + alphac = utils::numeric(FLERR,arg[7],false,lmp); + + cut_lj_global = utils::numeric(FLERR,arg[8],false,lmp); if (narg == 9) cut_coul = cut_lj_global; - else cut_coul = force->numeric(FLERR,arg[9]); + else cut_coul = utils::numeric(FLERR,arg[9],false,lmp); // reset cutoffs that have been explicitly set diff --git a/src/USER-FEP/pair_morse_soft.cpp b/src/USER-FEP/pair_morse_soft.cpp index c727ea0c2a21bb8c79b1fb82f0365a0add0843a4..904799e1d39e8973f39974a071fa9aa43964260b 100644 --- a/src/USER-FEP/pair_morse_soft.cpp +++ b/src/USER-FEP/pair_morse_soft.cpp @@ -177,16 +177,16 @@ void PairMorseSoft::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); - double d0_one = force->numeric(FLERR,arg[2]); - double alpha_one = force->numeric(FLERR,arg[3]); - double r0_one = force->numeric(FLERR,arg[4]); - double lambda_one = force->numeric(FLERR,arg[5]); + double d0_one = utils::numeric(FLERR,arg[2],false,lmp); + double alpha_one = utils::numeric(FLERR,arg[3],false,lmp); + double r0_one = utils::numeric(FLERR,arg[4],false,lmp); + double lambda_one = utils::numeric(FLERR,arg[5],false,lmp); double cut_one = cut_global; - if (narg == 7) cut_one = force->numeric(FLERR,arg[6]); + if (narg == 7) cut_one = utils::numeric(FLERR,arg[6],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { @@ -212,9 +212,9 @@ void PairMorseSoft::settings(int narg, char **arg) { if (narg != 3) error->all(FLERR,"Illegal pair_style command"); - nlambda = force->inumeric(FLERR,arg[0]); - shift_range = force->numeric(FLERR,arg[1]); - cut_global = force->numeric(FLERR,arg[2]); + nlambda = utils::inumeric(FLERR,arg[0],false,lmp); + shift_range = utils::numeric(FLERR,arg[1],false,lmp); + cut_global = utils::numeric(FLERR,arg[2],false,lmp); // reset cutoffs that have been explicitly set diff --git a/src/USER-FEP/pair_tip4p_long_soft.cpp b/src/USER-FEP/pair_tip4p_long_soft.cpp index d5e1ae116cf782e0382c062e75ddd161ef6b0d57..fa130a9dc639300a5160a1818e05c7f8b5917162 100644 --- a/src/USER-FEP/pair_tip4p_long_soft.cpp +++ b/src/USER-FEP/pair_tip4p_long_soft.cpp @@ -381,16 +381,16 @@ void PairTIP4PLongSoft::settings(int narg, char **arg) { if (narg != 8) error->all(FLERR,"Illegal pair_style command"); - typeO = force->inumeric(FLERR,arg[0]); - typeH = force->inumeric(FLERR,arg[1]); - typeB = force->inumeric(FLERR,arg[2]); - typeA = force->inumeric(FLERR,arg[3]); - qdist = force->numeric(FLERR,arg[4]); + typeO = utils::inumeric(FLERR,arg[0],false,lmp); + typeH = utils::inumeric(FLERR,arg[1],false,lmp); + typeB = utils::inumeric(FLERR,arg[2],false,lmp); + typeA = utils::inumeric(FLERR,arg[3],false,lmp); + qdist = utils::numeric(FLERR,arg[4],false,lmp); - nlambda = force->numeric(FLERR,arg[5]); - alphac = force->numeric(FLERR,arg[6]); + nlambda = utils::numeric(FLERR,arg[5],false,lmp); + alphac = utils::numeric(FLERR,arg[6],false,lmp); - cut_coul = force->numeric(FLERR,arg[7]); + cut_coul = utils::numeric(FLERR,arg[7],false,lmp); } /* ---------------------------------------------------------------------- diff --git a/src/USER-H5MD/dump_h5md.cpp b/src/USER-H5MD/dump_h5md.cpp index af77258780c3854060f28fba7d2f10b1333d8302..0c07e844cbc1baf6876e4eba8d8c7e07476a15ab 100644 --- a/src/USER-H5MD/dump_h5md.cpp +++ b/src/USER-H5MD/dump_h5md.cpp @@ -74,7 +74,7 @@ DumpH5MD::DumpH5MD(LAMMPS *lmp, int narg, char **arg) : Dump(lmp, narg, arg) datafile_from_dump = -1; author_name=NULL; - every_dump = force->inumeric(FLERR,arg[3]); + every_dump = utils::inumeric(FLERR,arg[3],false,lmp); every_position = every_image = -1; every_velocity = every_force = every_species = -1; every_charge = -1; diff --git a/src/USER-INTEL/fix_intel.cpp b/src/USER-INTEL/fix_intel.cpp index 1f8b5175b8add738cb4484e45fefe716b96fccd3..7bd510b1899d1d9026179bc46d79459c4b4a05d5 100644 --- a/src/USER-INTEL/fix_intel.cpp +++ b/src/USER-INTEL/fix_intel.cpp @@ -59,7 +59,7 @@ FixIntel::FixIntel(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) { if (narg < 4) error->all(FLERR,"Illegal package intel command"); - int ncops = force->inumeric(FLERR,arg[3]); + int ncops = utils::inumeric(FLERR,arg[3],false,lmp); _nbor_pack_width = 1; _three_body_neighbor = 0; @@ -106,7 +106,7 @@ FixIntel::FixIntel(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) while (iarg < narg) { if (strcmp(arg[iarg],"omp") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal package intel command"); - nomp = force->inumeric(FLERR,arg[iarg+1]); + nomp = utils::inumeric(FLERR,arg[iarg+1],false,lmp); iarg += 2; } else if (strcmp(arg[iarg],"mode") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal package intel command"); @@ -120,7 +120,7 @@ FixIntel::FixIntel(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) iarg += 2; } else if (strcmp(arg[iarg],"balance") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal package intel command"); - _offload_balance = force->numeric(FLERR,arg[iarg+1]); + _offload_balance = utils::numeric(FLERR,arg[iarg+1],false,lmp); iarg += 2; } else if (strcmp(arg[iarg], "ghost") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal package intel command"); diff --git a/src/USER-LB/fix_lb_rigid_pc_sphere.cpp b/src/USER-LB/fix_lb_rigid_pc_sphere.cpp index af1b01043d0b9bb787c719b26bec207a4da62b97..9cc03591fa6373d516b19e61c0452f10f4664bfd 100644 --- a/src/USER-LB/fix_lb_rigid_pc_sphere.cpp +++ b/src/USER-LB/fix_lb_rigid_pc_sphere.cpp @@ -31,6 +31,7 @@ #include "memory.h" #include "error.h" #include "fix_lb_fluid.h" +#include "utils.h" using namespace LAMMPS_NS; using namespace FixConst; @@ -233,7 +234,7 @@ FixLbRigidPCSphere::FixLbRigidPCSphere(LAMMPS *lmp, int narg, char **arg) : if (iarg+5 > narg) error->all(FLERR,"Illegal fix lb/rigid/pc/sphere command"); int mlo,mhi; - force->bounds(FLERR,arg[iarg+1],nbody,mlo,mhi); + utils::bounds(FLERR,arg[iarg+1],1,nbody,mlo,mhi,error); double xflag,yflag,zflag; if (strcmp(arg[iarg+2],"off") == 0) xflag = 0.0; @@ -260,7 +261,7 @@ FixLbRigidPCSphere::FixLbRigidPCSphere(LAMMPS *lmp, int narg, char **arg) : if (iarg+5 > narg) error->all(FLERR,"Illegal fix lb/rigid/pc/sphere command"); int mlo,mhi; - force->bounds(FLERR,arg[iarg+1],nbody,mlo,mhi); + utils::bounds(FLERR,arg[iarg+1],1,nbody,mlo,mhi,error); double xflag,yflag,zflag; if (strcmp(arg[iarg+2],"off") == 0) xflag = 0.0; diff --git a/src/USER-MANIFOLD/fix_manifoldforce.cpp b/src/USER-MANIFOLD/fix_manifoldforce.cpp index 74a9a1833fd9f66fe8761cc44df05b0fb42f7d99..41074903bdd9eb53d04e09bdd99bac25d4104bd4 100644 --- a/src/USER-MANIFOLD/fix_manifoldforce.cpp +++ b/src/USER-MANIFOLD/fix_manifoldforce.cpp @@ -92,7 +92,7 @@ FixManifoldForce::FixManifoldForce(LAMMPS *lmp, int narg, char **arg) : error->all(FLERR,"Equal-style variables not allowed with fix manifoldforce"); // Use force->numeric to trigger an error if arg is not a number. - params[i] = force->numeric(FLERR,arg[i+4]); + params[i] = utils::numeric(FLERR,arg[i+4],false,lmp); } diff --git a/src/USER-MANIFOLD/fix_nve_manifold_rattle.cpp b/src/USER-MANIFOLD/fix_nve_manifold_rattle.cpp index 312db1c411d221ff13096469088bdd8291bc336f..2baa2944aef77b34ffd8561b80ddb7803b8d6e87 100644 --- a/src/USER-MANIFOLD/fix_nve_manifold_rattle.cpp +++ b/src/USER-MANIFOLD/fix_nve_manifold_rattle.cpp @@ -91,8 +91,8 @@ FixNVEManifoldRattle::FixNVEManifoldRattle( LAMMPS *lmp, int &narg, char **arg, next_output = 0; dtv = dtf = 0; - tolerance = force->numeric( FLERR, arg[3] ); - max_iter = force->numeric( FLERR, arg[4] ); + tolerance = utils::numeric( FLERR, arg[3] ,false,lmp); + max_iter = utils::numeric( FLERR, arg[4] ,false,lmp); ptr_m = create_manifold(arg[5], lmp, narg, arg); if (!ptr_m) { @@ -124,7 +124,7 @@ FixNVEManifoldRattle::FixNVEManifoldRattle( LAMMPS *lmp, int &narg, char **arg, is_var[i] = 1; offset = 2; } else { - force->numeric(FLERR,arg[i+6]); // Check if legal number. + utils::numeric(FLERR,arg[i+6],false,lmp); // Check if legal number. len = strlen( arg[i+6] ) + 1; // +1 for \0. is_var[i] = 0; } @@ -137,7 +137,7 @@ FixNVEManifoldRattle::FixNVEManifoldRattle( LAMMPS *lmp, int &narg, char **arg, if (!ptr_m->params ) error->all(FLERR,"Failed to allocate params!"); for( int i = 0; i < nvars; ++i ){ // If param i was variable type, it will be set later... - ptr_m->params[i] = is_var[i] ? 0.0 : force->numeric( FLERR, arg[i+6] ); + ptr_m->params[i] = is_var[i] ? 0.0 : utils::numeric( FLERR, arg[i+6] ,false,lmp); } ptr_m->post_param_init(); @@ -146,7 +146,7 @@ FixNVEManifoldRattle::FixNVEManifoldRattle( LAMMPS *lmp, int &narg, char **arg, int argi = 6 + nvars; while( argi < narg ){ if (strcmp(arg[argi], "every") == 0) { - nevery = force->inumeric(FLERR,arg[argi+1]); + nevery = utils::inumeric(FLERR,arg[argi+1],false,lmp); next_output = update->ntimestep + nevery; if (comm->me == 0) { fprintf(screen,"Outputting every %d steps, next is %d\n", diff --git a/src/USER-MANIFOLD/fix_nvt_manifold_rattle.cpp b/src/USER-MANIFOLD/fix_nvt_manifold_rattle.cpp index db3267db28767cf5b17ea2dfe2971775548dd8cc..f07e414ac9243d98d877f5d8a50d1c5650b5f61c 100644 --- a/src/USER-MANIFOLD/fix_nvt_manifold_rattle.cpp +++ b/src/USER-MANIFOLD/fix_nvt_manifold_rattle.cpp @@ -101,9 +101,9 @@ FixNVTManifoldRattle::FixNVTManifoldRattle(LAMMPS *lmp, int narg, char **arg, if (argi+3 >= narg) error->all(FLERR,"Keyword 'temp' needs 3 arguments"); - t_start = force->numeric(FLERR, arg[argi+1]); - t_stop = force->numeric(FLERR, arg[argi+2]); - t_period = force->numeric(FLERR, arg[argi+3]); + t_start = utils::numeric(FLERR, arg[argi+1],false,lmp); + t_stop = utils::numeric(FLERR, arg[argi+2],false,lmp); + t_period = utils::numeric(FLERR, arg[argi+3],false,lmp); t_target = t_start; got_temp = 1; @@ -112,7 +112,7 @@ FixNVTManifoldRattle::FixNVTManifoldRattle(LAMMPS *lmp, int narg, char **arg, if (argi+1 >= narg) error->all(FLERR,"Keyword 'tchain' needs 1 argument"); - mtchain = force->inumeric(FLERR, arg[argi+1]); + mtchain = utils::inumeric(FLERR, arg[argi+1],false,lmp); argi += 2; } else if (error_on_unknown_keyword) { char msg[2048]; diff --git a/src/USER-MEAMC/pair_meamc.cpp b/src/USER-MEAMC/pair_meamc.cpp index b344dee10ac240e512a1ea07ae1544c257f39eb2..f40df56c19b6458bdb100d7785c9717d973bdb0a 100644 --- a/src/USER-MEAMC/pair_meamc.cpp +++ b/src/USER-MEAMC/pair_meamc.cpp @@ -364,7 +364,7 @@ void PairMEAMC::read_files(const std::string &globalfile, FILE *fp; if (comm->me == 0) { - fp = force->open_potential(globalfile.c_str()); + fp = utils::open_potential(globalfile,lmp,nullptr); if (fp == NULL) error->one(FLERR,fmt::format("Cannot open MEAM potential file {}", globalfile)); @@ -563,7 +563,7 @@ void PairMEAMC::read_files(const std::string &globalfile, // open user param file on proc 0 if (comm->me == 0) { - fp = force->open_potential(userfile.c_str()); + fp = utils::open_potential(userfile,lmp,nullptr); if (fp == NULL) error->one(FLERR,fmt::format("Cannot open MEAM potential file {}", userfile)); diff --git a/src/USER-MESODPD/compute_tdpd_cc_atom.cpp b/src/USER-MESODPD/compute_tdpd_cc_atom.cpp index 6378ed5ef674eada4fea33594ffde53559fdc4a6..bc02c93e1ad866cd0b7deaf2a0d9ba0b7f326b4a 100644 --- a/src/USER-MESODPD/compute_tdpd_cc_atom.cpp +++ b/src/USER-MESODPD/compute_tdpd_cc_atom.cpp @@ -31,7 +31,7 @@ ComputeTDPDCCAtom::ComputeTDPDCCAtom(LAMMPS *lmp, int narg, char **arg) : if (narg != 4) error->all(FLERR,"Number of arguments for compute tdpd/cc/atom command != 4"); if (atom->tdpd_flag != 1) error->all(FLERR,"compute tdpd/cc/atom command requires atom_style with concentration (e.g. tdpd)"); - index = force->inumeric(FLERR,arg[3]); + index = utils::inumeric(FLERR,arg[3],false,lmp); peratom_flag = 1; size_peratom_cols = 0; diff --git a/src/USER-MESODPD/fix_edpd_source.cpp b/src/USER-MESODPD/fix_edpd_source.cpp index e62d9a8a79053e4e1d597b4c65b1c70088bacb04..9d31e5f410c3d4db75cc5a219fc581aa1c30caf3 100644 --- a/src/USER-MESODPD/fix_edpd_source.cpp +++ b/src/USER-MESODPD/fix_edpd_source.cpp @@ -38,21 +38,21 @@ FixEDPDSource::FixEDPDSource(LAMMPS *lmp, int narg, char **arg) : if(option == 0){ if (narg != 9 ) error->all(FLERR,"Illegal fix edpd/source command (5 args for sphere)"); - center[0] = force->numeric(FLERR,arg[iarg++]); - center[1] = force->numeric(FLERR,arg[iarg++]); - center[2] = force->numeric(FLERR,arg[iarg++]); - radius = force->numeric(FLERR,arg[iarg++]); - value = force->numeric(FLERR,arg[iarg++]); + center[0] = utils::numeric(FLERR,arg[iarg++],false,lmp); + center[1] = utils::numeric(FLERR,arg[iarg++],false,lmp); + center[2] = utils::numeric(FLERR,arg[iarg++],false,lmp); + radius = utils::numeric(FLERR,arg[iarg++],false,lmp); + value = utils::numeric(FLERR,arg[iarg++],false,lmp); } else if(option == 1){ if (narg != 11 ) error->all(FLERR,"Illegal fix edpd/edpd command (7 args for cuboid)"); - center[0] = force->numeric(FLERR,arg[iarg++]); - center[1] = force->numeric(FLERR,arg[iarg++]); - center[2] = force->numeric(FLERR,arg[iarg++]); - dLx = force->numeric(FLERR,arg[iarg++]); - dLy = force->numeric(FLERR,arg[iarg++]); - dLz = force->numeric(FLERR,arg[iarg++]); - value = force->numeric(FLERR,arg[iarg++]); + center[0] = utils::numeric(FLERR,arg[iarg++],false,lmp); + center[1] = utils::numeric(FLERR,arg[iarg++],false,lmp); + center[2] = utils::numeric(FLERR,arg[iarg++],false,lmp); + dLx = utils::numeric(FLERR,arg[iarg++],false,lmp); + dLy = utils::numeric(FLERR,arg[iarg++],false,lmp); + dLz = utils::numeric(FLERR,arg[iarg++],false,lmp); + value = utils::numeric(FLERR,arg[iarg++],false,lmp); } else error->all(FLERR,"Illegal fix edpd/source command"); } diff --git a/src/USER-MESODPD/fix_mvv_dpd.cpp b/src/USER-MESODPD/fix_mvv_dpd.cpp index 116bbf506ab259671d90f869fa2785ec7dea14df..4e82085baa08f3dad562dce322cf3403419638c9 100644 --- a/src/USER-MESODPD/fix_mvv_dpd.cpp +++ b/src/USER-MESODPD/fix_mvv_dpd.cpp @@ -39,7 +39,7 @@ FixMvvDPD::FixMvvDPD(LAMMPS *lmp, int narg, char **arg) : error->all(FLERR,"Illegal fix mvv/dpd command"); verlet = 0.5; - if(narg > 3) verlet = force->numeric(FLERR,arg[3]); + if(narg > 3) verlet = utils::numeric(FLERR,arg[3],false,lmp); dynamic_group_allow = 1; time_integrate = 1; diff --git a/src/USER-MESODPD/fix_mvv_edpd.cpp b/src/USER-MESODPD/fix_mvv_edpd.cpp index 3294d8d6821cbd082a0fc9e55dc78b957ab43cb0..a0a4bac0b70c23c3d8053af3cd1a706930c9094b 100644 --- a/src/USER-MESODPD/fix_mvv_edpd.cpp +++ b/src/USER-MESODPD/fix_mvv_edpd.cpp @@ -48,7 +48,7 @@ FixMvvEDPD::FixMvvEDPD(LAMMPS *lmp, int narg, char **arg) : error->all(FLERR,"Illegal fix mvv/edpd command"); verlet = 0.5; - if(narg > 3) verlet = force->numeric(FLERR,arg[3]); + if(narg > 3) verlet = utils::numeric(FLERR,arg[3],false,lmp); dynamic_group_allow = 1; time_integrate = 1; diff --git a/src/USER-MESODPD/fix_mvv_tdpd.cpp b/src/USER-MESODPD/fix_mvv_tdpd.cpp index b7fe37d7ee649ca1d166cc4b5d6c5072c8c4b805..87978eebe356bc47147d1f882aa24e4380d01c3a 100644 --- a/src/USER-MESODPD/fix_mvv_tdpd.cpp +++ b/src/USER-MESODPD/fix_mvv_tdpd.cpp @@ -44,7 +44,7 @@ FixMvvTDPD::FixMvvTDPD(LAMMPS *lmp, int narg, char **arg) : error->all(FLERR,"Illegal fix mvv/tdpd command"); verlet = 0.5; - if(narg > 3) verlet = force->numeric(FLERR,arg[3]); + if(narg > 3) verlet = utils::numeric(FLERR,arg[3],false,lmp); cc_species = atom->cc_species; diff --git a/src/USER-MESODPD/fix_tdpd_source.cpp b/src/USER-MESODPD/fix_tdpd_source.cpp index 990f6a5b78c3b8c6656efcc5e26b048a9798b7c7..7c19d78b1fffe1a7ddc9c735a215b4a23a423d72 100644 --- a/src/USER-MESODPD/fix_tdpd_source.cpp +++ b/src/USER-MESODPD/fix_tdpd_source.cpp @@ -30,7 +30,7 @@ FixTDPDSource::FixTDPDSource(LAMMPS *lmp, int narg, char **arg) : error->all(FLERR,"Illegal fix tdpd/source command"); int iarg = 3; - cc_index = force->inumeric(FLERR,arg[iarg++]); + cc_index = utils::inumeric(FLERR,arg[iarg++],false,lmp); if (strcmp(arg[iarg],"sphere") == 0) option = 0; else if (strcmp(arg[iarg],"cuboid") == 0) option = 1; @@ -39,21 +39,21 @@ FixTDPDSource::FixTDPDSource(LAMMPS *lmp, int narg, char **arg) : if(option == 0){ if (narg != 10 ) error->all(FLERR,"Illegal fix tdpd/source command (5 args for sphere)"); - center[0] = force->numeric(FLERR,arg[iarg++]); - center[1] = force->numeric(FLERR,arg[iarg++]); - center[2] = force->numeric(FLERR,arg[iarg++]); - radius = force->numeric(FLERR,arg[iarg++]); - value = force->numeric(FLERR,arg[iarg++]); + center[0] = utils::numeric(FLERR,arg[iarg++],false,lmp); + center[1] = utils::numeric(FLERR,arg[iarg++],false,lmp); + center[2] = utils::numeric(FLERR,arg[iarg++],false,lmp); + radius = utils::numeric(FLERR,arg[iarg++],false,lmp); + value = utils::numeric(FLERR,arg[iarg++],false,lmp); } else if(option == 1){ if (narg != 12 ) error->all(FLERR,"Illegal fix tdpd/edpd command (7 args for cuboid)"); - center[0] = force->numeric(FLERR,arg[iarg++]); - center[1] = force->numeric(FLERR,arg[iarg++]); - center[2] = force->numeric(FLERR,arg[iarg++]); - dLx = force->numeric(FLERR,arg[iarg++]); - dLy = force->numeric(FLERR,arg[iarg++]); - dLz = force->numeric(FLERR,arg[iarg++]); - value = force->numeric(FLERR,arg[iarg++]); + center[0] = utils::numeric(FLERR,arg[iarg++],false,lmp); + center[1] = utils::numeric(FLERR,arg[iarg++],false,lmp); + center[2] = utils::numeric(FLERR,arg[iarg++],false,lmp); + dLx = utils::numeric(FLERR,arg[iarg++],false,lmp); + dLy = utils::numeric(FLERR,arg[iarg++],false,lmp); + dLz = utils::numeric(FLERR,arg[iarg++],false,lmp); + value = utils::numeric(FLERR,arg[iarg++],false,lmp); } else error->all(FLERR,"Illegal fix tdpd/source command"); } diff --git a/src/USER-MESODPD/pair_edpd.cpp b/src/USER-MESODPD/pair_edpd.cpp index c32477513d0b4172815a31681e0509ae8a9ace36..60a437a47c2f4a3f8c8e91589cff234fac186d0b 100644 --- a/src/USER-MESODPD/pair_edpd.cpp +++ b/src/USER-MESODPD/pair_edpd.cpp @@ -270,8 +270,8 @@ void PairEDPD::settings(int narg, char **arg) { if (narg != 2) error->all(FLERR,"Illegal pair_style command"); - cut_global = force->numeric(FLERR,arg[0]); - seed = force->inumeric(FLERR,arg[1]); + cut_global = utils::numeric(FLERR,arg[0],false,lmp); + seed = utils::inumeric(FLERR,arg[1],false,lmp); // initialize Marsaglia RNG with processor-unique seed @@ -306,16 +306,16 @@ void PairEDPD::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); - double a0_one = force->numeric(FLERR,arg[2]); - double gamma_one = force->numeric(FLERR,arg[3]); - double power_one = force->numeric(FLERR,arg[4]); - double cut_one = force->numeric(FLERR,arg[5]); - double kappa_one = force->numeric(FLERR,arg[6]); - double powerT_one= force->numeric(FLERR,arg[7]); - double cutT_one = force->numeric(FLERR,arg[8]); + double a0_one = utils::numeric(FLERR,arg[2],false,lmp); + double gamma_one = utils::numeric(FLERR,arg[3],false,lmp); + double power_one = utils::numeric(FLERR,arg[4],false,lmp); + double cut_one = utils::numeric(FLERR,arg[5],false,lmp); + double kappa_one = utils::numeric(FLERR,arg[6],false,lmp); + double powerT_one= utils::numeric(FLERR,arg[7],false,lmp); + double cutT_one = utils::numeric(FLERR,arg[8],false,lmp); int iarg = 9; power_flag = kappa_flag = 0; @@ -325,14 +325,14 @@ void PairEDPD::coeff(int narg, char **arg) if (strcmp(arg[iarg],"power") == 0) { if (iarg+5 > narg) error->all(FLERR,"Illegal pair edpd coefficients"); for (int i = 0; i < 4; i++) - sc_one[i] = force->numeric(FLERR,arg[iarg+i+1]); + sc_one[i] = utils::numeric(FLERR,arg[iarg+i+1],false,lmp); iarg += 5; power_flag = 1; memory->create(sc,n+1,n+1,4,"pair:sc"); } else if (strcmp(arg[iarg],"kappa") == 0) { if (iarg+5 > narg) error->all(FLERR,"Illegal pair edpd coefficients"); for (int i = 0; i < 4; i++) - kc_one[i] = force->numeric(FLERR,arg[iarg+i+1]); + kc_one[i] = utils::numeric(FLERR,arg[iarg+i+1],false,lmp); iarg += 5; kappa_flag = 1; memory->create(kc,n+1,n+1,4,"pair:kc"); diff --git a/src/USER-MESODPD/pair_mdpd.cpp b/src/USER-MESODPD/pair_mdpd.cpp index 7f98e6da794e8b8dbc31d86a29564bd5fdcd0723..755008f44310e075f7eebd1085c00c430fab0ced 100644 --- a/src/USER-MESODPD/pair_mdpd.cpp +++ b/src/USER-MESODPD/pair_mdpd.cpp @@ -211,9 +211,9 @@ void PairMDPD::settings(int narg, char **arg) { if (narg != 3) error->all(FLERR,"Illegal pair_style command"); - temperature = force->numeric(FLERR,arg[0]); - cut_global = force->numeric(FLERR,arg[1]); - seed = force->inumeric(FLERR,arg[2]); + temperature = utils::numeric(FLERR,arg[0],false,lmp); + cut_global = utils::numeric(FLERR,arg[1],false,lmp); + seed = utils::inumeric(FLERR,arg[2],false,lmp); // initialize Marsaglia RNG with processor-unique seed @@ -245,14 +245,14 @@ void PairMDPD::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); - - double A_one = force->numeric(FLERR,arg[2]); - double B_one = force->numeric(FLERR,arg[3]); - double gamma_one = force->numeric(FLERR,arg[4]); - double cut_one = force->numeric(FLERR,arg[5]); - double cut_two = force->numeric(FLERR,arg[6]); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); + + double A_one = utils::numeric(FLERR,arg[2],false,lmp); + double B_one = utils::numeric(FLERR,arg[3],false,lmp); + double gamma_one = utils::numeric(FLERR,arg[4],false,lmp); + double cut_one = utils::numeric(FLERR,arg[5],false,lmp); + double cut_two = utils::numeric(FLERR,arg[6],false,lmp); if(cut_one < cut_two) error->all(FLERR,"Incorrect args for pair coefficients\n cutA should be larger than cutB."); diff --git a/src/USER-MESODPD/pair_mdpd_rhosum.cpp b/src/USER-MESODPD/pair_mdpd_rhosum.cpp index 05cb123f61e8db934f74e82d93c48181974c3695..bfbc6f7c82493e1dc33f61896644d5431aa91fea 100644 --- a/src/USER-MESODPD/pair_mdpd_rhosum.cpp +++ b/src/USER-MESODPD/pair_mdpd_rhosum.cpp @@ -29,6 +29,7 @@ #include "memory.h" #include "error.h" #include "neighbor.h" +#include "utils.h" using namespace LAMMPS_NS; @@ -196,10 +197,10 @@ void PairMDPDRhoSum::coeff(int narg, char **arg) { allocate(); int ilo, ihi, jlo, jhi; - force->bounds(FLERR,arg[0], atom->ntypes, ilo, ihi); - force->bounds(FLERR,arg[1], atom->ntypes, jlo, jhi); + utils::bounds(FLERR,arg[0], 1, atom->ntypes, ilo, ihi, error); + utils::bounds(FLERR,arg[1], 1, atom->ntypes, jlo, jhi, error); - double cut_one = force->numeric(FLERR,arg[2]); + double cut_one = utils::numeric(FLERR,arg[2],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/USER-MESODPD/pair_tdpd.cpp b/src/USER-MESODPD/pair_tdpd.cpp index f5350de53dd63f345a4b0c784114f855d41140ac..face9221d969ff9dce09d9949e0be7f5cfb08424 100644 --- a/src/USER-MESODPD/pair_tdpd.cpp +++ b/src/USER-MESODPD/pair_tdpd.cpp @@ -233,9 +233,9 @@ void PairTDPD::settings(int narg, char **arg) { if (narg != 3) error->all(FLERR,"Illegal pair_style command"); - temperature = force->numeric(FLERR,arg[0]); - cut_global = force->numeric(FLERR,arg[1]); - seed = force->inumeric(FLERR,arg[2]); + temperature = utils::numeric(FLERR,arg[0],false,lmp); + cut_global = utils::numeric(FLERR,arg[1],false,lmp); + seed = utils::inumeric(FLERR,arg[2],false,lmp); // initialize Marsaglia RNG with processor-unique seed @@ -269,21 +269,21 @@ void PairTDPD::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); - - double a0_one = force->numeric(FLERR,arg[2]); - double gamma_one = force->numeric(FLERR,arg[3]); - double power_one = force->numeric(FLERR,arg[4]); - double cut_one = force->numeric(FLERR,arg[5]); - double cutcc_one = force->numeric(FLERR,arg[6]); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); + + double a0_one = utils::numeric(FLERR,arg[2],false,lmp); + double gamma_one = utils::numeric(FLERR,arg[3],false,lmp); + double power_one = utils::numeric(FLERR,arg[4],false,lmp); + double cut_one = utils::numeric(FLERR,arg[5],false,lmp); + double cutcc_one = utils::numeric(FLERR,arg[6],false,lmp); double *kappa_one = new double[cc_species]; double *epsilon_one = new double[cc_species]; double *powercc_one = new double[cc_species]; for(int k=0; knumeric(FLERR,arg[7+3*k]); - epsilon_one[k] = force->numeric(FLERR,arg[8+3*k]); - powercc_one[k] = force->numeric(FLERR,arg[9+3*k]); + kappa_one[k] = utils::numeric(FLERR,arg[7+3*k],false,lmp); + epsilon_one[k] = utils::numeric(FLERR,arg[8+3*k],false,lmp); + powercc_one[k] = utils::numeric(FLERR,arg[9+3*k],false,lmp); } int count = 0; diff --git a/src/USER-MESONT/pair_mesocnt.cpp b/src/USER-MESONT/pair_mesocnt.cpp index f486814febb9043672984d17a8a3e517900635fd..4af8a99d6f6b66ff89901aada7ad9bdeebba7793 100644 --- a/src/USER-MESONT/pair_mesocnt.cpp +++ b/src/USER-MESONT/pair_mesocnt.cpp @@ -759,7 +759,7 @@ void PairMesoCNT::read_file() // open file - fp = force->open_potential(file); + fp = utils::open_potential(file,lmp,nullptr); if (fp == NULL) error->one(FLERR,fmt::format("Cannot open mesocnt file: {}",file)); diff --git a/src/USER-MESONT/pair_mesont_tpm.cpp b/src/USER-MESONT/pair_mesont_tpm.cpp index d46fcad813ee2aa0588f422aa46cdb62192be439..9fb0f604c82cee8047a754cae8bae33111fe1bc2 100644 --- a/src/USER-MESONT/pair_mesont_tpm.cpp +++ b/src/USER-MESONT/pair_mesont_tpm.cpp @@ -586,7 +586,7 @@ void PairMESONTTPM::allocate(){ void PairMESONTTPM::settings(int narg, char **arg){ if ((narg == 0) || (narg > 4)) error->all(FLERR,"Illegal pair_style command"); - cut_global = force->numeric(FLERR,arg[0]); + cut_global = utils::numeric(FLERR,arg[0],false,lmp); // reset cutoffs that have been explicitly set if (allocated) { @@ -604,12 +604,12 @@ void PairMESONTTPM::settings(int narg, char **arg){ mesont_lib_SetTablePath(tab_path, tab_path_length); if (narg > 2) { - BendingMode = force->numeric(FLERR,arg[2]); + BendingMode = utils::numeric(FLERR,arg[2],false,lmp); if ((BendingMode < 0) || (BendingMode > 1)) error->all(FLERR,"Incorrect BendingMode"); } if (narg > 3) { - TPMType = force->numeric(FLERR,arg[3]); + TPMType = utils::numeric(FLERR,arg[3],false,lmp); if ((TPMType < 0) || (TPMType > 1)) error->all(FLERR,"Incorrect TPMType"); } @@ -639,11 +639,11 @@ void PairMESONTTPM::coeff(int narg, char **arg){ if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); double cut_one = cut_global; - if (narg == 3) cut_one = force->numeric(FLERR,arg[2]); + if (narg == 3) cut_one = utils::numeric(FLERR,arg[2],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/USER-MGPT/pair_mgpt.cpp b/src/USER-MGPT/pair_mgpt.cpp index 213f73f05a35227c3a08c3a3d72fddc11ca44821..e7ab62608ada9165225e9efdae12a816653d69ac 100644 --- a/src/USER-MGPT/pair_mgpt.cpp +++ b/src/USER-MGPT/pair_mgpt.cpp @@ -1904,8 +1904,8 @@ void PairMGPT::coeff(int narg, char **arg) printf("Volumetric pressure is %s.\n",volpres_flag ? "on" : "off"); if(comm->me == 0) { - FILE *parmin_fp = force->open_potential(arg[2]); - FILE *potin_fp = force->open_potential(arg[3]); + FILE *parmin_fp = utils::open_potential(arg[2],lmp,nullptr); + FILE *potin_fp = utils::open_potential(arg[3],lmp,nullptr); if (parmin_fp == NULL || potin_fp == NULL) { char str[128]; sprintf(str,"Cannot open MGPT potential files %s %s",arg[2],arg[3]); diff --git a/src/USER-MISC/angle_cosine_shift.cpp b/src/USER-MISC/angle_cosine_shift.cpp index 59f7555709f13099bcc3bcda320259737bd1d927..2ed1a8567282dede28b15475f058d2318024e922 100644 --- a/src/USER-MISC/angle_cosine_shift.cpp +++ b/src/USER-MISC/angle_cosine_shift.cpp @@ -175,10 +175,10 @@ void AngleCosineShift::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi; - force->bounds(FLERR,arg[0],atom->nangletypes,ilo,ihi); + utils::bounds(FLERR,arg[0],1,atom->nangletypes,ilo,ihi,error); - double umin = force->numeric(FLERR,arg[1]); - double theta0 = force->numeric(FLERR,arg[2]); + double umin = utils::numeric(FLERR,arg[1],false,lmp); + double theta0 = utils::numeric(FLERR,arg[2],false,lmp); // k=Umin/2 diff --git a/src/USER-MISC/angle_cosine_shift_exp.cpp b/src/USER-MISC/angle_cosine_shift_exp.cpp index ef5a2824b90c22a09f1b59f4dc7f5dceff12fff4..fb1cc0a4e6887612627f57e3cd266765dfe773f4 100644 --- a/src/USER-MISC/angle_cosine_shift_exp.cpp +++ b/src/USER-MISC/angle_cosine_shift_exp.cpp @@ -203,11 +203,11 @@ void AngleCosineShiftExp::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi; - force->bounds(FLERR,arg[0],atom->nangletypes,ilo,ihi); + utils::bounds(FLERR,arg[0],1,atom->nangletypes,ilo,ihi,error); - double umin_ = force->numeric(FLERR,arg[1]); - double theta0_ = force->numeric(FLERR,arg[2]); - double a_ = force->numeric(FLERR,arg[3]); + double umin_ = utils::numeric(FLERR,arg[1],false,lmp); + double theta0_ = utils::numeric(FLERR,arg[2],false,lmp); + double a_ = utils::numeric(FLERR,arg[3],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/USER-MISC/angle_dipole.cpp b/src/USER-MISC/angle_dipole.cpp index e2fd7e618f7d8478470e9f7c42d50e317cb4d533..6e449fe4720e069de1687ad35efa0ef7771ef89c 100644 --- a/src/USER-MISC/angle_dipole.cpp +++ b/src/USER-MISC/angle_dipole.cpp @@ -160,10 +160,10 @@ void AngleDipole::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi; - force->bounds(FLERR,arg[0],atom->nangletypes,ilo,ihi); + utils::bounds(FLERR,arg[0],1,atom->nangletypes,ilo,ihi,error); - double k_one = force->numeric(FLERR,arg[1]); - double gamma0_one = force->numeric(FLERR,arg[2]); + double k_one = utils::numeric(FLERR,arg[1],false,lmp); + double gamma0_one = utils::numeric(FLERR,arg[2],false,lmp); // convert gamma0 from degrees to radians diff --git a/src/USER-MISC/angle_fourier.cpp b/src/USER-MISC/angle_fourier.cpp index f83c9c4f8822ae5214c25e1613a73e62ee83bf07..5f34be8d65ebc535396b232ff905abee6d17d457 100644 --- a/src/USER-MISC/angle_fourier.cpp +++ b/src/USER-MISC/angle_fourier.cpp @@ -179,12 +179,12 @@ void AngleFourier::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi; - force->bounds(FLERR,arg[0],atom->nangletypes,ilo,ihi); + utils::bounds(FLERR,arg[0],1,atom->nangletypes,ilo,ihi,error); - double k_one = force->numeric(FLERR,arg[1]); - double C0_one = force->numeric(FLERR,arg[2]); - double C1_one = force->numeric(FLERR,arg[3]); - double C2_one = force->numeric(FLERR,arg[4]); + double k_one = utils::numeric(FLERR,arg[1],false,lmp); + double C0_one = utils::numeric(FLERR,arg[2],false,lmp); + double C1_one = utils::numeric(FLERR,arg[3],false,lmp); + double C2_one = utils::numeric(FLERR,arg[4],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/USER-MISC/angle_fourier_simple.cpp b/src/USER-MISC/angle_fourier_simple.cpp index baf4953760ba8da9189e623bdf715a4c8cdc4fca..cddc07da9028c24aaf3ce2745f8be4def288be3e 100644 --- a/src/USER-MISC/angle_fourier_simple.cpp +++ b/src/USER-MISC/angle_fourier_simple.cpp @@ -193,11 +193,11 @@ void AngleFourierSimple::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi; - force->bounds(FLERR,arg[0],atom->nangletypes,ilo,ihi); + utils::bounds(FLERR,arg[0],1,atom->nangletypes,ilo,ihi,error); - double k_one = force->numeric(FLERR,arg[1]); - double C_one = force->numeric(FLERR,arg[2]); - double N_one = force->numeric(FLERR,arg[3]); + double k_one = utils::numeric(FLERR,arg[1],false,lmp); + double C_one = utils::numeric(FLERR,arg[2],false,lmp); + double N_one = utils::numeric(FLERR,arg[3],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/USER-MISC/angle_quartic.cpp b/src/USER-MISC/angle_quartic.cpp index 097e774f17393b947ca0c988d3073a34e240aaac..c84739ac914082e5a3a774ee127354b10c36ed80 100644 --- a/src/USER-MISC/angle_quartic.cpp +++ b/src/USER-MISC/angle_quartic.cpp @@ -183,12 +183,12 @@ void AngleQuartic::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi; - force->bounds(FLERR,arg[0],atom->nangletypes,ilo,ihi); + utils::bounds(FLERR,arg[0],1,atom->nangletypes,ilo,ihi,error); - double theta0_one = force->numeric(FLERR,arg[1]); - double k2_one = force->numeric(FLERR,arg[2]); - double k3_one = force->numeric(FLERR,arg[3]); - double k4_one = force->numeric(FLERR,arg[4]); + double theta0_one = utils::numeric(FLERR,arg[1],false,lmp); + double k2_one = utils::numeric(FLERR,arg[2],false,lmp); + double k3_one = utils::numeric(FLERR,arg[3],false,lmp); + double k4_one = utils::numeric(FLERR,arg[4],false,lmp); // convert theta0 from degrees to radians diff --git a/src/USER-MISC/bond_harmonic_shift.cpp b/src/USER-MISC/bond_harmonic_shift.cpp index cbcc33a824414a38f4febc8d34e3cccc0dee883d..dd2c1a1524d9455097d2a03aac466148d0c92b42 100644 --- a/src/USER-MISC/bond_harmonic_shift.cpp +++ b/src/USER-MISC/bond_harmonic_shift.cpp @@ -128,11 +128,11 @@ void BondHarmonicShift::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi; - force->bounds(FLERR,arg[0],atom->nbondtypes,ilo,ihi); + utils::bounds(FLERR,arg[0],1,atom->nbondtypes,ilo,ihi,error); - double Umin = force->numeric(FLERR,arg[1]); // energy at minimum - double r0_one = force->numeric(FLERR,arg[2]); // position of minimum - double r1_one = force->numeric(FLERR,arg[3]); // position where energy = 0 + double Umin = utils::numeric(FLERR,arg[1],false,lmp); // energy at minimum + double r0_one = utils::numeric(FLERR,arg[2],false,lmp); // position of minimum + double r1_one = utils::numeric(FLERR,arg[3],false,lmp); // position where energy = 0 if (r0_one == r1_one) error->all(FLERR,"Bond harmonic/shift r0 and r1 must be different"); diff --git a/src/USER-MISC/bond_harmonic_shift_cut.cpp b/src/USER-MISC/bond_harmonic_shift_cut.cpp index aa051f4bece831d418de891810f94f0529bed090..2cbfa01c0ad68bf8c04679b88a355003b64744f6 100644 --- a/src/USER-MISC/bond_harmonic_shift_cut.cpp +++ b/src/USER-MISC/bond_harmonic_shift_cut.cpp @@ -130,11 +130,11 @@ void BondHarmonicShiftCut::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi; - force->bounds(FLERR,arg[0],atom->nbondtypes,ilo,ihi); + utils::bounds(FLERR,arg[0],1,atom->nbondtypes,ilo,ihi,error); - double Umin = force->numeric(FLERR,arg[1]); // energy at minimum - double r0_one = force->numeric(FLERR,arg[2]); // position of minimum - double r1_one = force->numeric(FLERR,arg[3]); // position where energy = 0 = cutoff + double Umin = utils::numeric(FLERR,arg[1],false,lmp); // energy at minimum + double r0_one = utils::numeric(FLERR,arg[2],false,lmp); // position of minimum + double r1_one = utils::numeric(FLERR,arg[3],false,lmp); // position where energy = 0 = cutoff if (r0_one == r1_one) error->all(FLERR,"Bond harmonic/shift/cut r0 and r1 must be different"); diff --git a/src/USER-MISC/bond_special.cpp b/src/USER-MISC/bond_special.cpp index 31ebbaa4065b26b28c0184d047131de2d2cfb4a7..ebbdcb1899344ecc1cfea664c85426e03c6b51fe 100644 --- a/src/USER-MISC/bond_special.cpp +++ b/src/USER-MISC/bond_special.cpp @@ -25,6 +25,7 @@ #include "pair.h" #include "memory.h" #include "error.h" +#include "utils.h" using namespace LAMMPS_NS; @@ -143,10 +144,10 @@ void BondSpecial::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi; - force->bounds(FLERR,arg[0],atom->nbondtypes,ilo,ihi); + utils::bounds(FLERR,arg[0],1,atom->nbondtypes,ilo,ihi,error); - double factor_lj_one = force->numeric(FLERR,arg[1]); - double factor_coul_one = force->numeric(FLERR,arg[2]); + double factor_lj_one = utils::numeric(FLERR,arg[1],false,lmp); + double factor_coul_one = utils::numeric(FLERR,arg[2],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/USER-MISC/compute_cnp_atom.cpp b/src/USER-MISC/compute_cnp_atom.cpp index 34882b0272ec5ac25c4c0d0cea40edbda7282890..fdce944034a064b228001e98b3fbb58112de35bc 100644 --- a/src/USER-MISC/compute_cnp_atom.cpp +++ b/src/USER-MISC/compute_cnp_atom.cpp @@ -56,7 +56,7 @@ ComputeCNPAtom::ComputeCNPAtom(LAMMPS *lmp, int narg, char **arg) : peratom_flag = 1; size_peratom_cols = 0; - double cutoff = force->numeric(FLERR,arg[3]); + double cutoff = utils::numeric(FLERR,arg[3],false,lmp); if (cutoff < 0.0) error->all(FLERR,"Illegal compute cnp/atom command"); cutsq = cutoff*cutoff; diff --git a/src/USER-MISC/compute_entropy_atom.cpp b/src/USER-MISC/compute_entropy_atom.cpp index 2641ec9313e47bddb98f7100e7b5e8a90435d47c..d539d51e99b170e8b7af2d6c5e319e4ae5b6a310 100644 --- a/src/USER-MISC/compute_entropy_atom.cpp +++ b/src/USER-MISC/compute_entropy_atom.cpp @@ -55,10 +55,10 @@ ComputeEntropyAtom(LAMMPS *lmp, int narg, char **arg) : // local is optional and allows using the local density to normalize // the g(r) - sigma = force->numeric(FLERR,arg[3]); + sigma = utils::numeric(FLERR,arg[3],false,lmp); if (sigma <= 0.0) error->all(FLERR,"Illegal compute entropy/atom" " command; sigma must be positive"); - cutoff = force->numeric(FLERR,arg[4]); + cutoff = utils::numeric(FLERR,arg[4],false,lmp); if (cutoff <= 0.0) error->all(FLERR,"Illegal compute entropy/atom" " command; cutoff must be positive"); @@ -77,7 +77,7 @@ ComputeEntropyAtom(LAMMPS *lmp, int narg, char **arg) : else if (strcmp(arg[iarg+1],"no") == 0) avg_flag = 0; else error->all(FLERR,"Illegal compute entropy/atom;" " argument after avg should be yes or no"); - cutoff2 = force->numeric(FLERR,arg[iarg+2]); + cutoff2 = utils::numeric(FLERR,arg[iarg+2],false,lmp); if (cutoff2 < 0.0) error->all(FLERR,"Illegal compute entropy/atom" " command; negative cutoff2"); cutsq2 = cutoff2*cutoff2; diff --git a/src/USER-MISC/compute_hma.cpp b/src/USER-MISC/compute_hma.cpp index d1f3e6b6f8ad282e4eee376595cb2441dc135e1a..ccecf43aaf4ad1bef997daba65dc2e7588122f0a 100644 --- a/src/USER-MISC/compute_hma.cpp +++ b/src/USER-MISC/compute_hma.cpp @@ -145,7 +145,7 @@ ComputeHMA::ComputeHMA(LAMMPS *lmp, int narg, char **arg) : if (iarg+2 > narg) error->all(FLERR,"Illegal compute hma command"); if (computeP>-1) continue; computeP = size_vector; - deltaPcap = force->numeric(FLERR, arg[iarg+1]); + deltaPcap = utils::numeric(FLERR, arg[iarg+1],false,lmp); extlist[size_vector] = 0; size_vector++; iarg++; diff --git a/src/USER-MISC/compute_pressure_cylinder.cpp b/src/USER-MISC/compute_pressure_cylinder.cpp index 6d2509d685402f4147698e457fddcf91278a2095..8346bd3410101904d08001991ae52b0783b4541f 100644 --- a/src/USER-MISC/compute_pressure_cylinder.cpp +++ b/src/USER-MISC/compute_pressure_cylinder.cpp @@ -56,10 +56,10 @@ ComputePressureCyl::ComputePressureCyl(LAMMPS *lmp, int narg, char **arg) : if (lmp->citeme) lmp->citeme->add(cite_compute_pressure_cylinder); if (narg != 7) error->all(FLERR,"Illegal compute pressure/cylinder command"); - zlo=force->numeric(FLERR,arg[3]); - zhi=force->numeric(FLERR,arg[4]); - Rmax=force->numeric(FLERR,arg[5]); - bin_width=force->numeric(FLERR,arg[6]); + zlo=utils::numeric(FLERR,arg[3],false,lmp); + zhi=utils::numeric(FLERR,arg[4],false,lmp); + Rmax=utils::numeric(FLERR,arg[5],false,lmp); + bin_width=utils::numeric(FLERR,arg[6],false,lmp); if ((bin_width <= 0.0) || (bin_width > Rmax)) error->all(FLERR,"Illegal compute pressure/cylinder command"); diff --git a/src/USER-MISC/compute_stress_mop.cpp b/src/USER-MISC/compute_stress_mop.cpp index c403ed32472ba76952547d86992bd35011dd2e9a..1e42a9df029720922184afc8fdf01e91f8c3e03f 100644 --- a/src/USER-MISC/compute_stress_mop.cpp +++ b/src/USER-MISC/compute_stress_mop.cpp @@ -65,7 +65,7 @@ ComputeStressMop::ComputeStressMop(LAMMPS *lmp, int narg, char **arg) : pos = domain->boxhi[dir]; } else if (strcmp(arg[4],"center")==0) { pos = 0.5*(domain->boxlo[dir]+domain->boxhi[dir]); - } else pos = force->numeric(FLERR,arg[4]); + } else pos = utils::numeric(FLERR,arg[4],false,lmp); if ( pos < (domain->boxlo[dir]+domain->prd_half[dir]) ) { pos1 = pos + domain->prd[dir]; diff --git a/src/USER-MISC/compute_stress_mop_profile.cpp b/src/USER-MISC/compute_stress_mop_profile.cpp index 9649a610909b0b190c68e5f7fdbd721ca3b02a9f..022840166f6d5fe33d5ded2fc525eb67643a8440 100644 --- a/src/USER-MISC/compute_stress_mop_profile.cpp +++ b/src/USER-MISC/compute_stress_mop_profile.cpp @@ -65,8 +65,8 @@ ComputeStressMopProfile::ComputeStressMopProfile(LAMMPS *lmp, int narg, char **a else if (strcmp(arg[4],"upper") == 0) originflag = UPPER; else originflag = COORD; if (originflag == COORD) - origin = force->numeric(FLERR,arg[4]); - delta = force->numeric(FLERR,arg[5]); + origin = utils::numeric(FLERR,arg[4],false,lmp); + delta = utils::numeric(FLERR,arg[5],false,lmp); invdelta = 1.0/delta; // parse values until one isn't recognized diff --git a/src/USER-MISC/dihedral_cosine_shift_exp.cpp b/src/USER-MISC/dihedral_cosine_shift_exp.cpp index 0537e555a272fadfe5c77b4cf234c4d380f07036..1b3afb13eb07473f50fc1176382a9394bfb6ae4f 100644 --- a/src/USER-MISC/dihedral_cosine_shift_exp.cpp +++ b/src/USER-MISC/dihedral_cosine_shift_exp.cpp @@ -276,11 +276,11 @@ void DihedralCosineShiftExp::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi; - force->bounds(FLERR,arg[0],atom->ndihedraltypes,ilo,ihi); + utils::bounds(FLERR,arg[0],1,atom->ndihedraltypes,ilo,ihi,error); - double umin_ = force->numeric(FLERR,arg[1]); - double theta0_ = force->numeric(FLERR,arg[2]); - double a_ = force->numeric(FLERR,arg[3]); + double umin_ = utils::numeric(FLERR,arg[1],false,lmp); + double theta0_ = utils::numeric(FLERR,arg[2],false,lmp); + double a_ = utils::numeric(FLERR,arg[3],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/USER-MISC/dihedral_fourier.cpp b/src/USER-MISC/dihedral_fourier.cpp index f30a5e1eabf717682560133c98f79c15f373e8dc..e897e58649c2f432d2533b5431f1f907025f2c4d 100644 --- a/src/USER-MISC/dihedral_fourier.cpp +++ b/src/USER-MISC/dihedral_fourier.cpp @@ -297,7 +297,7 @@ void DihedralFourier::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi; - force->bounds(FLERR,arg[0],atom->ndihedraltypes,ilo,ihi); + utils::bounds(FLERR,arg[0],1,atom->ndihedraltypes,ilo,ihi,error); // require integer values of shift for backwards compatibility // arbitrary phase angle shift could be allowed, but would break @@ -306,7 +306,7 @@ void DihedralFourier::coeff(int narg, char **arg) double k_one; int multiplicity_one; double shift_one; - int nterms_one = force->inumeric(FLERR,arg[1]); + int nterms_one = utils::inumeric(FLERR,arg[1],false,lmp); if (nterms_one < 1) error->all(FLERR,"Incorrect number of terms arg for dihedral coefficients"); @@ -324,9 +324,9 @@ void DihedralFourier::coeff(int narg, char **arg) sin_shift[i] = new double [nterms_one]; for (int j = 0; jnumeric(FLERR,arg[offset+1]); - multiplicity_one = force->inumeric(FLERR,arg[offset+2]); - shift_one = force->numeric(FLERR,arg[offset+3]); + k_one = utils::numeric(FLERR,arg[offset+1],false,lmp); + multiplicity_one = utils::inumeric(FLERR,arg[offset+2],false,lmp); + shift_one = utils::numeric(FLERR,arg[offset+3],false,lmp); k[i][j] = k_one; multiplicity[i][j] = multiplicity_one; shift[i][j] = shift_one; diff --git a/src/USER-MISC/dihedral_nharmonic.cpp b/src/USER-MISC/dihedral_nharmonic.cpp index 81010a040e954fb27613d2f9a2d0d2096881bf4c..0ff62320e4c534a82671572098d98f3c60a3fc69 100644 --- a/src/USER-MISC/dihedral_nharmonic.cpp +++ b/src/USER-MISC/dihedral_nharmonic.cpp @@ -277,21 +277,21 @@ void DihedralNHarmonic::coeff(int narg, char **arg) { if (narg < 4 ) error->all(FLERR,"Incorrect args for dihedral coefficients"); - int n = force->inumeric(FLERR,arg[1]); + int n = utils::inumeric(FLERR,arg[1],false,lmp); if (narg != n + 2) error->all(FLERR,"Incorrect args for dihedral coefficients"); if (!allocated) allocate(); int ilo,ihi; - force->bounds(FLERR,arg[0],atom->ndihedraltypes,ilo,ihi); + utils::bounds(FLERR,arg[0],1,atom->ndihedraltypes,ilo,ihi,error); int count = 0; for (int i = ilo; i <= ihi; i++) { a[i] = new double [n]; nterms[i] = n; for (int j = 0; j < n; j++ ) { - a[i][j] = force->numeric(FLERR,arg[2+j]); + a[i][j] = utils::numeric(FLERR,arg[2+j],false,lmp); setflag[i] = 1; } count++; diff --git a/src/USER-MISC/dihedral_quadratic.cpp b/src/USER-MISC/dihedral_quadratic.cpp index 28efad65b7b088d8dedc682253825c4f9e583628..d91c237838acaa37ed67993ca7c8637c8643fab9 100644 --- a/src/USER-MISC/dihedral_quadratic.cpp +++ b/src/USER-MISC/dihedral_quadratic.cpp @@ -287,10 +287,10 @@ void DihedralQuadratic::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi; - force->bounds(FLERR,arg[0],atom->ndihedraltypes,ilo,ihi); + utils::bounds(FLERR,arg[0],1,atom->ndihedraltypes,ilo,ihi,error); - double k_one = force->numeric(FLERR,arg[1]); - double phi0_one= force->numeric(FLERR,arg[2]); + double k_one = utils::numeric(FLERR,arg[1],false,lmp); + double phi0_one= utils::numeric(FLERR,arg[2],false,lmp); // require k >= 0 if (k_one < 0.0) diff --git a/src/USER-MISC/dihedral_spherical.cpp b/src/USER-MISC/dihedral_spherical.cpp index c72570c4942ae36eb15e6701ee4a1a81cf7e99b3..1cfb7561278ad80fc3c6fb12211c488396b0e753 100644 --- a/src/USER-MISC/dihedral_spherical.cpp +++ b/src/USER-MISC/dihedral_spherical.cpp @@ -681,9 +681,9 @@ void DihedralSpherical::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi; - force->bounds(FLERR,arg[0],atom->ndihedraltypes,ilo,ihi); + utils::bounds(FLERR,arg[0],1,atom->ndihedraltypes,ilo,ihi,error); - int nterms_one = force->inumeric(FLERR,arg[1]); + int nterms_one = utils::inumeric(FLERR,arg[1],false,lmp); if (nterms_one < 1) error->all(FLERR,"Incorrect number of terms arg for dihedral coefficients"); @@ -706,16 +706,16 @@ void DihedralSpherical::coeff(int narg, char **arg) theta2_offset[i] = new double [nterms_one]; for (int j = 0; j < nterms_one; j++) { int offset = 1+10*j; - Ccoeff[i][j] = force->numeric(FLERR,arg[offset+1]); - phi_mult[i][j] = force->numeric(FLERR,arg[offset+2]); - phi_shift[i][j] = force->numeric(FLERR,arg[offset+3]) * MY_PI/180.0; - phi_offset[i][j] = force->numeric(FLERR,arg[offset+4]); - theta1_mult[i][j] = force->numeric(FLERR,arg[offset+5]); - theta1_shift[i][j] = force->numeric(FLERR,arg[offset+6]) * MY_PI/180.0; - theta1_offset[i][j] = force->numeric(FLERR,arg[offset+7]); - theta2_mult[i][j] = force->numeric(FLERR,arg[offset+8]); - theta2_shift[i][j] = force->numeric(FLERR,arg[offset+9]) * MY_PI/180.0; - theta2_offset[i][j] = force->numeric(FLERR,arg[offset+10]); + Ccoeff[i][j] = utils::numeric(FLERR,arg[offset+1],false,lmp); + phi_mult[i][j] = utils::numeric(FLERR,arg[offset+2],false,lmp); + phi_shift[i][j] = utils::numeric(FLERR,arg[offset+3],false,lmp) * MY_PI/180.0; + phi_offset[i][j] = utils::numeric(FLERR,arg[offset+4],false,lmp); + theta1_mult[i][j] = utils::numeric(FLERR,arg[offset+5],false,lmp); + theta1_shift[i][j] = utils::numeric(FLERR,arg[offset+6],false,lmp) * MY_PI/180.0; + theta1_offset[i][j] = utils::numeric(FLERR,arg[offset+7],false,lmp); + theta2_mult[i][j] = utils::numeric(FLERR,arg[offset+8],false,lmp); + theta2_shift[i][j] = utils::numeric(FLERR,arg[offset+9],false,lmp) * MY_PI/180.0; + theta2_offset[i][j] = utils::numeric(FLERR,arg[offset+10],false,lmp); } setflag[i] = 1; count++; diff --git a/src/USER-MISC/dihedral_table.cpp b/src/USER-MISC/dihedral_table.cpp index 9fd36791065c142e785b546d7efb01983bfe7579..37410ba085ea9d9e5e48a05ee87f936346b3d5d3 100644 --- a/src/USER-MISC/dihedral_table.cpp +++ b/src/USER-MISC/dihedral_table.cpp @@ -782,7 +782,7 @@ void DihedralTable::settings(int narg, char **arg) else if (strcmp(arg[0],"spline") == 0) tabstyle = SPLINE; else error->all(FLERR,"Unknown table style in dihedral style table"); - tablength = force->inumeric(FLERR,arg[1]); + tablength = utils::inumeric(FLERR,arg[1],false,lmp); if (tablength < 3) error->all(FLERR,"Illegal number of dihedral table entries"); // delete old tables, since cannot just change settings @@ -813,7 +813,7 @@ void DihedralTable::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi; - force->bounds(FLERR,arg[0],atom->ndihedraltypes,ilo,ihi); + utils::bounds(FLERR,arg[0],1,atom->ndihedraltypes,ilo,ihi,error); int me; MPI_Comm_rank(world,&me); diff --git a/src/USER-MISC/dihedral_table_cut.cpp b/src/USER-MISC/dihedral_table_cut.cpp index e2283633bc25394853d69330dc2197f1f2615739..2a5b46a4f1608536fbd3d625345684a35507372e 100644 --- a/src/USER-MISC/dihedral_table_cut.cpp +++ b/src/USER-MISC/dihedral_table_cut.cpp @@ -764,7 +764,7 @@ void DihedralTableCut::settings(int narg, char **arg) else if (strcmp(arg[0],"spline") == 0) tabstyle = SPLINE; else error->all(FLERR,"Unknown table style in dihedral style table_cut"); - tablength = force->inumeric(FLERR,arg[1]); + tablength = utils::inumeric(FLERR,arg[1],false,lmp); if (tablength < 3) error->all(FLERR,"Illegal number of dihedral table entries"); // delete old tables, since cannot just change settings @@ -794,11 +794,11 @@ void DihedralTableCut::coeff(int narg, char **arg) if (narg != 7) error->all(FLERR,"Incorrect args for dihedral coefficients"); if (!allocated) allocate(); int ilo,ihi; - force->bounds(FLERR,arg[0],atom->ndihedraltypes,ilo,ihi); + utils::bounds(FLERR,arg[0],1,atom->ndihedraltypes,ilo,ihi,error); - double k_one = force->numeric(FLERR,arg[2]); - double theta0_1_one = force->numeric(FLERR,arg[3]); - double theta0_2_one = force->numeric(FLERR,arg[4]); + double k_one = utils::numeric(FLERR,arg[2],false,lmp); + double theta0_1_one = utils::numeric(FLERR,arg[3],false,lmp); + double theta0_2_one = utils::numeric(FLERR,arg[4],false,lmp); // convert theta0's from degrees to radians @@ -1078,7 +1078,7 @@ void DihedralTableCut::read_table(Table *tb, char *file, char *keyword) // open file - FILE *fp = force->open_potential(file); + FILE *fp = utils::open_potential(file,lmp,nullptr); if (fp == NULL) { string err_msg = string("Cannot open file ") + string(file); error->one(FLERR,err_msg); diff --git a/src/USER-MISC/fix_accelerate_cos.cpp b/src/USER-MISC/fix_accelerate_cos.cpp index 88e33023fd4dc9682f8aca4ec0f71d2622f8915c..17d6e9ad9470f88af7d44a1b73682ba604cef165 100644 --- a/src/USER-MISC/fix_accelerate_cos.cpp +++ b/src/USER-MISC/fix_accelerate_cos.cpp @@ -37,7 +37,7 @@ using namespace FixConst; FixAccelerateCos::FixAccelerateCos(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) { if (narg < 4) error->all(FLERR, "Illegal fix accelerate/cos command"); - acceleration = force->numeric(FLERR, arg[3]); + acceleration = utils::numeric(FLERR, arg[3],false,lmp); if (domain->dimension == 2) error->all(FLERR,"Fix accelerate/cos cannot be used with 2d systems"); } diff --git a/src/USER-MISC/fix_addtorque.cpp b/src/USER-MISC/fix_addtorque.cpp index 665f1d4a60f58364647b101a1771278c525c4d94..4583d76e0969878ead45e3eb2e6a8239646d3b6a 100644 --- a/src/USER-MISC/fix_addtorque.cpp +++ b/src/USER-MISC/fix_addtorque.cpp @@ -58,7 +58,7 @@ FixAddTorque::FixAddTorque(LAMMPS *lmp, int narg, char **arg) : xstr = new char[n]; strcpy(xstr,&arg[3][2]); } else { - xvalue = force->numeric(FLERR,arg[3]); + xvalue = utils::numeric(FLERR,arg[3],false,lmp); xstyle = CONSTANT; } if (strstr(arg[4],"v_") == arg[4]) { @@ -66,7 +66,7 @@ FixAddTorque::FixAddTorque(LAMMPS *lmp, int narg, char **arg) : ystr = new char[n]; strcpy(ystr,&arg[4][2]); } else { - yvalue = force->numeric(FLERR,arg[4]); + yvalue = utils::numeric(FLERR,arg[4],false,lmp); ystyle = CONSTANT; } if (strstr(arg[5],"v_") == arg[5]) { @@ -74,7 +74,7 @@ FixAddTorque::FixAddTorque(LAMMPS *lmp, int narg, char **arg) : zstr = new char[n]; strcpy(zstr,&arg[5][2]); } else { - zvalue = force->numeric(FLERR,arg[5]); + zvalue = utils::numeric(FLERR,arg[5],false,lmp); zstyle = CONSTANT; } diff --git a/src/USER-MISC/fix_ave_correlate_long.cpp b/src/USER-MISC/fix_ave_correlate_long.cpp index 4d548d585a3baefbc87cab263aa17b5954102b25..abfa751d158c5dd6f6e697f9b087d9949e3c3993 100644 --- a/src/USER-MISC/fix_ave_correlate_long.cpp +++ b/src/USER-MISC/fix_ave_correlate_long.cpp @@ -70,8 +70,8 @@ FixAveCorrelateLong::FixAveCorrelateLong(LAMMPS * lmp, int narg, char **arg): MPI_Comm_rank(world,&me); - nevery = force->inumeric(FLERR,arg[3]); - nfreq = force->inumeric(FLERR,arg[4]); + nevery = utils::inumeric(FLERR,arg[3],false,lmp); + nfreq = utils::inumeric(FLERR,arg[4],false,lmp); restart_global = 1; global_freq = nfreq; @@ -142,22 +142,22 @@ FixAveCorrelateLong::FixAveCorrelateLong(LAMMPS * lmp, int narg, char **arg): } else if (strcmp(arg[iarg],"start") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix ave/correlate/long command"); - startstep = force->inumeric(FLERR,arg[iarg+1]); + startstep = utils::inumeric(FLERR,arg[iarg+1],false,lmp); iarg += 2; } else if (strcmp(arg[iarg],"ncorr") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix ave/correlate/long command"); - numcorrelators = force->inumeric(FLERR,arg[iarg+1]); + numcorrelators = utils::inumeric(FLERR,arg[iarg+1],false,lmp); iarg += 2; } else if (strcmp(arg[iarg],"nlen") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix ave/correlate/long command"); - p = force->inumeric(FLERR,arg[iarg+1]); + p = utils::inumeric(FLERR,arg[iarg+1],false,lmp); iarg += 2; } else if (strcmp(arg[iarg],"ncount") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix ave/correlate/long command"); - m = force->inumeric(FLERR,arg[iarg+1]); + m = utils::inumeric(FLERR,arg[iarg+1],false,lmp); iarg += 2; } else if (strcmp(arg[iarg],"file") == 0) { if (iarg+2 > narg) diff --git a/src/USER-MISC/fix_electron_stopping.cpp b/src/USER-MISC/fix_electron_stopping.cpp index 2130f0742079fce2d44847bc6f6604253809c99f..bf970662758eb0fc8f6d8265c22cb0b48d5d42c6 100644 --- a/src/USER-MISC/fix_electron_stopping.cpp +++ b/src/USER-MISC/fix_electron_stopping.cpp @@ -57,7 +57,7 @@ FixElectronStopping::FixElectronStopping(LAMMPS *lmp, int narg, char **arg) : if (narg < 5) error->all(FLERR, "Illegal fix electron/stopping command: too few arguments"); - Ecut = force->numeric(FLERR, arg[3]); + Ecut = utils::numeric(FLERR, arg[3],false,lmp); if (Ecut <= 0.0) error->all(FLERR, "Illegal fix electron/stopping command: Ecut <= 0"); @@ -83,7 +83,7 @@ FixElectronStopping::FixElectronStopping(LAMMPS *lmp, int narg, char **arg) : minneighflag = true; if (iarg+2 > narg) error->all(FLERR, "Illegal fix electron/stopping command: minneigh number missing"); - minneigh = force->inumeric(FLERR, arg[iarg+1]); + minneigh = utils::inumeric(FLERR, arg[iarg+1],false,lmp); if (minneigh < 0) error->all(FLERR, "Illegal fix electron/stopping command: minneigh < 0"); iarg += 2; @@ -240,7 +240,7 @@ void FixElectronStopping::read_table(const char *file) { char line[MAXLINE]; - FILE *fp = force->open_potential(file); + FILE *fp = utils::open_potential(file,lmp,nullptr); if (fp == NULL) { char str[128]; snprintf(str, 128, "Cannot open stopping range table %s", file); @@ -261,7 +261,7 @@ void FixElectronStopping::read_table(const char *file) int i = 0; for ( ; i < ncol && pch != NULL; i++) { - elstop_ranges[i][l] = force->numeric(FLERR, pch); + elstop_ranges[i][l] = utils::numeric(FLERR, pch,false,lmp); pch = strtok(NULL, " \t\n\r"); } diff --git a/src/USER-MISC/fix_ffl.cpp b/src/USER-MISC/fix_ffl.cpp index a245b6b4e5140306aa070d92af786a4901c44b76..4460c551836bc0465faaad4a44334b3742ca0cc9 100644 --- a/src/USER-MISC/fix_ffl.cpp +++ b/src/USER-MISC/fix_ffl.cpp @@ -64,21 +64,22 @@ FixFFL::FixFFL(LAMMPS *lmp, int narg, char **arg) : time_integrate = 1; scalar_flag = 1; - //gamma = 1/ time constant(tau) - if (force->numeric(FLERR,arg[3]) <= 0) + //gamma = 1 / time constant(tau) + gamma = utils::numeric(FLERR,arg[3],false,lmp); + if (gamma <= 0.0) error->all(FLERR,"Illegal fix ffl tau value, should be greater than 0"); - gamma = 1.0/force->numeric(FLERR,arg[3]); + gamma = 1.0/gamma; ffl_every=1; ffl_step=0; // start temperature (t ramp) - t_start = force->numeric(FLERR,arg[4]); + t_start = utils::numeric(FLERR,arg[4],false,lmp); // final temperature (t ramp) - t_stop = force->numeric(FLERR,arg[5]); + t_stop = utils::numeric(FLERR,arg[5],false,lmp); // PRNG seed - int seed = force->inumeric(FLERR,arg[6]); + int seed = utils::inumeric(FLERR,arg[6],false,lmp); // Flip type used, uses rescale if no flip is given if (narg == 8) { diff --git a/src/USER-MISC/fix_filter_corotate.cpp b/src/USER-MISC/fix_filter_corotate.cpp index 52e979d32cabad525cc5f734fb4e4d914dadcb0b..18fd7848619922979746597e27e9840942ed4b5d 100644 --- a/src/USER-MISC/fix_filter_corotate.cpp +++ b/src/USER-MISC/fix_filter_corotate.cpp @@ -110,25 +110,25 @@ FixFilterCorotate::FixFilterCorotate(LAMMPS *lmp, int narg, char **arg) : // read numeric args of b,a,t,m else if (mode == 'b') { - int i = force->inumeric(FLERR,arg[next]); + int i = utils::inumeric(FLERR,arg[next],false,lmp); if (i < 1 || i > atom->nbondtypes) error->all(FLERR,"Invalid bond type index for fix filter/corotate"); bond_flag[i] = 1; } else if (mode == 'a') { - int i = force->inumeric(FLERR,arg[next]); + int i = utils::inumeric(FLERR,arg[next],false,lmp); if (i < 1 || i > atom->nangletypes) error->all(FLERR,"Invalid angle type index for fix filter/corotate"); angle_flag[i] = 1; } else if (mode == 't') { - int i = force->inumeric(FLERR,arg[next]); + int i = utils::inumeric(FLERR,arg[next],false,lmp); if (i < 1 || i > atom->ntypes) error->all(FLERR,"Invalid atom type index for fix filter/corotate"); type_flag[i] = 1; } else if (mode == 'm') { - double massone = force->numeric(FLERR,arg[next]); + double massone = utils::numeric(FLERR,arg[next],false,lmp); if (massone == 0.0) error->all(FLERR,"Invalid atom mass for fix filter/corotate"); if (nmass == atom->ntypes) diff --git a/src/USER-MISC/fix_flow_gauss.cpp b/src/USER-MISC/fix_flow_gauss.cpp index c7b7f86d377ce7a4a52489fae1578c78cddf2a62..2463e18b400835e79dc75e25e046ef7a8b3ccfa6 100644 --- a/src/USER-MISC/fix_flow_gauss.cpp +++ b/src/USER-MISC/fix_flow_gauss.cpp @@ -71,7 +71,7 @@ FixFlowGauss::FixFlowGauss(LAMMPS *lmp, int narg, char **arg) : int tmpFlag; for (int ii=0; ii<3; ii++) { - tmpFlag=force->inumeric(FLERR,arg[3+ii]); + tmpFlag=utils::inumeric(FLERR,arg[3+ii],false,lmp); if (tmpFlag==1 || tmpFlag==0) flow[ii]=tmpFlag; else diff --git a/src/USER-MISC/fix_gle.cpp b/src/USER-MISC/fix_gle.cpp index 87dbb19496c2b10b45595001f318c645a8f9fe24..30e62c7eb9051919b0d63bd3967c9e5a47ab3e30 100644 --- a/src/USER-MISC/fix_gle.cpp +++ b/src/USER-MISC/fix_gle.cpp @@ -197,7 +197,7 @@ FixGLE::FixGLE(LAMMPS *lmp, int narg, char **arg) : time_integrate = 1; // number of additional momenta - ns = force->inumeric(FLERR,arg[3]); + ns = utils::inumeric(FLERR,arg[3],false,lmp); ns1sq = (ns+1)*(ns+1); // allocate GLE matrices @@ -209,19 +209,19 @@ FixGLE::FixGLE(LAMMPS *lmp, int narg, char **arg) : ST = new double[ns1sq]; // start temperature (t ramp) - t_start = force->numeric(FLERR,arg[4]); + t_start = utils::numeric(FLERR,arg[4],false,lmp); // final temperature (t ramp) - t_stop = force->numeric(FLERR,arg[5]); + t_stop = utils::numeric(FLERR,arg[5],false,lmp); // PRNG seed - int seed = force->inumeric(FLERR,arg[6]); + int seed = utils::inumeric(FLERR,arg[6],false,lmp); // LOADING A matrix FILE *fgle = NULL; char *fname = arg[7]; if (comm->me == 0) { - fgle = force->open_potential(fname); + fgle = utils::open_potential(fname,lmp,nullptr); if (fgle == NULL) { char str[128]; snprintf(str,128,"Cannot open A-matrix file %s",fname); @@ -276,7 +276,7 @@ FixGLE::FixGLE(LAMMPS *lmp, int narg, char **arg) : if (iarg+2>narg) error->all(FLERR, "Did not specify interval for applying the GLE"); - gle_every=force->inumeric(FLERR,arg[iarg+1]); + gle_every=utils::inumeric(FLERR,arg[iarg+1],false,lmp); } } @@ -291,7 +291,7 @@ FixGLE::FixGLE(LAMMPS *lmp, int narg, char **arg) : } else { if (comm->me == 0) { - fgle = force->open_potential(fname); + fgle = utils::open_potential(fname,lmp,nullptr); if (fgle == NULL) { char str[128]; snprintf(str,128,"Cannot open C-matrix file %s",fname); diff --git a/src/USER-MISC/fix_grem.cpp b/src/USER-MISC/fix_grem.cpp index 9600cce90e16af6f253d69965ed1dc4aabe8ca06..b17c601f057dded39d39832b6bbcc0cf1805c49f 100644 --- a/src/USER-MISC/fix_grem.cpp +++ b/src/USER-MISC/fix_grem.cpp @@ -52,9 +52,9 @@ FixGrem::FixGrem(LAMMPS *lmp, int narg, char **arg) : // tbath - temp of bath, the same as defined in thermostat - lambda = force->numeric(FLERR,arg[3]); - eta = force->numeric(FLERR,arg[4]); - h0 = force->numeric(FLERR,arg[5]); + lambda = utils::numeric(FLERR,arg[3],false,lmp); + eta = utils::numeric(FLERR,arg[4],false,lmp); + h0 = utils::numeric(FLERR,arg[5],false,lmp); int n = strlen(arg[6])+1; id_nh = new char[n]; diff --git a/src/USER-MISC/fix_imd.cpp b/src/USER-MISC/fix_imd.cpp index 266142b52919bb59c22ce772afc4f80629c3801f..af4a5172692e02f5a38022b984303b140dc34dd2 100644 --- a/src/USER-MISC/fix_imd.cpp +++ b/src/USER-MISC/fix_imd.cpp @@ -446,7 +446,7 @@ FixIMD::FixIMD(LAMMPS *lmp, int narg, char **arg) : if (narg < 4) error->all(FLERR,"Illegal fix imd command"); - imd_port = force->inumeric(FLERR,arg[3]); + imd_port = utils::inumeric(FLERR,arg[3],false,lmp); if (imd_port < 1024) error->all(FLERR,"Illegal fix imd parameter: port < 1024"); @@ -473,9 +473,9 @@ FixIMD::FixIMD(LAMMPS *lmp, int narg, char **arg) : nowait_flag = 0; } } else if (0 == strcmp(arg[argsdone], "fscale")) { - imd_fscale = force->numeric(FLERR,arg[argsdone+1]); + imd_fscale = utils::numeric(FLERR,arg[argsdone+1],false,lmp); } else if (0 == strcmp(arg[argsdone], "trate")) { - imd_trate = force->inumeric(FLERR,arg[argsdone+1]); + imd_trate = utils::inumeric(FLERR,arg[argsdone+1],false,lmp); } else { error->all(FLERR,"Unknown fix imd parameter"); } diff --git a/src/USER-MISC/fix_ipi.cpp b/src/USER-MISC/fix_ipi.cpp index 74e757c2e9b15fc24431cba8708ace66ed519948..b1d07eef4102fdd76259cafe3e50b812ec54b2ec 100644 --- a/src/USER-MISC/fix_ipi.cpp +++ b/src/USER-MISC/fix_ipi.cpp @@ -185,7 +185,7 @@ FixIPI::FixIPI(LAMMPS *lmp, int narg, char **arg) : error->warning(FLERR,"Fix ipi always uses group all"); host = strdup(arg[3]); - port = force->inumeric(FLERR,arg[4]); + port = utils::inumeric(FLERR,arg[4],false,lmp); inet = ((narg > 5) && (strcmp(arg[5],"unix") == 0) ) ? 0 : 1; master = (comm->me==0) ? 1 : 0; diff --git a/src/USER-MISC/fix_momentum_chunk.cpp b/src/USER-MISC/fix_momentum_chunk.cpp index fe6c2f5bea282a951a9890e69d697891a422b596..0ed5e1f8770a56d533ca2397cdb91d3318e03e2d 100644 --- a/src/USER-MISC/fix_momentum_chunk.cpp +++ b/src/USER-MISC/fix_momentum_chunk.cpp @@ -41,7 +41,7 @@ FixMomentumChunk::FixMomentumChunk(LAMMPS *lmp, int narg, char **arg) : { if (narg < 5) error->all(FLERR,"Illegal fix momentum/chunk command"); - nevery = force->inumeric(FLERR,arg[3]); + nevery = utils::inumeric(FLERR,arg[3],false,lmp); if (nevery <= 0) error->all(FLERR,"Illegal fix momentum/chunk command"); id_chunk = arg[4]; @@ -60,9 +60,9 @@ FixMomentumChunk::FixMomentumChunk(LAMMPS *lmp, int narg, char **arg) : if (strcmp(arg[iarg],"linear") == 0) { if (iarg+4 > narg) error->all(FLERR,"Illegal fix momentum command"); linear = 1; - xflag = force->inumeric(FLERR,arg[iarg+1]); - yflag = force->inumeric(FLERR,arg[iarg+2]); - zflag = force->inumeric(FLERR,arg[iarg+3]); + xflag = utils::inumeric(FLERR,arg[iarg+1],false,lmp); + yflag = utils::inumeric(FLERR,arg[iarg+2],false,lmp); + zflag = utils::inumeric(FLERR,arg[iarg+3],false,lmp); iarg += 4; } else if (strcmp(arg[iarg],"angular") == 0) { angular = 1; diff --git a/src/USER-MISC/fix_npt_cauchy.cpp b/src/USER-MISC/fix_npt_cauchy.cpp index 067bad47efefeb625a5776350632bcbfacdd1b9d..221886d38871f28fb458aeca5fb691a22edd5539 100644 --- a/src/USER-MISC/fix_npt_cauchy.cpp +++ b/src/USER-MISC/fix_npt_cauchy.cpp @@ -134,10 +134,10 @@ FixNPTCauchy::FixNPTCauchy(LAMMPS *lmp, int narg, char **arg) : if (strcmp(arg[iarg],"temp") == 0) { if (iarg+4 > narg) error->all(FLERR,"Illegal fix npt/cauchy command"); tstat_flag = 1; - t_start = force->numeric(FLERR,arg[iarg+1]); + t_start = utils::numeric(FLERR,arg[iarg+1],false,lmp); t_target = t_start; - t_stop = force->numeric(FLERR,arg[iarg+2]); - t_period = force->numeric(FLERR,arg[iarg+3]); + t_stop = utils::numeric(FLERR,arg[iarg+2],false,lmp); + t_period = utils::numeric(FLERR,arg[iarg+3],false,lmp); if (t_start <= 0.0 || t_stop <= 0.0) error->all(FLERR, "Target temperature for fix npt/cauchy cannot be 0.0"); @@ -146,10 +146,10 @@ FixNPTCauchy::FixNPTCauchy(LAMMPS *lmp, int narg, char **arg) : } else if (strcmp(arg[iarg],"iso") == 0) { if (iarg+4 > narg) error->all(FLERR,"Illegal fix npt/cauchy command"); pcouple = XYZ; - p_start[0] = p_start[1] = p_start[2] = force->numeric(FLERR,arg[iarg+1]); - p_stop[0] = p_stop[1] = p_stop[2] = force->numeric(FLERR,arg[iarg+2]); + p_start[0] = p_start[1] = p_start[2] = utils::numeric(FLERR,arg[iarg+1],false,lmp); + p_stop[0] = p_stop[1] = p_stop[2] = utils::numeric(FLERR,arg[iarg+2],false,lmp); p_period[0] = p_period[1] = p_period[2] = - force->numeric(FLERR,arg[iarg+3]); + utils::numeric(FLERR,arg[iarg+3],false,lmp); p_flag[0] = p_flag[1] = p_flag[2] = 1; if (dimension == 2) { p_start[2] = p_stop[2] = p_period[2] = 0.0; @@ -159,10 +159,10 @@ FixNPTCauchy::FixNPTCauchy(LAMMPS *lmp, int narg, char **arg) : } else if (strcmp(arg[iarg],"aniso") == 0) { if (iarg+4 > narg) error->all(FLERR,"Illegal fix npt/cauchy command"); pcouple = NONE; - p_start[0] = p_start[1] = p_start[2] = force->numeric(FLERR,arg[iarg+1]); - p_stop[0] = p_stop[1] = p_stop[2] = force->numeric(FLERR,arg[iarg+2]); + p_start[0] = p_start[1] = p_start[2] = utils::numeric(FLERR,arg[iarg+1],false,lmp); + p_stop[0] = p_stop[1] = p_stop[2] = utils::numeric(FLERR,arg[iarg+2],false,lmp); p_period[0] = p_period[1] = p_period[2] = - force->numeric(FLERR,arg[iarg+3]); + utils::numeric(FLERR,arg[iarg+3],false,lmp); p_flag[0] = p_flag[1] = p_flag[2] = 1; if (dimension == 2) { p_start[2] = p_stop[2] = p_period[2] = 0.0; @@ -173,15 +173,15 @@ FixNPTCauchy::FixNPTCauchy(LAMMPS *lmp, int narg, char **arg) : if (iarg+4 > narg) error->all(FLERR,"Illegal fix npt/cauchy command"); pcouple = NONE; scalexy = scalexz = scaleyz = 0; - p_start[0] = p_start[1] = p_start[2] = force->numeric(FLERR,arg[iarg+1]); - p_stop[0] = p_stop[1] = p_stop[2] = force->numeric(FLERR,arg[iarg+2]); + p_start[0] = p_start[1] = p_start[2] = utils::numeric(FLERR,arg[iarg+1],false,lmp); + p_stop[0] = p_stop[1] = p_stop[2] = utils::numeric(FLERR,arg[iarg+2],false,lmp); p_period[0] = p_period[1] = p_period[2] = - force->numeric(FLERR,arg[iarg+3]); + utils::numeric(FLERR,arg[iarg+3],false,lmp); p_flag[0] = p_flag[1] = p_flag[2] = 1; p_start[3] = p_start[4] = p_start[5] = 0.0; p_stop[3] = p_stop[4] = p_stop[5] = 0.0; p_period[3] = p_period[4] = p_period[5] = - force->numeric(FLERR,arg[iarg+3]); + utils::numeric(FLERR,arg[iarg+3],false,lmp); p_flag[3] = p_flag[4] = p_flag[5] = 1; if (dimension == 2) { p_start[2] = p_stop[2] = p_period[2] = 0.0; @@ -194,25 +194,25 @@ FixNPTCauchy::FixNPTCauchy(LAMMPS *lmp, int narg, char **arg) : iarg += 4; } else if (strcmp(arg[iarg],"x") == 0) { if (iarg+4 > narg) error->all(FLERR,"Illegal fix npt/cauchy command"); - p_start[0] = force->numeric(FLERR,arg[iarg+1]); - p_stop[0] = force->numeric(FLERR,arg[iarg+2]); - p_period[0] = force->numeric(FLERR,arg[iarg+3]); + p_start[0] = utils::numeric(FLERR,arg[iarg+1],false,lmp); + p_stop[0] = utils::numeric(FLERR,arg[iarg+2],false,lmp); + p_period[0] = utils::numeric(FLERR,arg[iarg+3],false,lmp); p_flag[0] = 1; deviatoric_flag = 1; iarg += 4; } else if (strcmp(arg[iarg],"y") == 0) { if (iarg+4 > narg) error->all(FLERR,"Illegal fix npt/cauchy command"); - p_start[1] = force->numeric(FLERR,arg[iarg+1]); - p_stop[1] = force->numeric(FLERR,arg[iarg+2]); - p_period[1] = force->numeric(FLERR,arg[iarg+3]); + p_start[1] = utils::numeric(FLERR,arg[iarg+1],false,lmp); + p_stop[1] = utils::numeric(FLERR,arg[iarg+2],false,lmp); + p_period[1] = utils::numeric(FLERR,arg[iarg+3],false,lmp); p_flag[1] = 1; deviatoric_flag = 1; iarg += 4; } else if (strcmp(arg[iarg],"z") == 0) { if (iarg+4 > narg) error->all(FLERR,"Illegal fix npt/cauchy command"); - p_start[2] = force->numeric(FLERR,arg[iarg+1]); - p_stop[2] = force->numeric(FLERR,arg[iarg+2]); - p_period[2] = force->numeric(FLERR,arg[iarg+3]); + p_start[2] = utils::numeric(FLERR,arg[iarg+1],false,lmp); + p_stop[2] = utils::numeric(FLERR,arg[iarg+2],false,lmp); + p_period[2] = utils::numeric(FLERR,arg[iarg+3],false,lmp); p_flag[2] = 1; deviatoric_flag = 1; iarg += 4; @@ -221,9 +221,9 @@ FixNPTCauchy::FixNPTCauchy(LAMMPS *lmp, int narg, char **arg) : } else if (strcmp(arg[iarg],"yz") == 0) { if (iarg+4 > narg) error->all(FLERR,"Illegal fix npt/cauchy command"); - p_start[3] = force->numeric(FLERR,arg[iarg+1]); - p_stop[3] = force->numeric(FLERR,arg[iarg+2]); - p_period[3] = force->numeric(FLERR,arg[iarg+3]); + p_start[3] = utils::numeric(FLERR,arg[iarg+1],false,lmp); + p_stop[3] = utils::numeric(FLERR,arg[iarg+2],false,lmp); + p_period[3] = utils::numeric(FLERR,arg[iarg+3],false,lmp); p_flag[3] = 1; deviatoric_flag = 1; scaleyz = 0; @@ -232,9 +232,9 @@ FixNPTCauchy::FixNPTCauchy(LAMMPS *lmp, int narg, char **arg) : error->all(FLERR,"Invalid fix npt/cauchy command for a 2d simulation"); } else if (strcmp(arg[iarg],"xz") == 0) { if (iarg+4 > narg) error->all(FLERR,"Illegal fix npt/cauchy command"); - p_start[4] = force->numeric(FLERR,arg[iarg+1]); - p_stop[4] = force->numeric(FLERR,arg[iarg+2]); - p_period[4] = force->numeric(FLERR,arg[iarg+3]); + p_start[4] = utils::numeric(FLERR,arg[iarg+1],false,lmp); + p_stop[4] = utils::numeric(FLERR,arg[iarg+2],false,lmp); + p_period[4] = utils::numeric(FLERR,arg[iarg+3],false,lmp); p_flag[4] = 1; deviatoric_flag = 1; scalexz = 0; @@ -243,9 +243,9 @@ FixNPTCauchy::FixNPTCauchy(LAMMPS *lmp, int narg, char **arg) : error->all(FLERR,"Invalid fix npt/cauchy command for a 2d simulation"); } else if (strcmp(arg[iarg],"xy") == 0) { if (iarg+4 > narg) error->all(FLERR,"Illegal fix npt/cauchy command"); - p_start[5] = force->numeric(FLERR,arg[iarg+1]); - p_stop[5] = force->numeric(FLERR,arg[iarg+2]); - p_period[5] = force->numeric(FLERR,arg[iarg+3]); + p_start[5] = utils::numeric(FLERR,arg[iarg+1],false,lmp); + p_stop[5] = utils::numeric(FLERR,arg[iarg+2],false,lmp); + p_period[5] = utils::numeric(FLERR,arg[iarg+3],false,lmp); p_flag[5] = 1; deviatoric_flag = 1; scalexy = 0; @@ -263,7 +263,7 @@ FixNPTCauchy::FixNPTCauchy(LAMMPS *lmp, int narg, char **arg) : } else if (strcmp(arg[iarg],"drag") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix npt/cauchy command"); - drag = force->numeric(FLERR,arg[iarg+1]); + drag = utils::numeric(FLERR,arg[iarg+1],false,lmp); if (drag < 0.0) error->all(FLERR,"Illegal fix npt/cauchy command"); iarg += 2; } else if (strcmp(arg[iarg],"dilate") == 0) { @@ -283,14 +283,14 @@ FixNPTCauchy::FixNPTCauchy(LAMMPS *lmp, int narg, char **arg) : } else if (strcmp(arg[iarg],"tchain") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix npt/cauchy command"); - mtchain = force->inumeric(FLERR,arg[iarg+1]); + mtchain = utils::inumeric(FLERR,arg[iarg+1],false,lmp); // used by FixNVTSllod to preserve non-default value mtchain_default_flag = 0; if (mtchain < 1) error->all(FLERR,"Illegal fix npt/cauchy command"); iarg += 2; } else if (strcmp(arg[iarg],"pchain") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix npt/cauchy command"); - mpchain = force->inumeric(FLERR,arg[iarg+1]); + mpchain = utils::inumeric(FLERR,arg[iarg+1],false,lmp); if (mpchain < 0) error->all(FLERR,"Illegal fix npt/cauchy command"); iarg += 2; } else if (strcmp(arg[iarg],"mtk") == 0) { @@ -301,17 +301,17 @@ FixNPTCauchy::FixNPTCauchy(LAMMPS *lmp, int narg, char **arg) : iarg += 2; } else if (strcmp(arg[iarg],"tloop") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix npt/cauchy command"); - nc_tchain = force->inumeric(FLERR,arg[iarg+1]); + nc_tchain = utils::inumeric(FLERR,arg[iarg+1],false,lmp); if (nc_tchain < 0) error->all(FLERR,"Illegal fix npt/cauchy command"); iarg += 2; } else if (strcmp(arg[iarg],"ploop") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix npt/cauchy command"); - nc_pchain = force->inumeric(FLERR,arg[iarg+1]); + nc_pchain = utils::inumeric(FLERR,arg[iarg+1],false,lmp); if (nc_pchain < 0) error->all(FLERR,"Illegal fix npt/cauchy command"); iarg += 2; } else if (strcmp(arg[iarg],"nreset") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix npt/cauchy command"); - nreset_h0 = force->inumeric(FLERR,arg[iarg+1]); + nreset_h0 = utils::inumeric(FLERR,arg[iarg+1],false,lmp); if (nreset_h0 < 0) error->all(FLERR,"Illegal fix npt/cauchy command"); iarg += 2; } else if (strcmp(arg[iarg],"scalexy") == 0) { @@ -347,7 +347,7 @@ FixNPTCauchy::FixNPTCauchy(LAMMPS *lmp, int narg, char **arg) : } else error->all(FLERR,"Illegal fix npt/cauchy command"); iarg += 2; } else if (strcmp(arg[iarg],"alpha") == 0) { - alpha = force->numeric(FLERR,arg[iarg+1]); + alpha = utils::numeric(FLERR,arg[iarg+1],false,lmp); iarg += 2; } else if (strcmp(arg[iarg],"continue") == 0) { if (strcmp(arg[iarg+1],"yes") != 0 && strcmp(arg[iarg+1],"no") != 0) @@ -357,9 +357,9 @@ FixNPTCauchy::FixNPTCauchy(LAMMPS *lmp, int narg, char **arg) : iarg += 2; } else if (strcmp(arg[iarg],"fixedpoint") == 0) { if (iarg+4 > narg) error->all(FLERR,"Illegal fix npt/cauchy command"); - fixedpoint[0] = force->numeric(FLERR,arg[iarg+1]); - fixedpoint[1] = force->numeric(FLERR,arg[iarg+2]); - fixedpoint[2] = force->numeric(FLERR,arg[iarg+3]); + fixedpoint[0] = utils::numeric(FLERR,arg[iarg+1],false,lmp); + fixedpoint[1] = utils::numeric(FLERR,arg[iarg+2],false,lmp); + fixedpoint[2] = utils::numeric(FLERR,arg[iarg+3],false,lmp); iarg += 4; // disc keyword is also parsed in fix/nh/sphere diff --git a/src/USER-MISC/fix_orient_eco.cpp b/src/USER-MISC/fix_orient_eco.cpp index add32e7215058af39df033713533b14863844b6b..4e97cac3f94b0e554ef5e52d9c63e02de1916f50 100644 --- a/src/USER-MISC/fix_orient_eco.cpp +++ b/src/USER-MISC/fix_orient_eco.cpp @@ -82,10 +82,10 @@ FixOrientECO::FixOrientECO(LAMMPS *lmp, int narg, char **arg) : peratom_freq = 1; // // parse input parameters - u_0 = force->numeric(FLERR, arg[3]); + u_0 = utils::numeric(FLERR, arg[3],false,lmp); sign = (u_0 >= 0.0 ? 1 : -1); - eta = force->numeric(FLERR, arg[4]); - r_cut = force->numeric(FLERR, arg[5]); + eta = utils::numeric(FLERR, arg[4],false,lmp); + r_cut = utils::numeric(FLERR, arg[5],false,lmp); // read reference orientations from file // work on rank 0 only @@ -97,7 +97,7 @@ FixOrientECO::FixOrientECO(LAMMPS *lmp, int narg, char **arg) : char *result; int count; - FILE *infile = force->open_potential(dir_filename); + FILE *infile = utils::open_potential(dir_filename,lmp,nullptr); if (infile == NULL) error->one(FLERR,fmt::format("Cannot open fix orient/eco file {}: {}", dir_filename, utils::getsyserror())); diff --git a/src/USER-MISC/fix_propel_self.cpp b/src/USER-MISC/fix_propel_self.cpp index 921ce9b9eff167845e5d495a273c3ece2b7e21c2..0a40177993b122b95e46121effcc2282b6ba8751 100644 --- a/src/USER-MISC/fix_propel_self.cpp +++ b/src/USER-MISC/fix_propel_self.cpp @@ -82,7 +82,7 @@ FixPropelSelf::FixPropelSelf( LAMMPS *lmp, int narg, char **argv ) error->all(FLERR, msg); } - magnitude = force->numeric( FLERR, argv[4] ); + magnitude = utils::numeric( FLERR, argv[4] ,false,lmp); // Handle rest of args: @@ -100,7 +100,7 @@ FixPropelSelf::FixPropelSelf( LAMMPS *lmp, int narg, char **argv ) int flag=0; while (iarg < narg) { if (isdigit(argv[iarg][0])) { - int thistype = force->inumeric(FLERR,argv[iarg]); + int thistype = utils::inumeric(FLERR,argv[iarg],false,lmp); if ((thistype < 1) || (thistype > atom->ntypes)) error->all(FLERR,"Illegal atom type to types keyword"); apply_to_type[thistype] = 1; diff --git a/src/USER-MISC/fix_rhok.cpp b/src/USER-MISC/fix_rhok.cpp index fb041b05cd6febc8ae52a16867609d31669c46d7..612352aae185f0f9cbe57f7f431aad921ac56b8d 100644 --- a/src/USER-MISC/fix_rhok.cpp +++ b/src/USER-MISC/fix_rhok.cpp @@ -68,16 +68,16 @@ FixRhok::FixRhok( LAMMPS* inLMP, int inArgc, char** inArgv ) // Parse fix options int n[3]; - n[0] = force->inumeric(FLERR,inArgv[3]); - n[1] = force->inumeric(FLERR,inArgv[4]); - n[2] = force->inumeric(FLERR,inArgv[5]); + n[0] = utils::inumeric(FLERR,inArgv[3],false,lmp); + n[1] = utils::inumeric(FLERR,inArgv[4],false,lmp); + n[2] = utils::inumeric(FLERR,inArgv[5],false,lmp); mK[0] = n[0]*(2*MY_PI / (domain->boxhi[0] - domain->boxlo[0])); mK[1] = n[1]*(2*MY_PI / (domain->boxhi[1] - domain->boxlo[1])); mK[2] = n[2]*(2*MY_PI / (domain->boxhi[2] - domain->boxlo[2])); - mKappa = force->numeric(FLERR,inArgv[6]); - mRhoK0 = force->numeric(FLERR,inArgv[7]); + mKappa = utils::numeric(FLERR,inArgv[6],false,lmp); + mRhoK0 = utils::numeric(FLERR,inArgv[7],false,lmp); } // Methods that this fix implements diff --git a/src/USER-MISC/fix_smd.cpp b/src/USER-MISC/fix_smd.cpp index 32c040c2b4b1d2391179e3f7e897bc6c7440bb06..d110637b3c545cf1ff9b0396cd9587b6dd1cdacd 100644 --- a/src/USER-MISC/fix_smd.cpp +++ b/src/USER-MISC/fix_smd.cpp @@ -64,13 +64,13 @@ FixSMD::FixSMD(LAMMPS *lmp, int narg, char **arg) : if (strcmp(arg[argoffs],"cvel") == 0) { if (narg < argoffs+3) error->all(FLERR,"Illegal fix smd command"); styleflag |= SMD_CVEL; - k_smd = force->numeric(FLERR,arg[argoffs+1]); - v_smd = force->numeric(FLERR,arg[argoffs+2]); // to be multiplied by update->dt when used. + k_smd = utils::numeric(FLERR,arg[argoffs+1],false,lmp); + v_smd = utils::numeric(FLERR,arg[argoffs+2],false,lmp); // to be multiplied by update->dt when used. argoffs += 3; } else if (strcmp(arg[argoffs],"cfor") == 0) { if (narg < argoffs+2) error->all(FLERR,"Illegal fix smd command"); styleflag |= SMD_CFOR; - f_smd = force->numeric(FLERR,arg[argoffs+1]); + f_smd = utils::numeric(FLERR,arg[argoffs+1],false,lmp); argoffs += 2; } else error->all(FLERR,"Illegal fix smd command"); @@ -78,12 +78,12 @@ FixSMD::FixSMD(LAMMPS *lmp, int narg, char **arg) : if (narg < argoffs+5) error->all(FLERR,"Illegal fix smd command"); styleflag |= SMD_TETHER; if (strcmp(arg[argoffs+1],"NULL") == 0) xflag = 0; - else xc = force->numeric(FLERR,arg[argoffs+1]); + else xc = utils::numeric(FLERR,arg[argoffs+1],false,lmp); if (strcmp(arg[argoffs+2],"NULL") == 0) yflag = 0; - else yc = force->numeric(FLERR,arg[argoffs+2]); + else yc = utils::numeric(FLERR,arg[argoffs+2],false,lmp); if (strcmp(arg[argoffs+3],"NULL") == 0) zflag = 0; - else zc = force->numeric(FLERR,arg[argoffs+3]); - r0 = force->numeric(FLERR,arg[argoffs+4]); + else zc = utils::numeric(FLERR,arg[argoffs+3],false,lmp); + r0 = utils::numeric(FLERR,arg[argoffs+4],false,lmp); if (r0 < 0) error->all(FLERR,"R0 < 0 for fix smd command"); argoffs += 5; } else if (strcmp(arg[argoffs],"couple") == 0) { @@ -98,15 +98,15 @@ FixSMD::FixSMD(LAMMPS *lmp, int narg, char **arg) : if (strcmp(arg[argoffs+2],"NULL") == 0) xflag = 0; else if (strcmp(arg[argoffs+2],"auto") == 0) styleflag |= SMD_AUTOX; - else xc = force->numeric(FLERR,arg[argoffs+2]); + else xc = utils::numeric(FLERR,arg[argoffs+2],false,lmp); if (strcmp(arg[argoffs+3],"NULL") == 0) yflag = 0; else if (strcmp(arg[argoffs+3],"auto") == 0) styleflag |= SMD_AUTOY; - else yc = force->numeric(FLERR,arg[argoffs+3]); + else yc = utils::numeric(FLERR,arg[argoffs+3],false,lmp); if (strcmp(arg[argoffs+4],"NULL") == 0) zflag = 0; else if (strcmp(arg[argoffs+4],"auto") == 0) styleflag |= SMD_AUTOZ; - else zc = force->numeric(FLERR,arg[argoffs+4]); + else zc = utils::numeric(FLERR,arg[argoffs+4],false,lmp); - r0 = force->numeric(FLERR,arg[argoffs+5]); + r0 = utils::numeric(FLERR,arg[argoffs+5],false,lmp); if (r0 < 0) error->all(FLERR,"R0 < 0 for fix smd command"); argoffs +=6; } else error->all(FLERR,"Illegal fix smd command"); diff --git a/src/USER-MISC/fix_srp.cpp b/src/USER-MISC/fix_srp.cpp index e72ea61b014734c121f75d36b7ed333fdcbad143..d61e7f1ee11194f3eefd662e05be546ffa66fe8d 100644 --- a/src/USER-MISC/fix_srp.cpp +++ b/src/USER-MISC/fix_srp.cpp @@ -642,11 +642,11 @@ void FixSRP::restart(char *buf) int FixSRP::modify_param(int /*narg*/, char **arg) { if (strcmp(arg[0],"btype") == 0) { - btype = force->inumeric(FLERR,arg[1]); + btype = utils::inumeric(FLERR,arg[1],false,lmp); return 2; } if (strcmp(arg[0],"bptype") == 0) { - bptype = force->inumeric(FLERR,arg[1]); + bptype = utils::inumeric(FLERR,arg[1],false,lmp); return 2; } return 0; diff --git a/src/USER-MISC/fix_ti_spring.cpp b/src/USER-MISC/fix_ti_spring.cpp index 1f7c84b7469ce19375ed86ccb8c6f2d0e838a152..ef7c4c02967fa3afae53f31bff8f6c9fddb2f334 100644 --- a/src/USER-MISC/fix_ti_spring.cpp +++ b/src/USER-MISC/fix_ti_spring.cpp @@ -69,7 +69,7 @@ FixTISpring::FixTISpring(LAMMPS *lmp, int narg, char **arg) : time_depend = 1; // Spring constant. - k = force->numeric(FLERR,arg[3]); + k = utils::numeric(FLERR,arg[3],false,lmp); if (k <= 0.0) error->all(FLERR,"Illegal fix ti/spring command"); // Perform initial allocation of atom-based array @@ -93,15 +93,15 @@ FixTISpring::FixTISpring(LAMMPS *lmp, int narg, char **arg) : // Time variables. t0 = update->ntimestep; // timestep of original/starting coordinates - t_switch = force->bnumeric(FLERR,arg[4]); // Number of steps for switching - t_equil = force->bnumeric(FLERR,arg[5]); // Number of steps for equilibration + t_switch = utils::bnumeric(FLERR,arg[4],false,lmp); // Number of steps for switching + t_equil = utils::bnumeric(FLERR,arg[5],false,lmp); // Number of steps for equilibration if ((t_switch <= 0) || (t_equil < 0)) error->all(FLERR,"Illegal fix ti/spring command"); // Coupling parameter initialization sf = 1; if (narg > 6) { - if (strcmp(arg[6], "function") == 0) sf = force->inumeric(FLERR,arg[7]); + if (strcmp(arg[6], "function") == 0) sf = utils::inumeric(FLERR,arg[7],false,lmp); else error->all(FLERR,"Illegal fix ti/spring switching function"); if ((sf!=1) && (sf!=2)) error->all(FLERR,"Illegal fix ti/spring switching function"); diff --git a/src/USER-MISC/fix_ttm_mod.cpp b/src/USER-MISC/fix_ttm_mod.cpp index aaeab5989a043c772c90f5fc34ebf98c9d09adf7..8c37b19e8ba7d9798dddba1446bb8333a2494f5d 100644 --- a/src/USER-MISC/fix_ttm_mod.cpp +++ b/src/USER-MISC/fix_ttm_mod.cpp @@ -84,13 +84,13 @@ FixTTMMod::FixTTMMod(LAMMPS *lmp, int narg, char **arg) : restart_peratom = 1; restart_global = 1; - seed = force->inumeric(FLERR,arg[3]); + seed = utils::inumeric(FLERR,arg[3],false,lmp); if (seed <= 0) error->all(FLERR,"Invalid random number seed in fix ttm/mod command"); - nxnodes = force->inumeric(FLERR,arg[5]); - nynodes = force->inumeric(FLERR,arg[6]); - nznodes = force->inumeric(FLERR,arg[7]); + nxnodes = utils::inumeric(FLERR,arg[5],false,lmp); + nynodes = utils::inumeric(FLERR,arg[6],false,lmp); + nznodes = utils::inumeric(FLERR,arg[7],false,lmp); if (nxnodes <= 0 || nynodes <= 0 || nznodes <= 0) error->all(FLERR,"Fix ttm/mod number of nodes must be > 0"); @@ -98,7 +98,7 @@ FixTTMMod::FixTTMMod(LAMMPS *lmp, int narg, char **arg) : if (total_nnodes > MAXSMALLINT) error->all(FLERR,"Too many nodes in fix ttm/mod"); - nfileevery = force->inumeric(FLERR,arg[9]); + nfileevery = utils::inumeric(FLERR,arg[9],false,lmp); if (nfileevery > 0) { if (narg != 11) error->all(FLERR,"Illegal fix ttm/mod command"); if (comm->me == 0) { diff --git a/src/USER-MISC/fix_wall_reflect_stochastic.cpp b/src/USER-MISC/fix_wall_reflect_stochastic.cpp index 18bb7ec011d4aa0470b5f5f9faf4d674a0193ac3..8afc506804454a35cfc9ae2d07f56e9cf6145473 100644 --- a/src/USER-MISC/fix_wall_reflect_stochastic.cpp +++ b/src/USER-MISC/fix_wall_reflect_stochastic.cpp @@ -70,7 +70,7 @@ FixWallReflectStochastic(LAMMPS *lmp, int narg, char **arg) : } else error->all(FLERR,"Illegal fix wall/reflect/stochastic command"); - seedfix = force->inumeric(FLERR,arg[4]); + seedfix = utils::inumeric(FLERR,arg[4],false,lmp); if (seedfix <= 0) error->all(FLERR,"Random seed must be a positive number"); int iarg = 5; @@ -103,13 +103,13 @@ FixWallReflectStochastic(LAMMPS *lmp, int narg, char **arg) : else coord0[nwall] = domain->boxhi[dim]; } else { wallstyle[nwall] = CONSTANT; - coord0[nwall] = force->numeric(FLERR,arg[iarg+1]); + coord0[nwall] = utils::numeric(FLERR,arg[iarg+1],false,lmp); } - walltemp[nwall]= force->numeric(FLERR,arg[iarg+2]); + walltemp[nwall]= utils::numeric(FLERR,arg[iarg+2],false,lmp); for (int dir = 0; dir < 3; dir++) { - wallvel[nwall][dir]= force->numeric(FLERR,arg[iarg+dir+3]); + wallvel[nwall][dir]= utils::numeric(FLERR,arg[iarg+dir+3],false,lmp); int dim = wallwhich[nwall] / 2; if ((wallvel[nwall][dir] !=0) & (dir == dim)) error->all(FLERR,"The wall velocity must be tangential"); @@ -119,9 +119,9 @@ FixWallReflectStochastic(LAMMPS *lmp, int narg, char **arg) : // CCL = one for each dimension if (rstyle == CCL) - wallaccom[nwall][dir]= force->numeric(FLERR,arg[iarg+dir+6]); + wallaccom[nwall][dir]= utils::numeric(FLERR,arg[iarg+dir+6],false,lmp); else if (rstyle == MAXWELL) - wallaccom[nwall][dir]= force->numeric(FLERR,arg[iarg+6]); + wallaccom[nwall][dir]= utils::numeric(FLERR,arg[iarg+6],false,lmp); } nwall++; diff --git a/src/USER-MISC/fix_wall_region_ees.cpp b/src/USER-MISC/fix_wall_region_ees.cpp index 5c6bb1874b43f33e40a10750d6f20dfe9e5a4585..3a8323d58d32fd634eb8674502a49e4be4ae1be0 100644 --- a/src/USER-MISC/fix_wall_region_ees.cpp +++ b/src/USER-MISC/fix_wall_region_ees.cpp @@ -54,9 +54,9 @@ FixWallRegionEES::FixWallRegionEES(LAMMPS *lmp, int narg, char **arg) : idregion = new char[n]; strcpy(idregion,arg[3]); - epsilon = force->numeric(FLERR,arg[4]); - sigma = force->numeric(FLERR,arg[5]); - cutoff = force->numeric(FLERR,arg[6]); + epsilon = utils::numeric(FLERR,arg[4],false,lmp); + sigma = utils::numeric(FLERR,arg[5],false,lmp); + cutoff = utils::numeric(FLERR,arg[6],false,lmp); if (cutoff <= 0.0) error->all(FLERR,"Fix wall/region/ees cutoff <= 0.0"); diff --git a/src/USER-MISC/improper_cossq.cpp b/src/USER-MISC/improper_cossq.cpp index c5556b746d172adcb775d19f82e6002b9b9f27db..09cf7cf2c64fdc8df99e26a7848ebe5dfcfccdf5 100644 --- a/src/USER-MISC/improper_cossq.cpp +++ b/src/USER-MISC/improper_cossq.cpp @@ -269,10 +269,10 @@ void ImproperCossq::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi; - force->bounds(FLERR,arg[0],atom->nimpropertypes,ilo,ihi); + utils::bounds(FLERR,arg[0],1,atom->nimpropertypes,ilo,ihi,error); - double k_one = force->numeric(FLERR,arg[1]); - double chi_one = force->numeric(FLERR,arg[2]); + double k_one = utils::numeric(FLERR,arg[1],false,lmp); + double chi_one = utils::numeric(FLERR,arg[2],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/USER-MISC/improper_distance.cpp b/src/USER-MISC/improper_distance.cpp index 146bd344f1a65c56b2cd9e799cba79a474762280..8ea58b23b303f7182b43bd8fbac460099d798660 100644 --- a/src/USER-MISC/improper_distance.cpp +++ b/src/USER-MISC/improper_distance.cpp @@ -211,10 +211,10 @@ void ImproperDistance::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi; - force->bounds(FLERR,arg[0],atom->nimpropertypes,ilo,ihi); + utils::bounds(FLERR,arg[0],1,atom->nimpropertypes,ilo,ihi,error); - double k_one = force->numeric(FLERR,arg[1]); - double chi_one = force->numeric(FLERR,arg[2]); + double k_one = utils::numeric(FLERR,arg[1],false,lmp); + double chi_one = utils::numeric(FLERR,arg[2],false,lmp); // convert chi from degrees to radians diff --git a/src/USER-MISC/improper_fourier.cpp b/src/USER-MISC/improper_fourier.cpp index beb473d78cc17e200b3aa567daf9ad9de756ff42..3bdbc7bc680cf79c1969843af3335ddc86522b3e 100644 --- a/src/USER-MISC/improper_fourier.cpp +++ b/src/USER-MISC/improper_fourier.cpp @@ -279,14 +279,14 @@ void ImproperFourier::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi; - force->bounds(FLERR,arg[0],atom->nimpropertypes,ilo,ihi); + utils::bounds(FLERR,arg[0],1,atom->nimpropertypes,ilo,ihi,error); - double k_one = force->numeric(FLERR,arg[1]); - double C0_one = force->numeric(FLERR,arg[2]); - double C1_one = force->numeric(FLERR,arg[3]); - double C2_one = force->numeric(FLERR,arg[4]); + double k_one = utils::numeric(FLERR,arg[1],false,lmp); + double C0_one = utils::numeric(FLERR,arg[2],false,lmp); + double C1_one = utils::numeric(FLERR,arg[3],false,lmp); + double C2_one = utils::numeric(FLERR,arg[4],false,lmp); int all_one = 1; - if ( narg == 6 ) all_one = force->inumeric(FLERR,arg[5]); + if ( narg == 6 ) all_one = utils::inumeric(FLERR,arg[5],false,lmp); // convert w0 from degrees to radians diff --git a/src/USER-MISC/improper_ring.cpp b/src/USER-MISC/improper_ring.cpp index 7f818595a2e04af8f2259e9319440e696877f170..4102a250dd5c75d67876433964c6c4eee04a49be 100644 --- a/src/USER-MISC/improper_ring.cpp +++ b/src/USER-MISC/improper_ring.cpp @@ -288,10 +288,10 @@ void ImproperRing ::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi; - force->bounds(FLERR,arg[0],atom->nimpropertypes,ilo,ihi); + utils::bounds(FLERR,arg[0],1,atom->nimpropertypes,ilo,ihi,error); - double k_one = force->numeric(FLERR,arg[1]); - double chi_one = force->numeric(FLERR,arg[2]); + double k_one = utils::numeric(FLERR,arg[1],false,lmp); + double chi_one = utils::numeric(FLERR,arg[2],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/USER-MISC/pair_agni.cpp b/src/USER-MISC/pair_agni.cpp index 4941f2c7b3eaa84ce030bba393d9ba1a1efc590e..764ccc587ff93c3bcc63f014bfec58802f182863 100644 --- a/src/USER-MISC/pair_agni.cpp +++ b/src/USER-MISC/pair_agni.cpp @@ -358,7 +358,7 @@ void PairAGNI::read_file(char *file) FILE *fp; if (comm->me == 0) { - fp = force->open_potential(file); + fp = utils::open_potential(file,lmp,nullptr); if (fp == NULL) { char str[128]; snprintf(str,128,"Cannot open AGNI potential file %s",file); diff --git a/src/USER-MISC/pair_buck_mdf.cpp b/src/USER-MISC/pair_buck_mdf.cpp index 1937aeedf7e96129ec294950b7fdfbf24e10076e..6a4575c6e4127831eaf32ab063f769f05133641c 100644 --- a/src/USER-MISC/pair_buck_mdf.cpp +++ b/src/USER-MISC/pair_buck_mdf.cpp @@ -184,8 +184,8 @@ void PairBuckMDF::settings(int narg, char **arg) { if (narg != 2) error->all(FLERR,"Illegal pair_style command"); - cut_inner_global = force->numeric(FLERR,arg[0]); - cut_global = force->numeric(FLERR,arg[1]); + cut_inner_global = utils::numeric(FLERR,arg[0],false,lmp); + cut_global = utils::numeric(FLERR,arg[1],false,lmp); // reset cutoffs that have been explicitly set @@ -208,19 +208,19 @@ void PairBuckMDF::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); - double a_one = force->numeric(FLERR,arg[2]); - double rho_one = force->numeric(FLERR,arg[3]); + double a_one = utils::numeric(FLERR,arg[2],false,lmp); + double rho_one = utils::numeric(FLERR,arg[3],false,lmp); if (rho_one <= 0) error->all(FLERR,"Incorrect args for pair coefficients"); - double c_one = force->numeric(FLERR,arg[4]); + double c_one = utils::numeric(FLERR,arg[4],false,lmp); double cut_inner_one = cut_inner_global; double cut_one = cut_global; if (narg == 7) { - cut_inner_one = force->numeric(FLERR,arg[5]); - cut_one = force->numeric(FLERR,arg[6]); + cut_inner_one = utils::numeric(FLERR,arg[5],false,lmp); + cut_one = utils::numeric(FLERR,arg[6],false,lmp); } if (cut_inner_global <= 0.0 || cut_inner_global > cut_global) error->all(FLERR,"Illegal pair_style command"); diff --git a/src/USER-MISC/pair_cosine_squared.cpp b/src/USER-MISC/pair_cosine_squared.cpp index ff0d763b2d6262278365de25f00594890d6b0e9f..8e400d23ed71925e55a03b0c748181a6214d8067 100644 --- a/src/USER-MISC/pair_cosine_squared.cpp +++ b/src/USER-MISC/pair_cosine_squared.cpp @@ -103,7 +103,7 @@ void PairCosineSquared::settings(int narg, char **arg) error->all(FLERR, "Illegal pair_style command (wrong number of params)"); } - cut_global = force->numeric(FLERR, arg[0]); + cut_global = utils::numeric(FLERR, arg[0],false,lmp); // reset cutoffs that have been explicitly set @@ -130,16 +130,16 @@ void PairCosineSquared::coeff(int narg, char **arg) allocate(); int ilo, ihi, jlo, jhi; - force->bounds(FLERR, arg[0], atom->ntypes, ilo, ihi); - force->bounds(FLERR, arg[1], atom->ntypes, jlo, jhi); + utils::bounds(FLERR, arg[0], 1, atom->ntypes, ilo, ihi, error); + utils::bounds(FLERR, arg[1], 1, atom->ntypes, jlo, jhi, error); - double epsilon_one = force->numeric(FLERR, arg[2]); - double sigma_one = force->numeric(FLERR, arg[3]); + double epsilon_one = utils::numeric(FLERR, arg[2],false,lmp); + double sigma_one = utils::numeric(FLERR, arg[3],false,lmp); double cut_one = cut_global; double wca_one = 0; if (narg == 6) { - cut_one = force->numeric(FLERR, arg[4]); + cut_one = utils::numeric(FLERR, arg[4],false,lmp); if (strcmp(arg[5], "wca") == 0) { wca_one = 1; } else { @@ -149,7 +149,7 @@ void PairCosineSquared::coeff(int narg, char **arg) if (strcmp(arg[4], "wca") == 0) { wca_one = 1; } else { - cut_one = force->numeric(FLERR, arg[4]); + cut_one = utils::numeric(FLERR, arg[4],false,lmp); } } diff --git a/src/USER-MISC/pair_coul_diel.cpp b/src/USER-MISC/pair_coul_diel.cpp index e0c675086f828a3e55b34219b2d19c295341cf76..14fbd374b68b96581d5caca3bb424db47fc296e4 100644 --- a/src/USER-MISC/pair_coul_diel.cpp +++ b/src/USER-MISC/pair_coul_diel.cpp @@ -159,7 +159,7 @@ void PairCoulDiel::settings(int narg, char **arg) { if (narg != 1) error->all(FLERR,"Illegal pair_style command"); - cut_global = force->numeric(FLERR,arg[0]); + cut_global = utils::numeric(FLERR,arg[0],false,lmp); // reset cutoffs that have been explicitly set @@ -181,15 +181,15 @@ void PairCoulDiel::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); - eps_s = force->numeric(FLERR,arg[2]); - double rme_one =force->numeric(FLERR,arg[3]); - double sigmae_one = force->numeric(FLERR,arg[4]); + eps_s = utils::numeric(FLERR,arg[2],false,lmp); + double rme_one =utils::numeric(FLERR,arg[3],false,lmp); + double sigmae_one = utils::numeric(FLERR,arg[4],false,lmp); double cut_one = cut_global; - if (narg == 6) cut_one = force->numeric(FLERR,arg[5]); + if (narg == 6) cut_one = utils::numeric(FLERR,arg[5],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/USER-MISC/pair_coul_shield.cpp b/src/USER-MISC/pair_coul_shield.cpp index 7ff479b2f7ec3bdf90bee47224d353cf2449283d..883796de1bc568411c144100d48d2038d9ae6ef9 100644 --- a/src/USER-MISC/pair_coul_shield.cpp +++ b/src/USER-MISC/pair_coul_shield.cpp @@ -175,8 +175,8 @@ void PairCoulShield::settings(int narg, char **arg) { if (narg < 1 || narg > 2) error->all(FLERR,"Illegal pair_style command"); - cut_global = force->numeric(FLERR,arg[0]); - if (narg == 2) tap_flag = force->numeric(FLERR,arg[1]); + cut_global = utils::numeric(FLERR,arg[0],false,lmp); + if (narg == 2) tap_flag = utils::numeric(FLERR,arg[1],false,lmp); // reset cutoffs that have been explicitly set @@ -198,13 +198,13 @@ void PairCoulShield::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); - double sigmae_one = force->numeric(FLERR,arg[2]); + double sigmae_one = utils::numeric(FLERR,arg[2],false,lmp); double cut_one = cut_global; - if (narg == 4) cut_one = force->numeric(FLERR,arg[3]); + if (narg == 4) cut_one = utils::numeric(FLERR,arg[3],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/USER-MISC/pair_coul_slater_cut.cpp b/src/USER-MISC/pair_coul_slater_cut.cpp index 33363b869aba65da333352a1a1cea85fadeda83a..194ff664b3294cd7b67720f3d1af9b70256ba546 100644 --- a/src/USER-MISC/pair_coul_slater_cut.cpp +++ b/src/USER-MISC/pair_coul_slater_cut.cpp @@ -123,8 +123,8 @@ void PairCoulSlaterCut::settings(int narg, char **arg) { if (narg != 2) error->all(FLERR,"Illegal pair_style command"); - lamda = force->numeric(FLERR,arg[0]); - cut_global = force->numeric(FLERR,arg[1]); + lamda = utils::numeric(FLERR,arg[0],false,lmp); + cut_global = utils::numeric(FLERR,arg[1],false,lmp); // reset cutoffs that have been explicitly set diff --git a/src/USER-MISC/pair_coul_slater_long.cpp b/src/USER-MISC/pair_coul_slater_long.cpp index f5b7461db7cb787d97a2e8852c9e626405f59e06..d801d0342ff68fa0885f6546fd8e18b80468d580 100644 --- a/src/USER-MISC/pair_coul_slater_long.cpp +++ b/src/USER-MISC/pair_coul_slater_long.cpp @@ -31,6 +31,7 @@ #include "respa.h" #include "memory.h" #include "error.h" +#include "utils.h" using namespace LAMMPS_NS; @@ -209,8 +210,8 @@ void PairCoulSlaterLong::settings(int narg, char **arg) { if (narg != 2) error->all(FLERR,"Illegal pair_style command"); - lamda = force->numeric(FLERR,arg[0]); - cut_coul = force->numeric(FLERR,arg[1]); + lamda = utils::numeric(FLERR,arg[0],false,lmp); + cut_coul = utils::numeric(FLERR,arg[1],false,lmp); } /* ---------------------------------------------------------------------- @@ -223,8 +224,8 @@ void PairCoulSlaterLong::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/USER-MISC/pair_drip.cpp b/src/USER-MISC/pair_drip.cpp index 2e9221537a34939ac204d040871f9f5a37cb8b3c..cc890f8c94987dd333e5b81710c3a5e710cfc729 100644 --- a/src/USER-MISC/pair_drip.cpp +++ b/src/USER-MISC/pair_drip.cpp @@ -223,7 +223,7 @@ void PairDRIP::read_file(char *filename) FILE *fp; if (comm->me == 0) { - fp = force->open_potential(filename); + fp = utils::open_potential(filename,lmp,nullptr); if (fp == NULL) { char str[128]; snprintf(str,128,"Cannot open DRIP potential file %s",filename); diff --git a/src/USER-MISC/pair_e3b.cpp b/src/USER-MISC/pair_e3b.cpp index 420e2135bd948de4d45be70f5883e05d4dc169a7..2b58e4b1f802cae8c7527da836a7ff63e94ccc4c 100644 --- a/src/USER-MISC/pair_e3b.cpp +++ b/src/USER-MISC/pair_e3b.cpp @@ -381,7 +381,7 @@ void PairE3B::allocateE3B() void PairE3B::settings(int narg, char **arg) { if (narg != 1) error->all(FLERR,"Illegal pair_style command"); - typeO=force->inumeric(FLERR,arg[0]); + typeO=utils::inumeric(FLERR,arg[0],false,lmp); } /* ---------------------------------------------------------------------- @@ -421,29 +421,29 @@ void PairE3B::coeff(int narg, char **arg) while(iarg < narg) { char *keyword = arg[iarg++]; if (checkKeyword(keyword,"Ea",1,narg-iarg)) - ea=force->numeric(FLERR,arg[iarg++]); + ea=utils::numeric(FLERR,arg[iarg++],false,lmp); else if (checkKeyword(keyword,"Eb",1,narg-iarg)) - eb=force->numeric(FLERR,arg[iarg++]); + eb=utils::numeric(FLERR,arg[iarg++],false,lmp); else if (checkKeyword(keyword,"Ec",1,narg-iarg)) - ec=force->numeric(FLERR,arg[iarg++]); + ec=utils::numeric(FLERR,arg[iarg++],false,lmp); else if (checkKeyword(keyword,"K3",1,narg-iarg)) - k3=force->numeric(FLERR,arg[iarg++]); + k3=utils::numeric(FLERR,arg[iarg++],false,lmp); else if (checkKeyword(keyword,"Rs",1,narg-iarg)) - rs=force->numeric(FLERR,arg[iarg++]); + rs=utils::numeric(FLERR,arg[iarg++],false,lmp); else if (checkKeyword(keyword,"Rc3",1,narg-iarg)) - rc3=force->numeric(FLERR,arg[iarg++]); + rc3=utils::numeric(FLERR,arg[iarg++],false,lmp); else if (checkKeyword(keyword,"Rc2",1,narg-iarg)) - rc2=force->numeric(FLERR,arg[iarg++]); + rc2=utils::numeric(FLERR,arg[iarg++],false,lmp); else if (checkKeyword(keyword,"bondL",1,narg-iarg)) - bondL=force->numeric(FLERR,arg[iarg++]); + bondL=utils::numeric(FLERR,arg[iarg++],false,lmp); else if (checkKeyword(keyword,"E2",1,narg-iarg)) - e2=force->numeric(FLERR,arg[iarg++]); + e2=utils::numeric(FLERR,arg[iarg++],false,lmp); else if (checkKeyword(keyword,"K2",1,narg-iarg)) - k2=force->numeric(FLERR,arg[iarg++]); + k2=utils::numeric(FLERR,arg[iarg++],false,lmp); else if (checkKeyword(keyword,"neigh",1,narg-iarg)) - pairPerAtom=force->inumeric(FLERR,arg[iarg++]); + pairPerAtom=utils::inumeric(FLERR,arg[iarg++],false,lmp); else if (checkKeyword(keyword,"preset",1,narg-iarg)) { - presetFlag=force->inumeric(FLERR,arg[iarg++]); + presetFlag=utils::inumeric(FLERR,arg[iarg++],false,lmp); presetParam(presetFlag,repeatFlag,bondL); } else { char str[256]; diff --git a/src/USER-MISC/pair_edip.cpp b/src/USER-MISC/pair_edip.cpp index 288160459a61f3cc2c785efdce4657e67e103350..bb9c7422120207b61efce4a692d25ba5fa07f29e 100644 --- a/src/USER-MISC/pair_edip.cpp +++ b/src/USER-MISC/pair_edip.cpp @@ -883,7 +883,7 @@ void PairEDIP::read_file(char *file) FILE *fp; if (comm->me == 0) { - fp = force->open_potential(file); + fp = utils::open_potential(file,lmp,nullptr); if (fp == NULL) { char str[128]; snprintf(str,128,"Cannot open EDIP potential file %s",file); diff --git a/src/USER-MISC/pair_edip_multi.cpp b/src/USER-MISC/pair_edip_multi.cpp index 7fe620223bd9cea8c286e90a6e3ac5f9eb3d333c..90a3502eaefc14f6862394776ac1575a033f0b56 100644 --- a/src/USER-MISC/pair_edip_multi.cpp +++ b/src/USER-MISC/pair_edip_multi.cpp @@ -640,7 +640,7 @@ void PairEDIPMulti::read_file(char *file) FILE *fp; if (comm->me == 0) { - fp = force->open_potential(file); + fp = utils::open_potential(file,lmp,nullptr); if (fp == NULL) { char str[128]; snprintf(str,128,"Cannot open EDIP potential file %s",file); diff --git a/src/USER-MISC/pair_extep.cpp b/src/USER-MISC/pair_extep.cpp index 65f792b49372851031aecc3acec03e82be887e92..8f8d539679a99f3e090337e7ce6c4a228f1bbcb1 100644 --- a/src/USER-MISC/pair_extep.cpp +++ b/src/USER-MISC/pair_extep.cpp @@ -589,7 +589,7 @@ void PairExTeP::read_file(char *file) FILE *fp; if (comm->me == 0) { - fp = force->open_potential(file); + fp = utils::open_potential(file,lmp,nullptr); if (fp == NULL) { char str[128]; snprintf(str,128,"Cannot open ExTeP potential file %s",file); diff --git a/src/USER-MISC/pair_gauss_cut.cpp b/src/USER-MISC/pair_gauss_cut.cpp index 2a4f61cce3c99f1b07b95fd58b380b9ae296c246..38d4c4d4c23b49b617273de633205fc071a4f967 100644 --- a/src/USER-MISC/pair_gauss_cut.cpp +++ b/src/USER-MISC/pair_gauss_cut.cpp @@ -163,7 +163,7 @@ void PairGaussCut::settings(int narg, char **arg) { if (narg != 1) error->all(FLERR,"Illegal pair_style command"); - cut_global = force->numeric(FLERR,arg[0]); + cut_global = utils::numeric(FLERR,arg[0],false,lmp); // reset cutoffs that have been explicitly set @@ -185,18 +185,18 @@ void PairGaussCut::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); - double hgauss_one = force->numeric(FLERR,arg[2]); - double rmh_one = force->numeric(FLERR,arg[3]); - double sigmah_one = force->numeric(FLERR,arg[4]); + double hgauss_one = utils::numeric(FLERR,arg[2],false,lmp); + double rmh_one = utils::numeric(FLERR,arg[3],false,lmp); + double sigmah_one = utils::numeric(FLERR,arg[4],false,lmp); if (sigmah_one <= 0.0) error->all(FLERR,"Incorrect args for pair coefficients"); double cut_one = cut_global; - if (narg == 6) cut_one = force->numeric(FLERR,arg[5]); + if (narg == 6) cut_one = utils::numeric(FLERR,arg[5],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/USER-MISC/pair_ilp_graphene_hbn.cpp b/src/USER-MISC/pair_ilp_graphene_hbn.cpp index 106d02dd480a6cd77031ca92748478b7337c15dd..62101d0e800d6871c936e2908fd2a030053936bd 100644 --- a/src/USER-MISC/pair_ilp_graphene_hbn.cpp +++ b/src/USER-MISC/pair_ilp_graphene_hbn.cpp @@ -136,8 +136,8 @@ void PairILPGrapheneHBN::settings(int narg, char **arg) if (strcmp(force->pair_style,"hybrid/overlay")!=0) error->all(FLERR,"ERROR: requires hybrid/overlay pair_style"); - cut_global = force->numeric(FLERR,arg[0]); - if (narg == 2) tap_flag = force->numeric(FLERR,arg[1]); + cut_global = utils::numeric(FLERR,arg[0],false,lmp); + if (narg == 2) tap_flag = utils::numeric(FLERR,arg[1],false,lmp); // reset cutoffs that have been explicitly set @@ -256,7 +256,7 @@ void PairILPGrapheneHBN::read_file(char *filename) FILE *fp; if (comm->me == 0) { - fp = force->open_potential(filename); + fp = utils::open_potential(filename,lmp,nullptr); if (fp == NULL) { char str[128]; snprintf(str,128,"Cannot open ILP potential file %s",filename); diff --git a/src/USER-MISC/pair_kolmogorov_crespi_full.cpp b/src/USER-MISC/pair_kolmogorov_crespi_full.cpp index 9627cbc08a73680ec60286cf823982f4d74908b1..fb1da5dab8a8e609c5489593dfe65f3fbaf282b3 100644 --- a/src/USER-MISC/pair_kolmogorov_crespi_full.cpp +++ b/src/USER-MISC/pair_kolmogorov_crespi_full.cpp @@ -137,8 +137,8 @@ void PairKolmogorovCrespiFull::settings(int narg, char **arg) if (strcmp(force->pair_style,"hybrid/overlay")!=0) error->all(FLERR,"ERROR: requires hybrid/overlay pair_style"); - cut_global = force->numeric(FLERR,arg[0]); - if (narg == 2) tap_flag = force->numeric(FLERR,arg[1]); + cut_global = utils::numeric(FLERR,arg[0],false,lmp); + if (narg == 2) tap_flag = utils::numeric(FLERR,arg[1],false,lmp); // reset cutoffs that have been explicitly set @@ -257,7 +257,7 @@ void PairKolmogorovCrespiFull::read_file(char *filename) FILE *fp; if (comm->me == 0) { - fp = force->open_potential(filename); + fp = utils::open_potential(filename,lmp,nullptr); if (fp == NULL) { char str[128]; snprintf(str,128,"Cannot open KC potential file %s",filename); diff --git a/src/USER-MISC/pair_kolmogorov_crespi_z.cpp b/src/USER-MISC/pair_kolmogorov_crespi_z.cpp index 431543962431ba9d75651e4443f66ec0dc471bfe..f02423e95215527f131bfc2cc384c1fd8d31cc25 100644 --- a/src/USER-MISC/pair_kolmogorov_crespi_z.cpp +++ b/src/USER-MISC/pair_kolmogorov_crespi_z.cpp @@ -203,7 +203,7 @@ void PairKolmogorovCrespiZ::settings(int narg, char **arg) if (strcmp(force->pair_style,"hybrid/overlay")!=0) error->all(FLERR,"ERROR: requires hybrid/overlay pair_style"); - cut_global = force->numeric(FLERR,arg[0]); + cut_global = utils::numeric(FLERR,arg[0],false,lmp); // reset cutoffs that have been explicitly set @@ -228,8 +228,8 @@ void PairKolmogorovCrespiZ::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); // read args that map atom types to elements in potential file // map[i] = which element the Ith atom type is, -1 if NULL @@ -315,7 +315,7 @@ void PairKolmogorovCrespiZ::read_file(char *filename) FILE *fp; if (comm->me == 0) { - fp = force->open_potential(filename); + fp = utils::open_potential(filename,lmp,nullptr); if (fp == NULL) { char str[128]; snprintf(str,128,"Cannot open KC potential file %s",filename); diff --git a/src/USER-MISC/pair_lebedeva_z.cpp b/src/USER-MISC/pair_lebedeva_z.cpp index 53ee82274ee4d651bdcb389711611bba27f5d056..5a84882cd900826bdad5d9cd101ca02175ca5c82 100644 --- a/src/USER-MISC/pair_lebedeva_z.cpp +++ b/src/USER-MISC/pair_lebedeva_z.cpp @@ -199,7 +199,7 @@ void PairLebedevaZ::settings(int narg, char **arg) if (strcmp(force->pair_style,"hybrid/overlay")!=0) error->all(FLERR,"ERROR: requires hybrid/overlay pair_style"); - cut_global = force->numeric(FLERR,arg[0]); + cut_global = utils::numeric(FLERR,arg[0],false,lmp); // reset cutoffs that have been explicitly set @@ -224,8 +224,8 @@ void PairLebedevaZ::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); // read args that map atom types to elements in potential file // map[i] = which element the Ith atom type is, -1 if NULL @@ -311,7 +311,7 @@ void PairLebedevaZ::read_file(char *filename) FILE *fp; if (comm->me == 0) { - fp = force->open_potential(filename); + fp = utils::open_potential(filename,lmp,nullptr); if (fp == NULL) { char str[128]; sprintf(str,"Cannot open Lebedeva potential file %s",filename); diff --git a/src/USER-MISC/pair_lennard_mdf.cpp b/src/USER-MISC/pair_lennard_mdf.cpp index 4728527a309acbe6b373a75c1128b627d4cff63a..6faa599d2c30299feaac215c2ac5d1e2cb066368 100644 --- a/src/USER-MISC/pair_lennard_mdf.cpp +++ b/src/USER-MISC/pair_lennard_mdf.cpp @@ -184,8 +184,8 @@ void PairLennardMDF::settings(int narg, char **arg) { if (narg != 2) error->all(FLERR,"Illegal pair_style command"); - cut_inner_global = force->numeric(FLERR,arg[0]); - cut_global = force->numeric(FLERR,arg[1]); + cut_inner_global = utils::numeric(FLERR,arg[0],false,lmp); + cut_global = utils::numeric(FLERR,arg[1],false,lmp); if (cut_inner_global <= 0.0 || cut_inner_global > cut_global) error->all(FLERR,"Illegal pair_style command"); @@ -214,17 +214,17 @@ void PairLennardMDF::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); - double aparm_one = force->numeric(FLERR,arg[2]); - double bparm_one = force->numeric(FLERR,arg[3]); + double aparm_one = utils::numeric(FLERR,arg[2],false,lmp); + double bparm_one = utils::numeric(FLERR,arg[3],false,lmp); double cut_inner_one = cut_inner_global; double cut_one = cut_global; if (narg == 6) { - cut_inner_one = force->numeric(FLERR,arg[4]); - cut_one = force->numeric(FLERR,arg[5]); + cut_inner_one = utils::numeric(FLERR,arg[4],false,lmp); + cut_one = utils::numeric(FLERR,arg[5],false,lmp); } if (cut_inner_one <= 0.0 || cut_inner_one > cut_one) error->all(FLERR,"Illegal pair_coeff command"); diff --git a/src/USER-MISC/pair_list.cpp b/src/USER-MISC/pair_list.cpp index 2f4e886a616f01eb28a4b9df818ea9b78aac2f1b..c553e671cb9edbd2859b959b2d767e2ac3c143ad 100644 --- a/src/USER-MISC/pair_list.cpp +++ b/src/USER-MISC/pair_list.cpp @@ -24,6 +24,7 @@ #include "force.h" #include "memory.h" #include "error.h" +#include "utils.h" using namespace LAMMPS_NS; @@ -202,13 +203,13 @@ void PairList::settings(int narg, char **arg) if (narg < 2) error->all(FLERR,"Illegal pair_style command"); - cut_global = force->numeric(FLERR,arg[1]); + cut_global = utils::numeric(FLERR,arg[1],false,lmp); if (narg > 2) { if (strcmp(arg[2],"nocheck") == 0) check_flag = 0; if (strcmp(arg[2],"check") == 0) check_flag = 1; } - FILE *fp = force->open_potential(arg[0]); + FILE *fp = utils::open_potential(arg[0],lmp,nullptr); char line[1024]; if (fp == NULL) error->all(FLERR,"Cannot open pair list file"); @@ -259,12 +260,12 @@ void PairList::settings(int narg, char **arg) ptr = strtok(NULL," \t\n\r\f"); if ((ptr == NULL) || (*ptr == '#')) error->all(FLERR,"Incorrectly formatted harmonic pair parameters"); - par.parm.harm.k = force->numeric(FLERR,ptr); + par.parm.harm.k = utils::numeric(FLERR,ptr,false,lmp); ptr = strtok(NULL," \t\n\r\f"); if ((ptr == NULL) || (*ptr == '#')) error->all(FLERR,"Incorrectly formatted harmonic pair parameters"); - par.parm.harm.r0 = force->numeric(FLERR,ptr); + par.parm.harm.r0 = utils::numeric(FLERR,ptr,false,lmp); ++nharm; @@ -275,17 +276,17 @@ void PairList::settings(int narg, char **arg) ptr = strtok(NULL," \t\n\r\f"); if (!ptr) error->all(FLERR,"Incorrectly formatted morse pair parameters"); - par.parm.morse.d0 = force->numeric(FLERR,ptr); + par.parm.morse.d0 = utils::numeric(FLERR,ptr,false,lmp); ptr = strtok(NULL," \t\n\r\f"); if (!ptr) error->all(FLERR,"Incorrectly formatted morse pair parameters"); - par.parm.morse.alpha = force->numeric(FLERR,ptr); + par.parm.morse.alpha = utils::numeric(FLERR,ptr,false,lmp); ptr = strtok(NULL," \t\n\r\f"); if (!ptr) error->all(FLERR,"Incorrectly formatted morse pair parameters"); - par.parm.morse.r0 = force->numeric(FLERR,ptr); + par.parm.morse.r0 = utils::numeric(FLERR,ptr,false,lmp); ++nmorse; @@ -296,12 +297,12 @@ void PairList::settings(int narg, char **arg) ptr = strtok(NULL," \t\n\r\f"); if (!ptr) error->all(FLERR,"Incorrectly formatted 12-6 LJ pair parameters"); - par.parm.lj126.epsilon = force->numeric(FLERR,ptr); + par.parm.lj126.epsilon = utils::numeric(FLERR,ptr,false,lmp); ptr = strtok(NULL," \t\n\r\f"); if (!ptr) error->all(FLERR,"Incorrectly formatted 12-6 LJ pair parameters"); - par.parm.lj126.sigma = force->numeric(FLERR,ptr); + par.parm.lj126.sigma = utils::numeric(FLERR,ptr,false,lmp); ++nlj126; @@ -312,7 +313,7 @@ void PairList::settings(int narg, char **arg) // optional cutoff parameter. if not specified use global value ptr = strtok(NULL," \t\n\r\f"); if ((ptr != NULL) && (*ptr != '#')) { - double cut = force->numeric(FLERR,ptr); + double cut = utils::numeric(FLERR,ptr,false,lmp); par.cutsq = cut*cut; } else { par.cutsq = cut_global*cut_global; @@ -344,8 +345,8 @@ void PairList::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/USER-MISC/pair_lj_expand_coul_long.cpp b/src/USER-MISC/pair_lj_expand_coul_long.cpp index 3d96a3343c9756612e8c708cec012135e19f4b98..20081fa1e10cac873ebac0db90a521ae1bd13aa0 100644 --- a/src/USER-MISC/pair_lj_expand_coul_long.cpp +++ b/src/USER-MISC/pair_lj_expand_coul_long.cpp @@ -626,9 +626,9 @@ void PairLJExpandCoulLong::settings(int narg, char **arg) { if (narg < 1 || narg > 2) error->all(FLERR,"Illegal pair_style command"); - cut_lj_global = force->numeric(FLERR,arg[0]); + cut_lj_global = utils::numeric(FLERR,arg[0],false,lmp); if (narg == 1) cut_coul = cut_lj_global; - else cut_coul = force->numeric(FLERR,arg[1]); + else cut_coul = utils::numeric(FLERR,arg[1],false,lmp); // reset cutoffs that have been explicitly set @@ -651,15 +651,15 @@ void PairLJExpandCoulLong::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); - double epsilon_one = force->numeric(FLERR,arg[2]); - double sigma_one = force->numeric(FLERR,arg[3]); - double shift_one = force->numeric(FLERR,arg[4]); + double epsilon_one = utils::numeric(FLERR,arg[2],false,lmp); + double sigma_one = utils::numeric(FLERR,arg[3],false,lmp); + double shift_one = utils::numeric(FLERR,arg[4],false,lmp); double cut_lj_one = cut_lj_global; - if (narg == 6) cut_lj_one = force->numeric(FLERR,arg[5]); + if (narg == 6) cut_lj_one = utils::numeric(FLERR,arg[5],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/USER-MISC/pair_lj_mdf.cpp b/src/USER-MISC/pair_lj_mdf.cpp index 51e24639b931139c12112cc78413373dc20e28e0..22f20a690e3e65d5b495a578eb1a90a319046bfe 100644 --- a/src/USER-MISC/pair_lj_mdf.cpp +++ b/src/USER-MISC/pair_lj_mdf.cpp @@ -186,8 +186,8 @@ void PairLJMDF::settings(int narg, char **arg) { if (narg != 2) error->all(FLERR,"Illegal pair_style command"); - cut_inner_global = force->numeric(FLERR,arg[0]); - cut_global = force->numeric(FLERR,arg[1]); + cut_inner_global = utils::numeric(FLERR,arg[0],false,lmp); + cut_global = utils::numeric(FLERR,arg[1],false,lmp); if (cut_inner_global <= 0.0 || cut_inner_global > cut_global) error->all(FLERR,"Illegal pair_style command"); @@ -216,17 +216,17 @@ void PairLJMDF::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); - double epsilon_one = force->numeric(FLERR,arg[2]); - double sigma_one = force->numeric(FLERR,arg[3]); + double epsilon_one = utils::numeric(FLERR,arg[2],false,lmp); + double sigma_one = utils::numeric(FLERR,arg[3],false,lmp); double cut_inner_one = cut_inner_global; double cut_one = cut_global; if (narg == 6) { - cut_inner_one = force->numeric(FLERR,arg[4]); - cut_one = force->numeric(FLERR,arg[5]); + cut_inner_one = utils::numeric(FLERR,arg[4],false,lmp); + cut_one = utils::numeric(FLERR,arg[5],false,lmp); } if (cut_inner_global <= 0.0 || cut_inner_global > cut_global) error->all(FLERR,"Illegal pair_style command"); diff --git a/src/USER-MISC/pair_lj_sf_dipole_sf.cpp b/src/USER-MISC/pair_lj_sf_dipole_sf.cpp index 19bc66bdcb63cb6c037cef93afc3ef337969bf4f..6a92602683f1be2cbd0e48f1ecc2d196dd97e4df 100644 --- a/src/USER-MISC/pair_lj_sf_dipole_sf.cpp +++ b/src/USER-MISC/pair_lj_sf_dipole_sf.cpp @@ -333,9 +333,9 @@ void PairLJSFDipoleSF::settings(int narg, char **arg) if (strcmp(update->unit_style,"electron") == 0) error->all(FLERR,"Cannot (yet) use 'electron' units with dipoles"); - cut_lj_global = force->numeric(FLERR,arg[0]); + cut_lj_global = utils::numeric(FLERR,arg[0],false,lmp); if (narg == 1) cut_coul_global = cut_lj_global; - else cut_coul_global = force->numeric(FLERR,arg[1]); + else cut_coul_global = utils::numeric(FLERR,arg[1],false,lmp); // reset cutoffs that have been explicitly set @@ -361,11 +361,11 @@ void PairLJSFDipoleSF::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); - double epsilon_one = force->numeric(FLERR,arg[2]); - double sigma_one = force->numeric(FLERR,arg[3]); + double epsilon_one = utils::numeric(FLERR,arg[2],false,lmp); + double sigma_one = utils::numeric(FLERR,arg[3],false,lmp); double cut_lj_one = cut_lj_global; double cut_coul_one = cut_coul_global; @@ -373,16 +373,16 @@ void PairLJSFDipoleSF::coeff(int narg, char **arg) int iarg = 4; if ((narg > iarg) && (strcmp(arg[iarg],"scale") != 0)) { - cut_coul_one = cut_lj_one = force->numeric(FLERR,arg[iarg]); + cut_coul_one = cut_lj_one = utils::numeric(FLERR,arg[iarg],false,lmp); ++iarg; } if ((narg > iarg) && (strcmp(arg[iarg],"scale") != 0)) { - cut_coul_one = force->numeric(FLERR,arg[iarg]); + cut_coul_one = utils::numeric(FLERR,arg[iarg],false,lmp); ++iarg; } if (narg > iarg) { if (strcmp(arg[iarg],"scale") == 0) { - scale_one = force->numeric(FLERR,arg[iarg+1]); + scale_one = utils::numeric(FLERR,arg[iarg+1],false,lmp); iarg += 2; } else error->all(FLERR,"Incorrect args for pair coefficients"); } diff --git a/src/USER-MISC/pair_meam_spline.cpp b/src/USER-MISC/pair_meam_spline.cpp index 5764b09d8a6a9bb5805e05d1e2796f22187c233d..6091b95837fd0b7900dccea25a9094fa657a84b6 100644 --- a/src/USER-MISC/pair_meam_spline.cpp +++ b/src/USER-MISC/pair_meam_spline.cpp @@ -458,7 +458,7 @@ void PairMEAMSpline::read_file(const char* filename) int nmultichoose2; // = (n+1)*n/2; if(comm->me == 0) { - FILE *fp = force->open_potential(filename); + FILE *fp = utils::open_potential(filename,lmp,nullptr); if(fp == NULL) { char str[1024]; snprintf(str,128,"Cannot open spline MEAM potential file %s", filename); diff --git a/src/USER-MISC/pair_meam_sw_spline.cpp b/src/USER-MISC/pair_meam_sw_spline.cpp index 8d33a6f04fc9af14e5cdbaaa39215224a90f5691..34cbe825817670f738ebed93b6fe57130ad8f67c 100644 --- a/src/USER-MISC/pair_meam_sw_spline.cpp +++ b/src/USER-MISC/pair_meam_sw_spline.cpp @@ -460,7 +460,7 @@ void PairMEAMSWSpline::coeff(int narg, char **arg) void PairMEAMSWSpline::read_file(const char* filename) { if(comm->me == 0) { - FILE *fp = force->open_potential(filename); + FILE *fp = utils::open_potential(filename,lmp,nullptr); if(fp == NULL) { char str[1024]; snprintf(str,1024,"Cannot open spline MEAM potential file %s", filename); diff --git a/src/USER-MISC/pair_momb.cpp b/src/USER-MISC/pair_momb.cpp index 010aa1e5fdf898d4169425f183ea3a00a7fd25fd..534f4acff5715d2823a0254008aed91b5fe1e79d 100644 --- a/src/USER-MISC/pair_momb.cpp +++ b/src/USER-MISC/pair_momb.cpp @@ -189,9 +189,9 @@ void PairMomb::settings(int narg, char **arg) { if (narg != 3) error->all(FLERR,"Illegal pair_style command"); - cut_global = force->numeric(FLERR,arg[0]); - sscale = force->numeric(FLERR,arg[1]); - dscale = force->numeric(FLERR,arg[2]); + cut_global = utils::numeric(FLERR,arg[0],false,lmp); + sscale = utils::numeric(FLERR,arg[1],false,lmp); + dscale = utils::numeric(FLERR,arg[2],false,lmp); // reset cutoffs that have been explicitly set @@ -215,17 +215,17 @@ void PairMomb::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); - double d0_one = force->numeric(FLERR,arg[2]); - double alpha_one = force->numeric(FLERR,arg[3]); - double r0_one = force->numeric(FLERR,arg[4]); - double c_one = force->numeric(FLERR,arg[5]); - double rr_one = force->numeric(FLERR,arg[6]); + double d0_one = utils::numeric(FLERR,arg[2],false,lmp); + double alpha_one = utils::numeric(FLERR,arg[3],false,lmp); + double r0_one = utils::numeric(FLERR,arg[4],false,lmp); + double c_one = utils::numeric(FLERR,arg[5],false,lmp); + double rr_one = utils::numeric(FLERR,arg[6],false,lmp); double cut_one = cut_global; - if (narg == 8) cut_one = force->numeric(FLERR,arg[7]); + if (narg == 8) cut_one = utils::numeric(FLERR,arg[7],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/USER-MISC/pair_morse_smooth_linear.cpp b/src/USER-MISC/pair_morse_smooth_linear.cpp index 7513eebd98c3cf020a88bd5d9c9990602c1cb142..399723e0c5653dcd754c3c5e654507acd5271806 100644 --- a/src/USER-MISC/pair_morse_smooth_linear.cpp +++ b/src/USER-MISC/pair_morse_smooth_linear.cpp @@ -162,7 +162,7 @@ void PairMorseSmoothLinear::settings(int narg, char **arg) { if (narg != 1) error->all(FLERR,"Illegal pair_style command"); - cut_global = force->numeric(FLERR,arg[0]); + cut_global = utils::numeric(FLERR,arg[0],false,lmp); // reset cutoffs that have been explicitly set @@ -184,15 +184,15 @@ void PairMorseSmoothLinear::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); - double d0_one = force->numeric(FLERR,arg[2]); - double alpha_one = force->numeric(FLERR,arg[3]); - double r0_one = force->numeric(FLERR,arg[4]); + double d0_one = utils::numeric(FLERR,arg[2],false,lmp); + double alpha_one = utils::numeric(FLERR,arg[3],false,lmp); + double r0_one = utils::numeric(FLERR,arg[4],false,lmp); double cut_one = cut_global; - if (narg == 6) cut_one = force->numeric(FLERR,arg[5]); + if (narg == 6) cut_one = utils::numeric(FLERR,arg[5],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/USER-MISC/pair_srp.cpp b/src/USER-MISC/pair_srp.cpp index d0e73b265d5340a36d672fa9be7cf8c001de0d7d..9926318597753a8438793884782045f52abb5037 100644 --- a/src/USER-MISC/pair_srp.cpp +++ b/src/USER-MISC/pair_srp.cpp @@ -362,12 +362,12 @@ void PairSRP::settings(int narg, char **arg) if (atom->tag_enable == 0) error->all(FLERR,"Pair_style srp requires atom IDs"); - cut_global = force->numeric(FLERR,arg[0]); + cut_global = utils::numeric(FLERR,arg[0],false,lmp); // wildcard if (strcmp(arg[1],"*") == 0) { btype = 0; } else { - btype = force->inumeric(FLERR,arg[1]); + btype = utils::inumeric(FLERR,arg[1],false,lmp); if ((btype > atom->nbondtypes) || (btype <= 0)) error->all(FLERR,"Illegal pair_style command"); } @@ -401,7 +401,7 @@ void PairSRP::settings(int narg, char **arg) iarg += 2; } else if (strcmp(arg[iarg],"bptype") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal pair srp command"); - bptype = force->inumeric(FLERR,arg[iarg+1]); + bptype = utils::inumeric(FLERR,arg[iarg+1],false,lmp); if ((bptype < 1) || (bptype > atom->ntypes)) error->all(FLERR,"Illegal bond particle type for srp"); iarg += 2; @@ -429,12 +429,12 @@ void PairSRP::coeff(int narg, char **arg) // set ij bond-bond cutoffs int ilo, ihi, jlo, jhi; - force->bounds(FLERR,arg[0], bptype, ilo, ihi); - force->bounds(FLERR,arg[1], bptype, jlo, jhi); + utils::bounds(FLERR,arg[0], 1, bptype, ilo, ihi, error); + utils::bounds(FLERR,arg[1], 1, bptype, jlo, jhi, error); - double a0_one = force->numeric(FLERR,arg[2]); + double a0_one = utils::numeric(FLERR,arg[2],false,lmp); double cut_one = cut_global; - if (narg == 4) cut_one = force->numeric(FLERR,arg[3]); + if (narg == 4) cut_one = utils::numeric(FLERR,arg[3],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) diff --git a/src/USER-MISC/temper_grem.cpp b/src/USER-MISC/temper_grem.cpp index 866f923fb9e854b710a69089fcd18b3f0e2093e3..8d7a4ee2c98e63cbea2d657a6dcb3d8fb43033d7 100644 --- a/src/USER-MISC/temper_grem.cpp +++ b/src/USER-MISC/temper_grem.cpp @@ -67,9 +67,9 @@ void TemperGrem::command(int narg, char **arg) if (narg != 7 && narg != 8) error->universe_all(FLERR,"Illegal temper command"); - int nsteps = force->inumeric(FLERR,arg[0]); - nevery = force->inumeric(FLERR,arg[1]); - double lambda = force->numeric(FLERR,arg[2]); + int nsteps = utils::inumeric(FLERR,arg[0],false,lmp); + nevery = utils::inumeric(FLERR,arg[1],false,lmp); + double lambda = utils::numeric(FLERR,arg[2],false,lmp); // ignore temper command, if walltime limit was already reached if (timer->is_timeout()) return; @@ -106,11 +106,11 @@ void TemperGrem::command(int narg, char **arg) pressref = p_start[0]; } - seed_swap = force->inumeric(FLERR,arg[5]); - seed_boltz = force->inumeric(FLERR,arg[6]); + seed_swap = utils::inumeric(FLERR,arg[5],false,lmp); + seed_boltz = utils::inumeric(FLERR,arg[6],false,lmp); my_set_lambda = universe->iworld; - if (narg == 8) my_set_lambda = force->inumeric(FLERR,arg[7]); + if (narg == 8) my_set_lambda = utils::inumeric(FLERR,arg[7],false,lmp); if ((my_set_lambda < 0) || (my_set_lambda >= universe->nworlds)) error->universe_one(FLERR,"Illegal temperature index"); diff --git a/src/USER-MISC/temper_npt.cpp b/src/USER-MISC/temper_npt.cpp index d0a14d8e4dd0c577c5f14d89b30085b7ae8eb22d..e4cab277c13daf4324011e6145bf3726322ffbfb 100644 --- a/src/USER-MISC/temper_npt.cpp +++ b/src/USER-MISC/temper_npt.cpp @@ -69,10 +69,10 @@ void TemperNPT::command(int narg, char **arg) if (narg != 7 && narg != 8) error->universe_all(FLERR,"Illegal temper/npt command"); - int nsteps = force->inumeric(FLERR,arg[0]); - nevery = force->inumeric(FLERR,arg[1]); - double temp = force->numeric(FLERR,arg[2]); - double press_set = force->numeric(FLERR,arg[6]); + int nsteps = utils::inumeric(FLERR,arg[0],false,lmp); + nevery = utils::inumeric(FLERR,arg[1],false,lmp); + double temp = utils::numeric(FLERR,arg[2],false,lmp); + double press_set = utils::numeric(FLERR,arg[6],false,lmp); // ignore temper command, if walltime limit was already reached @@ -83,11 +83,11 @@ void TemperNPT::command(int narg, char **arg) if (whichfix == modify->nfix) error->universe_all(FLERR,"Tempering fix ID is not defined"); - seed_swap = force->inumeric(FLERR,arg[4]); - seed_boltz = force->inumeric(FLERR,arg[5]); + seed_swap = utils::inumeric(FLERR,arg[4],false,lmp); + seed_boltz = utils::inumeric(FLERR,arg[5],false,lmp); my_set_temp = universe->iworld; - if (narg == 8) my_set_temp = force->inumeric(FLERR,arg[6]); + if (narg == 8) my_set_temp = utils::inumeric(FLERR,arg[6],false,lmp); // swap frequency must evenly divide total # of timesteps diff --git a/src/USER-MOFFF/angle_class2_p6.cpp b/src/USER-MOFFF/angle_class2_p6.cpp index 839148bc13922fff3086e5f75db2ea4694993d4b..aa56ababe155daf91a7a0800f20f88ca204b2229 100644 --- a/src/USER-MOFFF/angle_class2_p6.cpp +++ b/src/USER-MOFFF/angle_class2_p6.cpp @@ -280,16 +280,16 @@ void AngleClass2P6::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi; - force->bounds(FLERR,arg[0],atom->nangletypes,ilo,ihi); + utils::bounds(FLERR,arg[0],1,atom->nangletypes,ilo,ihi,error); int count = 0; if (strcmp(arg[1],"bb") == 0) { if (narg != 5) error->all(FLERR,"Incorrect args for angle coefficients"); - double bb_k_one = force->numeric(FLERR,arg[2]); - double bb_r1_one = force->numeric(FLERR,arg[3]); - double bb_r2_one = force->numeric(FLERR,arg[4]); + double bb_k_one = utils::numeric(FLERR,arg[2],false,lmp); + double bb_r1_one = utils::numeric(FLERR,arg[3],false,lmp); + double bb_r2_one = utils::numeric(FLERR,arg[4],false,lmp); for (int i = ilo; i <= ihi; i++) { bb_k[i] = bb_k_one; @@ -302,10 +302,10 @@ void AngleClass2P6::coeff(int narg, char **arg) } else if (strcmp(arg[1],"ba") == 0) { if (narg != 6) error->all(FLERR,"Incorrect args for angle coefficients"); - double ba_k1_one = force->numeric(FLERR,arg[2]); - double ba_k2_one = force->numeric(FLERR,arg[3]); - double ba_r1_one = force->numeric(FLERR,arg[4]); - double ba_r2_one = force->numeric(FLERR,arg[5]); + double ba_k1_one = utils::numeric(FLERR,arg[2],false,lmp); + double ba_k2_one = utils::numeric(FLERR,arg[3],false,lmp); + double ba_r1_one = utils::numeric(FLERR,arg[4],false,lmp); + double ba_r2_one = utils::numeric(FLERR,arg[5],false,lmp); for (int i = ilo; i <= ihi; i++) { ba_k1[i] = ba_k1_one; @@ -319,12 +319,12 @@ void AngleClass2P6::coeff(int narg, char **arg) } else { if (narg != 7) error->all(FLERR,"Incorrect args for angle coefficients"); - double theta0_one = force->numeric(FLERR,arg[1]); - double k2_one = force->numeric(FLERR,arg[2]); - double k3_one = force->numeric(FLERR,arg[3]); - double k4_one = force->numeric(FLERR,arg[4]); - double k5_one = force->numeric(FLERR,arg[5]); - double k6_one = force->numeric(FLERR,arg[6]); + double theta0_one = utils::numeric(FLERR,arg[1],false,lmp); + double k2_one = utils::numeric(FLERR,arg[2],false,lmp); + double k3_one = utils::numeric(FLERR,arg[3],false,lmp); + double k4_one = utils::numeric(FLERR,arg[4],false,lmp); + double k5_one = utils::numeric(FLERR,arg[5],false,lmp); + double k6_one = utils::numeric(FLERR,arg[6],false,lmp); // convert theta0 from degrees to radians diff --git a/src/USER-MOFFF/angle_cosine_buck6d.cpp b/src/USER-MOFFF/angle_cosine_buck6d.cpp index a6643601c145d57b4fce651dfa270e787d34280d..0f49882e83a65fe4637f33b9e9c3ed89009d8f64 100644 --- a/src/USER-MOFFF/angle_cosine_buck6d.cpp +++ b/src/USER-MOFFF/angle_cosine_buck6d.cpp @@ -251,11 +251,11 @@ void AngleCosineBuck6d::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi; - force->bounds(FLERR,arg[0],atom->nangletypes,ilo,ihi); + utils::bounds(FLERR,arg[0],1,atom->nangletypes,ilo,ihi,error); - double c_one = force->numeric(FLERR,arg[1]); - int n_one = force->inumeric(FLERR,arg[2]); - int th0_one = force->numeric(FLERR,arg[3]); + double c_one = utils::numeric(FLERR,arg[1],false,lmp); + int n_one = utils::inumeric(FLERR,arg[2],false,lmp); + int th0_one = utils::numeric(FLERR,arg[3],false,lmp); if (n_one <= 0) error->all(FLERR,"Incorrect args for angle coefficients"); diff --git a/src/USER-MOFFF/improper_inversion_harmonic.cpp b/src/USER-MOFFF/improper_inversion_harmonic.cpp index e38b82067d4e6408218813701a33f1aa5c2c814f..0ecc60ecc16b0c77dddbec2931b1bffeeefcfd6d 100644 --- a/src/USER-MOFFF/improper_inversion_harmonic.cpp +++ b/src/USER-MOFFF/improper_inversion_harmonic.cpp @@ -276,10 +276,10 @@ void ImproperInversionHarmonic::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi; - force->bounds(FLERR,arg[0],atom->nimpropertypes,ilo,ihi); + utils::bounds(FLERR,arg[0],1,atom->nimpropertypes,ilo,ihi,error); - double k_one = force->numeric(FLERR,arg[1]); - double w_one = force->numeric(FLERR,arg[2]); + double k_one = utils::numeric(FLERR,arg[1],false,lmp); + double w_one = utils::numeric(FLERR,arg[2],false,lmp); // convert w0 from degrees to radians diff --git a/src/USER-MOFFF/pair_buck6d_coul_gauss_dsf.cpp b/src/USER-MOFFF/pair_buck6d_coul_gauss_dsf.cpp index 57a935a0b343f015adedeb63a65c9ad03e8c5076..28fc9554488b88133692c24abcb32623a67c26ea 100644 --- a/src/USER-MOFFF/pair_buck6d_coul_gauss_dsf.cpp +++ b/src/USER-MOFFF/pair_buck6d_coul_gauss_dsf.cpp @@ -247,11 +247,11 @@ void PairBuck6dCoulGaussDSF::settings(int narg, char **arg) { if (narg < 2 || narg > 3) error->all(FLERR,"Illegal pair_style command"); - vdwl_smooth = force->numeric(FLERR,arg[0]); + vdwl_smooth = utils::numeric(FLERR,arg[0],false,lmp); - cut_lj_global = force->numeric(FLERR,arg[1]); + cut_lj_global = utils::numeric(FLERR,arg[1],false,lmp); if (narg == 2) cut_coul = cut_lj_global; - else cut_coul = force->numeric(FLERR,arg[2]); + else cut_coul = utils::numeric(FLERR,arg[2],false,lmp); // reset cutoffs that have been explicitly set @@ -275,17 +275,17 @@ void PairBuck6dCoulGaussDSF::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); - double buck6d1_one = force->numeric(FLERR,arg[2]); - double buck6d2_one = force->numeric(FLERR,arg[3]); - double buck6d3_one = force->numeric(FLERR,arg[4]); - double buck6d4_one = force->numeric(FLERR,arg[5]); - double alpha_one = force->numeric(FLERR,arg[6]); + double buck6d1_one = utils::numeric(FLERR,arg[2],false,lmp); + double buck6d2_one = utils::numeric(FLERR,arg[3],false,lmp); + double buck6d3_one = utils::numeric(FLERR,arg[4],false,lmp); + double buck6d4_one = utils::numeric(FLERR,arg[5],false,lmp); + double alpha_one = utils::numeric(FLERR,arg[6],false,lmp); double cut_lj_one = cut_lj_global; - if (narg == 8) cut_lj_one = force->numeric(FLERR,arg[7]); + if (narg == 8) cut_lj_one = utils::numeric(FLERR,arg[7],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/USER-MOFFF/pair_buck6d_coul_gauss_long.cpp b/src/USER-MOFFF/pair_buck6d_coul_gauss_long.cpp index d3ccec3a55cd8869d16cdb6273cf30bd58d48b70..20bf7fa0498565080aa2ffa7e0a9abaf0ea94a92 100644 --- a/src/USER-MOFFF/pair_buck6d_coul_gauss_long.cpp +++ b/src/USER-MOFFF/pair_buck6d_coul_gauss_long.cpp @@ -262,12 +262,12 @@ void PairBuck6dCoulGaussLong::settings(int narg, char **arg) { if (narg < 3 || narg > 4) error->all(FLERR,"Illegal pair_style command"); - vdwl_smooth = force->numeric(FLERR,arg[0]); - coul_smooth = force->numeric(FLERR,arg[1]); + vdwl_smooth = utils::numeric(FLERR,arg[0],false,lmp); + coul_smooth = utils::numeric(FLERR,arg[1],false,lmp); - cut_lj_global = force->numeric(FLERR,arg[2]); + cut_lj_global = utils::numeric(FLERR,arg[2],false,lmp); if (narg == 3) cut_coul = cut_lj_global; - else cut_coul = force->numeric(FLERR,arg[3]); + else cut_coul = utils::numeric(FLERR,arg[3],false,lmp); // reset cutoffs that have been explicitly set @@ -291,17 +291,17 @@ void PairBuck6dCoulGaussLong::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); - double buck6d1_one = force->numeric(FLERR,arg[2]); - double buck6d2_one = force->numeric(FLERR,arg[3]); - double buck6d3_one = force->numeric(FLERR,arg[4]); - double buck6d4_one = force->numeric(FLERR,arg[5]); - double alpha_one = force->numeric(FLERR,arg[6]); + double buck6d1_one = utils::numeric(FLERR,arg[2],false,lmp); + double buck6d2_one = utils::numeric(FLERR,arg[3],false,lmp); + double buck6d3_one = utils::numeric(FLERR,arg[4],false,lmp); + double buck6d4_one = utils::numeric(FLERR,arg[5],false,lmp); + double alpha_one = utils::numeric(FLERR,arg[6],false,lmp); double cut_lj_one = cut_lj_global; - if (narg == 8) cut_lj_one = force->numeric(FLERR,arg[7]); + if (narg == 8) cut_lj_one = utils::numeric(FLERR,arg[7],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/USER-NETCDF/dump_netcdf.cpp b/src/USER-NETCDF/dump_netcdf.cpp index f297ef45eb8a175084d8d31dac499958a078603a..bb85dfb78402a1d8596082a825113062ec14461d 100644 --- a/src/USER-NETCDF/dump_netcdf.cpp +++ b/src/USER-NETCDF/dump_netcdf.cpp @@ -990,7 +990,7 @@ int DumpNetCDF::modify_param(int narg, char **arg) iarg++; if (iarg >= narg) error->all(FLERR,"expected additional arg after 'at' keyword."); - framei = force->inumeric(FLERR,arg[iarg]); + framei = utils::inumeric(FLERR,arg[iarg],false,lmp); if (framei == 0) error->all(FLERR,"frame 0 not allowed for 'at' keyword."); else if (framei < 0) framei--; iarg++; diff --git a/src/USER-NETCDF/dump_netcdf_mpiio.cpp b/src/USER-NETCDF/dump_netcdf_mpiio.cpp index 026a6eaa3aadc7c41db1f3b4e70c917e4fa70f8e..8747bbea25506f7fb395dacb11b28e4c98529d66 100644 --- a/src/USER-NETCDF/dump_netcdf_mpiio.cpp +++ b/src/USER-NETCDF/dump_netcdf_mpiio.cpp @@ -1003,7 +1003,7 @@ int DumpNetCDFMPIIO::modify_param(int narg, char **arg) iarg++; if (iarg >= narg) error->all(FLERR,"expected additional arg after 'at' keyword."); - framei = force->inumeric(FLERR,arg[iarg]); + framei = utils::inumeric(FLERR,arg[iarg],false,lmp); if (framei == 0) error->all(FLERR,"frame 0 not allowed for 'at' keyword."); else if (framei < 0) framei--; iarg++; diff --git a/src/USER-OMP/fix_omp.cpp b/src/USER-OMP/fix_omp.cpp index 51e65d24ed54c6d204cbfe67251933ba8458ba91..47757c4ec36186c94716e9a4fc859f2b3277ba82 100644 --- a/src/USER-OMP/fix_omp.cpp +++ b/src/USER-OMP/fix_omp.cpp @@ -75,7 +75,7 @@ FixOMP::FixOMP(LAMMPS *lmp, int narg, char **arg) #pragma omp parallel LMP_DEFAULT_NONE LMP_SHARED(nthreads) nthreads = omp_get_num_threads(); else - nthreads = force->inumeric(FLERR,arg[3]); + nthreads = utils::inumeric(FLERR,arg[3],false,lmp); #endif } diff --git a/src/USER-OMP/msm_cg_omp.cpp b/src/USER-OMP/msm_cg_omp.cpp index 95f9cdb3e81c139c048962c8db0ae76cd8e6c4b8..524850eb634556d897c89ab88e078ace181f2f17 100644 --- a/src/USER-OMP/msm_cg_omp.cpp +++ b/src/USER-OMP/msm_cg_omp.cpp @@ -62,7 +62,7 @@ void MSMCGOMP::settings(int narg, char **arg) MSMOMP::settings(narg,arg); - if (narg == 2) smallq = fabs(force->numeric(FLERR,arg[1])); + if (narg == 2) smallq = fabs(utils::numeric(FLERR,arg[1],false,Pointers::lmp)); else smallq = SMALLQ; } diff --git a/src/USER-OMP/pair_beck_omp.cpp b/src/USER-OMP/pair_beck_omp.cpp index 48e6f9b0fe11dee89687fa0346bd9b5568dedcbd..bb41334153a0dace309f964afe4b2438d3601aa9 100644 --- a/src/USER-OMP/pair_beck_omp.cpp +++ b/src/USER-OMP/pair_beck_omp.cpp @@ -153,6 +153,7 @@ void PairBeckOMP::eval(int iifrom, int iito, ThrData * const thr) term1inv = 1.0/term1; evdwl = AA[itype][jtype]*exp(-1.0*r*term4); evdwl -= BB[itype][jtype]*term6*(1.0+(2.709+3.0*aaij*aaij)*term1inv); + evdwl *= factor_lj; } if (EVFLAG) ev_tally_thr(this, i,j,nlocal,NEWTON_PAIR, diff --git a/src/USER-PHONON/dynamical_matrix.cpp b/src/USER-PHONON/dynamical_matrix.cpp index d03a8d3ab0e68185d1ebb3e4977cbf5ee04563d1..adfcf6adb5da228220eb381d9e065449f82a36fd 100644 --- a/src/USER-PHONON/dynamical_matrix.cpp +++ b/src/USER-PHONON/dynamical_matrix.cpp @@ -117,7 +117,7 @@ void DynamicalMatrix::command(int narg, char **arg) if (strcmp(arg[1],"regular") == 0) style = REGULAR; else if (strcmp(arg[1],"eskm") == 0) style = ESKM; else error->all(FLERR,"Illegal Dynamical Matrix command"); - del = force->numeric(FLERR, arg[2]); + del = utils::numeric(FLERR, arg[2],false,lmp); // set option defaults diff --git a/src/USER-PHONON/fix_phonon.cpp b/src/USER-PHONON/fix_phonon.cpp index 9b663ce3838b414bfe040d7f9adc0968b48e5fb4..17325b062a42e44ff0fac325e520d078841ca996 100644 --- a/src/USER-PHONON/fix_phonon.cpp +++ b/src/USER-PHONON/fix_phonon.cpp @@ -68,13 +68,13 @@ FixPhonon::FixPhonon(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) if (narg < 8) error->all(FLERR,"Illegal fix phonon command: number of arguments < 8"); - nevery = force->inumeric(FLERR, arg[3]); // Calculate this fix every n steps! + nevery = utils::inumeric(FLERR, arg[3],false,lmp); // Calculate this fix every n steps! if (nevery < 1) error->all(FLERR,"Illegal fix phonon command"); - nfreq = force->inumeric(FLERR, arg[4]); // frequency to output result + nfreq = utils::inumeric(FLERR, arg[4],false,lmp); // frequency to output result if (nfreq < 1) error->all(FLERR,"Illegal fix phonon command"); - waitsteps = force->bnumeric(FLERR,arg[5]); // Wait this many timesteps before actually measuring + waitsteps = utils::bnumeric(FLERR,arg[5],false,lmp); // Wait this many timesteps before actually measuring if (waitsteps < 0) error->all(FLERR,"Illegal fix phonon command: waitsteps < 0 !"); int n = strlen(arg[6]) + 1; // map file @@ -95,12 +95,12 @@ FixPhonon::FixPhonon(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) while (iarg < narg){ if (strcmp(arg[iarg],"sysdim") == 0){ if (++iarg >= narg) error->all(FLERR,"Illegal fix phonon command: incomplete command line options."); - sdim = force->inumeric(FLERR, arg[iarg]); + sdim = utils::inumeric(FLERR, arg[iarg],false,lmp); if (sdim < 1) error->all(FLERR,"Illegal fix phonon command: sysdim should not be less than 1."); } else if (strcmp(arg[iarg],"nasr") == 0){ if (++iarg >= narg) error->all(FLERR,"Illegal fix phonon command: incomplete command line options."); - nasr = force->inumeric(FLERR, arg[iarg]); + nasr = utils::inumeric(FLERR, arg[iarg],false,lmp); } else { error->all(FLERR,"Illegal fix phonon command: unknown option read!"); @@ -570,10 +570,10 @@ void FixPhonon::readmap() if (fgets(line,MAXLINE,fp) == NULL) error->all(FLERR,"Error while reading header of mapping file!"); - nx = force->inumeric(FLERR, strtok(line, " \n\t\r\f")); - ny = force->inumeric(FLERR, strtok(NULL, " \n\t\r\f")); - nz = force->inumeric(FLERR, strtok(NULL, " \n\t\r\f")); - nucell = force->inumeric(FLERR, strtok(NULL, " \n\t\r\f")); + nx = utils::inumeric(FLERR, strtok(line, " \n\t\r\f"),false,lmp); + ny = utils::inumeric(FLERR, strtok(NULL, " \n\t\r\f"),false,lmp); + nz = utils::inumeric(FLERR, strtok(NULL, " \n\t\r\f"),false,lmp); + nucell = utils::inumeric(FLERR, strtok(NULL, " \n\t\r\f"),false,lmp); ntotal = nx*ny*nz; if (ntotal*nucell != ngroup) error->all(FLERR,"FFT mesh and number of atoms in group mismatch!"); @@ -586,11 +586,11 @@ void FixPhonon::readmap() // the remaining lines carry the mapping info for (int i = 0; i < ngroup; ++i){ if (fgets(line,MAXLINE,fp) == NULL) {info = 1; break;} - ix = force->inumeric(FLERR, strtok(line, " \n\t\r\f")); - iy = force->inumeric(FLERR, strtok(NULL, " \n\t\r\f")); - iz = force->inumeric(FLERR, strtok(NULL, " \n\t\r\f")); - iu = force->inumeric(FLERR, strtok(NULL, " \n\t\r\f")); - itag = force->inumeric(FLERR, strtok(NULL, " \n\t\r\f")); + ix = utils::inumeric(FLERR, strtok(line, " \n\t\r\f"),false,lmp); + iy = utils::inumeric(FLERR, strtok(NULL, " \n\t\r\f"),false,lmp); + iz = utils::inumeric(FLERR, strtok(NULL, " \n\t\r\f"),false,lmp); + iu = utils::inumeric(FLERR, strtok(NULL, " \n\t\r\f"),false,lmp); + itag = utils::inumeric(FLERR, strtok(NULL, " \n\t\r\f"),false,lmp); // check if index is in correct range if (ix < 0 || ix >= nx || iy < 0 || iy >= ny || diff --git a/src/USER-PHONON/third_order.cpp b/src/USER-PHONON/third_order.cpp index 7764287337ff186a3fe292b27f582d3b00b48367..6e097108332e1afda3f96f1d386f53fa51cbce97 100644 --- a/src/USER-PHONON/third_order.cpp +++ b/src/USER-PHONON/third_order.cpp @@ -132,7 +132,7 @@ void ThirdOrder::command(int narg, char **arg) if (style == REGULAR) options(narg-3,&arg[3]); //COME BACK else if (style == BALLISTICO) options(narg-3,&arg[3]); //COME BACK else if (comm->me == 0 && screen) fprintf(screen,"Illegal Dynamical Matrix command\n"); - del = force->numeric(FLERR, arg[2]); + del = utils::numeric(FLERR, arg[2],false,lmp); if (atom->map_style == 0) error->all(FLERR,"third_order command requires an atom map, see atom_modify"); diff --git a/src/USER-PTM/compute_ptm_atom.cpp b/src/USER-PTM/compute_ptm_atom.cpp index df6a01e6c6536561fb9c878c89c630f4b0b2316e..309dd75c191065553bd92006064ed3945037d8fd 100644 --- a/src/USER-PTM/compute_ptm_atom.cpp +++ b/src/USER-PTM/compute_ptm_atom.cpp @@ -115,7 +115,7 @@ ComputePTMAtom::ComputePTMAtom(LAMMPS *lmp, int narg, char **arg) ptr++; } - double threshold = force->numeric(FLERR, arg[4]); + double threshold = utils::numeric(FLERR, arg[4],false,lmp); if (threshold < 0.0) error->all(FLERR, "Illegal compute ptm/atom command (threshold is negative)"); diff --git a/src/USER-QTB/fix_qbmsst.cpp b/src/USER-QTB/fix_qbmsst.cpp index d58c91730849a151421ea9cf2531885162805b46..b590e1ae9a6986f989473249020e486a68e0708c 100644 --- a/src/USER-QTB/fix_qbmsst.cpp +++ b/src/USER-QTB/fix_qbmsst.cpp @@ -100,70 +100,70 @@ FixQBMSST::FixQBMSST(LAMMPS *lmp, int narg, char **arg) : while (iarg < narg) { if (strcmp(arg[iarg],"q") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix qbmsst command"); - qmass = force->numeric(FLERR,arg[iarg+1]); + qmass = utils::numeric(FLERR,arg[iarg+1],false,lmp); if (qmass < 0.0) error->all(FLERR,"Fix qbmsst qmass must be >= 0.0"); iarg += 2; } else if (strcmp(arg[iarg],"mu") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix qbmsst command"); - mu = force->numeric(FLERR,arg[iarg+1]); + mu = utils::numeric(FLERR,arg[iarg+1],false,lmp); if (mu < 0.0) error->all(FLERR,"Fix qbmsst mu must be >= 0.0"); iarg += 2; } else if (strcmp(arg[iarg],"p0") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix qbmsst command"); - p0 = force->numeric(FLERR,arg[iarg+1]); + p0 = utils::numeric(FLERR,arg[iarg+1],false,lmp); if (p0 < 0.0) error->all(FLERR,"Fix qbmsst p0 must be >= 0.0"); p0_set = 1; iarg += 2; } else if (strcmp(arg[iarg],"v0") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix qbmsst command"); - v0 = force->numeric(FLERR,arg[iarg+1]); + v0 = utils::numeric(FLERR,arg[iarg+1],false,lmp); if (v0 < 0.0) error->all(FLERR,"Fix qbmsst v0 must be >= 0.0"); v0_set = 1; iarg += 2; } else if (strcmp(arg[iarg],"e0") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix qbmsst command"); - e0 = force->numeric(FLERR,arg[iarg+1]); + e0 = utils::numeric(FLERR,arg[iarg+1],false,lmp); e0_set = 1; iarg += 2; } else if (strcmp(arg[iarg],"tscale") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix qbmsst command"); - tscale = force->numeric(FLERR,arg[iarg+1]); + tscale = utils::numeric(FLERR,arg[iarg+1],false,lmp); if (tscale < 0.0 || tscale > 1.0) error->all(FLERR,"Fix qbmsst tscale must satisfy 0 <= tscale < 1"); iarg += 2; } else if (strcmp(arg[iarg],"damp") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix qbmsst command"); - t_period = force->numeric(FLERR,arg[iarg+1]); + t_period = utils::numeric(FLERR,arg[iarg+1],false,lmp); if (t_period <= 0.0) error->all(FLERR,"Fix qbmsst damp must be > 0.0"); fric_coef = 1/t_period; iarg += 2; } else if (strcmp(arg[iarg],"seed") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix qbmsst command"); - seed = force->inumeric(FLERR,arg[iarg+1]); + seed = utils::inumeric(FLERR,arg[iarg+1],false,lmp); if (seed <= 0) error->all(FLERR,"Fix qbmsst seed must be a positive integer"); iarg += 2; } else if (strcmp(arg[iarg],"f_max") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix qbmsst command"); - f_max = force->numeric(FLERR,arg[iarg+1]); + f_max = utils::numeric(FLERR,arg[iarg+1],false,lmp); if (f_max <= 0) error->all(FLERR,"Fix qbmsst f_max must be > 0.0"); iarg += 2; } else if (strcmp(arg[iarg],"N_f") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix qbmsst command"); - N_f = force->inumeric(FLERR,arg[iarg+1]); + N_f = utils::inumeric(FLERR,arg[iarg+1],false,lmp); if (N_f <= 0) error->all(FLERR,"Fix qbmsst N_f must be a positive integer"); iarg += 2; } else if (strcmp(arg[iarg],"eta") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix qbmsst command"); - eta = force->numeric(FLERR,arg[iarg+1]); + eta = utils::numeric(FLERR,arg[iarg+1],false,lmp); if (eta <= 0) error->all(FLERR,"Fix qbmsst eta must be >= 0.0"); iarg += 2; } else if (strcmp(arg[iarg],"beta") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix qbmsst command"); - beta = force->inumeric(FLERR,arg[iarg+1]); + beta = utils::inumeric(FLERR,arg[iarg+1],false,lmp); if (beta <= 0) error->all(FLERR,"Fix qbmsst beta must be a positive integer"); iarg += 2; } else if (strcmp(arg[iarg],"T_init") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix qbmsst command"); - t_init = force->numeric(FLERR,arg[iarg+1]); + t_init = utils::numeric(FLERR,arg[iarg+1],false,lmp); if (t_init <= 0) error->all(FLERR,"Fix qbmsst T_init must be >= 0.0"); iarg += 2; } else error->all(FLERR,"Illegal fix qbmsst command"); diff --git a/src/USER-QTB/fix_qtb.cpp b/src/USER-QTB/fix_qtb.cpp index a29dbc70a18a60e1d46bf2de76fb165d1c616849..80c0efddab5de597195a8c5689ddc98a2f13b121 100644 --- a/src/USER-QTB/fix_qtb.cpp +++ b/src/USER-QTB/fix_qtb.cpp @@ -64,28 +64,28 @@ FixQTB::FixQTB(LAMMPS *lmp, int narg, char **arg) : while (iarg < narg) { if (strcmp(arg[iarg],"temp") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix qtb command"); - t_target = force->numeric(FLERR,arg[iarg+1]); + t_target = utils::numeric(FLERR,arg[iarg+1],false,lmp); if (t_target < 0.0) error->all(FLERR,"Fix qtb temp must be >= 0.0"); iarg += 2; } else if (strcmp(arg[iarg],"damp") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix qtb command"); - t_period = force->numeric(FLERR,arg[iarg+1]); + t_period = utils::numeric(FLERR,arg[iarg+1],false,lmp); if (t_period <= 0.0) error->all(FLERR,"Fix qtb damp must be > 0.0"); fric_coef = 1/t_period; iarg += 2; } else if (strcmp(arg[iarg],"seed") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix qtb command"); - seed = force->inumeric(FLERR,arg[iarg+1]); + seed = utils::inumeric(FLERR,arg[iarg+1],false,lmp); if (seed <= 0) error->all(FLERR,"Illegal fix qtb command"); iarg += 2; } else if (strcmp(arg[iarg],"f_max") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix qtb command"); - f_max = force->numeric(FLERR,arg[iarg+1]); + f_max = utils::numeric(FLERR,arg[iarg+1],false,lmp); if (f_max <= 0) error->all(FLERR,"Illegal fix qtb command"); iarg += 2; } else if (strcmp(arg[iarg],"N_f") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix qtb command"); - N_f = force->inumeric(FLERR,arg[iarg+1]); + N_f = utils::inumeric(FLERR,arg[iarg+1],false,lmp); if (N_f <= 0) error->all(FLERR,"Illegal fix qtb command"); iarg += 2; } else error->all(FLERR,"Illegal fix qtb command"); diff --git a/src/USER-QUIP/pair_quip.cpp b/src/USER-QUIP/pair_quip.cpp index 7c762208b714ecac3e26412e053e0f753d08041d..64c56cb0e6647ff28999bd5761f60dd08e1132ea 100644 --- a/src/USER-QUIP/pair_quip.cpp +++ b/src/USER-QUIP/pair_quip.cpp @@ -275,7 +275,7 @@ void PairQUIP::coeff(int narg, char **arg) if (strcmp(arg[i],"NULL") == 0) map[i-3] = -1; else - map[i-3] = force->inumeric(FLERR,arg[i]); + map[i-3] = utils::inumeric(FLERR,arg[i],false,lmp); } // clear setflag since coeff() called once with I,J = * * diff --git a/src/USER-REACTION/fix_bond_react.cpp b/src/USER-REACTION/fix_bond_react.cpp index 2c6c20c8442055e0867ef093754db31b17ee0831..99d016f1a0e0da9365ac8831bce8423f2eb56a70 100644 --- a/src/USER-REACTION/fix_bond_react.cpp +++ b/src/USER-REACTION/fix_bond_react.cpp @@ -33,6 +33,7 @@ Contributing Author: Jacob Gissinger (jacob.gissinger@colorado.edu) #include "neigh_list.h" #include "neigh_request.h" #include "random_mars.h" +#include "reset_mol_ids.h" #include "molecule.h" #include "group.h" #include "citeme.h" @@ -43,6 +44,7 @@ Contributing Author: Jacob Gissinger (jacob.gissinger@colorado.edu) #include "input.h" #include "variable.h" #include "fmt/format.h" +#include "superpose3d.h" #include @@ -77,7 +79,7 @@ static const char cite_fix_bond_react[] = enum{ACCEPT,REJECT,PROCEED,CONTINUE,GUESSFAIL,RESTORE}; // types of available reaction constraints -enum{DISTANCE,ANGLE,DIHEDRAL,ARRHENIUS}; +enum{DISTANCE,ANGLE,DIHEDRAL,ARRHENIUS,RMSD}; // keyword values that accept variables as input enum{NEVERY,RMIN,RMAX,PROB}; @@ -92,6 +94,7 @@ FixBondReact::FixBondReact(LAMMPS *lmp, int narg, char **arg) : fix1 = NULL; fix2 = NULL; fix3 = NULL; + reset_mol_ids = NULL; if (narg < 8) error->all(FLERR,"Illegal fix bond/react command: " "too few arguments"); @@ -144,7 +147,8 @@ FixBondReact::FixBondReact(LAMMPS *lmp, int narg, char **arg) : int iarg = 3; stabilization_flag = 0; - int num_common_keywords = 1; + reset_mol_ids_flag = 1; + int num_common_keywords = 2; for (int m = 0; m < num_common_keywords; m++) { if (strcmp(arg[iarg],"stabilization") == 0) { if (strcmp(arg[iarg+1],"no") == 0) { @@ -162,11 +166,23 @@ FixBondReact::FixBondReact(LAMMPS *lmp, int narg, char **arg) : nve_limit_xmax = arg[iarg+3]; iarg += 4; } + } else if (strcmp(arg[iarg],"reset_mol_ids") == 0) { + if (iarg+2 > narg) error->all(FLERR,"Illegal fix bond/react command: " + "'reset_mol_ids' keyword has too few arguments"); + if (strcmp(arg[iarg+1],"yes") == 0) reset_mol_ids_flag = 1; // default + if (strcmp(arg[iarg+1],"no") == 0) reset_mol_ids_flag = 0; + iarg += 2; } else if (strcmp(arg[iarg],"react") == 0) { break; } else error->all(FLERR,"Illegal fix bond/react command: unknown keyword"); } + if (reset_mol_ids_flag) { + delete reset_mol_ids; + reset_mol_ids = new ResetMolIDs(lmp); + reset_mol_ids->create_computes(id,group->names[igroup]); + } + // set up common variables as vectors of length 'nreacts' // nevery, cutoff, onemol, twomol, superimpose file @@ -229,11 +245,11 @@ FixBondReact::FixBondReact(LAMMPS *lmp, int narg, char **arg) : int n = strlen(arg[iarg]) + 1; if (n > MAXLINE) error->all(FLERR,"Reaction name (react-ID) is too long (limit: 256 characters)"); - strncpy(rxn_name[rxn],arg[iarg++],n); + strcpy(rxn_name[rxn],arg[iarg++]); - int igroup = group->find(arg[iarg++]); - if (igroup == -1) error->all(FLERR,"Could not find fix group ID"); - groupbits[rxn] = group->bitmask[igroup]; + int groupid = group->find(arg[iarg++]); + if (groupid == -1) error->all(FLERR,"Could not find fix group ID"); + groupbits[rxn] = group->bitmask[groupid]; if (strncmp(arg[iarg],"v_",2) == 0) { n = strlen(&arg[iarg][2]) + 1; @@ -247,7 +263,7 @@ FixBondReact::FixBondReact(LAMMPS *lmp, int narg, char **arg) : var_flag[NEVERY][rxn] = 1; delete [] str; } else { - nevery[rxn] = force->inumeric(FLERR,arg[iarg]); + nevery[rxn] = utils::inumeric(FLERR,arg[iarg],false,lmp); if (nevery[rxn] <= 0) error->all(FLERR,"Illegal fix bond/react command: " "'Nevery' must be a positive integer"); } @@ -267,7 +283,7 @@ FixBondReact::FixBondReact(LAMMPS *lmp, int narg, char **arg) : var_flag[RMIN][rxn] = 1; delete [] str; } else { - double cutoff = force->numeric(FLERR,arg[iarg]); + double cutoff = utils::numeric(FLERR,arg[iarg],false,lmp); if (cutoff < 0.0) error->all(FLERR,"Illegal fix bond/react command: " "'Rmin' cannot be negative"); cutsq[rxn][0] = cutoff*cutoff; @@ -288,7 +304,7 @@ FixBondReact::FixBondReact(LAMMPS *lmp, int narg, char **arg) : var_flag[RMAX][rxn] = 1; delete [] str; } else { - double cutoff = force->numeric(FLERR,arg[iarg]); + double cutoff = utils::numeric(FLERR,arg[iarg],false,lmp); if (cutoff < 0.0) error->all(FLERR,"Illegal fix bond/react command:" "'Rmax' cannot be negative"); cutsq[rxn][1] = cutoff*cutoff; @@ -326,9 +342,9 @@ FixBondReact::FixBondReact(LAMMPS *lmp, int narg, char **arg) : delete [] str; } else { // otherwise probability should be a number - fraction[rxn] = force->numeric(FLERR,arg[iarg+1]); + fraction[rxn] = utils::numeric(FLERR,arg[iarg+1],false,lmp); } - seed[rxn] = force->inumeric(FLERR,arg[iarg+2]); + seed[rxn] = utils::inumeric(FLERR,arg[iarg+2],false,lmp); if (fraction[rxn] < 0.0 || fraction[rxn] > 1.0) error->all(FLERR,"Illegal fix bond/react command: " "probability fraction must between 0 and 1, inclusive"); @@ -338,7 +354,7 @@ FixBondReact::FixBondReact(LAMMPS *lmp, int narg, char **arg) : } else if (strcmp(arg[iarg],"max_rxn") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix bond/react command: " "'max_rxn' has too few arguments"); - max_rxn[rxn] = force->inumeric(FLERR,arg[iarg+1]); + max_rxn[rxn] = utils::inumeric(FLERR,arg[iarg+1],false,lmp); if (max_rxn[rxn] < 0) error->all(FLERR,"Illegal fix bond/react command: " "'max_rxn' cannot be negative"); iarg += 2; @@ -347,7 +363,7 @@ FixBondReact::FixBondReact(LAMMPS *lmp, int narg, char **arg) : "used without stabilization keyword"); if (iarg+2 > narg) error->all(FLERR,"Illegal fix bond/react command: " "'stabilize_steps' has too few arguments"); - limit_duration[rxn] = force->numeric(FLERR,arg[iarg+1]); + limit_duration[rxn] = utils::numeric(FLERR,arg[iarg+1],false,lmp); stabilize_steps_flag[rxn] = 1; iarg += 2; } else if (strcmp(arg[iarg],"update_edges") == 0) { @@ -499,6 +515,8 @@ FixBondReact::~FixBondReact() } delete [] random; + delete reset_mol_ids; + memory->destroy(partner); memory->destroy(finalpartner); memory->destroy(ncreate); @@ -623,9 +641,9 @@ void FixBondReact::post_constructor() group->assign(cmd); if (stabilization_flag == 1) { - int igroup = group->find(exclude_group); + int groupid = group->find(exclude_group); // create exclude_group if not already existing, or use as parent group if static - if (igroup == -1 || group->dynamic[igroup] == 0) { + if (groupid == -1 || group->dynamic[groupid] == 0) { // create stabilization per-atom property cmd = std::string("bond_react_stabilization_internal"); id_fix3 = new char[cmd.size()+1]; @@ -655,7 +673,7 @@ void FixBondReact::post_constructor() strcat(exclude_group,"_REACT"); group->find_or_create(exclude_group); - if (igroup == -1) + if (groupid == -1) cmd = fmt::format("{} dynamic all property statted_tags",exclude_group); else cmd = fmt::format("{} dynamic {} property statted_tags",exclude_group,exclude_PARENT_group); @@ -1840,6 +1858,43 @@ int FixBondReact::check_constraints() prrhob = constraints[i][3]*pow(t,constraints[i][4])* exp(-constraints[i][5]/(force->boltz*t)); if (prrhob < rrhandom[(int) constraints[i][2]]->uniform()) return 0; + } else if (constraints[i][1] == RMSD) { + // call superpose + int n2superpose = 0; + double **xfrozen; // coordinates for the "frozen" target molecule + double **xmobile; // coordinates for the "mobile" molecule + int ifragment = constraints[i][3]; + if (ifragment >= 0) { + for (int j = 0; j < onemol->natoms; j++) + if (onemol->fragmentmask[ifragment][j]) n2superpose++; + memory->create(xfrozen,n2superpose,3,"bond/react:xfrozen"); + memory->create(xmobile,n2superpose,3,"bond/react:xmobile"); + int myincr = 0; + for (int j = 0; j < onemol->natoms; j++) { + if (onemol->fragmentmask[ifragment][j]) { + for (int k = 0; k < 3; k++) { + xfrozen[myincr][k] = x[atom->map(glove[j][1])][k]; + xmobile[myincr][k] = onemol->x[j][k]; + } + myincr++; + } + } + } else { + n2superpose = onemol->natoms; + memory->create(xfrozen,n2superpose,3,"bond/react:xfrozen"); + memory->create(xmobile,n2superpose,3,"bond/react:xmobile"); + for (int j = 0; j < n2superpose; j++) { + for (int k = 0; k < 3; k++) { + xfrozen[j][k] = x[atom->map(glove[j][1])][k]; + xmobile[j][k] = onemol->x[j][k]; + } + } + } + Superpose3D superposer(n2superpose); + double rmsd = superposer.Superpose(xfrozen, xmobile); + if (rmsd > constraints[i][2]) return 0; + memory->destroy(xfrozen); + memory->destroy(xmobile); } } } @@ -2061,7 +2116,7 @@ void FixBondReact::find_landlocked_atoms(int myrxn) for (int i = 0; i < twomol->natoms; i++) { if (twomol->type[i] != onemol->type[equivalences[i][1][myrxn]-1] && landlocked_atoms[i][myrxn] == 0) { char str[128]; - snprintf(str,128,"Bond/react: Atom affected by reaction %s too close to template edge",rxn_name[myrxn]); + snprintf(str,128,"Bond/react: Atom type affected by reaction %s too close to template edge",rxn_name[myrxn]); error->all(FLERR,str); } } @@ -2080,7 +2135,7 @@ void FixBondReact::find_landlocked_atoms(int myrxn) if (onemol_batom == equivalences[twomol_atomj-1][1][myrxn]) { if (twomol->bond_type[i][j] != onemol->bond_type[onemol_atomi-1][m]) { char str[128]; - snprintf(str,128,"Bond/react: Atom affected by reaction %s too close to template edge",rxn_name[myrxn]); + snprintf(str,128,"Bond/react: Bond type affected by reaction %s too close to template edge",rxn_name[myrxn]); error->all(FLERR,str); } } @@ -2092,7 +2147,7 @@ void FixBondReact::find_landlocked_atoms(int myrxn) if (onemol_batom == equivalences[i][1][myrxn]) { if (twomol->bond_type[i][j] != onemol->bond_type[onemol_atomj-1][m]) { char str[128]; - snprintf(str,128,"Bond/react: Atom affected by reaction %s too close to template edge",rxn_name[myrxn]); + snprintf(str,128,"Bond/react: Bond type affected by reaction %s too close to template edge",rxn_name[myrxn]); error->all(FLERR,str); } } @@ -2503,7 +2558,7 @@ void FixBondReact::ghost_glovecast() } /* ---------------------------------------------------------------------- -update charges, types, special lists and all topology +update molecule IDs, charges, types, special lists and all topology ------------------------------------------------------------------------- */ void FixBondReact::update_everything() @@ -3042,6 +3097,9 @@ void FixBondReact::update_everything() atom->natoms -= ndel; // done deleting atoms + // reset mol ids + if (reset_mol_ids_flag) reset_mol_ids->reset(); + // something to think about: this could done much more concisely if // all atom-level info (bond,angles, etc...) were kinda inherited from a common data struct --JG @@ -3302,6 +3360,17 @@ void FixBondReact::Constraints(char *line, int myrxn) constraints[nconstraints][4] = tmp[1]; constraints[nconstraints][5] = tmp[2]; constraints[nconstraints][6] = tmp[3]; + } else if (strcmp(constraint_type,"rmsd") == 0) { + constraints[nconstraints][1] = RMSD; + strcpy(strargs[0],"0"); + sscanf(line,"%*s %lg %s",&tmp[0],strargs[0]); + constraints[nconstraints][2] = tmp[0]; // RMSDmax + constraints[nconstraints][3] = -1; // optional molecule fragment + if (isalpha(strargs[0][0])) { + int ifragment = onemol->findfragment(strargs[0]); + if (ifragment < 0) error->one(FLERR,"Bond/react: Molecule fragment does not exist"); + else constraints[nconstraints][3] = ifragment; + } } else error->one(FLERR,"Bond/react: Illegal constraint type in 'Constraints' section of map file"); nconstraints++; diff --git a/src/USER-REACTION/fix_bond_react.h b/src/USER-REACTION/fix_bond_react.h index e8a4253ce7c7aa6fba4cbaa0a1de1ef77464cbb8..61a1bd421310d110b622035b47c8d4a365347802 100644 --- a/src/USER-REACTION/fix_bond_react.h +++ b/src/USER-REACTION/fix_bond_react.h @@ -61,6 +61,7 @@ class FixBondReact : public Fix { int *max_rxn,*nlocalskips,*nghostlyskips; tagint lastcheck; int stabilization_flag; + int reset_mol_ids_flag; int custom_exclude_flag; int *stabilize_steps_flag; int *update_edges_flag; @@ -93,6 +94,7 @@ class FixBondReact : public Fix { class RanMars **random; // random number for 'prob' keyword class RanMars **rrhandom; // random number for Arrhenius constraint class NeighList *list; + class ResetMolIDs *reset_mol_ids; // class for resetting mol IDs int *reacted_mol,*unreacted_mol; int *limit_duration; // indicates how long to relax @@ -240,8 +242,10 @@ E: Bond/react: Invalid template atom ID in map file Atom IDs in molecule templates range from 1 to the number of atoms in the template. E or W: Bond/react: Atom affected by reaction %s too close to template edge + Bond/react: Atom type affected by reaction %s too close to template edge + Bond/react: Bond type affected by reaction %s too close to template edge -This means an atom which changes type or connectivity during the +This means an atom (or bond) that changes type or connectivity during the reaction is too close to an 'edge' atom defined in the map file. This could cause incorrect assignment of bonds, angle, etc. Generally, this means you must include more atoms in your templates, such that there diff --git a/src/USER-REACTION/math_eigen.h b/src/USER-REACTION/math_eigen.h new file mode 100644 index 0000000000000000000000000000000000000000..f8d2be4e21658f5681b21ce23866136290e4c5ab --- /dev/null +++ b/src/USER-REACTION/math_eigen.h @@ -0,0 +1,1380 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. (Some of the code in this file is also + available using a more premissive license. See below for details.) + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ +/* ---------------------------------------------------------------------- + Contributing authors: Yuya Kurebayashi (Tohoku University, Lanczos algorithm) + Andrew Jewett (Scripps Research, Jacobi algorithm) +------------------------------------------------------------------------- */ + +#ifndef _MATH_EIGEN_H +#define _MATH_EIGEN_H + +/// @file This file contains a library of functions and classes which can +/// efficiently perform eigendecomposition for an extremely broad +/// range of matrix types: both real and complex, dense and sparse. +/// Matrices need not be of type "double **", for example. +/// In principle, almost any type of C++ container can be used. +/// Some general C++11 compatible functions for allocating matrices and +/// calculating norms of real and complex vectors are also provided. +/// @note +/// The "Jacobi" and "PEigenDense" classes are used for calculating +/// eigenvalues and eigenvectors of conventional dense square matrices. +/// @note +/// The "LambdaLanczos" class can calculate eigenalues and eigenvectors +/// of more general types of matrices, especially large, sparse matrices. +/// It uses C++ lambda expressions to simplify and generalize the way +/// matrices can be represented. This allows it to be applied to +/// nearly any kind of sparse (or dense) matrix representation. +/// @note +/// The source code for Jacobi and LambdaLanczos is also available at: +/// https://github.com/jewettaij/jacobi_pd (CC0-1.0 license) +/// https://github.com/mrcdr/lambda-lanczos (MIT license) + +#include +#include +#include +#include +#include +#include +#include +#include + +namespace MathEigen { + +// --- Memory allocation for matrices --- + +/// @brief Allocate an arbitrary 2-dimensional array. (Uses row-major order.) +/// @note This function was intended for relatively small matrices (eg 4x4). +/// For large arrays, please use the 2d create() function from "memory.h" +template +void Alloc2D(size_t nrows, //!< size of the array (number of rows) + size_t ncols, //!< size of the array (number of columns) + Entry ***paaX); //!< pointer to a 2D C-style array + +/// @brief Deallocate arrays that were created using Alloc2D(). +template +void Dealloc2D(Entry ***paaX); //!< pointer to 2D multidimensional array + +// --- Complex numbers --- + +/// @brief "realTypeMap" struct is used to the define "real_t" type mapper +/// which returns the C++ type corresponding to the real component of T. +/// @details Consider a function ("l2_norm()") that calculates the +/// (Euclidian) length of a vector of numbers (either real or complex): +/// @code +/// template real_t l2_norm(const std::vector& vec); +/// @endcode +/// The l2_norm is always real by definition. +/// (See https://en.wikipedia.org/wiki/Norm_(mathematics)#Euclidean_norm) +/// The return type of this function ("real_t") indicates that +/// it returns a real number, even if the entries (of type T) +/// are complex numbers. In other words, by default, real_t returns T. +/// However real_t> returns T (not std::complex). +/// We define "real_t" below using C++ template specializations: + +template +struct realTypeMap { + typedef T type; +}; +template +struct realTypeMap> { + typedef T type; +}; +template +using real_t = typename realTypeMap::type; + + +// --- Operations on vectors (of real and complex numbers) --- + +/// @brief Calculate the inner product of two vectors. +/// (For vectors of complex numbers, std::conj() is used.) +template +T inner_prod(const std::vector& v1, const std::vector& v2); + +/// @brief Compute the sum of the absolute values of the entries in v +/// @returns a real number (of type real_t). +template +real_t l1_norm(const std::vector& v); + +/// @brief Calculate the l2_norm (Euclidian length) of vector v. +/// @returns a real number (of type real_t). +template +real_t l2_norm(const std::vector& v); + +/// @brief Multiply a vector (v) by a scalar (c). +template +void scalar_mul(T1 c, std::vector& v); + +/// @brief Divide vector "v" in-place by it's length (l2_norm(v)). +template +void normalize(std::vector& v); + + +// ---- Eigendecomposition of small dense symmetric matrices ---- + +/// @class Jacobi +/// @brief Calculate the eigenvalues and eigevectors of a symmetric matrix +/// using the Jacobi eigenvalue algorithm. Code for the Jacobi class +/// (along with tests and benchmarks) is available free of copyright at +/// https://github.com/jewettaij/jacobi_pd +/// @note The "Vector" and "Matrix" type arguments can be any +/// C or C++ object that support indexing, including pointers or vectors. +/// @details +/// -- Example: -- +/// +/// int n = 5; // Matrix size +/// double **M; // A symmetric n x n matrix you want to diagonalize +/// double *evals; // Store the eigenvalues here. +/// double **evects; // Store the eigenvectors here. +/// // Allocate space for M, evals, and evects, and load contents of M (omitted) +/// +/// // Now create an instance of Jacobi ("eigen_calc"). This will allocate space +/// // for storing intermediate calculations. Once created, it can be reused +/// // multiple times without paying the cost of allocating memory on the heap. +/// +/// Jacobi eigen_calc(n); +/// +/// // Note: +/// // If the matrix you plan to diagonalize (M) is read-only, use this instead: +/// // Jacobi eigen_calc(n); +/// // If you prefer using vectors over C-style pointers, this works also: +/// // Jacobi&, vector>&> eigen_calc(n); +/// +/// // Now, calculate the eigenvalues and eigenvectors of M +/// +/// eigen_calc.Diagonalize(M, evals, evects); +/// +/// --- end of example --- + +template + +class Jacobi +{ + int n; //!< the size of the matrices you want to diagonalize + Scalar **M; //!< local copy of the current matrix being analyzed + // Precomputed cosine, sine, and tangent of the most recent rotation angle: + Scalar c; //!< = cos(θ) + Scalar s; //!< = sin(θ) + Scalar t; //!< = tan(θ), (note |t|<=1) + int *max_idx_row; //!< = keep track of the the maximum element in row i (>i) + +public: + + /// @brief Specify the size of the matrices you want to diagonalize later. + /// @param n the size (ie. number of rows) of the (square) matrix. + void SetSize(int n); + + Jacobi(int n = 0) { Init(); SetSize(n); } + + ~Jacobi() { Dealloc(); } + + // @typedef choose the criteria for sorting eigenvalues and eigenvectors + typedef enum eSortCriteria { + DO_NOT_SORT, + SORT_DECREASING_EVALS, + SORT_INCREASING_EVALS, + SORT_DECREASING_ABS_EVALS, + SORT_INCREASING_ABS_EVALS + } SortCriteria; + + /// @brief Calculate the eigenvalues and eigevectors of a symmetric matrix + /// using the Jacobi eigenvalue algorithm. + /// @returns The number_of_sweeps (= number_of_iterations / (n*(n-1)/2)). + /// If this equals max_num_sweeps, the algorithm failed to converge. + /// @note To reduce the computation time further, set calc_evecs=false. + int + Diagonalize(ConstMatrix mat, //!< the matrix you wish to diagonalize (size n) + Vector eval, //!< store the eigenvalues here + Matrix evec, //!< store the eigenvectors here (in rows) + SortCriteria sort_criteria=SORT_DECREASING_EVALS,//!& source); + Jacobi(Jacobi&& other); + void swap(Jacobi &other); + Jacobi& operator = (Jacobi source); + +}; // class Jacobi + + + + + +// ---- Eigendecomposition of large sparse (and dense) matrices ---- + +// The "LambdaLanczos" is a class useful for calculating eigenvalues +// and eigenvectors of large sparse matrices. Unfortunately, before the +// LambdaLanczos class can be declared, several additional expressions, +// classes and functions that it depends on must be declared first. + +// @brief Create random vectors used at the beginning of the Lanczos algorithm. +// @note "Partially specialization of function" is not allowed, so +// it is mimicked by wrapping the "init" function with a class template. +template +struct VectorRandomInitializer { +public: + static void init(std::vector&); +}; + +template +struct VectorRandomInitializer> { +public: + static void init(std::vector>&); +}; + +/// @brief Return the number of significant decimal digits of type T. +template +inline constexpr int sig_decimal_digit() { + return (int)(std::numeric_limits::digits * + std::log10(std::numeric_limits::radix)); +} + +/// @brief Return 10^-n where n=number of significant decimal digits of type T. +template +inline constexpr T minimum_effective_decimal() { + return std::pow(10, -sig_decimal_digit()); +} + + +/// @brief The LambdaLanczos class provides a general way to calculate +/// the smallest or largest eigenvalue and the corresponding eigenvector +/// of a symmetric (Hermitian) matrix using the Lanczos algorithm. +/// The characteristic feature of LambdaLanczos is that the matrix-vector +/// multiplication routine used in the Lanczos algorithm is adaptable. +/// @details +/// @code +/// +/// //Example: +/// const int n = 3; +/// double M[n][n] = { {-1.0, -1.0, 1.0}, +/// {-1.0, 1.0, 1.0}, +/// { 1.0, 1.0, 1.0} }; +/// // (Its eigenvalues are {-2, 1, 2}) +/// +/// // Specify the matrix-vector multiplication function +/// auto mv_mul = [&](const vector& in, vector& out) { +/// for(int i = 0;i < n;i++) { +/// for(int j = 0;j < n;j++) { +/// out[i] += M[i][j]*in[j]; +/// } +/// } +/// }; +/// +/// LambdaLanczos engine(mv_mul, n, true); +/// // ("true" means to calculate the largest eigenvalue.) +/// engine.eigenvalue_offset = 3.0 # = max_i{Σ_j|Mij|} (see below) +/// double eigenvalue; +/// vector eigenvector(n); +/// int itern = engine.run(eigenvalue, eigenvector); +/// +/// cout << "Iteration count: " << itern << endl; +/// cout << "Eigen value: " << setprecision(16) << eigenvalue << endl; +/// cout << "Eigen vector:"; +/// for(int i = 0; i < n; i++) { +/// cout << eigenvector[i] << " "; +/// } +/// cout << endl; +/// +/// @endcode +/// This feature allows you to use a matrix whose elements are partially given, +/// e.g. a sparse matrix whose non-zero elements are stored as a list of +/// {row-index, column-index, value} tuples. You can also easily combine +/// LambdaLanczos with existing matrix libraries (e.g. Eigen) +/// +/// @note +/// If the matrices you want to analyze are ordinary square matrices, (as in +/// the example) it might be easier to use "PEigenDense" instead. (It is a +/// wrapper which takes care of all of the LambdaLanczos details for you.) +/// +/// @note +/// IMPORTANT: +/// The Lanczos algorithm finds the largest magnitude eigenvalue, so you +/// MUST ensure that the eigenvalue you are seeking has the largest magnitude +/// (regardless of whether it is the maximum or minimum eigenvalue). +/// To insure that this is so, you can add or subtract a number to all +/// of the eigenvalues of the matrix by specifying the "eigenvalue_offset". +/// This number should exceed the largest magnitude eigenvalue of the matrix. +/// According to the Gershgorin theorem, you can estimate this number using +/// r = max_i{Σ_j|Mij|} = max_j{Σ_i|Mij|} +/// (where Mij are the elements of the matrix and Σ_j denotes the sum over j). +/// If find_maximum == true (if you are seeking the maximum eigenvalue), then +/// eigenvalue_offset = +r +/// If find_maximum == false, then +/// eigenvalue_offset = -r +/// The eigenvalue_offset MUST be specified by the user. LambdaLanczos does +/// not have an efficient and general way to access the elements of the matrix. +/// +/// (You can omit this step if you are seeking the maximum eigenvalue, +/// and the matrix is positive definite, or if you are seeking the minimum +/// eigenvalue and the matrix is negative definite.) +/// +/// @note +/// LambdaLanczos is available under the MIT license and downloadable at: +/// https://github.com/mrcdr/lambda-lanczos + +template +class LambdaLanczos { +public: + LambdaLanczos(); + LambdaLanczos(std::function&, std::vector&)> mv_mul, int matrix_size, bool find_maximum); + LambdaLanczos(std::function&, std::vector&)> mv_mul, int matrix_size) : LambdaLanczos(mv_mul, matrix_size, true) {} + + /// @brief Calculate the principal (largest or smallest) eigenvalue + /// of the matrix (and its corresponding eigenvector). + int run(real_t&, std::vector&) const; + + // --- public data members --- + + /// @brief Specify the size of the matrix you will analyze. + /// (This equals the size of the eigenvector which will be returned.) + int matrix_size; + + /// @brief Specify the function used for matrix*vector multiplication + /// used by the Lanczos algorithm. For an ordinary dense matrix, + /// this function is the ordinary matrix*vector product. (See the + /// example above. For a sparse matrix, it will be something else.) + std::function&, std::vector&)> mv_mul; + + /// @brief Are we searching for the maximum or minimum eigenvalue? + /// @note (Usually, you must also specify eigenvalue_offset.) + bool find_maximum = false; + + /// @brief Shift all the eigenvalues by "eigenvalue_offset" during the Lanczos + /// iteration (ie. during LambdaLanczos::run()). The goal is to insure + /// that the correct eigenvalue is selected (the one with the maximum + /// magnitude). + /// @note The eigevalue returned by LambdaLanczos::run() is not effected + /// because after the iteration is finished, it will subtract this + /// number from the eigenvalue before it is returned to the caller. + /// @note Unless your matrix is positive definite or negative definite, + /// you MUST specify eigenvalue_offset. See comment above for details. + real_t eigenvalue_offset = 0.0; + + /// @brief This function sets "eigenvalue_offset" automatically. + /// @note Using this function is not recommended because it is very slow. + /// For efficiency, set the "eigenvalue_offset" yourself. + void ChooseOffset(); + + // The remaining data members usually can be left alone: + int max_iteration; + real_t eps = minimum_effective_decimal>() * 1e3; + real_t tridiag_eps_ratio = 1e-1; + int initial_vector_size = 200; + std::function&)> init_vector = + VectorRandomInitializer::init; + + // (for those who prefer "Set" functions...) + int SetSize(int matrix_size); + void SetMul(std::function&, + std::vector&)> mv_mul); + void SetInitVec(std::function&)> init_vector); + void SetFindMax(bool find_maximum); + void SetEvalOffset(T eigenvalue_offset); + void SetEpsilon(T eps); + void SetTriEpsRatio(T tridiag_eps_ratio); + +private: + static void schmidt_orth(std::vector&, const std::vector>&); + real_t find_minimum_eigenvalue(const std::vector>&, + const std::vector>&) const; + real_t find_maximum_eigenvalue(const std::vector>&, + const std::vector>&) const; + static real_t tridiagonal_eigen_limit(const std::vector>&, + const std::vector>&); + static int num_of_eigs_smaller_than(real_t, + const std::vector>&, + const std::vector>&); + real_t UpperBoundEvals() const; +}; + + + +/// @brief +/// PEigenDense is a class containing only one useful member function: +/// PrincipalEigen(). This function calculates the principal (largest +/// or smallest) eigenvalue and corresponding eigenvector of a square +/// n x n matrix. This can be faster than diagionalizing the entire matrix. +/// (For example by using the Lanczos algorithm or something similar.) +/// @note +/// This code is a wrapper. Internally, it uses the "LambdaLanczos" class. +/// @note +/// For matrices larger than 13x13, PEigenDense::PrincipleEigen() +/// is usually faster than Jacobi::Diagonalize().) + +template +class PEigenDense +{ + size_t n; // the size of the matrix + std::vector evec; // preallocated vector + +public: + void SetSize(int matrix_size) { + n = matrix_size; + evec.resize(n); + } + + PEigenDense(int matrix_size=0):evec(matrix_size) { + SetSize(matrix_size); + } + + /// @brief Calculate the principal eigenvalue and eigenvector of a matrix. + /// @return Return the principal eigenvalue of the matrix. + /// If you want the eigenvector, pass a non-null "evector" argument. + Scalar + PrincipalEigen(ConstMatrix matrix, //!< the input patrix + Vector evector, //!< the eigenvector is stored here + bool find_max=false); //!< want the max or min eigenvalue? + +}; // class PEigenDense + + + +// -------------------------------------- +// ----------- IMPLEMENTATION ----------- +// -------------------------------------- + + + + +// --- Implementation: Memory allocation for matrices --- +template +void Alloc2D(size_t nrows, // size of the array (number of rows) + size_t ncols, // size of the array (number of columns) + Entry ***paaX) // pointer to a 2D C-style array +{ + assert(paaX); + *paaX = new Entry* [nrows]; //conventional 2D C array (pointer-to-pointer) + (*paaX)[0] = new Entry [nrows * ncols]; // 1D C array (contiguous memor) + for(size_t iy=0; iy +void Dealloc2D(Entry ***paaX) // pointer to a 2D C-style array +{ + if (paaX && *paaX) { + delete [] (*paaX)[0]; + delete [] (*paaX); + *paaX = nullptr; + } +} + +/// @brief ConjugateProduct::prod(a,b) is a function which returns a*b by +/// default. If the arguments are complex numbers, it returns conj(a)*b instead. +template +struct ConjugateProduct { +public: + static T prod(T a, T b) { return a*b; } +}; + +template +struct ConjugateProduct> { +public: + static std::complex prod(std::complex a, std::complex b) { + return std::conj(a)*b; + } +}; + + +// --- Implementation: Operations on vectors (of real and complex numbers) --- + +template +inline T inner_prod(const std::vector& v1, const std::vector& v2) { + return std::inner_product(std::begin(v1), std::end(v1), + std::begin(v2), T(), + [](T a, T b) -> T { return a+b; }, + ConjugateProduct::prod); + // T() means zero value of type T + // This spec is required because std::inner_product calculates + // v1*v2 not conj(v1)*v2 +} + +template +inline real_t l2_norm(const std::vector& vec) { + return std::sqrt(std::real(inner_prod(vec, vec))); + // The norm of any complex vector is real by definition. +} + +template +inline void scalar_mul(T1 a, std::vector& vec) { + int n = vec.size(); + for(int i = 0;i < n;i++) + vec[i] *= a; +} + +template +inline void normalize(std::vector& vec) { + scalar_mul(1.0/l2_norm(vec), vec); +} + + +template +inline real_t l1_norm(const std::vector& vec) { + real_t norm = real_t(); // Zero initialization + for(const T& element : vec) + norm += std::abs(element); + return norm; +} + + + + +// --- Implementation: Eigendecomposition of small dense matrices --- + +template +int Jacobi:: +Diagonalize(ConstMatrix mat, // the matrix you wish to diagonalize (size n) + Vector eval, // store the eigenvalues here + Matrix evec, // store the eigenvectors here (in rows) + SortCriteria sort_criteria, // sort results? + bool calc_evec, // calculate the eigenvectors? + int max_num_sweeps) // limit the number of iterations ("sweeps") +{ + // -- Initialization -- + for (int i = 0; i < n; i++) + for (int j = i; j < n; j++) //copy mat[][] into M[][] + M[i][j] = mat[i][j]; //(M[][] is a local copy we can modify) + + if (calc_evec) + for (int i = 0; i < n; i++) + for (int j = 0; j < n; j++) + evec[i][j] = (i==j) ? 1.0 : 0.0; //Set evec equal to the identity matrix + + for (int i = 0; i < n-1; i++) //Initialize the "max_idx_row[]" array + max_idx_row[i] = MaxEntryRow(M, i); //(which is needed by MaxEntry()) + + // -- Iteration -- + int n_iters; + int max_num_iters = max_num_sweeps*n*(n-1)/2; //"sweep" = n*(n-1)/2 iters + for (n_iters=0; n_iters < max_num_iters; n_iters++) { + int i,j; + MaxEntry(M, i, j); // Find the maximum entry in the matrix. Store in i,j + + // If M[i][j] is small compared to M[i][i] and M[j][j], set it to 0. + if ((M[i][i] + M[i][j] == M[i][i]) && (M[j][j] + M[i][j] == M[j][j])) { + M[i][j] = 0.0; + max_idx_row[i] = MaxEntryRow(M,i); //must also update max_idx_row[i] + } + + if (M[i][j] == 0.0) + break; + + // Otherwise, apply a rotation to make M[i][j] = 0 + CalcRot(M, i, j); // Calculate the parameters of the rotation matrix. + ApplyRot(M, i, j); // Apply this rotation to the M matrix. + if (calc_evec) // Optional: If the caller wants the eigenvectors, then + ApplyRotLeft(evec,i,j); // apply the rotation to the eigenvector matrix + + } //for (int n_iters=0; n_iters < max_num_iters; n_iters++) + + // -- Post-processing -- + for (int i = 0; i < n; i++) + eval[i] = M[i][i]; + + // Optional: Sort results by eigenvalue. + SortRows(eval, evec, n, sort_criteria); + + return n_iters / (n*(n-1)/2); //returns the number of "sweeps" (converged?) +} + + +/// brief Calculate the components of a rotation matrix which performs a +/// rotation in the i,j plane by an angle (θ) that (when multiplied on +/// both sides) will zero the ij'th element of M, so that afterwards +/// M[i][j] = 0. The results will be stored in c, s, and t +/// (which store cos(θ), sin(θ), and tan(θ), respectively). + +template +void Jacobi:: +CalcRot(Scalar const *const *M, //!< matrix + int i, //!< row index + int j) //!< column index +{ + t = 1.0; // = tan(θ) + Scalar M_jj_ii = (M[j][j] - M[i][i]); + if (M_jj_ii != 0.0) { + // kappa = (M[j][j] - M[i][i]) / (2*M[i][j]) + Scalar kappa = M_jj_ii; + t = 0.0; + Scalar M_ij = M[i][j]; + if (M_ij != 0.0) { + kappa /= (2.0*M_ij); + // t satisfies: t^2 + 2*t*kappa - 1 = 0 + // (choose the root which has the smaller absolute value) + t = 1.0 / (std::sqrt(1 + kappa*kappa) + std::abs(kappa)); + if (kappa < 0.0) + t = -t; + } + } + assert(std::abs(t) <= 1.0); + c = 1.0 / std::sqrt(1 + t*t); + s = c*t; +} + + +/// brief Perform a similarity transformation by multiplying matrix M on both +/// sides by a rotation matrix (and its transpose) to eliminate M[i][j]. +/// details This rotation matrix performs a rotation in the i,j plane by +/// angle θ. This function assumes that c=cos(θ). s=som(θ), t=tan(θ) +/// have been calculated previously (using the CalcRot() function). +/// It also assumes that iv) are not computed. +/// +/// verbatim +/// +/// M' = R^T * M * R +/// where R the rotation in the i,j plane and ^T denotes the transpose. +/// i j +/// _ _ +/// | 1 | +/// | . | +/// | . | +/// | 1 | +/// | c ... s | +/// | . . . | +/// R = | . 1 . | +/// | . . . | +/// | -s ... c | +/// | 1 | +/// | . | +/// | . | +/// |_ 1 _| +/// +/// endverbatim +/// +/// Let M' denote the matrix M after multiplication by R^T and R. +/// The components of M' are: +/// M'_uv = Σ_w Σ_z R_wu * M_wz * R_zv +/// +/// note +/// The rotation at location i,j will modify all of the matrix +/// elements containing at least one index which is either i or j +/// such as: M[w][i], M[i][w], M[w][j], M[j][w]. +/// Check and see whether these modified matrix elements exceed the +/// corresponding values in max_idx_row[] array for that row. +/// If so, then update max_idx_row for that row. +/// This is somewhat complicated by the fact that we must only consider +/// matrix elements in the upper-right triangle strictly above the diagonal. +/// (ie. matrix elements whose second index is > the first index). + +template +void Jacobi:: +ApplyRot(Scalar **M, // matrix + int i, // row index + int j) // column index +{ + // Recall that c = cos(θ), s = sin(θ), t = tan(θ) (and t <= 1.0) + + // Compute the diagonal elements of M which have changed: + M[i][i] -= t * M[i][j]; + M[j][j] += t * M[i][j]; + + //Update the off-diagonal elements of M which will change (above the diagonal) + assert(i < j); + M[i][j] = 0.0; + + //compute M[w][i] and M[i][w] for all w!=i,considering above-diagonal elements + for (int w=0; w < i; w++) { // 0 <= w < i < j < n + M[i][w] = M[w][i]; //backup the previous value. store below diagonal (i>w) + M[w][i] = c*M[w][i] - s*M[w][j]; //M[w][i], M[w][j] from previous iteration + if (i == max_idx_row[w]) max_idx_row[w] = MaxEntryRow(M, w); + else if (std::abs(M[w][i])>std::abs(M[w][max_idx_row[w]])) max_idx_row[w]=i; + //assert(max_idx_row[w] == MaxEntryRow(M, w)); + } + for (int w=i+1; w < j; w++) { // 0 <= i < w < j < n + M[w][i] = M[i][w]; //backup the previous value. store below diagonal (w>i) + M[i][w] = c*M[i][w] - s*M[w][j]; //M[i][w], M[w][j] from previous iteration + } + for (int w=j+1; w < n; w++) { // 0 <= i < j+1 <= w < n + M[w][i] = M[i][w]; //backup the previous value. store below diagonal (w>i) + M[i][w] = c*M[i][w] - s*M[j][w]; //M[i][w], M[j][w] from previous iteration + } + + // now that we're done modifying row i, we can update max_idx_row[i] + max_idx_row[i] = MaxEntryRow(M, i); + + //compute M[w][j] and M[j][w] for all w!=j,considering above-diagonal elements + for (int w=0; w < i; w++) { // 0 <= w < i < j < n + M[w][j] = s*M[i][w] + c*M[w][j]; //M[i][w], M[w][j] from previous iteration + if (j == max_idx_row[w]) max_idx_row[w] = MaxEntryRow(M, w); + else if (std::abs(M[w][j])>std::abs(M[w][max_idx_row[w]])) max_idx_row[w]=j; + //assert(max_idx_row[w] == MaxEntryRow(M, w)); + } + for (int w=i+1; w < j; w++) { // 0 <= i+1 <= w < j < n + M[w][j] = s*M[w][i] + c*M[w][j]; //M[w][i], M[w][j] from previous iteration + if (j == max_idx_row[w]) max_idx_row[w] = MaxEntryRow(M, w); + else if (std::abs(M[w][j])>std::abs(M[w][max_idx_row[w]])) max_idx_row[w]=j; + //assert(max_idx_row[w] == MaxEntryRow(M, w)); + } + for (int w=j+1; w < n; w++) { // 0 <= i < j < w < n + M[j][w] = s*M[w][i] + c*M[j][w]; //M[w][i], M[j][w] from previous iteration + } + // now that we're done modifying row j, we can update max_idx_row[j] + max_idx_row[j] = MaxEntryRow(M, j); +} //Jacobi::ApplyRot() + + +/// brief Multiply matrix E on the left by the (previously calculated) +/// rotation matrix. +/// +/// details +/// Multiply matrix M on the LEFT side by a transposed rotation matrix, R^T. +/// This matrix performs a rotation in the i,j plane by angle θ +/// (where the arguments "s" and "c" refer to cos(θ) and sin(θ), respectively). +/// +/// verbatim +/// E'_uv = Σ_w R_wu * E_wv +/// endverbatim + +template +void Jacobi:: +ApplyRotLeft(Matrix E, // matrix + int i, // row index + int j) // column index +{ + // recall that c = cos(θ) and s = sin(θ) + for (int v = 0; v < n; v++) { + Scalar Eiv = E[i][v]; //backup E[i][v] + E[i][v] = c*E[i][v] - s*E[j][v]; + E[j][v] = s*Eiv + c*E[j][v]; + } +} + +/// brief Find the off-diagonal index in row i whose absolute value is largest +template +int Jacobi:: +MaxEntryRow(Scalar const *const *M, int i) const { + int j_max = i+1; + for(int j = i+2; j < n; j++) + if (std::abs(M[i][j]) > std::abs(M[i][j_max])) + j_max = j; + return j_max; +} + +/// brief Find the indices (i_max, j_max) marking the location of the +/// entry in the matrix with the largest absolute value. This +/// uses the max_idx_row[] array to find the answer in O(n) time. +/// returns This function does not return a avalue. However after it is +/// invoked, the location of the largest matrix element will be +/// stored in the i_max and j_max arguments. +template +void Jacobi:: +MaxEntry(Scalar const *const *M, int& i_max, int& j_max) const { + // find the maximum entry in the matrix M in O(n) time + i_max = 0; + j_max = max_idx_row[i_max]; + Scalar max_entry = std::abs(M[i_max][j_max]); + int nm1 = n-1; + for (int i=1; i < nm1; i++) { + int j = max_idx_row[i]; + if (std::abs(M[i][j]) > max_entry) { + max_entry = std::abs(M[i][j]); + i_max = i; + j_max = j; + } + } +} + +/// brief Sort the rows in matrix "evec" according to the numbers in "eval". +template +void Jacobi:: +SortRows(Vector eval, // vector containing the keys used for sorting + Matrix evec, // matrix whose rows will be sorted according to v + int n, // size of the vector and matrix + SortCriteria sort_criteria) const // sort eigenvalues? +{ + for (int i = 0; i < n-1; i++) { + int i_max = i; + for (int j = i+1; j < n; j++) { + // find the "maximum" element in the array starting at position i+1 + switch (sort_criteria) { + case SORT_DECREASING_EVALS: + if (eval[j] > eval[i_max]) + i_max = j; + break; + case SORT_INCREASING_EVALS: + if (eval[j] < eval[i_max]) + i_max = j; + break; + case SORT_DECREASING_ABS_EVALS: + if (std::abs(eval[j]) > std::abs(eval[i_max])) + i_max = j; + break; + case SORT_INCREASING_ABS_EVALS: + if (std::abs(eval[j]) < std::abs(eval[i_max])) + i_max = j; + break; + default: + break; + } + } + std::swap(eval[i], eval[i_max]); // sort "eval" + for (int k = 0; k < n; k++) + std::swap(evec[i][k], evec[i_max][k]); // sort "evec" + } +} + +template +void Jacobi:: +Init() { + n = 0; + M = nullptr; + max_idx_row = nullptr; +} + +template +void Jacobi:: +SetSize(int n) { + Dealloc(); + Alloc(n); +} + +// Implementation: Jacobi memory management: + +template +void Jacobi:: +Alloc(int n) { + this->n = n; + if (n > 0) { + max_idx_row = new int[n]; + Alloc2D(n, n, &M); + } +} + +template +void Jacobi:: +Dealloc() { + if (max_idx_row) + delete [] max_idx_row; + Dealloc2D(&M); + Init(); +} + +// Jacobi copy and move constructor, swap, and assignment operator: + +template +Jacobi:: +Jacobi(const Jacobi& source) +{ + Init(); + SetSize(source.n); + assert(n == source.n); + // The following lines aren't really necessary, because the contents + // of source.M and source.max_idx_row are not needed (since they are + // overwritten every time Jacobi::Diagonalize() is invoked). + std::copy(source.max_idx_row, + source.max_idx_row + n, + max_idx_row); + for (int i = 0; i < n; i++) + std::copy(source.M[i], + source.M[i] + n, + M[i]); +} + +template +void Jacobi:: +swap(Jacobi &other) { + std::swap(n, other.n); + std::swap(max_idx_row, other.max_idx_row); + std::swap(M, other.M); +} + +// Move constructor (C++11) +template +Jacobi:: +Jacobi(Jacobi&& other) { + Init(); + swap(*this, other); +} + +// Using the "copy-swap" idiom for the assignment operator +template +Jacobi& +Jacobi:: +operator = (Jacobi source) { + this->swap(source); + return *this; +} + + + +// --- Implementation: Eigendecomposition of large matrices ---- + +template +inline LambdaLanczos::LambdaLanczos() { + this->matrix_size = 0; + this->max_iteration = 0; + this->find_maximum = 0; +} + + +template +inline LambdaLanczos:: +LambdaLanczos(std::function&, + std::vector&)> mv_mul, + int matrix_size, + bool find_maximum) +{ + this->mv_mul = mv_mul; + this->matrix_size = matrix_size; + this->max_iteration = matrix_size; + this->find_maximum = find_maximum; +} + + +template +inline int LambdaLanczos:: +run(real_t& eigvalue, std::vector& eigvec) const +{ + assert(matrix_size > 0); + assert(0 < this->tridiag_eps_ratio && this->tridiag_eps_ratio < 1); + + std::vector> u; // Lanczos vectors + std::vector> alpha; // Diagonal elements of an approximated tridiagonal matrix + std::vector> beta; // Subdiagonal elements of an approximated tridiagonal matrix + + const int n = this->matrix_size; + + u.reserve(this->initial_vector_size); + alpha.reserve(this->initial_vector_size); + beta.reserve(this->initial_vector_size); + + u.emplace_back(n, 0.0); // Same as u.push_back(std::vector(n, 0.0)) + + std::vector vk(n, 0.0); + + real_t alphak = 0.0; + alpha.push_back(alphak); + real_t betak = 0.0; + beta.push_back(betak); + + std::vector uk(n); + this->init_vector(uk); + normalize(uk); + u.push_back(uk); + + real_t ev, pev; // Calculated eigenvalue and previous one + pev = std::numeric_limits>::max(); + + int itern = this->max_iteration; + for(int k = 1;k <= this->max_iteration;k++) { + // vk = (A + offset*E)uk, here E is the identity matrix + for(int i = 0;i < n;i++) { + vk[i] = uk[i]*this->eigenvalue_offset; + } + this->mv_mul(uk, vk); + + alphak = std::real(inner_prod(u.back(), vk)); + + // The inner product is real. + // Proof: + // = + // On the other hand its complex conjugate is + // ^* = = = + // here the condition that matrix A is a symmetric (Hermitian) is used. + // Therefore + // = ^* + // is real. + + alpha.push_back(alphak); + + for(int i = 0;i < n; i++) { + uk[i] = vk[i] - betak*u[k-1][i] - alphak*u[k][i]; + } + + schmidt_orth(uk, u); + + betak = l2_norm(uk); + beta.push_back(betak); + + if(this->find_maximum) { + ev = find_maximum_eigenvalue(alpha, beta); + } else { + ev = find_minimum_eigenvalue(alpha, beta); + } + + const real_t zero_threshold = minimum_effective_decimal>()*1e-1; + if(betak < zero_threshold) { + u.push_back(uk); + // This element will never be accessed, + // but this "push" guarantees u to always have one more element than + // alpha and beta do. + itern = k; + break; + } + + normalize(uk); + u.push_back(uk); + + if(abs(ev-pev) < std::min(abs(ev), abs(pev))*this->eps) { + itern = k; + break; + } else { + pev = ev; + } + } + + eigvalue = ev - this->eigenvalue_offset; + + int m = alpha.size(); + std::vector cv(m+1); + cv[0] = 0.0; + cv[m] = 0.0; + cv[m-1] = 1.0; + + beta[m-1] = 0.0; + + if(eigvec.size() < n) { + eigvec.resize(n); + } + + for(int i = 0;i < n;i++) { + eigvec[i] = cv[m-1]*u[m-1][i]; + } + + for(int k = m-2;k >= 1;k--) { + cv[k] = ((ev - alpha[k+1])*cv[k+1] - beta[k+1]*cv[k+2])/beta[k]; + + for(int i = 0;i < n;i++) { + eigvec[i] += cv[k]*u[k][i]; + } + } + + normalize(eigvec); + + return itern; + +} //LambdaLancos::run() + + + +template +inline void LambdaLanczos:: +schmidt_orth(std::vector& uorth, const std::vector>& u) +{ + // Vectors in u must be normalized, but uorth doesn't have to be. + + int n = uorth.size(); + + for(int k = 0;k < u.size();k++) { + T innprod = inner_prod(uorth, u[k]); + for(int i = 0;i < n;i++) + uorth[i] -= innprod * u[k][i]; + } +} + + +template +inline real_t LambdaLanczos:: +find_minimum_eigenvalue(const std::vector>& alpha, + const std::vector>& beta) const +{ + real_t eps = this->eps * this->tridiag_eps_ratio; + real_t pmid = std::numeric_limits>::max(); + real_t r = tridiagonal_eigen_limit(alpha, beta); + real_t lower = -r; + real_t upper = r; + real_t mid; + int nmid; // Number of eigenvalues smaller than the "mid" + + while(upper-lower > std::min(abs(lower), abs(upper))*eps) { + mid = (lower+upper)/2.0; + nmid = num_of_eigs_smaller_than(mid, alpha, beta); + if(nmid >= 1) { + upper = mid; + } else { + lower = mid; + } + + if(mid == pmid) { + break; // This avoids an infinite loop due to zero matrix + } + pmid = mid; + } + + return lower; // The "lower" almost equals the "upper" here. +} + + +template +inline real_t LambdaLanczos:: +find_maximum_eigenvalue(const std::vector>& alpha, + const std::vector>& beta) const +{ + real_t eps = this->eps * this->tridiag_eps_ratio; + real_t pmid = std::numeric_limits>::max(); + real_t r = tridiagonal_eigen_limit(alpha, beta); + real_t lower = -r; + real_t upper = r; + real_t mid; + int nmid; // Number of eigenvalues smaller than the "mid" + + int m = alpha.size() - 1; // Number of eigenvalues of the approximated + // triangular matrix, which equals the rank of it + + + while(upper-lower > std::min(abs(lower), abs(upper))*eps) { + mid = (lower+upper)/2.0; + nmid = num_of_eigs_smaller_than(mid, alpha, beta); + + if(nmid < m) { + lower = mid; + } else { + upper = mid; + } + + if(mid == pmid) { + break; // This avoids an infinite loop due to zero matrix + } + pmid = mid; + } + + return lower; // The "lower" almost equals the "upper" here. +} + + +/// @brief +/// Compute the upper bound of the absolute value of eigenvalues +/// by Gerschgorin theorem. This routine gives a rough upper bound, +/// but it is sufficient because the bisection routine using +/// the upper bound converges exponentially. + +template +inline real_t LambdaLanczos:: +tridiagonal_eigen_limit(const std::vector>& alpha, + const std::vector>& beta) +{ + real_t r = l1_norm(alpha); + r += 2*l1_norm(beta); + + return r; +} + + + +// Algorithm from +// Peter Arbenz et al. +// "High Performance Algorithms for Structured Matrix Problems" +// Nova Science Publishers, Inc. + +template +inline int LambdaLanczos:: +num_of_eigs_smaller_than(real_t c, + const std::vector>& alpha, + const std::vector>& beta) +{ + real_t q_i = 1.0; + int count = 0; + int m = alpha.size(); + + for(int i = 1;i < m;i++){ + q_i = alpha[i] - c - beta[i-1]*beta[i-1]/q_i; + if(q_i < 0){ + count++; + } + if(q_i == 0){ + q_i = minimum_effective_decimal>(); + } + } + + return count; +} + + +template +inline void LambdaLanczos::ChooseOffset() { + const auto n = this->matrix_size; + std::vector unit_vec_j(n); + std::vector matrix_column_j(n); + real_t eval_upper_bound = 0.0; + /// According to Gershgorin theorem, the maximum (magnitude) eigenvalue should + /// not exceed max_j{Σ_i|Mij|}. We can infer the contents of each column in + /// the matrix by multiplying it by different unit vectors. This is slow. + for (int j = 0; j < n; j++) { + std::fill(unit_vec_j.begin(), unit_vec_j.end(), 0); // fill with zeros + unit_vec_j[j] = 1.0; // = jth element is 1, all other elements are 0 + // Multiplying the matrix by a unit vector (a vector containing only one + // non-zero element at position j) extracts the jth column of the matrix. + this->mv_mul(unit_vec_j, matrix_column_j); + real_t sum_column = 0.0; // compute Σ_i|Mij| + for (int i = 0; i < n; i++) + sum_column += std::abs(matrix_column_j[i]); + if (eval_upper_bound < sum_column) + eval_upper_bound = sum_column; // compute max_j{Σ_i|Mij|} + } + if (find_maximum) + this->eigenvalue_offset = eval_upper_bound; + else + this->eigenvalue_offset = -eval_upper_bound; +} + + +template +inline int LambdaLanczos::SetSize(int matrix_size) +{ + this->matrix_size = matrix_size; + this->max_iteration = matrix_size; + return matrix_size; +} + +template +inline void LambdaLanczos::SetMul(std::function&, std::vector&)> mv_mul) +{ + this->mv_mul = mv_mul; +} + +template +inline void LambdaLanczos::SetInitVec(std::function&)> init_vector) +{ + this->init_vector = init_vector; +} + +template +inline void LambdaLanczos::SetFindMax(bool find_maximum) { + this->find_maximum = find_maximum; +} + +template +inline void LambdaLanczos::SetEvalOffset(T offset) +{ + this->eigenvalue_offset = offset; +} + +template +inline void LambdaLanczos::SetEpsilon(T epsilon) +{ + this->eps = epsilon; +} + +template +inline void LambdaLanczos::SetTriEpsRatio(T tri_eps_ratio) +{ + this->tridiag_eps_ratio = tri_eps_ratio; +} + + + + + +template +inline void VectorRandomInitializer:: +init(std::vector& v) +{ + std::random_device dev; + std::mt19937 mt(dev()); + std::uniform_real_distribution rand((T)(-1.0), (T)(1.0)); + + int n = v.size(); + for(int i = 0;i < n;i++) { + v[i] = rand(mt); + } + + normalize(v); +} + + +template +inline void VectorRandomInitializer>:: +init(std::vector>& v) +{ + std::random_device dev; + std::mt19937 mt(dev()); + std::uniform_real_distribution rand((T)(-1.0), (T)(1.0)); + + int n = v.size(); + for(int i = 0;i < n;i++) { + v[i] = std::complex(rand(mt), rand(mt)); + } + + normalize(v); +} + + +// --- Implementation of PEigenDense + +template +Scalar PEigenDense:: +PrincipalEigen(ConstMatrix matrix, + Vector eigenvector, + bool find_max) +{ + assert(n > 0); + auto matmul = [&](const std::vector& in, std::vector& out) { + for(int i = 0; i < n; i++) { + for(int j = 0; j < n; j++) { + out[i] += matrix[i][j]*in[j]; + } + } + }; + auto init_vec = [&](std::vector& vec) { + for(int i = 0; i < n; i++) + vec[i] = 0.0; + vec[0] = 1.0; + }; + + // "ll_engine" calculates the eigenvalue and eigenvector. + LambdaLanczos ll_engine(matmul, n, find_max); + + // The Lanczos algorithm selects the eigenvalue with the largest magnitude. + // In order to insure that this is the one we want (maxima or minima), we can + // add a constant to all of the eigenvalues by setting "eigenvalue_offset". + Scalar eval_upper_bound = 0.0; + for (int i = 0; i < n; i++) { + Scalar sum_row = 0.0; + for (int j = 0; j < n; i++) + sum_row += std::abs(matrix[i][j]); + if (eval_upper_bound < sum_row) + eval_upper_bound = sum_row; + } + if (find_max) + ll_engine.eigenvalue_offset = eval_upper_bound; + else + ll_engine.eigenvalue_offset = -eval_upper_bound; + + ll_engine.init_vector = init_vec; + + Scalar eval; + + // This line does all of the hard work: + size_t itern = ll_engine.run(eval, evec); + + for (int i = 0; i < n; i++) + eigenvector[i] = evec[i]; + + return eval; +} + + +} //namespace MathEigen + + +#endif //#ifndef _MATH_EIGEN_H diff --git a/src/USER-REACTION/superpose3d.h b/src/USER-REACTION/superpose3d.h new file mode 100644 index 0000000000000000000000000000000000000000..e61e8e0c93c70184584f6085f2ac4ed7704f51e9 --- /dev/null +++ b/src/USER-REACTION/superpose3d.h @@ -0,0 +1,466 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. (Some of the code in this file is also + available using a more premissive license. See below for details.) + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ +/* ---------------------------------------------------------------------- + Contributing author: Andrew Jewett (Scripps Research) + Availability: https://github.com/jewettaij/superpose3d_cpp (MIT license) +------------------------------------------------------------------------- */ + +/// @file superpose3d.hpp +/// @brief Calculate the optimal rotation, translation and scale needed to +/// optimally fit two different point clouds containing n points. +/// @author Andrew Jewett +/// @license MIT + +#ifndef _SUPERPOSE3D_H +#define _SUPERPOSE3D_H + +#include "math_eigen.h" //functions to calculate eigenvalues and eigenvectors + +// ----------------------------------------------------------- +// ------------------------ INTERFACE ------------------------ +// ----------------------------------------------------------- + +/// @brief Superpose3d is a class with only one important member function +/// Superpose(). It is useful for calculating the optimal +/// superposition (rotations, translations, and scale transformations) +/// between two point clouds of the same size. +template +class Superpose3D { +private: + size_t N; //number of points in the point clouds + Scalar *aWeights; //weights applied to points when computing RMSD + MathEigen::Jacobi eigen_calc; // calc eigenvectors + Scalar **aaXf_shifted; //preallocated space for fixed point cloud (Nx3 array) + Scalar **aaXm_shifted; //preallocated space for mobile point cloud (Nx3 array) + +public: + // The following data members store the rotation, translation and scale + // after optimal superposition + Scalar **R; //!< store optimal rotation here (this is a 3x3 array). + Scalar T[3]; //!< store optimal translation here + Scalar c; //!< store optimal scale (typically 1 unless requested by the user) + Scalar q[4]; //!< quaternion corresponding to the rotation stored in R. + // The first entry of q is cos(θ/2). The remaining 3 entries + // of q are the axis of rotation (with length sin(θ/2)). + // (Note: This is not the same as "p" from Diamond's 1988 paper.) + + Superpose3D(size_t N = 0); //!< N=number of points in both point clouds + + Superpose3D(size_t N, //!< N = number of points in both point clouds + ConstArray aWeights); //!< weight per point for computing RMSD + + ~Superpose3D(); + + /// @brief specify he number of points in both point clouds + void SetNumPoints(size_t N); + /// @brief return the number of points in both point clouds + size_t GetNumPoints() { return N; } + /// @brief specify the weight applied to each point when computing RMSD + void SetWeights(ConstArray aWeights); + + /// @brief Use rigid-body transformations (rotations, translations, and + /// optionally scale transformations) to superimpose two point clouds. + /// + /// @details + /// This function takes two lists of xyz coordinates (of the same length) and + /// attempts to superimpose them using rotations, translations, and + /// (optionally) scale transformations. These transformations are applied to + /// to the coordinates in the "aaXm_orig" array (the "mobile" point cloud) + /// in order to minimize the root-mean-squared-distance (RMSD) between the + /// corresponding points in each cloud, where RMSD is defined as: + /// + /// @verbatim + /// sqrt((Σ_n w[n]*Σ_i |X[n][i] - (Σ_j c*R[i][j]*x[n][j]+T[i])|^2)/(Σ_n w[n])) + /// @endverbatim + /// + /// In this formula, the "X_i" and "x_i" are coordinates of the ith fixed and + /// mobile point clouds (represented by "aaXf" and "aaXm" in the code below) + /// and "w_i" are optional weights (represented by "aWeights" in the code). + /// This function implements a more general variant of the method from: + /// @verbatim + /// R. Diamond, (1988) "A Note on the Rotational Superposition Problem", + /// Acta Cryst. A44, pp. 211-216 + /// @endverbatim + /// + /// @note: + /// This code has been augmented with a new feature. The version in the + /// original paper only considers rotation and translation and does not allow + /// coordinates of either cloud to be rescaled (multiplied by a scalar). + /// To enable the ability to rescale the coordinates, set allow_rescale=true. + /// (By default, this feature is disabled.) + /// + /// @returns + /// The RMSD between the 2 pointclouds after optimal rotation, translation + /// (and scaling if requested) was applied to the "mobile" point cloud. + /// After this function is called, the optimal rotation, translation, + /// and scale (if requested) will be stored in the "R", "T", and "c" + /// public data members. + Scalar Superpose(ConstArrayOfCoords aaXf, //!< coords for the "frozen" object + ConstArrayOfCoords aaXm, //!< coords for the "mobile" object + bool allow_rescale=false //!< rescale mobile object? (c≠1?) + ); + + // C++ boilerplate: copy and move constructor, swap, and assignment operator + Superpose3D(const Superpose3D& source); + Superpose3D(Superpose3D&& other); + void swap(Superpose3D &other); + Superpose3D& operator = (Superpose3D source); + +private: + + // memory management: + void Alloc(size_t N); + void Init(); + void Dealloc(); + +}; // class Superpose3D + + + + + +// -------------- IMPLEMENTATION -------------- + + +template +static inline Scalar SQR(Scalar x) {return x*x;} + +template +Scalar Superpose3D:: +Superpose(ConstArrayOfCoords aaXf, // coords for the "frozen" object + ConstArrayOfCoords aaXm, // coords for the "mobile" object + bool allow_rescale) // rescale mobile object? (c!=1?) +{ + assert(aaXf && aaXm); + assert(aaXf_shifted && aaXm_shifted); + assert(aWeights); + assert(R && T); + + // Find the center of mass of each object: + Scalar aCenter_f[3] = {0.0, 0.0, 0.0}; + Scalar aCenter_m[3] = {0.0, 0.0, 0.0}; + Scalar sum_weights = 0.0; + for (size_t n=0; n < N; n++) { + Scalar weight = aWeights[n]; + for (int d=0; d < 3; d++) { + aCenter_f[d] += aaXf[n][d]*weight; + aCenter_m[d] += aaXm[n][d]*weight; + } + sum_weights += weight; + } + assert(sum_weights != 0.0); + for (int d=0; d < 3; d++) { + aCenter_f[d] /= sum_weights; + aCenter_m[d] /= sum_weights; + } + + //Subtract the centers-of-mass from the original coordinates for each object + for (size_t n=0; n < N; n++) { + for (int d=0; d < 3; d++) { + // shift the coordinates so that the new center of mass is at the origin + aaXf_shifted[n][d] = aaXf[n][d] - aCenter_f[d]; + aaXm_shifted[n][d] = aaXm[n][d] - aCenter_m[d]; + } + } + + // Calculate the "M" array from the Diamond paper (equation 16) + Scalar M[3][3]; + for (int i=0; i < 3; i++) + for (int j=0; j < 3; j++) + M[i][j] = 0.0; + + for (size_t n=0; n < N; n++) { + Scalar weight = aWeights[n]; + for (int i=0; i < 3; i++) { + for (int j=0; j < 3; j++) { + M[i][j] += weight * aaXm_shifted[n][i] * aaXf_shifted[n][j]; + } + } + } + + // Calculate Q (equation 17) + Scalar traceM = 0.0; + for (int i=0; i < 3; i++) + traceM += M[i][i]; + Scalar Q[3][3]; + for (int i=0; i < 3; i++) { + for (int j=0; j < 3; j++) { + Q[i][j] = M[i][j] + M[j][i]; + if (i==j) + Q[i][j] -= 2.0 * traceM; + } + } + + // Calculate V (equation 18) + Scalar V[3]; + V[0] = M[1][2] - M[2][1]; + V[1] = M[2][0] - M[0][2]; + V[2] = M[0][1] - M[1][0]; + + // Calculate "P" (equation 22) + // First we must allocate space for the P matrix. It's not safe to declare: + // Scalar P[4][4]; + // ...because most matrix solvers expect arrays in pointer-to-pointer format. + // (a different format). Below I create a fixed size matrix P in this format. + Scalar _P[4*4]; // Contiguous 1D array for storing contents of the 2D P array + Scalar *P[4]; // This version of P has has ** (pointer-to-pointer) format. + for (int i=0; i < 4; i++) // We must make sure that + P[i] = &(_P[4*i]); // P[i] points to the appropriate location in memory + + // Now fill the P array + for (int i=0; i < 3; i++) + for (int j=0; j < 3; j++) + P[i][j] = Q[i][j]; + P[0][3] = V[0]; + P[3][0] = V[0]; + P[1][3] = V[1]; + P[3][1] = V[1]; + P[2][3] = V[2]; + P[3][2] = V[2]; + P[3][3] = 0.0; + + // The vector "p" contains the optimal rotation (backwards quaternion format) + Scalar p[4] = {0.0, 0.0, 0.0, 1.0}; // default value + Scalar pPp = 0.0; // = p^T * P * p (zero by default) + Scalar rmsd = 0.0; // default value + + bool singular = N<2; // (it doesn't make sense to rotate a single point) + + if (! singular) { + // Calculate the principal eigenvalue and eigenvector of matrix P. + // Store the principal eigenvector in "p" + // The vector "p" will contain the optimal rotation (in quaternion format) + + Scalar Evl[4]; // Store the eigenvalues of P here. + Scalar *Evc[4]; // Store the eigevectors here. This version has ** format. + Scalar _Evc[4*4]; // Contiguous 1D array for storing contents of "Evc" array + for (int i=0; i < 4; i++) // We must make sure that + Evc[i] = &(_Evc[4*i]); // Evc[i] points to the correct location in memory + + eigen_calc.Diagonalize(P, Evl, Evc); + + // Note: The eigenvalues are sorted in decreasing order by default. + pPp = Evl[0]; // = the maximum eigenvalue of P + for (int i=0; i < 4; i++) + p[i] = Evc[0][i]; //copy eigenvector corresponding to this eigenvalue to p + } //if (! singular) + + // Now normalize p + Scalar pnorm = 0.0; + for (int i=0; i < 4; i++) + pnorm += p[i]*p[i]; + pnorm = sqrt(pnorm); + for (int i=0; i < 4; i++) + p[i] /= pnorm; + + // Finally, calculate the rotation matrix corresponding to "p" + // (convert a quaternion into a 3x3 rotation matrix) + + R[0][0] = (p[0]*p[0])-(p[1]*p[1])-(p[2]*p[2])+(p[3]*p[3]); + R[1][1] = -(p[0]*p[0])+(p[1]*p[1])-(p[2]*p[2])+(p[3]*p[3]); + R[2][2] = -(p[0]*p[0])-(p[1]*p[1])+(p[2]*p[2])+(p[3]*p[3]); + R[0][1] = 2*(p[0]*p[1] - p[2]*p[3]); + R[1][0] = 2*(p[0]*p[1] + p[2]*p[3]); + R[1][2] = 2*(p[1]*p[2] - p[0]*p[3]); + R[2][1] = 2*(p[1]*p[2] + p[0]*p[3]); + R[0][2] = 2*(p[0]*p[2] + p[1]*p[3]); + R[2][0] = 2*(p[0]*p[2] - p[1]*p[3]); + + q[0] = p[3]; // Note: The "p" variable is not a quaternion in the + q[1] = p[0]; // conventional sense because its elements + q[2] = p[1]; // are in the wrong order. I correct for that here. + q[3] = p[2]; // "q" is the quaternion correspond to rotation R. + + // Optional: Decide the scale factor, c + c = 1.0; // by default, don't rescale the coordinates + + if ((allow_rescale) && (! singular)) { + Scalar Waxaixai = 0.0; + Scalar WaxaiXai = 0.0; + for (size_t a=0; a < N; a++) { + Scalar weight = aWeights[a]; + for (int i=0; i < 3; i++) { + Waxaixai += weight * aaXm_shifted[a][i] * aaXm_shifted[a][i]; + WaxaiXai += weight * aaXm_shifted[a][i] * aaXf_shifted[a][i]; + } + } + c = (WaxaiXai + pPp) / Waxaixai; + + } // if (allow_rescale) + + // Finally compute the RMSD between the two coordinate sets: + // First compute E0 from equation 24 of the paper + Scalar E0 = 0.0; + for (size_t n=0; n < N; n++) { + Scalar weight = aWeights[n]; + for (int d=0; d < 3; d++) + // (remember to include the scale factor "c" that we inserted) + E0 += weight * (SQR(aaXf_shifted[n][d] - c*aaXm_shifted[n][d])); + } + Scalar sum_sqr_dist = E0 - c*2.0*pPp; + if (sum_sqr_dist < 0.0) //(edge case due to rounding error) + sum_sqr_dist = 0.0; + + if (! singular) + rmsd = sqrt(sum_sqr_dist/sum_weights); + + // Lastly, calculate the translational offset. + // If c!=1, this is slightly more complicated than it seems. Recall that: + //RMSD=sqrt((Sum_i w_i * |X_i - Sum_j(c*R_ij*x_j + T_i))|^2) / (Sum_j w_j)) + // =sqrt((Sum_i w_i * |X_i - x_i')|^2) / (Sum_j w_j)) + // where + // x_i' = Sum_j(c*R_ij*x_j) + T_i + // = Xcm_i + c*R_ij*(x_j - xcm_j) + // and Xcm and xcm = center_of_mass for the frozen and mobile point clouds + // + // Hence: + // T_i = Xcm_i - Sum_j c*R_ij*xcm_j + // In the code, Xcm_i is represented by "aCenter_f[i]" + // and xcm_j is represented by "aCenter_m[j]" + + for (int i=0; i < 3; i++) { + T[i] = aCenter_f[i]; + for (int j=0; j < 3; j++) { + T[i] -= c*R[i][j]*aCenter_m[j]; + } + } + + return rmsd; + +} //Superpose3D::Superpose(aaXf, aaXm, allow_rescale) + + +template +void Superpose3D:: +SetNumPoints(size_t N) { + Dealloc(); + Alloc(N); +} + +template +void Superpose3D:: +SetWeights(ConstArray aWeights) { + for (size_t i = 0; i < N; i++) + this->aWeights[i] = aWeights[i]; +} + +template +Superpose3D::Superpose3D(size_t N) + :eigen_calc(4) +{ + Init(); + Alloc(N); +} + +template +Superpose3D:: +Superpose3D(size_t N, ConstArray aWeights) + :eigen_calc(4) +{ + Init(); + Alloc(N); + SetWeights(aWeights); +} + +template +Superpose3D::~Superpose3D() { + Dealloc(); +} + +template +void Superpose3D:: +Init() { + R = nullptr; + aWeights = nullptr; + aaXf_shifted = nullptr; + aaXm_shifted = nullptr; +} + +// memory management: + +template +void Superpose3D:: +Alloc(size_t N) { + this->N = N; + aWeights = new Scalar [N]; + for (size_t i = 0; i < N; i++) + aWeights[i] = 1.0 / N; + MathEigen::Alloc2D(3, 3, &R); + MathEigen::Alloc2D(N, 3, &aaXf_shifted); + MathEigen::Alloc2D(N, 3, &aaXm_shifted); +} + +template +void Superpose3D:: +Dealloc() { + if (R) + MathEigen::Dealloc2D(&R); + if (aWeights) + delete [] aWeights; + if (aaXf_shifted) + MathEigen::Dealloc2D(&aaXf_shifted); + if (aaXm_shifted) + MathEigen::Dealloc2D(&aaXm_shifted); +} + +// memory management: copy and move constructor, swap, and assignment operator: + +template +Superpose3D:: +Superpose3D(const Superpose3D& source) + :eigen_calc(4) +{ + Init(); + Alloc(source.N); + assert(N == source.N); + for (int i = 0; i < N; i++) { + std::copy(source.aaXf_shifted[i], + source.aaXf_shifted[i] + 3, + aaXf_shifted[i]); + std::copy(source.aaXm_shifted[i], + source.aaXm_shifted[i] + 3, + aaXm_shifted[i]); + } +} + +template +void Superpose3D:: +swap(Superpose3D &other) { + std::swap(N, other.N); + std::swap(R, other.R); + std::swap(aaXf_shifted, other.aaXf_shifted); + std::swap(aaXm_shifted, other.aaXm_shifted); +} + +// Move constructor (C++11) +template +Superpose3D:: +Superpose3D(Superpose3D&& other) { + Init(); + swap(*this, other); +} + +// Using the "copy-swap" idiom for the assignment operator +template +Superpose3D& +Superpose3D:: +operator = (Superpose3D source) { + this->swap(source); + return *this; +} + + +#endif //#ifndef _SUPERPOSE3D_H diff --git a/src/USER-REAXC/fix_qeq_reax.cpp b/src/USER-REAXC/fix_qeq_reax.cpp index b9cff75d65c391f67a729708520c97ed416bc214..433fd82bcd15e078840346d8597285cf36708c78 100644 --- a/src/USER-REAXC/fix_qeq_reax.cpp +++ b/src/USER-REAXC/fix_qeq_reax.cpp @@ -66,12 +66,12 @@ FixQEqReax::FixQEqReax(LAMMPS *lmp, int narg, char **arg) : if (narg<8 || narg>9) error->all(FLERR,"Illegal fix qeq/reax command"); - nevery = force->inumeric(FLERR,arg[3]); + nevery = utils::inumeric(FLERR,arg[3],false,lmp); if (nevery <= 0) error->all(FLERR,"Illegal fix qeq/reax command"); - swa = force->numeric(FLERR,arg[4]); - swb = force->numeric(FLERR,arg[5]); - tolerance = force->numeric(FLERR,arg[6]); + swa = utils::numeric(FLERR,arg[4],false,lmp); + swb = utils::numeric(FLERR,arg[5],false,lmp); + tolerance = utils::numeric(FLERR,arg[6],false,lmp); int len = strlen(arg[7]) + 1; pertype_option = new char[len]; strcpy(pertype_option,arg[7]); diff --git a/src/USER-REAXC/fix_reaxc_bonds.cpp b/src/USER-REAXC/fix_reaxc_bonds.cpp index f7ad7ed6d4b4d0c4ef26e82a690ce9789d45dc72..5c57fed261e6d73f38f7a716b4efdf4ea8c05794 100644 --- a/src/USER-REAXC/fix_reaxc_bonds.cpp +++ b/src/USER-REAXC/fix_reaxc_bonds.cpp @@ -44,7 +44,7 @@ FixReaxCBonds::FixReaxCBonds(LAMMPS *lmp, int narg, char **arg) : ntypes = atom->ntypes; nmax = atom->nmax; - nevery = force->inumeric(FLERR,arg[3]); + nevery = utils::inumeric(FLERR,arg[3],false,lmp); if (nevery <= 0 ) error->all(FLERR,"Illegal fix reax/c/bonds command"); diff --git a/src/USER-REAXC/pair_reaxc.cpp b/src/USER-REAXC/pair_reaxc.cpp index c89ac5ba77e849b4a2b593d497a714d704ca952a..e0888e8514bbfd72982e50096e5049c95d60650e 100644 --- a/src/USER-REAXC/pair_reaxc.cpp +++ b/src/USER-REAXC/pair_reaxc.cpp @@ -274,20 +274,20 @@ void PairReaxC::settings(int narg, char **arg) iarg += 2; } else if (strcmp(arg[iarg],"safezone") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal pair_style reax/c command"); - system->safezone = force->numeric(FLERR,arg[iarg+1]); + system->safezone = utils::numeric(FLERR,arg[iarg+1],false,lmp); if (system->safezone < 0.0) error->all(FLERR,"Illegal pair_style reax/c safezone command"); system->saferzone = system->safezone*1.2 + 0.2; iarg += 2; } else if (strcmp(arg[iarg],"mincap") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal pair_style reax/c command"); - system->mincap = force->inumeric(FLERR,arg[iarg+1]); + system->mincap = utils::inumeric(FLERR,arg[iarg+1],false,lmp); if (system->mincap < 0) error->all(FLERR,"Illegal pair_style reax/c mincap command"); iarg += 2; } else if (strcmp(arg[iarg],"minhbonds") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal pair_style reax/c command"); - system->minhbonds = force->inumeric(FLERR,arg[iarg+1]); + system->minhbonds = utils::inumeric(FLERR,arg[iarg+1],false,lmp); if (system->minhbonds < 0) error->all(FLERR,"Illegal pair_style reax/c minhbonds command"); iarg += 2; @@ -317,7 +317,7 @@ void PairReaxC::coeff( int nargs, char **args ) char *file = args[2]; FILE *fp; - fp = force->open_potential(file); + fp = utils::open_potential(file,lmp,nullptr); if (fp != NULL) Read_Force_Field(fp, &(system->reax_param), control); else { diff --git a/src/USER-SCAFACOS/scafacos.cpp b/src/USER-SCAFACOS/scafacos.cpp index 497442fbe8f53c11a7b72f645cd6d69b6905692f..c49f99a5a0f5e51e15c720c84e8e3ba7917d4520 100644 --- a/src/USER-SCAFACOS/scafacos.cpp +++ b/src/USER-SCAFACOS/scafacos.cpp @@ -57,7 +57,7 @@ void Scafacos::settings(int narg, char **arg) int n = strlen(arg[0]) + 1; method = new char[n]; strcpy(method,arg[0]); - tolerance = force->numeric(FLERR,arg[1]); + tolerance = utils::numeric(FLERR,arg[1],false,lmp); // optional ScaFaCoS library setting defaults // choose the correct default tolerance type for chosen method diff --git a/src/USER-SDPD/fix_meso_move.cpp b/src/USER-SDPD/fix_meso_move.cpp index 6db2aaa478f4b6697d90a2f42863954c33bb5aa5..c39d142a6ed57542e5166e30fa3488922452f91b 100644 --- a/src/USER-SDPD/fix_meso_move.cpp +++ b/src/USER-SDPD/fix_meso_move.cpp @@ -74,17 +74,17 @@ FixMesoMove::FixMesoMove (LAMMPS *lmp, int narg, char **arg) : if (strcmp(arg[4],"NULL") == 0) vxflag = 0; else { vxflag = 1; - vx = force->numeric(FLERR,arg[4]); + vx = utils::numeric(FLERR,arg[4],false,lmp); } if (strcmp(arg[5],"NULL") == 0) vyflag = 0; else { vyflag = 1; - vy = force->numeric(FLERR,arg[5]); + vy = utils::numeric(FLERR,arg[5],false,lmp); } if (strcmp(arg[6],"NULL") == 0) vzflag = 0; else { vzflag = 1; - vz = force->numeric(FLERR,arg[6]); + vz = utils::numeric(FLERR,arg[6],false,lmp); } } else if (strcmp(arg[3],"wiggle") == 0) { @@ -94,32 +94,32 @@ FixMesoMove::FixMesoMove (LAMMPS *lmp, int narg, char **arg) : if (strcmp(arg[4],"NULL") == 0) axflag = 0; else { axflag = 1; - ax = force->numeric(FLERR,arg[4]); + ax = utils::numeric(FLERR,arg[4],false,lmp); } if (strcmp(arg[5],"NULL") == 0) ayflag = 0; else { ayflag = 1; - ay = force->numeric(FLERR,arg[5]); + ay = utils::numeric(FLERR,arg[5],false,lmp); } if (strcmp(arg[6],"NULL") == 0) azflag = 0; else { azflag = 1; - az = force->numeric(FLERR,arg[6]); + az = utils::numeric(FLERR,arg[6],false,lmp); } - period = force->numeric(FLERR,arg[7]); + period = utils::numeric(FLERR,arg[7],false,lmp); if (period <= 0.0) error->all(FLERR,"Illegal fix meso/move command"); } else if (strcmp(arg[3],"rotate") == 0) { if (narg < 11) error->all(FLERR,"Illegal fix meso/move command"); iarg = 11; mstyle = ROTATE; - point[0] = force->numeric(FLERR,arg[4]); - point[1] = force->numeric(FLERR,arg[5]); - point[2] = force->numeric(FLERR,arg[6]); - axis[0] = force->numeric(FLERR,arg[7]); - axis[1] = force->numeric(FLERR,arg[8]); - axis[2] = force->numeric(FLERR,arg[9]); - period = force->numeric(FLERR,arg[10]); + point[0] = utils::numeric(FLERR,arg[4],false,lmp); + point[1] = utils::numeric(FLERR,arg[5],false,lmp); + point[2] = utils::numeric(FLERR,arg[6],false,lmp); + axis[0] = utils::numeric(FLERR,arg[7],false,lmp); + axis[1] = utils::numeric(FLERR,arg[8],false,lmp); + axis[2] = utils::numeric(FLERR,arg[9],false,lmp); + period = utils::numeric(FLERR,arg[10],false,lmp); if (period <= 0.0) error->all(FLERR,"Illegal fix meso/move command"); } else if (strcmp(arg[3],"variable") == 0) { diff --git a/src/USER-SDPD/pair_sdpd_taitwater_isothermal.cpp b/src/USER-SDPD/pair_sdpd_taitwater_isothermal.cpp index b6f0c63546bef26eb5bfe15dae0f407a994b4a2c..b215e8d278f9c3892e99fce85405fb84b6a504c7 100644 --- a/src/USER-SDPD/pair_sdpd_taitwater_isothermal.cpp +++ b/src/USER-SDPD/pair_sdpd_taitwater_isothermal.cpp @@ -30,6 +30,7 @@ #include "error.h" #include "domain.h" #include "update.h" +#include "utils.h" #ifndef USE_ZEST #include "random_mars.h" #endif @@ -242,15 +243,15 @@ void PairSDPDTaitwaterIsothermal::settings (int narg, char **arg) { error->all (FLERR, "Illegal number of arguments for " "pair_style sdpd/taitwater/isothermal"); - temperature = force->numeric (FLERR, arg[0]); - viscosity = force->numeric (FLERR, arg[1]); + temperature = utils::numeric(FLERR, arg[0], false, lmp); + viscosity = utils::numeric(FLERR, arg[1], false, lmp); if (temperature <= 0) error->all (FLERR, "Temperature must be positive"); if (viscosity <= 0) error->all (FLERR, "Viscosity must be positive"); // seed is immune to underflow/overflow because it is unsigned seed = comm->nprocs + comm->me + atom->nlocal; - if (narg == 3) seed += force->inumeric (FLERR, arg[2]); + if (narg == 3) seed += utils::inumeric(FLERR, arg[2], false, lmp); #ifdef USE_ZEST generator.seed (seed); #else @@ -270,12 +271,12 @@ void PairSDPDTaitwaterIsothermal::coeff (int narg, char **arg) { if (!allocated) allocate(); int ilo, ihi, jlo, jhi; - force->bounds (FLERR, arg[0], atom->ntypes, ilo, ihi); - force->bounds (FLERR, arg[1], atom->ntypes, jlo, jhi); + utils::bounds(FLERR, arg[0], 1, atom->ntypes, ilo, ihi, error); + utils::bounds(FLERR, arg[1], 1, atom->ntypes, jlo, jhi, error); - double rho0_one = force->numeric (FLERR,arg[2]); - double soundspeed_one = force->numeric (FLERR,arg[3]); - double cut_one = force->numeric (FLERR,arg[4]); + double rho0_one = utils::numeric(FLERR,arg[2], false, lmp); + double soundspeed_one = utils::numeric(FLERR,arg[3], false, lmp); + double cut_one = utils::numeric(FLERR,arg[4], false, lmp); double B_one = soundspeed_one * soundspeed_one * rho0_one / 7.0; if (rho0_one <= 0) error->all (FLERR, "Density must be positive"); diff --git a/src/USER-SMD/fix_smd_integrate_tlsph.cpp b/src/USER-SMD/fix_smd_integrate_tlsph.cpp index ed039d39d4d6acb11d6b872b96495d720a974147..7d5e89f89585d0088aa5e8feeca7669ce46c7a6e 100644 --- a/src/USER-SMD/fix_smd_integrate_tlsph.cpp +++ b/src/USER-SMD/fix_smd_integrate_tlsph.cpp @@ -74,7 +74,7 @@ FixSMDIntegrateTlsph::FixSMDIntegrateTlsph(LAMMPS *lmp, int narg, char **arg) : error->all(FLERR, "expected number following limit_velocity"); } - vlimit = force->numeric(FLERR, arg[iarg]); + vlimit = utils::numeric(FLERR, arg[iarg],false,lmp); if (comm->me == 0) { printf("... will limit velocities to <= %g\n", vlimit); } diff --git a/src/USER-SMD/fix_smd_integrate_ulsph.cpp b/src/USER-SMD/fix_smd_integrate_ulsph.cpp index 4978416e668109a415a2bbcff5b0ec7495333583..215759331e3816cf2f119968ac74b1fe6e46b83b 100644 --- a/src/USER-SMD/fix_smd_integrate_ulsph.cpp +++ b/src/USER-SMD/fix_smd_integrate_ulsph.cpp @@ -77,21 +77,21 @@ FixSMDIntegrateUlsph::FixSMDIntegrateUlsph(LAMMPS *lmp, int narg, char **arg) : error->all(FLERR, "expected three numbers following adjust_radius: factor, min, max"); } - adjust_radius_factor = force->numeric(FLERR, arg[iarg]); + adjust_radius_factor = utils::numeric(FLERR, arg[iarg],false,lmp); iarg++; if (iarg == narg) { error->all(FLERR, "expected three numbers following adjust_radius: factor, min, max"); } - min_nn = force->inumeric(FLERR, arg[iarg]); + min_nn = utils::inumeric(FLERR, arg[iarg],false,lmp); iarg++; if (iarg == narg) { error->all(FLERR, "expected three numbers following adjust_radius: factor, min, max"); } - max_nn = force->inumeric(FLERR, arg[iarg]); + max_nn = utils::inumeric(FLERR, arg[iarg],false,lmp); if (comm->me == 0) { printf("... will adjust smoothing length dynamically with factor %g to achieve %d to %d neighbors per particle.\n ", @@ -103,7 +103,7 @@ FixSMDIntegrateUlsph::FixSMDIntegrateUlsph(LAMMPS *lmp, int narg, char **arg) : if (iarg == narg) { error->all(FLERR, "expected number following limit_velocity"); } - vlimit = force->numeric(FLERR, arg[iarg]); + vlimit = utils::numeric(FLERR, arg[iarg],false,lmp); if (comm->me == 0) { printf("... will limit velocities to <= %g\n", vlimit); diff --git a/src/USER-SMD/fix_smd_move_triangulated_surface.cpp b/src/USER-SMD/fix_smd_move_triangulated_surface.cpp index cbaad9ac4cf62e39ccfb0b7d66ea0ad18a900146..2aa6f980ed8c2b2c8c1c2517d70fd31872c8abb5 100644 --- a/src/USER-SMD/fix_smd_move_triangulated_surface.cpp +++ b/src/USER-SMD/fix_smd_move_triangulated_surface.cpp @@ -77,19 +77,19 @@ FixSMDMoveTriSurf::FixSMDMoveTriSurf(LAMMPS *lmp, int narg, char **arg) : if (iarg == narg) { error->all(FLERR, "expected three floats for velocity following *LINEAR"); } - vx = force->numeric(FLERR, arg[iarg]); + vx = utils::numeric(FLERR, arg[iarg],false,lmp); iarg++; if (iarg == narg) { error->all(FLERR, "expected three floats for velocity following *LINEAR"); } - vy = force->numeric(FLERR, arg[iarg]); + vy = utils::numeric(FLERR, arg[iarg],false,lmp); iarg++; if (iarg == narg) { error->all(FLERR, "expected three floats for velocity following *LINEAR"); } - vz = force->numeric(FLERR, arg[iarg]); + vz = utils::numeric(FLERR, arg[iarg],false,lmp); } else if (strcmp(arg[iarg], "*WIGGLE") == 0) { wiggleFlag = true; @@ -101,25 +101,25 @@ FixSMDMoveTriSurf::FixSMDMoveTriSurf(LAMMPS *lmp, int narg, char **arg) : if (iarg == narg) { error->all(FLERR, "expected 4 floats following *WIGGLE : vx vy vz max_travel"); } - vx = force->numeric(FLERR, arg[iarg]); + vx = utils::numeric(FLERR, arg[iarg],false,lmp); iarg++; if (iarg == narg) { error->all(FLERR, "expected 4 floats following *WIGGLE : vx vy vz max_travel"); } - vy = force->numeric(FLERR, arg[iarg]); + vy = utils::numeric(FLERR, arg[iarg],false,lmp); iarg++; if (iarg == narg) { error->all(FLERR, "expected 4 floats following *WIGGLE : vx vy vz max_travel"); } - vz = force->numeric(FLERR, arg[iarg]); + vz = utils::numeric(FLERR, arg[iarg],false,lmp); iarg++; if (iarg == narg) { error->all(FLERR, "expected 4 floats following *WIGGLE : vx vy vz max_travel"); } - wiggle_max_travel = force->numeric(FLERR, arg[iarg]); + wiggle_max_travel = utils::numeric(FLERR, arg[iarg],false,lmp); } else if (strcmp(arg[iarg], "*ROTATE") == 0) { rotateFlag = true; @@ -128,43 +128,43 @@ FixSMDMoveTriSurf::FixSMDMoveTriSurf(LAMMPS *lmp, int narg, char **arg) : if (iarg == narg) { error->all(FLERR, "expected 7 floats following *ROTATE: origin, rotation axis, and rotation period"); } - origin(0) = force->numeric(FLERR, arg[iarg]); + origin(0) = utils::numeric(FLERR, arg[iarg],false,lmp); iarg++; if (iarg == narg) { error->all(FLERR, "expected 7 floats following *ROTATE: origin, rotation axis, and rotation period"); } - origin(1) = force->numeric(FLERR, arg[iarg]); + origin(1) = utils::numeric(FLERR, arg[iarg],false,lmp); iarg++; if (iarg == narg) { error->all(FLERR, "expected 7 floats following *ROTATE: origin, rotation axis, and rotation period"); } - origin(2) = force->numeric(FLERR, arg[iarg]); + origin(2) = utils::numeric(FLERR, arg[iarg],false,lmp); iarg++; if (iarg == narg) { error->all(FLERR, "expected 7 floats following *ROTATE: origin, rotation axis, and rotation period"); } - rotation_axis(0) = force->numeric(FLERR, arg[iarg]); + rotation_axis(0) = utils::numeric(FLERR, arg[iarg],false,lmp); iarg++; if (iarg == narg) { error->all(FLERR, "expected 7 floats following *ROTATE: origin, rotation axis, and rotation period"); } - rotation_axis(1) = force->numeric(FLERR, arg[iarg]); + rotation_axis(1) = utils::numeric(FLERR, arg[iarg],false,lmp); iarg++; if (iarg == narg) { error->all(FLERR, "expected 7 floats following *ROTATE: origin, rotation axis, and rotation period"); } - rotation_axis(2) = force->numeric(FLERR, arg[iarg]); + rotation_axis(2) = utils::numeric(FLERR, arg[iarg],false,lmp); iarg++; if (iarg == narg) { error->all(FLERR, "expected 7 floats following *ROTATE: origin, rotation axis, and rotation period"); } - rotation_period = force->numeric(FLERR, arg[iarg]); + rotation_period = utils::numeric(FLERR, arg[iarg],false,lmp); /* * construct rotation matrix diff --git a/src/USER-SMD/fix_smd_setvel.cpp b/src/USER-SMD/fix_smd_setvel.cpp index 2964ded5445e27ceaa7d98ac830918d4c7bb75b3..895e5b1a25dffca7cbbd7e4e45b872ca4b8e579e 100644 --- a/src/USER-SMD/fix_smd_setvel.cpp +++ b/src/USER-SMD/fix_smd_setvel.cpp @@ -66,7 +66,7 @@ FixSMDSetVel::FixSMDSetVel(LAMMPS *lmp, int narg, char **arg) : } else if (strcmp(arg[3], "NULL") == 0) { xstyle = NONE; } else { - xvalue = force->numeric(FLERR, arg[3]); + xvalue = utils::numeric(FLERR, arg[3],false,lmp); xstyle = CONSTANT; } if (strstr(arg[4], "v_") == arg[4]) { @@ -76,7 +76,7 @@ FixSMDSetVel::FixSMDSetVel(LAMMPS *lmp, int narg, char **arg) : } else if (strcmp(arg[4], "NULL") == 0) { ystyle = NONE; } else { - yvalue = force->numeric(FLERR, arg[4]); + yvalue = utils::numeric(FLERR, arg[4],false,lmp); ystyle = CONSTANT; } if (strstr(arg[5], "v_") == arg[5]) { @@ -86,7 +86,7 @@ FixSMDSetVel::FixSMDSetVel(LAMMPS *lmp, int narg, char **arg) : } else if (strcmp(arg[5], "NULL") == 0) { zstyle = NONE; } else { - zvalue = force->numeric(FLERR, arg[5]); + zvalue = utils::numeric(FLERR, arg[5],false,lmp); zstyle = CONSTANT; } diff --git a/src/USER-SMD/fix_smd_wall_surface.cpp b/src/USER-SMD/fix_smd_wall_surface.cpp index 9183bcd9eafd5fa8efb1c7003462fc76559abafc..ba3a324d5698a5b7332c5018015d1f3c207c3bbf 100644 --- a/src/USER-SMD/fix_smd_wall_surface.cpp +++ b/src/USER-SMD/fix_smd_wall_surface.cpp @@ -51,8 +51,8 @@ FixSMDWallSurface::FixSMDWallSurface(LAMMPS *lmp, int narg, char **arg) : error->all(FLERR, "Illegal number of arguments for fix smd/wall_surface"); filename = strdup(arg[3]); - wall_particle_type = force->inumeric(FLERR, arg[4]); - wall_molecule_id = force->inumeric(FLERR, arg[5]); + wall_particle_type = utils::inumeric(FLERR,arg[4],false,lmp); + wall_molecule_id = utils::inumeric(FLERR,arg[5],false,lmp); if (wall_molecule_id < 65535) { error->one(FLERR, "wall molcule id must be >= 65535\n"); } @@ -310,7 +310,9 @@ void FixSMDWallSurface::read_triangles(int pass) { error->all(FLERR, "Incorrect atom format in data file"); } - normal << force->numeric(FLERR, values[2]), force->numeric(FLERR, values[3]), force->numeric(FLERR, values[4]); + normal << utils::numeric(FLERR, values[2], false, lmp), + utils::numeric(FLERR, values[3], false, lmp), + utils::numeric(FLERR, values[4], false, lmp); //cout << "normal is " << normal << endl; delete[] values; @@ -349,7 +351,9 @@ void FixSMDWallSurface::read_triangles(int pass) { error->all(FLERR, "Incorrect vertex line"); } - vert[k] << force->numeric(FLERR, values[1]), force->numeric(FLERR, values[2]), force->numeric(FLERR, values[3]); + vert[k] << utils::numeric(FLERR, values[1], false, lmp), + utils::numeric(FLERR, values[2], false, lmp), + utils::numeric(FLERR, values[3], false, lmp); //cout << "vertex is " << vert[k] << endl; //printf("%s %s %s\n", values[1], values[2], values[3]); delete[] values; diff --git a/src/USER-SMD/pair_smd_hertz.cpp b/src/USER-SMD/pair_smd_hertz.cpp index 97be94d83319b38b131301fe57adb7de12aff27b..67fda5f18d8b171da6dff50451546222acfd3720 100644 --- a/src/USER-SMD/pair_smd_hertz.cpp +++ b/src/USER-SMD/pair_smd_hertz.cpp @@ -40,6 +40,7 @@ #include "neigh_request.h" #include "memory.h" #include "error.h" +#include "utils.h" using namespace LAMMPS_NS; @@ -239,7 +240,7 @@ void PairHertz::settings(int narg, char **arg) { if (narg != 1) error->all(FLERR, "Illegal number of args for pair_style hertz"); - scale = force->numeric(FLERR, arg[0]); + scale = utils::numeric(FLERR, arg[0],false,lmp); if (comm->me == 0) { printf("\n>>========>>========>>========>>========>>========>>========>>========>>========\n"); printf("SMD/HERTZ CONTACT SETTINGS:\n"); @@ -260,8 +261,8 @@ void PairHertz::coeff(int narg, char **arg) { allocate(); int ilo, ihi, jlo, jhi; - force->bounds(FLERR,arg[0], atom->ntypes, ilo, ihi); - force->bounds(FLERR,arg[1], atom->ntypes, jlo, jhi); + utils::bounds(FLERR,arg[0], 1, atom->ntypes, ilo, ihi, error); + utils::bounds(FLERR,arg[1], 1, atom->ntypes, jlo, jhi, error); double bulkmodulus_one = atof(arg[2]); diff --git a/src/USER-SMD/pair_smd_tlsph.cpp b/src/USER-SMD/pair_smd_tlsph.cpp index c932086a3279193adaa96f6fc268c862519e94fb..1ba4b37520067e3e87dc9f60f36069abb2140a90 100644 --- a/src/USER-SMD/pair_smd_tlsph.cpp +++ b/src/USER-SMD/pair_smd_tlsph.cpp @@ -935,7 +935,7 @@ void PairTlsph::settings(int narg, char **arg) { } update_method = UPDATE_CONSTANT_THRESHOLD; - update_threshold = force->numeric(FLERR, arg[iarg]); + update_threshold = utils::numeric(FLERR, arg[iarg],false,lmp); } else if (strcmp(arg[iarg], "*UPDATE_PAIRWISE") == 0) { iarg++; @@ -944,7 +944,7 @@ void PairTlsph::settings(int narg, char **arg) { } update_method = UPDATE_PAIRWISE_RATIO; - update_threshold = force->numeric(FLERR, arg[iarg]); + update_threshold = utils::numeric(FLERR, arg[iarg],false,lmp); } else { char msg[128]; @@ -1002,11 +1002,11 @@ void PairTlsph::coeff(int narg, char **arg) { /* * check that TLSPH parameters are given only in i,i form */ - if (force->inumeric(FLERR, arg[0]) != force->inumeric(FLERR, arg[1])) { + if (utils::inumeric(FLERR, arg[0], false, lmp) != utils::inumeric(FLERR, arg[1], false, lmp)) { sprintf(str, "TLSPH coefficients can only be specified between particles of same type!"); error->all(FLERR, str); } - itype = force->inumeric(FLERR, arg[0]); + itype = utils::inumeric(FLERR, arg[0],false,lmp); // set all eos, strength and failure models to inactive by default eos[itype] = EOS_NONE; @@ -1050,13 +1050,13 @@ void PairTlsph::coeff(int narg, char **arg) { error->all(FLERR, str); } - Lookup[REFERENCE_DENSITY][itype] = force->numeric(FLERR, arg[ioffset + 1]); - Lookup[YOUNGS_MODULUS][itype] = force->numeric(FLERR, arg[ioffset + 2]); - Lookup[POISSON_RATIO][itype] = force->numeric(FLERR, arg[ioffset + 3]); - Lookup[VISCOSITY_Q1][itype] = force->numeric(FLERR, arg[ioffset + 4]); - Lookup[VISCOSITY_Q2][itype] = force->numeric(FLERR, arg[ioffset + 5]); - Lookup[HOURGLASS_CONTROL_AMPLITUDE][itype] = force->numeric(FLERR, arg[ioffset + 6]); - Lookup[HEAT_CAPACITY][itype] = force->numeric(FLERR, arg[ioffset + 7]); + Lookup[REFERENCE_DENSITY][itype] = utils::numeric(FLERR, arg[ioffset + 1],false,lmp); + Lookup[YOUNGS_MODULUS][itype] = utils::numeric(FLERR, arg[ioffset + 2],false,lmp); + Lookup[POISSON_RATIO][itype] = utils::numeric(FLERR, arg[ioffset + 3],false,lmp); + Lookup[VISCOSITY_Q1][itype] = utils::numeric(FLERR, arg[ioffset + 4],false,lmp); + Lookup[VISCOSITY_Q2][itype] = utils::numeric(FLERR, arg[ioffset + 5],false,lmp); + Lookup[HOURGLASS_CONTROL_AMPLITUDE][itype] = utils::numeric(FLERR, arg[ioffset + 6],false,lmp); + Lookup[HEAT_CAPACITY][itype] = utils::numeric(FLERR, arg[ioffset + 7],false,lmp); Lookup[LAME_LAMBDA][itype] = Lookup[YOUNGS_MODULUS][itype] * Lookup[POISSON_RATIO][itype] / ((1.0 + Lookup[POISSON_RATIO][itype]) * (1.0 - 2.0 * Lookup[POISSON_RATIO][itype])); @@ -1201,8 +1201,8 @@ void PairTlsph::coeff(int narg, char **arg) { error->all(FLERR, str); } - Lookup[YIELD_STRESS][itype] = force->numeric(FLERR, arg[ioffset + 1]); - Lookup[HARDENING_PARAMETER][itype] = force->numeric(FLERR, arg[ioffset + 2]); + Lookup[YIELD_STRESS][itype] = utils::numeric(FLERR, arg[ioffset + 1],false,lmp); + Lookup[HARDENING_PARAMETER][itype] = utils::numeric(FLERR, arg[ioffset + 2],false,lmp); if (comm->me == 0) { printf("%60s\n", "Linear elastic / perfectly plastic strength based on strain rate"); @@ -1245,14 +1245,14 @@ void PairTlsph::coeff(int narg, char **arg) { error->all(FLERR, str); } - Lookup[JC_A][itype] = force->numeric(FLERR, arg[ioffset + 1]); - Lookup[JC_B][itype] = force->numeric(FLERR, arg[ioffset + 2]); - Lookup[JC_a][itype] = force->numeric(FLERR, arg[ioffset + 3]); - Lookup[JC_C][itype] = force->numeric(FLERR, arg[ioffset + 4]); - Lookup[JC_epdot0][itype] = force->numeric(FLERR, arg[ioffset + 5]); - Lookup[JC_T0][itype] = force->numeric(FLERR, arg[ioffset + 6]); - Lookup[JC_Tmelt][itype] = force->numeric(FLERR, arg[ioffset + 7]); - Lookup[JC_M][itype] = force->numeric(FLERR, arg[ioffset + 8]); + Lookup[JC_A][itype] = utils::numeric(FLERR, arg[ioffset + 1],false,lmp); + Lookup[JC_B][itype] = utils::numeric(FLERR, arg[ioffset + 2],false,lmp); + Lookup[JC_a][itype] = utils::numeric(FLERR, arg[ioffset + 3],false,lmp); + Lookup[JC_C][itype] = utils::numeric(FLERR, arg[ioffset + 4],false,lmp); + Lookup[JC_epdot0][itype] = utils::numeric(FLERR, arg[ioffset + 5],false,lmp); + Lookup[JC_T0][itype] = utils::numeric(FLERR, arg[ioffset + 6],false,lmp); + Lookup[JC_Tmelt][itype] = utils::numeric(FLERR, arg[ioffset + 7],false,lmp); + Lookup[JC_M][itype] = utils::numeric(FLERR, arg[ioffset + 8],false,lmp); if (comm->me == 0) { printf("%60s\n", "Johnson Cook material strength model"); @@ -1370,9 +1370,9 @@ void PairTlsph::coeff(int narg, char **arg) { error->all(FLERR, str); } - Lookup[EOS_SHOCK_C0][itype] = force->numeric(FLERR, arg[ioffset + 1]); - Lookup[EOS_SHOCK_S][itype] = force->numeric(FLERR, arg[ioffset + 2]); - Lookup[EOS_SHOCK_GAMMA][itype] = force->numeric(FLERR, arg[ioffset + 3]); + Lookup[EOS_SHOCK_C0][itype] = utils::numeric(FLERR, arg[ioffset + 1],false,lmp); + Lookup[EOS_SHOCK_S][itype] = utils::numeric(FLERR, arg[ioffset + 2],false,lmp); + Lookup[EOS_SHOCK_GAMMA][itype] = utils::numeric(FLERR, arg[ioffset + 3],false,lmp); if (comm->me == 0) { printf("\n%60s\n", "shock EOS based on strain rate"); printf("%60s : %g\n", "reference speed of sound", Lookup[EOS_SHOCK_C0][itype]); @@ -1411,13 +1411,13 @@ void PairTlsph::coeff(int narg, char **arg) { error->all(FLERR, str); } - Lookup[EOS_POLYNOMIAL_C0][itype] = force->numeric(FLERR, arg[ioffset + 1]); - Lookup[EOS_POLYNOMIAL_C1][itype] = force->numeric(FLERR, arg[ioffset + 2]); - Lookup[EOS_POLYNOMIAL_C2][itype] = force->numeric(FLERR, arg[ioffset + 3]); - Lookup[EOS_POLYNOMIAL_C3][itype] = force->numeric(FLERR, arg[ioffset + 4]); - Lookup[EOS_POLYNOMIAL_C4][itype] = force->numeric(FLERR, arg[ioffset + 5]); - Lookup[EOS_POLYNOMIAL_C5][itype] = force->numeric(FLERR, arg[ioffset + 6]); - Lookup[EOS_POLYNOMIAL_C6][itype] = force->numeric(FLERR, arg[ioffset + 7]); + Lookup[EOS_POLYNOMIAL_C0][itype] = utils::numeric(FLERR, arg[ioffset + 1],false,lmp); + Lookup[EOS_POLYNOMIAL_C1][itype] = utils::numeric(FLERR, arg[ioffset + 2],false,lmp); + Lookup[EOS_POLYNOMIAL_C2][itype] = utils::numeric(FLERR, arg[ioffset + 3],false,lmp); + Lookup[EOS_POLYNOMIAL_C3][itype] = utils::numeric(FLERR, arg[ioffset + 4],false,lmp); + Lookup[EOS_POLYNOMIAL_C4][itype] = utils::numeric(FLERR, arg[ioffset + 5],false,lmp); + Lookup[EOS_POLYNOMIAL_C5][itype] = utils::numeric(FLERR, arg[ioffset + 6],false,lmp); + Lookup[EOS_POLYNOMIAL_C6][itype] = utils::numeric(FLERR, arg[ioffset + 7],false,lmp); if (comm->me == 0) { printf("\n%60s\n", "polynomial EOS based on strain rate"); printf("%60s : %g\n", "parameter c0", Lookup[EOS_POLYNOMIAL_C0][itype]); @@ -1462,7 +1462,7 @@ void PairTlsph::coeff(int narg, char **arg) { failureModel[itype].failure_max_plastic_strain = true; failureModel[itype].integration_point_wise = true; - Lookup[FAILURE_MAX_PLASTIC_STRAIN_THRESHOLD][itype] = force->numeric(FLERR, arg[ioffset + 1]); + Lookup[FAILURE_MAX_PLASTIC_STRAIN_THRESHOLD][itype] = utils::numeric(FLERR, arg[ioffset + 1],false,lmp); if (comm->me == 0) { printf("\n%60s\n", "maximum plastic strain failure criterion"); @@ -1506,7 +1506,7 @@ void PairTlsph::coeff(int narg, char **arg) { failureModel[itype].failure_max_pairwise_strain = true; failureModel[itype].integration_point_wise = true; - Lookup[FAILURE_MAX_PAIRWISE_STRAIN_THRESHOLD][itype] = force->numeric(FLERR, arg[ioffset + 1]); + Lookup[FAILURE_MAX_PAIRWISE_STRAIN_THRESHOLD][itype] = utils::numeric(FLERR, arg[ioffset + 1],false,lmp); if (comm->me == 0) { printf("\n%60s\n", "maximum pairwise strain failure criterion"); @@ -1546,7 +1546,7 @@ void PairTlsph::coeff(int narg, char **arg) { failureModel[itype].failure_max_principal_strain = true; failureModel[itype].integration_point_wise = true; - Lookup[FAILURE_MAX_PRINCIPAL_STRAIN_THRESHOLD][itype] = force->numeric(FLERR, arg[ioffset + 1]); + Lookup[FAILURE_MAX_PRINCIPAL_STRAIN_THRESHOLD][itype] = utils::numeric(FLERR, arg[ioffset + 1],false,lmp); if (comm->me == 0) { printf("\n%60s\n", "maximum principal strain failure criterion"); @@ -1583,11 +1583,11 @@ void PairTlsph::coeff(int narg, char **arg) { failureModel[itype].failure_johnson_cook = true; failureModel[itype].integration_point_wise = true; - Lookup[FAILURE_JC_D1][itype] = force->numeric(FLERR, arg[ioffset + 1]); - Lookup[FAILURE_JC_D2][itype] = force->numeric(FLERR, arg[ioffset + 2]); - Lookup[FAILURE_JC_D3][itype] = force->numeric(FLERR, arg[ioffset + 3]); - Lookup[FAILURE_JC_D4][itype] = force->numeric(FLERR, arg[ioffset + 4]); - Lookup[FAILURE_JC_EPDOT0][itype] = force->numeric(FLERR, arg[ioffset + 5]); + Lookup[FAILURE_JC_D1][itype] = utils::numeric(FLERR, arg[ioffset + 1],false,lmp); + Lookup[FAILURE_JC_D2][itype] = utils::numeric(FLERR, arg[ioffset + 2],false,lmp); + Lookup[FAILURE_JC_D3][itype] = utils::numeric(FLERR, arg[ioffset + 3],false,lmp); + Lookup[FAILURE_JC_D4][itype] = utils::numeric(FLERR, arg[ioffset + 4],false,lmp); + Lookup[FAILURE_JC_EPDOT0][itype] = utils::numeric(FLERR, arg[ioffset + 5],false,lmp); if (comm->me == 0) { printf("\n%60s\n", "Johnson-Cook failure criterion"); @@ -1631,7 +1631,7 @@ void PairTlsph::coeff(int narg, char **arg) { failureModel[itype].failure_max_principal_stress = true; failureModel[itype].integration_point_wise = true; - Lookup[FAILURE_MAX_PRINCIPAL_STRESS_THRESHOLD][itype] = force->numeric(FLERR, arg[ioffset + 1]); + Lookup[FAILURE_MAX_PRINCIPAL_STRESS_THRESHOLD][itype] = utils::numeric(FLERR, arg[ioffset + 1],false,lmp); if (comm->me == 0) { printf("\n%60s\n", "maximum principal stress failure criterion"); @@ -1666,7 +1666,7 @@ void PairTlsph::coeff(int narg, char **arg) { } failureModel[itype].failure_energy_release_rate = true; - Lookup[CRITICAL_ENERGY_RELEASE_RATE][itype] = force->numeric(FLERR, arg[ioffset + 1]); + Lookup[CRITICAL_ENERGY_RELEASE_RATE][itype] = utils::numeric(FLERR, arg[ioffset + 1],false,lmp); if (comm->me == 0) { printf("\n%60s\n", "critical energy release rate failure criterion"); diff --git a/src/USER-SMD/pair_smd_triangulated_surface.cpp b/src/USER-SMD/pair_smd_triangulated_surface.cpp index 53a93df7f7114c948b820ffe5d769683b2e4ac70..92438837193ec47cbe06ed734e6099145a5f3b37 100644 --- a/src/USER-SMD/pair_smd_triangulated_surface.cpp +++ b/src/USER-SMD/pair_smd_triangulated_surface.cpp @@ -41,6 +41,7 @@ #include "neigh_request.h" #include "memory.h" #include "error.h" +#include "utils.h" using namespace std; using namespace LAMMPS_NS; @@ -321,7 +322,7 @@ void PairTriSurf::settings(int narg, char **arg) { if (narg != 1) error->all(FLERR, "Illegal number of args for pair_style smd/tri_surface"); - scale = force->numeric(FLERR, arg[0]); + scale = utils::numeric(FLERR, arg[0],false,lmp); if (comm->me == 0) { printf("\n>>========>>========>>========>>========>>========>>========>>========>>========\n"); printf("SMD/TRI_SURFACE CONTACT SETTINGS:\n"); @@ -342,8 +343,8 @@ void PairTriSurf::coeff(int narg, char **arg) { allocate(); int ilo, ihi, jlo, jhi; - force->bounds(FLERR,arg[0], atom->ntypes, ilo, ihi); - force->bounds(FLERR,arg[1], atom->ntypes, jlo, jhi); + utils::bounds(FLERR,arg[0], 1,atom->ntypes, ilo, ihi, error); + utils::bounds(FLERR,arg[1], 1,atom->ntypes, jlo, jhi, error); double bulkmodulus_one = atof(arg[2]); diff --git a/src/USER-SMD/pair_smd_ulsph.cpp b/src/USER-SMD/pair_smd_ulsph.cpp index 8c8da7b2bc842dbf7a6e5cba7f9459bac0e24a1f..ecd0d5f4ec31bf25164e54a43442232c3575f73f 100644 --- a/src/USER-SMD/pair_smd_ulsph.cpp +++ b/src/USER-SMD/pair_smd_ulsph.cpp @@ -949,9 +949,9 @@ void PairULSPH::coeff(int narg, char **arg) { * if parameters are give in i,i form, i.e., no a cross interaction, set material parameters */ - if (force->inumeric(FLERR, arg[0]) == force->inumeric(FLERR, arg[1])) { + if (utils::inumeric(FLERR, arg[0], false, lmp) == utils::inumeric(FLERR, arg[1], false, lmp)) { - itype = force->inumeric(FLERR, arg[0]); + itype = utils::inumeric(FLERR, arg[0],false,lmp); eos[itype] = viscosity[itype] = strength[itype] = NONE; if (comm->me == 0) { @@ -992,11 +992,11 @@ void PairULSPH::coeff(int narg, char **arg) { error->all(FLERR, str); } - Lookup[REFERENCE_DENSITY][itype] = force->numeric(FLERR, arg[ioffset + 1]); - Lookup[REFERENCE_SOUNDSPEED][itype] = force->numeric(FLERR, arg[ioffset + 2]); - Q1[itype] = force->numeric(FLERR, arg[ioffset + 3]); - Lookup[HEAT_CAPACITY][itype] = force->numeric(FLERR, arg[ioffset + 4]); - Lookup[HOURGLASS_CONTROL_AMPLITUDE][itype] = force->numeric(FLERR, arg[ioffset + 5]); + Lookup[REFERENCE_DENSITY][itype] = utils::numeric(FLERR, arg[ioffset + 1],false,lmp); + Lookup[REFERENCE_SOUNDSPEED][itype] = utils::numeric(FLERR, arg[ioffset + 2],false,lmp); + Q1[itype] = utils::numeric(FLERR, arg[ioffset + 3],false,lmp); + Lookup[HEAT_CAPACITY][itype] = utils::numeric(FLERR, arg[ioffset + 4],false,lmp); + Lookup[HOURGLASS_CONTROL_AMPLITUDE][itype] = utils::numeric(FLERR, arg[ioffset + 5],false,lmp); Lookup[BULK_MODULUS][itype] = Lookup[REFERENCE_SOUNDSPEED][itype] * Lookup[REFERENCE_SOUNDSPEED][itype] * Lookup[REFERENCE_DENSITY][itype]; @@ -1057,7 +1057,7 @@ void PairULSPH::coeff(int narg, char **arg) { error->all(FLERR, str); } - Lookup[EOS_TAIT_EXPONENT][itype] = force->numeric(FLERR, arg[ioffset + 1]); + Lookup[EOS_TAIT_EXPONENT][itype] = utils::numeric(FLERR, arg[ioffset + 1],false,lmp); if (comm->me == 0) { printf(FORMAT2, "Tait EOS"); @@ -1094,7 +1094,7 @@ void PairULSPH::coeff(int narg, char **arg) { error->all(FLERR, str); } - Lookup[EOS_PERFECT_GAS_GAMMA][itype] = force->numeric(FLERR, arg[ioffset + 1]); + Lookup[EOS_PERFECT_GAS_GAMMA][itype] = utils::numeric(FLERR, arg[ioffset + 1],false,lmp); if (comm->me == 0) { printf(FORMAT2, "Perfect Gas EOS"); @@ -1168,9 +1168,9 @@ void PairULSPH::coeff(int narg, char **arg) { error->all(FLERR, str); } - Lookup[SHEAR_MODULUS][itype] = force->numeric(FLERR, arg[ioffset + 1]); - Lookup[YIELD_STRENGTH][itype] = force->numeric(FLERR, arg[ioffset + 2]); - Lookup[HARDENING_PARAMETER][itype] = force->numeric(FLERR, arg[ioffset + 3]); + Lookup[SHEAR_MODULUS][itype] = utils::numeric(FLERR, arg[ioffset + 1],false,lmp); + Lookup[YIELD_STRENGTH][itype] = utils::numeric(FLERR, arg[ioffset + 2],false,lmp); + Lookup[HARDENING_PARAMETER][itype] = utils::numeric(FLERR, arg[ioffset + 3],false,lmp); if (comm->me == 0) { printf(FORMAT2, "linear elastic / ideal plastic material mode"); @@ -1210,7 +1210,7 @@ void PairULSPH::coeff(int narg, char **arg) { error->all(FLERR, str); } - Lookup[SHEAR_MODULUS][itype] = force->numeric(FLERR, arg[ioffset + 1]); + Lookup[SHEAR_MODULUS][itype] = utils::numeric(FLERR, arg[ioffset + 1],false,lmp); if (comm->me == 0) { printf(FORMAT2, "linear elastic strength model"); @@ -1248,7 +1248,7 @@ void PairULSPH::coeff(int narg, char **arg) { error->all(FLERR, str); } - Lookup[VISCOSITY_MU][itype] = force->numeric(FLERR, arg[ioffset + 1]); + Lookup[VISCOSITY_MU][itype] = utils::numeric(FLERR, arg[ioffset + 1],false,lmp); if (comm->me == 0) { printf(FORMAT2, "Newton viscosity model"); @@ -1282,7 +1282,7 @@ void PairULSPH::coeff(int narg, char **arg) { error->all(FLERR, str); } - artificial_pressure[itype][itype] = force->numeric(FLERR, arg[ioffset + 1]); + artificial_pressure[itype][itype] = utils::numeric(FLERR, arg[ioffset + 1],false,lmp); if (comm->me == 0) { printf(FORMAT2, "Artificial Pressure is enabled."); @@ -1316,7 +1316,7 @@ void PairULSPH::coeff(int narg, char **arg) { error->all(FLERR, str); } - artificial_stress[itype][itype] = force->numeric(FLERR, arg[ioffset + 1]); + artificial_stress[itype][itype] = utils::numeric(FLERR, arg[ioffset + 1],false,lmp); if (comm->me == 0) { printf(FORMAT2, "Artificial Stress is enabled."); @@ -1358,8 +1358,8 @@ void PairULSPH::coeff(int narg, char **arg) { * we are reading a cross-interaction line for particle types i, j */ - itype = force->inumeric(FLERR, arg[0]); - jtype = force->inumeric(FLERR, arg[1]); + itype = utils::inumeric(FLERR, arg[0],false,lmp); + jtype = utils::inumeric(FLERR, arg[1],false,lmp); if (strcmp(arg[2], "*CROSS") != 0) { sprintf(str, "ulsph cross interaction between particle type %d and %d requested, however, *CROSS keyword is missing", diff --git a/src/USER-SMTBQ/pair_smtbq.cpp b/src/USER-SMTBQ/pair_smtbq.cpp index fcf6d141f2c5aa58924a7dfb890510c009923ba5..f6ecd40bb65912e20d22f227098050692da89778 100644 --- a/src/USER-SMTBQ/pair_smtbq.cpp +++ b/src/USER-SMTBQ/pair_smtbq.cpp @@ -410,7 +410,7 @@ void PairSMTBQ::read_file(char *file) // open file on all processors FILE *fp; - fp = force->open_potential(file); + fp = utils::open_potential(file,lmp,nullptr); if ( fp == NULL ) { char str[128]; snprintf(str,128,"Cannot open SMTBQ potential file %s",file); diff --git a/src/USER-SPH/pair_sph_heatconduction.cpp b/src/USER-SPH/pair_sph_heatconduction.cpp index ebd2cef684f01805d322eb27a950a54e65a32bbc..7bb06c14d960a1f6cadc83fe0aedb4b154768590 100644 --- a/src/USER-SPH/pair_sph_heatconduction.cpp +++ b/src/USER-SPH/pair_sph_heatconduction.cpp @@ -19,6 +19,7 @@ #include "error.h" #include "neigh_list.h" #include "domain.h" +#include "utils.h" using namespace LAMMPS_NS; @@ -167,11 +168,11 @@ void PairSPHHeatConduction::coeff(int narg, char **arg) { allocate(); int ilo, ihi, jlo, jhi; - force->bounds(FLERR,arg[0], atom->ntypes, ilo, ihi); - force->bounds(FLERR,arg[1], atom->ntypes, jlo, jhi); + utils::bounds(FLERR,arg[0], 1, atom->ntypes, ilo, ihi, error); + utils::bounds(FLERR,arg[1], 1, atom->ntypes, jlo, jhi, error); - double alpha_one = force->numeric(FLERR,arg[2]); - double cut_one = force->numeric(FLERR,arg[3]); + double alpha_one = utils::numeric(FLERR,arg[2],false,lmp); + double cut_one = utils::numeric(FLERR,arg[3],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/USER-SPH/pair_sph_idealgas.cpp b/src/USER-SPH/pair_sph_idealgas.cpp index 1f6b63e1992fbb45873a9844e6ad6f8975c294d2..c80e2b4725a203ed518b591d288ab02e3fb8e508 100644 --- a/src/USER-SPH/pair_sph_idealgas.cpp +++ b/src/USER-SPH/pair_sph_idealgas.cpp @@ -19,6 +19,7 @@ #include "memory.h" #include "error.h" #include "domain.h" +#include "utils.h" using namespace LAMMPS_NS; @@ -209,11 +210,11 @@ void PairSPHIdealGas::coeff(int narg, char **arg) { allocate(); int ilo, ihi, jlo, jhi; - force->bounds(FLERR,arg[0], atom->ntypes, ilo, ihi); - force->bounds(FLERR,arg[1], atom->ntypes, jlo, jhi); + utils::bounds(FLERR,arg[0], 1, atom->ntypes, ilo, ihi, error); + utils::bounds(FLERR,arg[1], 1, atom->ntypes, jlo, jhi, error); - double viscosity_one = force->numeric(FLERR,arg[2]); - double cut_one = force->numeric(FLERR,arg[3]); + double viscosity_one = utils::numeric(FLERR,arg[2],false,lmp); + double cut_one = utils::numeric(FLERR,arg[3],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/USER-SPH/pair_sph_lj.cpp b/src/USER-SPH/pair_sph_lj.cpp index ae42c413e74ad8e3b8d5d9b80a09871c8fe693cc..4004e415745b7d1423dcc69abb2ada5b08571b0e 100644 --- a/src/USER-SPH/pair_sph_lj.cpp +++ b/src/USER-SPH/pair_sph_lj.cpp @@ -19,6 +19,7 @@ #include "memory.h" #include "error.h" #include "domain.h" +#include "utils.h" using namespace LAMMPS_NS; @@ -217,11 +218,11 @@ void PairSPHLJ::coeff(int narg, char **arg) { allocate(); int ilo, ihi, jlo, jhi; - force->bounds(FLERR,arg[0], atom->ntypes, ilo, ihi); - force->bounds(FLERR,arg[1], atom->ntypes, jlo, jhi); + utils::bounds(FLERR,arg[0], 1, atom->ntypes, ilo, ihi, error); + utils::bounds(FLERR,arg[1], 1, atom->ntypes, jlo, jhi, error); - double viscosity_one = force->numeric(FLERR,arg[2]); - double cut_one = force->numeric(FLERR,arg[3]); + double viscosity_one = utils::numeric(FLERR,arg[2],false,lmp); + double cut_one = utils::numeric(FLERR,arg[3],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/USER-SPH/pair_sph_rhosum.cpp b/src/USER-SPH/pair_sph_rhosum.cpp index fa51dc37816357aedbe305ffb484b0c7a6198403..c70cc7cd8366cd899267934d2c7059f84d13a8dd 100644 --- a/src/USER-SPH/pair_sph_rhosum.cpp +++ b/src/USER-SPH/pair_sph_rhosum.cpp @@ -22,6 +22,7 @@ #include "neighbor.h" #include "update.h" #include "domain.h" +#include "utils.h" using namespace LAMMPS_NS; @@ -224,7 +225,7 @@ void PairSPHRhoSum::settings(int narg, char **arg) { if (narg != 1) error->all(FLERR, "Illegal number of arguments for pair_style sph/rhosum"); - nstep = force->inumeric(FLERR,arg[0]); + nstep = utils::inumeric(FLERR,arg[0],false,lmp); } /* ---------------------------------------------------------------------- @@ -238,10 +239,10 @@ void PairSPHRhoSum::coeff(int narg, char **arg) { allocate(); int ilo, ihi, jlo, jhi; - force->bounds(FLERR,arg[0], atom->ntypes, ilo, ihi); - force->bounds(FLERR,arg[1], atom->ntypes, jlo, jhi); + utils::bounds(FLERR,arg[0], 1, atom->ntypes, ilo, ihi, error); + utils::bounds(FLERR,arg[1], 1, atom->ntypes, jlo, jhi, error); - double cut_one = force->numeric(FLERR,arg[2]); + double cut_one = utils::numeric(FLERR,arg[2],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/USER-SPH/pair_sph_taitwater.cpp b/src/USER-SPH/pair_sph_taitwater.cpp index 79d9ac77420e329675f7c8fb7a412bca9c39dabc..6455c1e8be4c1243a01d51be4da1f0f8c671012b 100644 --- a/src/USER-SPH/pair_sph_taitwater.cpp +++ b/src/USER-SPH/pair_sph_taitwater.cpp @@ -20,6 +20,7 @@ #include "memory.h" #include "error.h" #include "domain.h" +#include "utils.h" using namespace LAMMPS_NS; @@ -239,13 +240,13 @@ void PairSPHTaitwater::coeff(int narg, char **arg) { allocate(); int ilo, ihi, jlo, jhi; - force->bounds(FLERR,arg[0], atom->ntypes, ilo, ihi); - force->bounds(FLERR,arg[1], atom->ntypes, jlo, jhi); + utils::bounds(FLERR,arg[0], 1, atom->ntypes, ilo, ihi, error); + utils::bounds(FLERR,arg[1], 1, atom->ntypes, jlo, jhi, error); - double rho0_one = force->numeric(FLERR,arg[2]); - double soundspeed_one = force->numeric(FLERR,arg[3]); - double viscosity_one = force->numeric(FLERR,arg[4]); - double cut_one = force->numeric(FLERR,arg[5]); + double rho0_one = utils::numeric(FLERR,arg[2],false,lmp); + double soundspeed_one = utils::numeric(FLERR,arg[3],false,lmp); + double viscosity_one = utils::numeric(FLERR,arg[4],false,lmp); + double cut_one = utils::numeric(FLERR,arg[5],false,lmp); double B_one = soundspeed_one * soundspeed_one * rho0_one / 7.0; int count = 0; diff --git a/src/USER-SPH/pair_sph_taitwater_morris.cpp b/src/USER-SPH/pair_sph_taitwater_morris.cpp index 862d2a805336f20d55b62544660aed22e8711aad..7a6188da69349a6bf1c98e8467448ac6c0a6140a 100644 --- a/src/USER-SPH/pair_sph_taitwater_morris.cpp +++ b/src/USER-SPH/pair_sph_taitwater_morris.cpp @@ -20,6 +20,7 @@ #include "memory.h" #include "error.h" #include "domain.h" +#include "utils.h" using namespace LAMMPS_NS; @@ -240,13 +241,13 @@ void PairSPHTaitwaterMorris::coeff(int narg, char **arg) { allocate(); int ilo, ihi, jlo, jhi; - force->bounds(FLERR,arg[0], atom->ntypes, ilo, ihi); - force->bounds(FLERR,arg[1], atom->ntypes, jlo, jhi); + utils::bounds(FLERR,arg[0], 1, atom->ntypes, ilo, ihi, error); + utils::bounds(FLERR,arg[1], 1, atom->ntypes, jlo, jhi, error); - double rho0_one = force->numeric(FLERR,arg[2]); - double soundspeed_one = force->numeric(FLERR,arg[3]); - double viscosity_one = force->numeric(FLERR,arg[4]); - double cut_one = force->numeric(FLERR,arg[5]); + double rho0_one = utils::numeric(FLERR,arg[2],false,lmp); + double soundspeed_one = utils::numeric(FLERR,arg[3],false,lmp); + double viscosity_one = utils::numeric(FLERR,arg[4],false,lmp); + double cut_one = utils::numeric(FLERR,arg[5],false,lmp); double B_one = soundspeed_one * soundspeed_one * rho0_one / 7.0; int count = 0; diff --git a/src/USER-UEF/fix_nh_uef.cpp b/src/USER-UEF/fix_nh_uef.cpp index 80866bbd56f8cb7b787065e55ca6193c985f609e..f910caac595e337ea479cf9b782bdc13db8e4c4e 100644 --- a/src/USER-UEF/fix_nh_uef.cpp +++ b/src/USER-UEF/fix_nh_uef.cpp @@ -82,14 +82,14 @@ FixNHUef::FixNHUef(LAMMPS *lmp, int narg, char **arg) : while (iarg narg) error->all(FLERR,"Illegal fix nvt/npt/uef command"); - erate[0] = force->numeric(FLERR,arg[iarg+1]); - erate[1] = force->numeric(FLERR,arg[iarg+2]); + erate[0] = utils::numeric(FLERR,arg[iarg+1],false,lmp); + erate[1] = utils::numeric(FLERR,arg[iarg+2],false,lmp); erate_flag = true; iarg += 3; } else if (strcmp(arg[iarg],"strain")==0) { if (iarg+3 > narg) error->all(FLERR,"Illegal fix nvt/npt/uef command"); - strain[0] = force->numeric(FLERR,arg[iarg+1]); - strain[1] = force->numeric(FLERR,arg[iarg+2]); + strain[0] = utils::numeric(FLERR,arg[iarg+1],false,lmp); + strain[1] = utils::numeric(FLERR,arg[iarg+2],false,lmp); iarg += 3; } else if (strcmp(arg[iarg],"ext")==0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix nvt/npt/uef command"); diff --git a/src/USER-VTK/dump_vtk.cpp b/src/USER-VTK/dump_vtk.cpp index 7f1443c6545d6fe303b56dc65a939efff2008914..72ed2640d8723fd425716596d670706d398c96cc 100644 --- a/src/USER-VTK/dump_vtk.cpp +++ b/src/USER-VTK/dump_vtk.cpp @@ -2296,7 +2296,7 @@ int DumpVTK::modify_param(int narg, char **arg) // set threshold value - thresh_value[nthresh] = force->numeric(FLERR,arg[3]); + thresh_value[nthresh] = utils::numeric(FLERR,arg[3],false,lmp); nthresh++; return 4; diff --git a/src/USER-YAFF/angle_cross.cpp b/src/USER-YAFF/angle_cross.cpp index 3d5715c23e28e080cc4eec9f3bc062d6750159ca..9c925d2365c6dcf96dc1c6bbcbc0a6232c5f72f5 100644 --- a/src/USER-YAFF/angle_cross.cpp +++ b/src/USER-YAFF/angle_cross.cpp @@ -223,16 +223,16 @@ void AngleCross::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi; - force->bounds(FLERR,arg[0],atom->nangletypes,ilo,ihi); + utils::bounds(FLERR,arg[0],1,atom->nangletypes,ilo,ihi,error); int count = 0; - double kss_one = force->numeric(FLERR,arg[1]); - double kbs0_one = force->numeric(FLERR,arg[2]); - double kbs1_one = force->numeric(FLERR,arg[3]); - double r0_one = force->numeric(FLERR,arg[4]); - double r1_one = force->numeric(FLERR,arg[5]); - double theta0_one = force->numeric(FLERR,arg[6]); + double kss_one = utils::numeric(FLERR,arg[1],false,lmp); + double kbs0_one = utils::numeric(FLERR,arg[2],false,lmp); + double kbs1_one = utils::numeric(FLERR,arg[3],false,lmp); + double r0_one = utils::numeric(FLERR,arg[4],false,lmp); + double r1_one = utils::numeric(FLERR,arg[5],false,lmp); + double theta0_one = utils::numeric(FLERR,arg[6],false,lmp); for (int i = ilo; i <= ihi; i++) { kss[i] = kss_one; diff --git a/src/USER-YAFF/angle_mm3.cpp b/src/USER-YAFF/angle_mm3.cpp index cb3010e97c8d41d20dc9bc9a9332194a3dc82055..38a2cea3aaaf3c5a90293b63d68dca709ae4ef7f 100644 --- a/src/USER-YAFF/angle_mm3.cpp +++ b/src/USER-YAFF/angle_mm3.cpp @@ -180,12 +180,12 @@ void AngleMM3::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi; - force->bounds(FLERR,arg[0],atom->nangletypes,ilo,ihi); + utils::bounds(FLERR,arg[0],1,atom->nangletypes,ilo,ihi,error); int count = 0; - double k2_one = force->numeric(FLERR,arg[1]); - double theta0_one = force->numeric(FLERR,arg[2]); + double k2_one = utils::numeric(FLERR,arg[1],false,lmp); + double theta0_one = utils::numeric(FLERR,arg[2],false,lmp); // convert theta0 from degrees to radians diff --git a/src/USER-YAFF/bond_mm3.cpp b/src/USER-YAFF/bond_mm3.cpp index 8001e35d74c8a831617fe2109049beb30a90b60f..39f238f1abbac0ba1e173e18adf3e5d06517712e 100644 --- a/src/USER-YAFF/bond_mm3.cpp +++ b/src/USER-YAFF/bond_mm3.cpp @@ -135,10 +135,10 @@ void BondMM3::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi; - force->bounds(FLERR,arg[0],atom->nbondtypes,ilo,ihi); + utils::bounds(FLERR,arg[0],1,atom->nbondtypes,ilo,ihi,error); - double k2_one = force->numeric(FLERR,arg[1]); - double r0_one = force->numeric(FLERR,arg[2]); + double k2_one = utils::numeric(FLERR,arg[1],false,lmp); + double r0_one = utils::numeric(FLERR,arg[2],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/USER-YAFF/improper_distharm.cpp b/src/USER-YAFF/improper_distharm.cpp index 751e6e19c275cbf252d838118a5727c4746e220a..e9b454bdb932e1c55c2afbffe58bc0f43d16ccda 100644 --- a/src/USER-YAFF/improper_distharm.cpp +++ b/src/USER-YAFF/improper_distharm.cpp @@ -219,10 +219,10 @@ void ImproperDistHarm::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi; - force->bounds(FLERR,arg[0],atom->nimpropertypes,ilo,ihi); + utils::bounds(FLERR,arg[0],1,atom->nimpropertypes,ilo,ihi,error); - double k_one = force->numeric(FLERR,arg[1]); - double chi_one = force->numeric(FLERR,arg[2]); + double k_one = utils::numeric(FLERR,arg[1],false,lmp); + double chi_one = utils::numeric(FLERR,arg[2],false,lmp); // convert chi from degrees to radians diff --git a/src/USER-YAFF/improper_sqdistharm.cpp b/src/USER-YAFF/improper_sqdistharm.cpp index 82bf4a1755f9eaab9721614cb80c594c89529d1a..af5086917a52908bb5401be1938af304b8abe1a6 100644 --- a/src/USER-YAFF/improper_sqdistharm.cpp +++ b/src/USER-YAFF/improper_sqdistharm.cpp @@ -219,10 +219,10 @@ void ImproperSQDistHarm::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi; - force->bounds(FLERR,arg[0],atom->nimpropertypes,ilo,ihi); + utils::bounds(FLERR,arg[0],1,atom->nimpropertypes,ilo,ihi,error); - double k_one = force->numeric(FLERR,arg[1]); - double chi_one = force->numeric(FLERR,arg[2]); + double k_one = utils::numeric(FLERR,arg[1],false,lmp); + double chi_one = utils::numeric(FLERR,arg[2],false,lmp); // convert chi from degrees to radians diff --git a/src/USER-YAFF/pair_lj_switch3_coulgauss_long.cpp b/src/USER-YAFF/pair_lj_switch3_coulgauss_long.cpp index 37fc143e8b1363de2f4b79e0948a5d20881e4e1f..2cbf01f7b7bc093c6b58b0da6cf77e3e5f685d0d 100644 --- a/src/USER-YAFF/pair_lj_switch3_coulgauss_long.cpp +++ b/src/USER-YAFF/pair_lj_switch3_coulgauss_long.cpp @@ -267,14 +267,14 @@ void PairLJSwitch3CoulGaussLong::settings(int narg, char **arg) { if (narg < 2 || narg > 3) error->all(FLERR,"Illegal pair_style command"); - cut_lj_global = force->numeric(FLERR,arg[0]); + cut_lj_global = utils::numeric(FLERR,arg[0],false,lmp); if (narg == 2) { cut_coul = cut_lj_global; - truncw = force->numeric(FLERR,arg[1]); + truncw = utils::numeric(FLERR,arg[1],false,lmp); } else { - cut_coul = force->numeric(FLERR,arg[1]); - truncw = force->numeric(FLERR,arg[2]); + cut_coul = utils::numeric(FLERR,arg[1],false,lmp); + truncw = utils::numeric(FLERR,arg[2],false,lmp); } if (truncw>0.0) truncwi = 1.0/truncw; else truncwi = 0.0; @@ -299,15 +299,15 @@ void PairLJSwitch3CoulGaussLong::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); - double epsilon_one = force->numeric(FLERR,arg[2]); - double sigma_one = force->numeric(FLERR,arg[3]); - double gamma_one = force->numeric(FLERR,arg[4]); + double epsilon_one = utils::numeric(FLERR,arg[2],false,lmp); + double sigma_one = utils::numeric(FLERR,arg[3],false,lmp); + double gamma_one = utils::numeric(FLERR,arg[4],false,lmp); double cut_lj_one = cut_lj_global; - if (narg == 6) cut_lj_one = force->numeric(FLERR,arg[5]); + if (narg == 6) cut_lj_one = utils::numeric(FLERR,arg[5],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/USER-YAFF/pair_mm3_switch3_coulgauss_long.cpp b/src/USER-YAFF/pair_mm3_switch3_coulgauss_long.cpp index 6b0466cd6dcc23ea398f8e3047dee35930677272..52bcf20b9b8d4f1c1c0f6975d67f11bca0914863 100644 --- a/src/USER-YAFF/pair_mm3_switch3_coulgauss_long.cpp +++ b/src/USER-YAFF/pair_mm3_switch3_coulgauss_long.cpp @@ -269,14 +269,14 @@ void PairMM3Switch3CoulGaussLong::settings(int narg, char **arg) { if (narg < 2 || narg > 3) error->all(FLERR,"Illegal pair_style command"); - cut_lj_global = force->numeric(FLERR,arg[0]); + cut_lj_global = utils::numeric(FLERR,arg[0],false,lmp); if (narg == 2) { cut_coul = cut_lj_global; - truncw = force->numeric(FLERR,arg[1]); + truncw = utils::numeric(FLERR,arg[1],false,lmp); } else { - cut_coul = force->numeric(FLERR,arg[1]); - truncw = force->numeric(FLERR,arg[2]); + cut_coul = utils::numeric(FLERR,arg[1],false,lmp); + truncw = utils::numeric(FLERR,arg[2],false,lmp); } if (truncw>0.0) truncwi = 1.0/truncw; else truncwi = 0.0; @@ -301,15 +301,15 @@ void PairMM3Switch3CoulGaussLong::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); - double epsilon_one = force->numeric(FLERR,arg[2]); - double sigma_one = force->numeric(FLERR,arg[3]); - double gamma_one = force->numeric(FLERR,arg[4]); + double epsilon_one = utils::numeric(FLERR,arg[2],false,lmp); + double sigma_one = utils::numeric(FLERR,arg[3],false,lmp); + double gamma_one = utils::numeric(FLERR,arg[4],false,lmp); double cut_lj_one = cut_lj_global; - if (narg == 6) cut_lj_one = force->numeric(FLERR,arg[5]); + if (narg == 6) cut_lj_one = utils::numeric(FLERR,arg[5],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/VORONOI/compute_voronoi_atom.cpp b/src/VORONOI/compute_voronoi_atom.cpp index c9b0617f5e3643adca9ecc85dc68754819f3b273..bda4299a68108cbced26e9f40ba02779bbe71584 100644 --- a/src/VORONOI/compute_voronoi_atom.cpp +++ b/src/VORONOI/compute_voronoi_atom.cpp @@ -100,15 +100,15 @@ ComputeVoronoi::ComputeVoronoi(LAMMPS *lmp, int narg, char **arg) : iarg += 2; } else if (strcmp(arg[iarg], "edge_histo") == 0) { if (iarg + 2 > narg) error->all(FLERR,"Illegal compute voronoi/atom command"); - maxedge = force->inumeric(FLERR,arg[iarg+1]); + maxedge = utils::inumeric(FLERR,arg[iarg+1],false,lmp); iarg += 2; } else if (strcmp(arg[iarg], "face_threshold") == 0) { if (iarg + 2 > narg) error->all(FLERR,"Illegal compute voronoi/atom command"); - fthresh = force->numeric(FLERR,arg[iarg+1]); + fthresh = utils::numeric(FLERR,arg[iarg+1],false,lmp); iarg += 2; } else if (strcmp(arg[iarg], "edge_threshold") == 0) { if (iarg + 2 > narg) error->all(FLERR,"Illegal compute voronoi/atom command"); - ethresh = force->numeric(FLERR,arg[iarg+1]); + ethresh = utils::numeric(FLERR,arg[iarg+1],false,lmp); iarg += 2; } else if (strcmp(arg[iarg], "neighbors") == 0) { if (iarg + 2 > narg) error->all(FLERR,"Illegal compute voronoi/atom command"); diff --git a/src/angle_hybrid.cpp b/src/angle_hybrid.cpp index 882749b6b22230130cc72ea56c01f4769ea03b70..d0a1d29e652f2fe4d4f938477842ca46d1bde2cf 100644 --- a/src/angle_hybrid.cpp +++ b/src/angle_hybrid.cpp @@ -267,7 +267,7 @@ void AngleHybrid::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi; - force->bounds(FLERR,arg[0],atom->nangletypes,ilo,ihi); + utils::bounds(FLERR,arg[0],1,atom->nangletypes,ilo,ihi,error); // 2nd arg = angle sub-style name // allow for "none" or "skip" as valid sub-style name diff --git a/src/angle_zero.cpp b/src/angle_zero.cpp index 5da8e9d5bc96fdcd832878b4c6369e904510c357..eb9cbf1ea2796bf5bfe81cabc64f6a9ba973fd00 100644 --- a/src/angle_zero.cpp +++ b/src/angle_zero.cpp @@ -87,11 +87,11 @@ void AngleZero::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi; - force->bounds(FLERR,arg[0],atom->nangletypes,ilo,ihi); + utils::bounds(FLERR,arg[0],1,atom->nangletypes,ilo,ihi,error); double theta0_one = 0.0; if (coeffflag && (narg == 2)) - theta0_one = force->numeric(FLERR,arg[1]); + theta0_one = utils::numeric(FLERR,arg[1],false,lmp); // convert theta0 from degrees to radians diff --git a/src/atom.cpp b/src/atom.cpp index e930a0255e5cfa08bc6cfded26cf26e506a8649f..f4c93db4593eefe972fc741959381f4ff8fdf286 100644 --- a/src/atom.cpp +++ b/src/atom.cpp @@ -795,8 +795,8 @@ void Atom::modify_params(int narg, char **arg) iarg += 2; } else if (strcmp(arg[iarg],"sort") == 0) { if (iarg+3 > narg) error->all(FLERR,"Illegal atom_modify command"); - sortfreq = force->inumeric(FLERR,arg[iarg+1]); - userbinsize = force->numeric(FLERR,arg[iarg+2]); + sortfreq = utils::inumeric(FLERR,arg[iarg+1],false,lmp); + userbinsize = utils::numeric(FLERR,arg[iarg+2],false,lmp); if (sortfreq < 0 || userbinsize < 0.0) error->all(FLERR,"Illegal atom_modify command"); if (sortfreq >= 0 && firstgroupname) @@ -1576,8 +1576,8 @@ void Atom::data_bodies(int n, char *buf, AtomVec *avec_body, tagint id_offset) else error->one(FLERR,"Duplicate atom ID in Bodies section of data file"); - ninteger = force->inumeric(FLERR,strtok(NULL," \t\n\r\f")); - ndouble = force->inumeric(FLERR,strtok(NULL," \t\n\r\f")); + ninteger = utils::inumeric(FLERR,strtok(NULL," \t\n\r\f"),false,lmp); + ndouble = utils::inumeric(FLERR,strtok(NULL," \t\n\r\f"),false,lmp); if ((m = map(tagdata)) >= 0) { if (ninteger > maxint) { @@ -1592,9 +1592,9 @@ void Atom::data_bodies(int n, char *buf, AtomVec *avec_body, tagint id_offset) } for (j = 0; j < ninteger; j++) - ivalues[j] = force->inumeric(FLERR,strtok(NULL," \t\n\r\f")); + ivalues[j] = utils::inumeric(FLERR,strtok(NULL," \t\n\r\f"),false,lmp); for (j = 0; j < ndouble; j++) - dvalues[j] = force->numeric(FLERR,strtok(NULL," \t\n\r\f")); + dvalues[j] = utils::numeric(FLERR,strtok(NULL," \t\n\r\f"),false,lmp); avec_body->data_body(m,ninteger,ndouble,ivalues,dvalues); @@ -1702,7 +1702,7 @@ void Atom::set_mass(const char *file, int line, int /*narg*/, char **arg) if (mass == NULL) error->all(file,line,"Cannot set mass for this atom style"); int lo,hi; - force->bounds(file,line,arg[0],ntypes,lo,hi); + utils::bounds(file,line,arg[0],1,ntypes,lo,hi,error); if (lo < 1 || hi > ntypes) error->all(file,line,"Invalid type for mass set"); for (int itype = lo; itype <= hi; itype++) { diff --git a/src/balance.cpp b/src/balance.cpp index d5032d89238bec985360bc4b0e2e2c8ee273190e..168d7f59a4d5362cbd2e58dd35dc4235b87a52ee 100644 --- a/src/balance.cpp +++ b/src/balance.cpp @@ -119,7 +119,7 @@ void Balance::command(int narg, char **arg) if (narg < 2) error->all(FLERR,"Illegal balance command"); - thresh = force->numeric(FLERR,arg[0]); + thresh = utils::numeric(FLERR,arg[0],false,lmp); int dimension = domain->dimension; int *procgrid = comm->procgrid; @@ -145,7 +145,7 @@ void Balance::command(int narg, char **arg) user_xsplit[0] = 0.0; iarg++; for (int i = 1; i < procgrid[0]; i++) - user_xsplit[i] = force->numeric(FLERR,arg[iarg++]); + user_xsplit[i] = utils::numeric(FLERR,arg[iarg++],false,lmp); user_xsplit[procgrid[0]] = 1.0; } } else if (strcmp(arg[iarg],"y") == 0) { @@ -165,7 +165,7 @@ void Balance::command(int narg, char **arg) user_ysplit[0] = 0.0; iarg++; for (int i = 1; i < procgrid[1]; i++) - user_ysplit[i] = force->numeric(FLERR,arg[iarg++]); + user_ysplit[i] = utils::numeric(FLERR,arg[iarg++],false,lmp); user_ysplit[procgrid[1]] = 1.0; } } else if (strcmp(arg[iarg],"z") == 0) { @@ -185,7 +185,7 @@ void Balance::command(int narg, char **arg) user_zsplit[0] = 0.0; iarg++; for (int i = 1; i < procgrid[2]; i++) - user_zsplit[i] = force->numeric(FLERR,arg[iarg++]); + user_zsplit[i] = utils::numeric(FLERR,arg[iarg++],false,lmp); user_zsplit[procgrid[2]] = 1.0; } @@ -195,9 +195,9 @@ void Balance::command(int narg, char **arg) style = SHIFT; if (strlen(arg[iarg+1]) > 3) error->all(FLERR,"Illegal balance command"); strcpy(bstr,arg[iarg+1]); - nitermax = force->inumeric(FLERR,arg[iarg+2]); + nitermax = utils::inumeric(FLERR,arg[iarg+2],false,lmp); if (nitermax <= 0) error->all(FLERR,"Illegal balance command"); - stopthresh = force->numeric(FLERR,arg[iarg+3]); + stopthresh = utils::numeric(FLERR,arg[iarg+3],false,lmp); if (stopthresh < 1.0) error->all(FLERR,"Illegal balance command"); iarg += 4; diff --git a/src/bond.cpp b/src/bond.cpp index 0fb42da98a21cd39f5338ad5df0e214d3774668e..12659fd8aa26b5c2eaf761b4f8c89d535beb1ab3 100644 --- a/src/bond.cpp +++ b/src/bond.cpp @@ -236,16 +236,16 @@ void Bond::write_file(int narg, char **arg) int itype = 0; int jtype = 0; if (narg == 8) { - itype = force->inumeric(FLERR,arg[6]); - jtype = force->inumeric(FLERR,arg[7]); + itype = utils::inumeric(FLERR,arg[6],false,lmp); + jtype = utils::inumeric(FLERR,arg[7],false,lmp); if (itype < 1 || itype > atom->ntypes || jtype < 1 || jtype > atom->ntypes) error->all(FLERR,"Invalid atom types in bond_write command"); } - int btype = force->inumeric(FLERR,arg[0]); - int n = force->inumeric(FLERR,arg[1]); - double inner = force->numeric(FLERR,arg[2]); - double outer = force->numeric(FLERR,arg[3]); + int btype = utils::inumeric(FLERR,arg[0],false,lmp); + int n = utils::inumeric(FLERR,arg[1],false,lmp); + double inner = utils::numeric(FLERR,arg[2],false,lmp); + double outer = utils::numeric(FLERR,arg[3],false,lmp); if (inner <= 0.0 || inner >= outer) error->all(FLERR,"Invalid rlo/rhi values in bond_write command"); diff --git a/src/bond_hybrid.cpp b/src/bond_hybrid.cpp index aadc25987a21894690ff41189770fcfa74bbdc6e..2fe9f7d3887b40cbf5c6ad0744332f9e673624b4 100644 --- a/src/bond_hybrid.cpp +++ b/src/bond_hybrid.cpp @@ -268,7 +268,7 @@ void BondHybrid::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi; - force->bounds(FLERR,arg[0],atom->nbondtypes,ilo,ihi); + utils::bounds(FLERR,arg[0],1,atom->nbondtypes,ilo,ihi,error); // 2nd arg = bond sub-style name // allow for "none" as valid sub-style name diff --git a/src/bond_zero.cpp b/src/bond_zero.cpp index cb336ddd6731cbd003a735a8b712468454c6c8b9..8053c5531de7c071a995d42d5424d311186ce559 100644 --- a/src/bond_zero.cpp +++ b/src/bond_zero.cpp @@ -85,11 +85,11 @@ void BondZero::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi; - force->bounds(FLERR,arg[0],atom->nbondtypes,ilo,ihi); + utils::bounds(FLERR,arg[0],1,atom->nbondtypes,ilo,ihi,error); double r0_one = 0.0; if (coeffflag && (narg == 2)) - r0_one = force->numeric(FLERR,arg[1]); + r0_one = utils::numeric(FLERR,arg[1],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/change_box.cpp b/src/change_box.cpp index ff7658a01f80bddcc5086ce9f3b558b3691e4a56..5fe4eb8a06f57e59dc29758c69fc9ceab5acc895 100644 --- a/src/change_box.cpp +++ b/src/change_box.cpp @@ -83,23 +83,23 @@ void ChangeBox::command(int narg, char **arg) if (strcmp(arg[iarg+1],"final") == 0) { if (iarg+4 > narg) error->all(FLERR,"Illegal change_box command"); ops[nops].flavor = FINAL; - ops[nops].flo = force->numeric(FLERR,arg[iarg+2]); - ops[nops].fhi = force->numeric(FLERR,arg[iarg+3]); + ops[nops].flo = utils::numeric(FLERR,arg[iarg+2],false,lmp); + ops[nops].fhi = utils::numeric(FLERR,arg[iarg+3],false,lmp); ops[nops].vdim1 = ops[nops].vdim2 = -1; nops++; iarg += 4; } else if (strcmp(arg[iarg+1],"delta") == 0) { if (iarg+4 > narg) error->all(FLERR,"Illegal change_box command"); ops[nops].flavor = DELTA; - ops[nops].dlo = force->numeric(FLERR,arg[iarg+2]); - ops[nops].dhi = force->numeric(FLERR,arg[iarg+3]); + ops[nops].dlo = utils::numeric(FLERR,arg[iarg+2],false,lmp); + ops[nops].dhi = utils::numeric(FLERR,arg[iarg+3],false,lmp); ops[nops].vdim1 = ops[nops].vdim2 = -1; nops++; iarg += 4; } else if (strcmp(arg[iarg+1],"scale") == 0) { if (iarg+3 > narg) error->all(FLERR,"Illegal change_box command"); ops[nops].flavor = SCALE; - ops[nops].scale = force->numeric(FLERR,arg[iarg+2]); + ops[nops].scale = utils::numeric(FLERR,arg[iarg+2],false,lmp); ops[nops].vdim1 = ops[nops].vdim2 = -1; nops++; iarg += 3; @@ -129,13 +129,13 @@ void ChangeBox::command(int narg, char **arg) if (strcmp(arg[iarg+1],"final") == 0) { if (iarg+3 > narg) error->all(FLERR,"Illegal change_box command"); ops[nops].flavor = FINAL; - ops[nops].ftilt = force->numeric(FLERR,arg[iarg+2]); + ops[nops].ftilt = utils::numeric(FLERR,arg[iarg+2],false,lmp); nops++; iarg += 3; } else if (strcmp(arg[iarg+1],"delta") == 0) { if (iarg+3 > narg) error->all(FLERR,"Illegal change_box command"); ops[nops].flavor = DELTA; - ops[nops].dtilt = force->numeric(FLERR,arg[iarg+2]); + ops[nops].dtilt = utils::numeric(FLERR,arg[iarg+2],false,lmp); nops++; iarg += 3; } else error->all(FLERR,"Illegal change_box command"); diff --git a/src/comm.cpp b/src/comm.cpp index 7902545330a3e60d19f79ae6ef21ff3cebabc7d3..7e603f21049446b8b4ce0bccdd41024540dc7504 100644 --- a/src/comm.cpp +++ b/src/comm.cpp @@ -300,7 +300,7 @@ void Comm::modify_params(int narg, char **arg) if (mode == Comm::MULTI) error->all(FLERR, "Use cutoff/multi keyword to set cutoff in multi mode"); - cutghostuser = force->numeric(FLERR,arg[iarg+1]); + cutghostuser = utils::numeric(FLERR,arg[iarg+1],false,lmp); if (cutghostuser < 0.0) error->all(FLERR,"Invalid cutoff in comm_modify command"); iarg += 2; @@ -320,8 +320,8 @@ void Comm::modify_params(int narg, char **arg) for (i=0; i < ntypes+1; ++i) cutusermulti[i] = -1.0; } - force->bounds(FLERR,arg[iarg+1],ntypes,nlo,nhi,1); - cut = force->numeric(FLERR,arg[iarg+2]); + utils::bounds(FLERR,arg[iarg+1],1,ntypes,nlo,nhi,error); + cut = utils::numeric(FLERR,arg[iarg+2],false,lmp); cutghostuser = MAX(cutghostuser,cut); if (cut < 0.0) error->all(FLERR,"Invalid cutoff in comm_modify command"); @@ -348,11 +348,11 @@ void Comm::set_processors(int narg, char **arg) if (narg < 3) error->all(FLERR,"Illegal processors command"); if (strcmp(arg[0],"*") == 0) user_procgrid[0] = 0; - else user_procgrid[0] = force->inumeric(FLERR,arg[0]); + else user_procgrid[0] = utils::inumeric(FLERR,arg[0],false,lmp); if (strcmp(arg[1],"*") == 0) user_procgrid[1] = 0; - else user_procgrid[1] = force->inumeric(FLERR,arg[1]); + else user_procgrid[1] = utils::inumeric(FLERR,arg[1],false,lmp); if (strcmp(arg[2],"*") == 0) user_procgrid[2] = 0; - else user_procgrid[2] = force->inumeric(FLERR,arg[2]); + else user_procgrid[2] = utils::inumeric(FLERR,arg[2],false,lmp); if (user_procgrid[0] < 0 || user_procgrid[1] < 0 || user_procgrid[2] < 0) error->all(FLERR,"Illegal processors command"); @@ -373,13 +373,13 @@ void Comm::set_processors(int narg, char **arg) if (iarg+6 > narg) error->all(FLERR,"Illegal processors command"); gridflag = TWOLEVEL; - ncores = force->inumeric(FLERR,arg[iarg+2]); + ncores = utils::inumeric(FLERR,arg[iarg+2],false,lmp); if (strcmp(arg[iarg+3],"*") == 0) user_coregrid[0] = 0; - else user_coregrid[0] = force->inumeric(FLERR,arg[iarg+3]); + else user_coregrid[0] = utils::inumeric(FLERR,arg[iarg+3],false,lmp); if (strcmp(arg[iarg+4],"*") == 0) user_coregrid[1] = 0; - else user_coregrid[1] = force->inumeric(FLERR,arg[iarg+4]); + else user_coregrid[1] = utils::inumeric(FLERR,arg[iarg+4],false,lmp); if (strcmp(arg[iarg+5],"*") == 0) user_coregrid[2] = 0; - else user_coregrid[2] = force->inumeric(FLERR,arg[iarg+5]); + else user_coregrid[2] = utils::inumeric(FLERR,arg[iarg+5],false,lmp); if (ncores <= 0 || user_coregrid[0] < 0 || user_coregrid[1] < 0 || user_coregrid[2] < 0) @@ -422,8 +422,8 @@ void Comm::set_processors(int narg, char **arg) error->all(FLERR, "Cannot use processors part command " "without using partitions"); - int isend = force->inumeric(FLERR,arg[iarg+1]); - int irecv = force->inumeric(FLERR,arg[iarg+2]); + int isend = utils::inumeric(FLERR,arg[iarg+1],false,lmp); + int irecv = utils::inumeric(FLERR,arg[iarg+2],false,lmp); if (isend < 1 || isend > universe->nworlds || irecv < 1 || irecv > universe->nworlds || isend == irecv) error->all(FLERR,"Invalid partitions in processors part command"); diff --git a/src/compute.cpp b/src/compute.cpp index 4009396eb0099ad580054ee93096ed978082f6f7..208b93730ee11cb0a474797315c07222f24d6ece 100644 --- a/src/compute.cpp +++ b/src/compute.cpp @@ -129,7 +129,7 @@ void Compute::modify_params(int narg, char **arg) if (strcmp(arg[iarg],"extra") == 0 || strcmp(arg[iarg],"extra/dof") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal compute_modify command"); - extra_dof = force->numeric(FLERR,arg[iarg+1]); + extra_dof = utils::numeric(FLERR,arg[iarg+1],false,lmp); iarg += 2; } else if (strcmp(arg[iarg],"dynamic") == 0 || strcmp(arg[iarg],"dynamic/dof") == 0) { diff --git a/src/compute_adf.cpp b/src/compute_adf.cpp index dee5fb214f152a29e755fcb318544be4ee69b7d9..0bd329079a807158ee2029bfee8af993560b0eb8 100644 --- a/src/compute_adf.cpp +++ b/src/compute_adf.cpp @@ -30,6 +30,7 @@ #include "memory.h" #include "error.h" #include "comm.h" +#include "utils.h" using namespace LAMMPS_NS; using namespace MathConst; @@ -67,7 +68,7 @@ ComputeADF::ComputeADF(LAMMPS *lmp, int narg, char **arg) : ordinate_style = DEGREE; cutflag = 0; - nbin = force->inumeric(FLERR,arg[3]); + nbin = utils::inumeric(FLERR,arg[3],false,lmp); if (nbin < 1) error->all(FLERR,"Illegal compute adf command"); // optional args @@ -134,19 +135,19 @@ ComputeADF::ComputeADF(LAMMPS *lmp, int narg, char **arg) : cutflag = 1; iarg = 4; for (int m = 0; m < ntriples; m++) { - force->bounds(FLERR,arg[iarg],atom->ntypes,ilo[m],ihi[m]); - force->bounds(FLERR,arg[iarg+1],atom->ntypes,jlo[m],jhi[m]); - force->bounds(FLERR,arg[iarg+2],atom->ntypes,klo[m],khi[m]); + utils::bounds(FLERR,arg[iarg],1,atom->ntypes,ilo[m],ihi[m],error); + utils::bounds(FLERR,arg[iarg+1],1,atom->ntypes,jlo[m],jhi[m],error); + utils::bounds(FLERR,arg[iarg+2],1,atom->ntypes,klo[m],khi[m],error); if (ilo[m] > ihi[m] || jlo[m] > jhi[m] || klo[m] > khi[m]) error->all(FLERR,"Illegal compute adf command"); - rcutinnerj[m] = force->numeric(FLERR,arg[iarg+3]); - rcutouterj[m] = force->numeric(FLERR,arg[iarg+4]); + rcutinnerj[m] = utils::numeric(FLERR,arg[iarg+3],false,lmp); + rcutouterj[m] = utils::numeric(FLERR,arg[iarg+4],false,lmp); if (rcutinnerj[m] < 0.0 || rcutinnerj[m] >= rcutouterj[m]) error->all(FLERR,"Illegal compute adf command"); - rcutinnerk[m] = force->numeric(FLERR,arg[iarg+5]); - rcutouterk[m] = force->numeric(FLERR,arg[iarg+6]); + rcutinnerk[m] = utils::numeric(FLERR,arg[iarg+5],false,lmp); + rcutouterk[m] = utils::numeric(FLERR,arg[iarg+6],false,lmp); if (rcutinnerk[m] < 0.0 || rcutinnerk[m] >= rcutouterk[m]) error->all(FLERR,"Illegal compute adf command"); iarg += nargsperadf; diff --git a/src/compute_aggregate_atom.cpp b/src/compute_aggregate_atom.cpp index e495ac689926b75a15c262f7f7364e58bffe95d4..6e28a94388b05f835584b3e4f7d8421c802fc9b7 100644 --- a/src/compute_aggregate_atom.cpp +++ b/src/compute_aggregate_atom.cpp @@ -44,7 +44,7 @@ ComputeAggregateAtom::ComputeAggregateAtom(LAMMPS *lmp, int narg, char **arg) : { if (narg != 4) error->all(FLERR,"Illegal compute aggregate/atom command"); - double cutoff = force->numeric(FLERR,arg[3]); + double cutoff = utils::numeric(FLERR,arg[3],false,lmp); cutsq = cutoff*cutoff; if (atom->avec->bonds_allow == 0) diff --git a/src/compute_centro_atom.cpp b/src/compute_centro_atom.cpp index 18fc31390feba5025b0244909557bd2ec8d03c10..f88dea9ebed691d2aa2884bee1f191f40016e26f 100644 --- a/src/compute_centro_atom.cpp +++ b/src/compute_centro_atom.cpp @@ -43,7 +43,7 @@ ComputeCentroAtom::ComputeCentroAtom(LAMMPS *lmp, int narg, char **arg) : if (strcmp(arg[3],"fcc") == 0) nnn = 12; else if (strcmp(arg[3],"bcc") == 0) nnn = 8; - else nnn = force->inumeric(FLERR,arg[3]); + else nnn = utils::inumeric(FLERR,arg[3],false,lmp); // default values diff --git a/src/compute_chunk_atom.cpp b/src/compute_chunk_atom.cpp index c8e4269b56dfd3339259e5c91267fa4354218e39..ae041c199751be1528ebc05cc45813142d3a9ba7 100644 --- a/src/compute_chunk_atom.cpp +++ b/src/compute_chunk_atom.cpp @@ -108,12 +108,12 @@ ComputeChunkAtom::ComputeChunkAtom(LAMMPS *lmp, int narg, char **arg) : ncoord = 1; iarg = 4; if (iarg+6 > narg) error->all(FLERR,"Illegal compute chunk/atom command"); - sorigin_user[0] = force->numeric(FLERR,arg[iarg]); - sorigin_user[1] = force->numeric(FLERR,arg[iarg+1]); - sorigin_user[2] = force->numeric(FLERR,arg[iarg+2]); - sradmin_user = force->numeric(FLERR,arg[iarg+3]); - sradmax_user = force->numeric(FLERR,arg[iarg+4]); - nsbin = force->inumeric(FLERR,arg[iarg+5]); + sorigin_user[0] = utils::numeric(FLERR,arg[iarg],false,lmp); + sorigin_user[1] = utils::numeric(FLERR,arg[iarg+1],false,lmp); + sorigin_user[2] = utils::numeric(FLERR,arg[iarg+2],false,lmp); + sradmin_user = utils::numeric(FLERR,arg[iarg+3],false,lmp); + sradmax_user = utils::numeric(FLERR,arg[iarg+4],false,lmp); + nsbin = utils::inumeric(FLERR,arg[iarg+5],false,lmp); iarg += 6; } else if (strcmp(arg[3],"bin/cylinder") == 0) { binflag = 1; @@ -134,12 +134,12 @@ ComputeChunkAtom::ComputeChunkAtom(LAMMPS *lmp, int narg, char **arg) : } if (iarg+5 > narg) error->all(FLERR,"Illegal compute chunk/atom command"); corigin_user[dim[0]] = 0.0; - corigin_user[cdim1] = force->numeric(FLERR,arg[iarg]); - corigin_user[cdim2] = force->numeric(FLERR,arg[iarg+1]); - cradmin_user = force->numeric(FLERR,arg[iarg+2]); - cradmax_user = force->numeric(FLERR,arg[iarg+3]); + corigin_user[cdim1] = utils::numeric(FLERR,arg[iarg],false,lmp); + corigin_user[cdim2] = utils::numeric(FLERR,arg[iarg+1],false,lmp); + cradmin_user = utils::numeric(FLERR,arg[iarg+2],false,lmp); + cradmax_user = utils::numeric(FLERR,arg[iarg+3],false,lmp); - ncbin = force->inumeric(FLERR,arg[iarg+4]); + ncbin = utils::inumeric(FLERR,arg[iarg+4],false,lmp); iarg += 5; } else if (strcmp(arg[3],"type") == 0) { @@ -218,7 +218,7 @@ ComputeChunkAtom::ComputeChunkAtom(LAMMPS *lmp, int narg, char **arg) : iarg += 2; } else if (strcmp(arg[iarg],"limit") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal compute chunk/atom command"); - limit = force->inumeric(FLERR,arg[iarg+1]); + limit = utils::inumeric(FLERR,arg[iarg+1],false,lmp); if (limit < 0) error->all(FLERR,"Illegal compute chunk/atom command"); if (limit && !compress) limitfirst = 1; iarg += 2; @@ -261,11 +261,11 @@ ComputeChunkAtom::ComputeChunkAtom(LAMMPS *lmp, int narg, char **arg) : if (strcmp(arg[iarg+2],"lower") == 0) minflag[idim] = LOWER; else minflag[idim] = COORD; if (minflag[idim] == COORD) - minvalue[idim] = force->numeric(FLERR,arg[iarg+2]); + minvalue[idim] = utils::numeric(FLERR,arg[iarg+2],false,lmp); if (strcmp(arg[iarg+3],"upper") == 0) maxflag[idim] = UPPER; else maxflag[idim] = COORD; if (maxflag[idim] == COORD) - maxvalue[idim] = force->numeric(FLERR,arg[iarg+3]); + maxvalue[idim] = utils::numeric(FLERR,arg[iarg+3],false,lmp); else error->all(FLERR,"Illegal compute chunk/atom command"); iarg += 4; } else if (strcmp(arg[iarg],"units") == 0) { @@ -1983,9 +1983,9 @@ void ComputeChunkAtom::readdim(int narg, char **arg, int iarg, int idim) else if (strcmp(arg[iarg+1],"upper") == 0) originflag[idim] = UPPER; else originflag[idim] = COORD; if (originflag[idim] == COORD) - origin[idim] = force->numeric(FLERR,arg[iarg+1]); + origin[idim] = utils::numeric(FLERR,arg[iarg+1],false,lmp); - delta[idim] = force->numeric(FLERR,arg[iarg+2]); + delta[idim] = utils::numeric(FLERR,arg[iarg+2],false,lmp); } /* ---------------------------------------------------------------------- diff --git a/src/compute_chunk_spread_atom.cpp b/src/compute_chunk_spread_atom.cpp index 41dbf2d5cb2af0d74955a7028f95277ad901686d..579b194b9f526820bb72eb3ebcc1b0ce61d6c4dd 100644 --- a/src/compute_chunk_spread_atom.cpp +++ b/src/compute_chunk_spread_atom.cpp @@ -54,7 +54,7 @@ ComputeChunkSpreadAtom(LAMMPS *lmp, int narg, char **arg) : int iarg = 4; int expand = 0; char **earg; - int nargnew = input->expand_args(narg-iarg,&arg[iarg],1,earg); + int nargnew = utils::expand_args(FLERR,narg-iarg,&arg[iarg],1,earg,lmp); if (earg != &arg[iarg]) expand = 1; arg = earg; diff --git a/src/compute_cluster_atom.cpp b/src/compute_cluster_atom.cpp index ff227b35908e7cd3e8ae684f13b992225ca87499..021665a647284af3c5d855ed951bbd799442ff64 100644 --- a/src/compute_cluster_atom.cpp +++ b/src/compute_cluster_atom.cpp @@ -41,7 +41,7 @@ ComputeClusterAtom::ComputeClusterAtom(LAMMPS *lmp, int narg, char **arg) : { if (narg != 4) error->all(FLERR,"Illegal compute cluster/atom command"); - double cutoff = force->numeric(FLERR,arg[3]); + double cutoff = utils::numeric(FLERR,arg[3],false,lmp); cutsq = cutoff*cutoff; peratom_flag = 1; diff --git a/src/compute_cna_atom.cpp b/src/compute_cna_atom.cpp index 7ab9e8adf2da8b0622347b4c6017a891182cdb35..8bbe2c15d053c05632f4b8e73a309cbd577725a2 100644 --- a/src/compute_cna_atom.cpp +++ b/src/compute_cna_atom.cpp @@ -51,7 +51,7 @@ ComputeCNAAtom::ComputeCNAAtom(LAMMPS *lmp, int narg, char **arg) : peratom_flag = 1; size_peratom_cols = 0; - double cutoff = force->numeric(FLERR,arg[3]); + double cutoff = utils::numeric(FLERR,arg[3],false,lmp); if (cutoff < 0.0) error->all(FLERR,"Illegal compute cna/atom command"); cutsq = cutoff*cutoff; diff --git a/src/compute_coord_atom.cpp b/src/compute_coord_atom.cpp index 4a96c29a240c5f962c8a26e4abac290d6bea7a7c..be2f9c39bd03d28e8f1a54ba8255fcda9f61e810 100644 --- a/src/compute_coord_atom.cpp +++ b/src/compute_coord_atom.cpp @@ -48,7 +48,7 @@ ComputeCoordAtom::ComputeCoordAtom(LAMMPS *lmp, int narg, char **arg) : if (strcmp(arg[3],"cutoff") == 0) { cstyle = CUTOFF; - double cutoff = force->numeric(FLERR,arg[4]); + double cutoff = utils::numeric(FLERR,arg[4],false,lmp); cutsq = cutoff*cutoff; int iarg = 5; @@ -75,7 +75,7 @@ ComputeCoordAtom::ComputeCoordAtom(LAMMPS *lmp, int narg, char **arg) : } else { ncol = 0; while (iarg < narg) { - force->bounds(FLERR,arg[iarg],ntypes,typelo[ncol],typehi[ncol]); + utils::bounds(FLERR,arg[iarg],1,ntypes,typelo[ncol],typehi[ncol],error); if (typelo[ncol] > typehi[ncol]) error->all(FLERR,"Illegal compute coord/atom command"); ncol++; @@ -97,7 +97,7 @@ ComputeCoordAtom::ComputeCoordAtom(LAMMPS *lmp, int narg, char **arg) : if (!utils::strmatch(modify->compute[iorientorder]->style,"^orientorder/atom")) error->all(FLERR,"Compute coord/atom compute ID is not orientorder/atom"); - threshold = force->numeric(FLERR,arg[5]); + threshold = utils::numeric(FLERR,arg[5],false,lmp); if (threshold <= -1.0 || threshold >= 1.0) error->all(FLERR,"Compute coord/atom threshold not between -1 and 1"); diff --git a/src/compute_global_atom.cpp b/src/compute_global_atom.cpp index f015ec910af30566465039ef1a42e6256a8b24be..0c0e34fa0c12a836f35835001c848b51221fb94c 100644 --- a/src/compute_global_atom.cpp +++ b/src/compute_global_atom.cpp @@ -22,6 +22,7 @@ #include "variable.h" #include "memory.h" #include "error.h" +#include "utils.h" using namespace LAMMPS_NS; @@ -80,7 +81,7 @@ ComputeGlobalAtom::ComputeGlobalAtom(LAMMPS *lmp, int narg, char **arg) : int expand = 0; char **earg; - int nargnew = input->expand_args(narg-iarg,&arg[iarg],1,earg); + int nargnew = utils::expand_args(FLERR,narg-iarg,&arg[iarg],1,earg,lmp); if (earg != &arg[iarg]) expand = 1; arg = earg; diff --git a/src/compute_hexorder_atom.cpp b/src/compute_hexorder_atom.cpp index b4ffd91b43f2d3af9c71b1303d0414efaf1b529e..00f81dc8456a2d08a51cf7665da812134e7e967b 100644 --- a/src/compute_hexorder_atom.cpp +++ b/src/compute_hexorder_atom.cpp @@ -59,7 +59,7 @@ ComputeHexOrderAtom::ComputeHexOrderAtom(LAMMPS *lmp, int narg, char **arg) : while (iarg < narg) { if (strcmp(arg[iarg],"degree") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal compute hexorder/atom command"); - ndegree = force->numeric(FLERR,arg[iarg+1]); + ndegree = utils::numeric(FLERR,arg[iarg+1],false,lmp); if (ndegree < 0) error->all(FLERR,"Illegal compute hexorder/atom command"); iarg += 2; @@ -68,14 +68,14 @@ ComputeHexOrderAtom::ComputeHexOrderAtom(LAMMPS *lmp, int narg, char **arg) : if (strcmp(arg[iarg+1],"NULL") == 0) nnn = 0; else { - nnn = force->numeric(FLERR,arg[iarg+1]); + nnn = utils::numeric(FLERR,arg[iarg+1],false,lmp); if (nnn < 0) error->all(FLERR,"Illegal compute hexorder/atom command"); } iarg += 2; } else if (strcmp(arg[iarg],"cutoff") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal compute hexorder/atom command"); - double cutoff = force->numeric(FLERR,arg[iarg+1]); + double cutoff = utils::numeric(FLERR,arg[iarg+1],false,lmp); if (cutoff <= 0.0) error->all(FLERR,"Illegal compute hexorder/atom command"); cutsq = cutoff*cutoff; diff --git a/src/compute_orientorder_atom.cpp b/src/compute_orientorder_atom.cpp index c278ccc5203c635eebdf2dbb0b0410e91d8542db..ade9f7615ede6fc5ed9affca897812e21d60d145 100644 --- a/src/compute_orientorder_atom.cpp +++ b/src/compute_orientorder_atom.cpp @@ -85,7 +85,7 @@ ComputeOrientOrderAtom::ComputeOrientOrderAtom(LAMMPS *lmp, int narg, char **arg if (strcmp(arg[iarg+1],"NULL") == 0) { nnn = 0; } else { - nnn = force->numeric(FLERR,arg[iarg+1]); + nnn = utils::numeric(FLERR,arg[iarg+1],false,lmp); if (nnn <= 0) error->all(FLERR,"Illegal compute orientorder/atom command"); } @@ -93,7 +93,7 @@ ComputeOrientOrderAtom::ComputeOrientOrderAtom(LAMMPS *lmp, int narg, char **arg } else if (strcmp(arg[iarg],"degrees") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal compute orientorder/atom command"); - nqlist = force->numeric(FLERR,arg[iarg+1]); + nqlist = utils::numeric(FLERR,arg[iarg+1],false,lmp); if (nqlist <= 0) error->all(FLERR,"Illegal compute orientorder/atom command"); memory->destroy(qlist); @@ -103,7 +103,7 @@ ComputeOrientOrderAtom::ComputeOrientOrderAtom(LAMMPS *lmp, int narg, char **arg error->all(FLERR,"Illegal compute orientorder/atom command"); qmax = 0; for (int il = 0; il < nqlist; il++) { - qlist[il] = force->numeric(FLERR,arg[iarg+il]); + qlist[il] = utils::numeric(FLERR,arg[iarg+il],false,lmp); if (qlist[il] < 0) error->all(FLERR,"Illegal compute orientorder/atom command"); if (qlist[il] > qmax) qmax = qlist[il]; @@ -127,7 +127,7 @@ ComputeOrientOrderAtom::ComputeOrientOrderAtom(LAMMPS *lmp, int narg, char **arg qlcompflag = 1; if (iarg+2 > narg) error->all(FLERR,"Illegal compute orientorder/atom command"); - qlcomp = force->numeric(FLERR,arg[iarg+1]); + qlcomp = utils::numeric(FLERR,arg[iarg+1],false,lmp); iqlcomp = -1; for (int il = 0; il < nqlist; il++) if (qlcomp == qlist[il]) { @@ -140,7 +140,7 @@ ComputeOrientOrderAtom::ComputeOrientOrderAtom(LAMMPS *lmp, int narg, char **arg } else if (strcmp(arg[iarg],"cutoff") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal compute orientorder/atom command"); - double cutoff = force->numeric(FLERR,arg[iarg+1]); + double cutoff = utils::numeric(FLERR,arg[iarg+1],false,lmp); if (cutoff <= 0.0) error->all(FLERR,"Illegal compute orientorder/atom command"); cutsq = cutoff*cutoff; @@ -148,7 +148,7 @@ ComputeOrientOrderAtom::ComputeOrientOrderAtom(LAMMPS *lmp, int narg, char **arg } else if (strcmp(arg[iarg],"chunksize") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal compute orientorder/atom command"); - chunksize = force->numeric(FLERR,arg[iarg+1]); + chunksize = utils::numeric(FLERR,arg[iarg+1],false,lmp); if (chunksize <= 0) error->all(FLERR,"Illegal compute orientorder/atom command"); iarg += 2; diff --git a/src/compute_pair.cpp b/src/compute_pair.cpp index e9a3faf723d966c7634efcb282760c18534d5dfb..054a50bed4eb3746956ae7c5866bf293cccd17a4 100644 --- a/src/compute_pair.cpp +++ b/src/compute_pair.cpp @@ -48,7 +48,7 @@ ComputePair::ComputePair(LAMMPS *lmp, int narg, char **arg) : if (narg > iarg) { if (isdigit(arg[iarg][0])) { - nsub = force->inumeric(FLERR,arg[iarg]); + nsub = utils::inumeric(FLERR,arg[iarg],false,lmp); ++iarg; if (nsub <= 0) error->all(FLERR,"Illegal compute pair command"); diff --git a/src/compute_pressure.cpp b/src/compute_pressure.cpp index cb0743a7d6e5c7a99db313a5ae85a1ab2b9ad0ef..4712c834617682698a8860d615bfd4ba3175b1f3 100644 --- a/src/compute_pressure.cpp +++ b/src/compute_pressure.cpp @@ -90,7 +90,7 @@ ComputePressure::ComputePressure(LAMMPS *lmp, int narg, char **arg) : if (narg > iarg) { if (isdigit(arg[iarg][0])) { - nsub = force->inumeric(FLERR,arg[iarg]); + nsub = utils::inumeric(FLERR,arg[iarg],false,lmp); ++iarg; if (nsub <= 0) error->all(FLERR,"Illegal compute pressure command"); diff --git a/src/compute_rdf.cpp b/src/compute_rdf.cpp index 501a506c98b31161d3dd99d19e91b2a67aaecee1..920228e0563b905a36ee75ad0d94946e9e83ae1e 100644 --- a/src/compute_rdf.cpp +++ b/src/compute_rdf.cpp @@ -32,6 +32,7 @@ #include "memory.h" #include "error.h" #include "comm.h" +#include "utils.h" using namespace LAMMPS_NS; using namespace MathConst; @@ -49,7 +50,7 @@ ComputeRDF::ComputeRDF(LAMMPS *lmp, int narg, char **arg) : array_flag = 1; extarray = 0; - nbin = force->inumeric(FLERR,arg[3]); + nbin = utils::inumeric(FLERR,arg[3],false,lmp); if (nbin < 1) error->all(FLERR,"Illegal compute rdf command"); // optional args @@ -66,7 +67,7 @@ ComputeRDF::ComputeRDF(LAMMPS *lmp, int narg, char **arg) : while (iarg < narg) { if (strcmp(arg[iarg],"cutoff") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal compute rdf command"); - cutoff_user = force->numeric(FLERR,arg[iarg+1]); + cutoff_user = utils::numeric(FLERR,arg[iarg+1],false,lmp); if (cutoff_user <= 0.0) cutflag = 0; else cutflag = 1; iarg += 2; @@ -98,8 +99,8 @@ ComputeRDF::ComputeRDF(LAMMPS *lmp, int narg, char **arg) : } else { iarg = 4; for (int ipair = 0; ipair < npairs; ipair++) { - force->bounds(FLERR,arg[iarg],atom->ntypes,ilo[ipair],ihi[ipair]); - force->bounds(FLERR,arg[iarg+1],atom->ntypes,jlo[ipair],jhi[ipair]); + utils::bounds(FLERR,arg[iarg],1,atom->ntypes,ilo[ipair],ihi[ipair],error); + utils::bounds(FLERR,arg[iarg+1],1,atom->ntypes,jlo[ipair],jhi[ipair],error); if (ilo[ipair] > ihi[ipair] || jlo[ipair] > jhi[ipair]) error->all(FLERR,"Illegal compute rdf command"); iarg += 2; diff --git a/src/compute_reduce.cpp b/src/compute_reduce.cpp index 8467554faaa17bca4f16df31fada0856e438d4d2..d4730c1de03bde0e5f30e26d0b227bf7e7c0df6a 100644 --- a/src/compute_reduce.cpp +++ b/src/compute_reduce.cpp @@ -25,6 +25,7 @@ #include "variable.h" #include "memory.h" #include "error.h" +#include "utils.h" using namespace LAMMPS_NS; @@ -78,7 +79,7 @@ ComputeReduce::ComputeReduce(LAMMPS *lmp, int narg, char **arg) : int expand = 0; char **earg; - int nargnew = input->expand_args(narg-iarg,&arg[iarg],1,earg); + int nargnew = utils::expand_args(FLERR,narg-iarg,&arg[iarg],1,earg,lmp); if (earg != &arg[iarg]) expand = 1; arg = earg; diff --git a/src/compute_reduce_chunk.cpp b/src/compute_reduce_chunk.cpp index 3b68e20fcb08f2480431f9989ba2dd4a2b79f57d..cd64c8cb1b82d079bef98627deb65d4d243875f8 100644 --- a/src/compute_reduce_chunk.cpp +++ b/src/compute_reduce_chunk.cpp @@ -25,6 +25,7 @@ #include "variable.h" #include "memory.h" #include "error.h" +#include "utils.h" using namespace LAMMPS_NS; @@ -64,7 +65,7 @@ ComputeReduceChunk::ComputeReduceChunk(LAMMPS *lmp, int narg, char **arg) : int expand = 0; char **earg; - int nargnew = input->expand_args(narg-iarg,&arg[iarg],1,earg); + int nargnew = utils::expand_args(FLERR,narg-iarg,&arg[iarg],1,earg,lmp); if (earg != &arg[iarg]) expand = 1; arg = earg; diff --git a/src/compute_slice.cpp b/src/compute_slice.cpp index 67b60882f689a94d04119c5a5114469e3eab56cf..6ff462258f631d7c7c6ac3403e377b05172acdb2 100644 --- a/src/compute_slice.cpp +++ b/src/compute_slice.cpp @@ -41,9 +41,9 @@ ComputeSlice::ComputeSlice(LAMMPS *lmp, int narg, char **arg) : MPI_Comm_rank(world,&me); - nstart = force->inumeric(FLERR,arg[3]); - nstop = force->inumeric(FLERR,arg[4]); - nskip = force->inumeric(FLERR,arg[5]); + nstart = utils::inumeric(FLERR,arg[3],false,lmp); + nstop = utils::inumeric(FLERR,arg[4],false,lmp); + nskip = utils::inumeric(FLERR,arg[5],false,lmp); if (nstart < 1 || nstop < nstart || nskip < 1) error->all(FLERR,"Illegal compute slice command"); diff --git a/src/compute_temp_chunk.cpp b/src/compute_temp_chunk.cpp index 0fa5bbbb8af3b4e27d5816433f3f00c18e4aed38..6274ac4292d3d32aef62b0ae9146c71453b07e9b 100644 --- a/src/compute_temp_chunk.cpp +++ b/src/compute_temp_chunk.cpp @@ -94,12 +94,12 @@ ComputeTempChunk::ComputeTempChunk(LAMMPS *lmp, int narg, char **arg) : } else if (strcmp(arg[iarg],"adof") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal compute temp/chunk command"); - adof = force->numeric(FLERR,arg[iarg+1]); + adof = utils::numeric(FLERR,arg[iarg+1],false,lmp); iarg += 2; } else if (strcmp(arg[iarg],"cdof") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal compute temp/chunk command"); - cdof = force->numeric(FLERR,arg[iarg+1]); + cdof = utils::numeric(FLERR,arg[iarg+1],false,lmp); iarg += 2; } else error->all(FLERR,"Illegal compute temp/chunk command"); } diff --git a/src/compute_temp_partial.cpp b/src/compute_temp_partial.cpp index f5f29d9dc03e25b3190f6c2da09ebcfb284cd555..c78e830c95668ab8530cecba96d9a50c08cd8f3b 100644 --- a/src/compute_temp_partial.cpp +++ b/src/compute_temp_partial.cpp @@ -37,9 +37,9 @@ ComputeTempPartial::ComputeTempPartial(LAMMPS *lmp, int narg, char **arg) : tempflag = 1; tempbias = 1; - xflag = force->inumeric(FLERR,arg[3]); - yflag = force->inumeric(FLERR,arg[4]); - zflag = force->inumeric(FLERR,arg[5]); + xflag = utils::inumeric(FLERR,arg[3],false,lmp); + yflag = utils::inumeric(FLERR,arg[4],false,lmp); + zflag = utils::inumeric(FLERR,arg[5],false,lmp); if ((xflag != 0 && xflag != 1) || (yflag != 0 && yflag != 1) || (zflag != 0 && zflag != 1)) error->all(FLERR,"Illegal compute temp/partial command"); diff --git a/src/compute_temp_profile.cpp b/src/compute_temp_profile.cpp index fce145848ebd9130df4f5ce1d049cc91827c1055..c2ef1d5c1182bd04a23874d72f659244d743c832 100644 --- a/src/compute_temp_profile.cpp +++ b/src/compute_temp_profile.cpp @@ -39,9 +39,9 @@ ComputeTempProfile::ComputeTempProfile(LAMMPS *lmp, int narg, char **arg) : tempflag = 1; tempbias = 1; - xflag = force->inumeric(FLERR,arg[3]); - yflag = force->inumeric(FLERR,arg[4]); - zflag = force->inumeric(FLERR,arg[5]); + xflag = utils::inumeric(FLERR,arg[3],false,lmp); + yflag = utils::inumeric(FLERR,arg[4],false,lmp); + zflag = utils::inumeric(FLERR,arg[5],false,lmp); if (zflag && domain->dimension == 2) error->all(FLERR,"Compute temp/profile cannot use vz for 2d systemx"); @@ -57,44 +57,44 @@ ComputeTempProfile::ComputeTempProfile(LAMMPS *lmp, int narg, char **arg) : int iarg = 6; if (strcmp(arg[iarg],"x") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal compute temp/profile command"); - nbinx = force->inumeric(FLERR,arg[iarg+1]); + nbinx = utils::inumeric(FLERR,arg[iarg+1],false,lmp); iarg += 2; } else if (strcmp(arg[iarg],"y") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal compute temp/profile command"); - nbiny = force->inumeric(FLERR,arg[iarg+1]); + nbiny = utils::inumeric(FLERR,arg[iarg+1],false,lmp); iarg += 2; } else if (strcmp(arg[iarg],"z") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal compute temp/profile command"); if (domain->dimension == 2) error->all(FLERR,"Compute temp/profile cannot bin z for 2d systems"); - nbinz = force->inumeric(FLERR,arg[iarg+1]); + nbinz = utils::inumeric(FLERR,arg[iarg+1],false,lmp); iarg += 2; } else if (strcmp(arg[iarg],"xy") == 0) { if (iarg+3 > narg) error->all(FLERR,"Illegal compute temp/profile command"); - nbinx = force->inumeric(FLERR,arg[iarg+1]); - nbiny = force->inumeric(FLERR,arg[iarg+2]); + nbinx = utils::inumeric(FLERR,arg[iarg+1],false,lmp); + nbiny = utils::inumeric(FLERR,arg[iarg+2],false,lmp); iarg += 3; } else if (strcmp(arg[iarg],"yz") == 0) { if (iarg+3 > narg) error->all(FLERR,"Illegal compute temp/profile command"); if (domain->dimension == 2) error->all(FLERR,"Compute temp/profile cannot bin z for 2d systems"); - nbiny = force->inumeric(FLERR,arg[iarg+1]); - nbinz = force->inumeric(FLERR,arg[iarg+2]); + nbiny = utils::inumeric(FLERR,arg[iarg+1],false,lmp); + nbinz = utils::inumeric(FLERR,arg[iarg+2],false,lmp); iarg += 3; } else if (strcmp(arg[iarg],"xz") == 0) { if (iarg+3 > narg) error->all(FLERR,"Illegal compute temp/profile command"); if (domain->dimension == 2) error->all(FLERR,"Compute temp/profile cannot bin z for 2d systems"); - nbinx = force->inumeric(FLERR,arg[iarg+1]); - nbinz = force->inumeric(FLERR,arg[iarg+2]); + nbinx = utils::inumeric(FLERR,arg[iarg+1],false,lmp); + nbinz = utils::inumeric(FLERR,arg[iarg+2],false,lmp); iarg += 3; } else if (strcmp(arg[iarg],"xyz") == 0) { if (iarg+4 > narg) error->all(FLERR,"Illegal compute temp/profile command"); if (domain->dimension == 2) error->all(FLERR,"Compute temp/profile cannot bin z for 2d systems"); - nbinx = force->inumeric(FLERR,arg[iarg+1]); - nbiny = force->inumeric(FLERR,arg[iarg+2]); - nbinz = force->inumeric(FLERR,arg[iarg+3]); + nbinx = utils::inumeric(FLERR,arg[iarg+1],false,lmp); + nbiny = utils::inumeric(FLERR,arg[iarg+2],false,lmp); + nbinz = utils::inumeric(FLERR,arg[iarg+3],false,lmp); iarg += 4; } else error->all(FLERR,"Illegal compute temp/profile command"); diff --git a/src/compute_temp_ramp.cpp b/src/compute_temp_ramp.cpp index 30f6701fcd16644caa1d458c839622b270757a14..187ea2454c8a2d59b1ca639572098ce5aacffedb 100644 --- a/src/compute_temp_ramp.cpp +++ b/src/compute_temp_ramp.cpp @@ -71,14 +71,14 @@ ComputeTempRamp::ComputeTempRamp(LAMMPS *lmp, int narg, char **arg) : else error->all(FLERR,"Illegal compute temp/ramp command"); if (v_dim == 0) { - v_lo = xscale*force->numeric(FLERR,arg[4]); - v_hi = xscale*force->numeric(FLERR,arg[5]); + v_lo = xscale*utils::numeric(FLERR,arg[4],false,lmp); + v_hi = xscale*utils::numeric(FLERR,arg[5],false,lmp); } else if (v_dim == 1) { - v_lo = yscale*force->numeric(FLERR,arg[4]); - v_hi = yscale*force->numeric(FLERR,arg[5]); + v_lo = yscale*utils::numeric(FLERR,arg[4],false,lmp); + v_hi = yscale*utils::numeric(FLERR,arg[5],false,lmp); } else if (v_dim == 2) { - v_lo = zscale*force->numeric(FLERR,arg[4]); - v_hi = zscale*force->numeric(FLERR,arg[5]); + v_lo = zscale*utils::numeric(FLERR,arg[4],false,lmp); + v_hi = zscale*utils::numeric(FLERR,arg[5],false,lmp); } if (strcmp(arg[6],"x") == 0) coord_dim = 0; @@ -87,14 +87,14 @@ ComputeTempRamp::ComputeTempRamp(LAMMPS *lmp, int narg, char **arg) : else error->all(FLERR,"Illegal compute temp/ramp command"); if (coord_dim == 0) { - coord_lo = xscale*force->numeric(FLERR,arg[7]); - coord_hi = xscale*force->numeric(FLERR,arg[8]); + coord_lo = xscale*utils::numeric(FLERR,arg[7],false,lmp); + coord_hi = xscale*utils::numeric(FLERR,arg[8],false,lmp); } else if (coord_dim == 1) { - coord_lo = yscale*force->numeric(FLERR,arg[7]); - coord_hi = yscale*force->numeric(FLERR,arg[8]); + coord_lo = yscale*utils::numeric(FLERR,arg[7],false,lmp); + coord_hi = yscale*utils::numeric(FLERR,arg[8],false,lmp); } else if (coord_dim == 2) { - coord_lo = zscale*force->numeric(FLERR,arg[7]); - coord_hi = zscale*force->numeric(FLERR,arg[8]); + coord_lo = zscale*utils::numeric(FLERR,arg[7],false,lmp); + coord_hi = zscale*utils::numeric(FLERR,arg[8],false,lmp); } maxbias = 0; diff --git a/src/create_atoms.cpp b/src/create_atoms.cpp index de20e1569866dc44b0abf64775181cffcfd6efeb..b121edb5b2868fbbf31c8532f4854897c73a64ce 100644 --- a/src/create_atoms.cpp +++ b/src/create_atoms.cpp @@ -88,7 +88,7 @@ void CreateAtoms::command(int narg, char **arg) // parse arguments if (narg < 2) error->all(FLERR,"Illegal create_atoms command"); - ntype = force->inumeric(FLERR,arg[0]); + ntype = utils::inumeric(FLERR,arg[0],false,lmp); int iarg; if (strcmp(arg[1],"box") == 0) { @@ -107,15 +107,15 @@ void CreateAtoms::command(int narg, char **arg) } else if (strcmp(arg[1],"single") == 0) { style = SINGLE; if (narg < 5) error->all(FLERR,"Illegal create_atoms command"); - xone[0] = force->numeric(FLERR,arg[2]); - xone[1] = force->numeric(FLERR,arg[3]); - xone[2] = force->numeric(FLERR,arg[4]); + xone[0] = utils::numeric(FLERR,arg[2],false,lmp); + xone[1] = utils::numeric(FLERR,arg[3],false,lmp); + xone[2] = utils::numeric(FLERR,arg[4],false,lmp); iarg = 5; } else if (strcmp(arg[1],"random") == 0) { style = RANDOM; if (narg < 5) error->all(FLERR,"Illegal create_atoms command"); - nrandom = force->inumeric(FLERR,arg[2]); - seed = force->inumeric(FLERR,arg[3]); + nrandom = utils::inumeric(FLERR,arg[2],false,lmp); + seed = utils::inumeric(FLERR,arg[3],false,lmp); if (strcmp(arg[4],"NULL") == 0) nregion = -1; else { nregion = domain->find_region(arg[4]); @@ -146,8 +146,8 @@ void CreateAtoms::command(int narg, char **arg) while (iarg < narg) { if (strcmp(arg[iarg],"basis") == 0) { if (iarg+3 > narg) error->all(FLERR,"Illegal create_atoms command"); - int ibasis = force->inumeric(FLERR,arg[iarg+1]); - int itype = force->inumeric(FLERR,arg[iarg+2]); + int ibasis = utils::inumeric(FLERR,arg[iarg+1],false,lmp); + int itype = utils::inumeric(FLERR,arg[iarg+2],false,lmp); if (ibasis <= 0 || ibasis > nbasis || itype <= 0 || itype > atom->ntypes) error->all(FLERR,"Invalid basis setting in create_atoms command"); basistype[ibasis-1] = itype; @@ -168,7 +168,7 @@ void CreateAtoms::command(int narg, char **arg) "create_atoms has multiple molecules"); mode = MOLECULE; onemol = atom->molecules[imol]; - molseed = force->inumeric(FLERR,arg[iarg+2]); + molseed = utils::inumeric(FLERR,arg[iarg+2],false,lmp); iarg += 3; } else if (strcmp(arg[iarg],"units") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal create_atoms command"); @@ -207,10 +207,10 @@ void CreateAtoms::command(int narg, char **arg) if (iarg+5 > narg) error->all(FLERR,"Illegal create_atoms command"); double thetaone; double axisone[3]; - thetaone = force->numeric(FLERR,arg[iarg+1]) / 180.0 * MY_PI;; - axisone[0] = force->numeric(FLERR,arg[iarg+2]); - axisone[1] = force->numeric(FLERR,arg[iarg+3]); - axisone[2] = force->numeric(FLERR,arg[iarg+4]); + thetaone = utils::numeric(FLERR,arg[iarg+1],false,lmp) / 180.0 * MY_PI;; + axisone[0] = utils::numeric(FLERR,arg[iarg+2],false,lmp); + axisone[1] = utils::numeric(FLERR,arg[iarg+3],false,lmp); + axisone[2] = utils::numeric(FLERR,arg[iarg+4],false,lmp); if (axisone[0] == 0.0 && axisone[1] == 0.0 && axisone[2] == 0.0) error->all(FLERR,"Illegal create_atoms command"); if (domain->dimension == 2 && (axisone[0] != 0.0 || axisone[1] != 0.0)) @@ -221,16 +221,16 @@ void CreateAtoms::command(int narg, char **arg) } else if (strcmp(arg[iarg],"ratio") == 0) { if (iarg+3 > narg) error->all(FLERR,"Illegal create_atoms command"); subsetflag = RATIO; - subsetfrac = force->numeric(FLERR,arg[iarg+1]); - subsetseed = force->inumeric(FLERR,arg[iarg+2]); + subsetfrac = utils::numeric(FLERR,arg[iarg+1],false,lmp); + subsetseed = utils::inumeric(FLERR,arg[iarg+2],false,lmp); if (subsetfrac <= 0.0 || subsetfrac > 1.0 || subsetseed <= 0) error->all(FLERR,"Illegal create_atoms command"); iarg += 3; } else if (strcmp(arg[iarg],"subset") == 0) { if (iarg+3 > narg) error->all(FLERR,"Illegal create_atoms command"); subsetflag = SUBSET; - nsubset = force->bnumeric(FLERR,arg[iarg+1]); - subsetseed = force->inumeric(FLERR,arg[iarg+2]); + nsubset = utils::bnumeric(FLERR,arg[iarg+1],false,lmp); + subsetseed = utils::inumeric(FLERR,arg[iarg+2],false,lmp); if (nsubset <= 0 || subsetseed <= 0) error->all(FLERR,"Illegal create_atoms command"); iarg += 3; diff --git a/src/create_bonds.cpp b/src/create_bonds.cpp index e210a5e061be25476d7bffaad3268e52d398fdc2..4261d9f7661b283adad15bbb83336597bb767a58 100644 --- a/src/create_bonds.cpp +++ b/src/create_bonds.cpp @@ -69,38 +69,38 @@ void CreateBonds::command(int narg, char **arg) igroup = group->find(arg[2]); if (igroup == -1) error->all(FLERR,"Cannot find create_bonds group ID"); group2bit = group->bitmask[igroup]; - btype = force->inumeric(FLERR,arg[3]); - rmin = force->numeric(FLERR,arg[4]); - rmax = force->numeric(FLERR,arg[5]); + btype = utils::inumeric(FLERR,arg[3],false,lmp); + rmin = utils::numeric(FLERR,arg[4],false,lmp); + rmax = utils::numeric(FLERR,arg[5],false,lmp); if (rmin > rmax) error->all(FLERR,"Illegal create_bonds command"); iarg = 6; } else if (strcmp(arg[0],"single/bond") == 0) { style = SBOND; if (narg < 4) error->all(FLERR,"Illegal create_bonds command"); - btype = force->inumeric(FLERR,arg[1]); - batom1 = force->tnumeric(FLERR,arg[2]); - batom2 = force->tnumeric(FLERR,arg[3]); + btype = utils::inumeric(FLERR,arg[1],false,lmp); + batom1 = utils::tnumeric(FLERR,arg[2],false,lmp); + batom2 = utils::tnumeric(FLERR,arg[3],false,lmp); if (batom1 == batom2) error->all(FLERR,"Illegal create_bonds command"); iarg = 4; } else if (strcmp(arg[0],"single/angle") == 0) { style = SANGLE; if (narg < 5) error->all(FLERR,"Illegal create_bonds command"); - atype = force->inumeric(FLERR,arg[1]); - aatom1 = force->tnumeric(FLERR,arg[2]); - aatom2 = force->tnumeric(FLERR,arg[3]); - aatom3 = force->tnumeric(FLERR,arg[4]); + atype = utils::inumeric(FLERR,arg[1],false,lmp); + aatom1 = utils::tnumeric(FLERR,arg[2],false,lmp); + aatom2 = utils::tnumeric(FLERR,arg[3],false,lmp); + aatom3 = utils::tnumeric(FLERR,arg[4],false,lmp); if ((aatom1 == aatom2) || (aatom1 == aatom3) || (aatom2 == aatom3)) error->all(FLERR,"Illegal create_bonds command"); iarg = 5; } else if (strcmp(arg[0],"single/dihedral") == 0) { style = SDIHEDRAL; if (narg < 6) error->all(FLERR,"Illegal create_bonds command"); - dtype = force->inumeric(FLERR,arg[1]); - datom1 = force->tnumeric(FLERR,arg[2]); - datom2 = force->tnumeric(FLERR,arg[3]); - datom3 = force->tnumeric(FLERR,arg[4]); - datom4 = force->tnumeric(FLERR,arg[5]); + dtype = utils::inumeric(FLERR,arg[1],false,lmp); + datom1 = utils::tnumeric(FLERR,arg[2],false,lmp); + datom2 = utils::tnumeric(FLERR,arg[3],false,lmp); + datom3 = utils::tnumeric(FLERR,arg[4],false,lmp); + datom4 = utils::tnumeric(FLERR,arg[5],false,lmp); if ((datom1 == datom2) || (datom1 == datom3) || (datom1 == datom4) || (datom2 == datom3) || (datom2 == datom4) || (datom3 == datom4)) error->all(FLERR,"Illegal create_bonds command"); @@ -108,11 +108,11 @@ void CreateBonds::command(int narg, char **arg) } else if (strcmp(arg[0],"single/improper") == 0) { style = SIMPROPER; if (narg < 6) error->all(FLERR,"Illegal create_bonds command"); - dtype = force->inumeric(FLERR,arg[1]); - datom1 = force->tnumeric(FLERR,arg[2]); - datom2 = force->tnumeric(FLERR,arg[3]); - datom3 = force->tnumeric(FLERR,arg[4]); - datom4 = force->tnumeric(FLERR,arg[5]); + dtype = utils::inumeric(FLERR,arg[1],false,lmp); + datom1 = utils::tnumeric(FLERR,arg[2],false,lmp); + datom2 = utils::tnumeric(FLERR,arg[3],false,lmp); + datom3 = utils::tnumeric(FLERR,arg[4],false,lmp); + datom4 = utils::tnumeric(FLERR,arg[5],false,lmp); if ((datom1 == datom2) || (datom1 == datom3) || (datom1 == datom4) || (datom2 == datom3) || (datom2 == datom4) || (datom3 == datom4)) error->all(FLERR,"Illegal create_bonds command"); diff --git a/src/create_box.cpp b/src/create_box.cpp index 4a826cb6912ae738d28f0dcff679267c41ba0771..f5d9edb844fa8a173c0e79bd4e8df287fb6b09fc 100644 --- a/src/create_box.cpp +++ b/src/create_box.cpp @@ -96,7 +96,7 @@ void CreateBox::command(int narg, char **arg) // set atom and topology type quantities - atom->ntypes = force->inumeric(FLERR,arg[0]); + atom->ntypes = utils::inumeric(FLERR,arg[0],false,lmp); atom->nbondtypes = 0; atom->nangletypes = 0; atom->ndihedraltypes = 0; @@ -110,53 +110,53 @@ void CreateBox::command(int narg, char **arg) if (iarg+2 > narg) error->all(FLERR,"Illegal create_box command"); if (!atom->avec->bonds_allow) error->all(FLERR,"No bonds allowed with this atom style"); - atom->nbondtypes = force->inumeric(FLERR,arg[iarg+1]); + atom->nbondtypes = utils::inumeric(FLERR,arg[iarg+1],false,lmp); iarg += 2; } else if (strcmp(arg[iarg],"angle/types") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal create_box command"); if (!atom->avec->angles_allow) error->all(FLERR,"No angles allowed with this atom style"); - atom->nangletypes = force->inumeric(FLERR,arg[iarg+1]); + atom->nangletypes = utils::inumeric(FLERR,arg[iarg+1],false,lmp); iarg += 2; } else if (strcmp(arg[iarg],"dihedral/types") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal create_box command"); if (!atom->avec->dihedrals_allow) error->all(FLERR,"No dihedrals allowed with this atom style"); - atom->ndihedraltypes = force->inumeric(FLERR,arg[iarg+1]); + atom->ndihedraltypes = utils::inumeric(FLERR,arg[iarg+1],false,lmp); iarg += 2; } else if (strcmp(arg[iarg],"improper/types") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal create_box command"); if (!atom->avec->impropers_allow) error->all(FLERR,"No impropers allowed with this atom style"); - atom->nimpropertypes = force->inumeric(FLERR,arg[iarg+1]); + atom->nimpropertypes = utils::inumeric(FLERR,arg[iarg+1],false,lmp); iarg += 2; } else if (strcmp(arg[iarg],"extra/bond/per/atom") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal create_box command"); if (!atom->avec->bonds_allow) error->all(FLERR,"No bonds allowed with this atom style"); - atom->bond_per_atom = force->inumeric(FLERR,arg[iarg+1]); + atom->bond_per_atom = utils::inumeric(FLERR,arg[iarg+1],false,lmp); iarg += 2; } else if (strcmp(arg[iarg],"extra/angle/per/atom") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal create_box command"); if (!atom->avec->angles_allow) error->all(FLERR,"No angles allowed with this atom style"); - atom->angle_per_atom = force->inumeric(FLERR,arg[iarg+1]); + atom->angle_per_atom = utils::inumeric(FLERR,arg[iarg+1],false,lmp); iarg += 2; } else if (strcmp(arg[iarg],"extra/dihedral/per/atom") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal create_box command"); if (!atom->avec->dihedrals_allow) error->all(FLERR,"No dihedrals allowed with this atom style"); - atom->dihedral_per_atom = force->inumeric(FLERR,arg[iarg+1]); + atom->dihedral_per_atom = utils::inumeric(FLERR,arg[iarg+1],false,lmp); iarg += 2; } else if (strcmp(arg[iarg],"extra/improper/per/atom") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal create_box command"); if (!atom->avec->impropers_allow) error->all(FLERR,"No impropers allowed with this atom style"); - atom->improper_per_atom = force->inumeric(FLERR,arg[iarg+1]); + atom->improper_per_atom = utils::inumeric(FLERR,arg[iarg+1],false,lmp); iarg += 2; } else if (strcmp(arg[iarg],"extra/special/per/atom") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal create_box command"); - force->special_extra = force->inumeric(FLERR,arg[iarg+1]); + force->special_extra = utils::inumeric(FLERR,arg[iarg+1],false,lmp); atom->maxspecial += force->special_extra; iarg += 2; } else error->all(FLERR,"Illegal create_box command"); diff --git a/src/delete_atoms.cpp b/src/delete_atoms.cpp index 03d5d2f65d1cdef517d05639575eefa94b390ed4..7dcc4748e91e26c94b6551b950e3fe185debca57 100644 --- a/src/delete_atoms.cpp +++ b/src/delete_atoms.cpp @@ -270,7 +270,7 @@ void DeleteAtoms::delete_overlap(int narg, char **arg) // read args - double cut = force->numeric(FLERR,arg[1]); + double cut = utils::numeric(FLERR,arg[1],false,lmp); double cutsq = cut*cut; int igroup1 = group->find(arg[2]); @@ -430,8 +430,8 @@ void DeleteAtoms::delete_porosity(int narg, char **arg) if (iregion == -1) error->all(FLERR,"Could not find delete_atoms region ID"); domain->regions[iregion]->prematch(); - double porosity_fraction = force->numeric(FLERR,arg[2]); - int seed = force->inumeric(FLERR,arg[3]); + double porosity_fraction = utils::numeric(FLERR,arg[2],false,lmp); + int seed = utils::inumeric(FLERR,arg[3],false,lmp); options(narg-4,&arg[4]); RanMars *random = new RanMars(lmp,seed + comm->me); diff --git a/src/delete_bonds.cpp b/src/delete_bonds.cpp index 7b9260bc52f10902fa0a09fbcb4821619e3ab561..f08c94a2734ef4625a9b5d14e312bd91eadbae99 100644 --- a/src/delete_bonds.cpp +++ b/src/delete_bonds.cpp @@ -75,7 +75,7 @@ void DeleteBonds::command(int narg, char **arg) else error->all(FLERR,"Illegal delete_bonds command"); // setup list of types (atom,bond,etc) to consider - // use force->bounds(FLERR,) to allow setting of range of types + // use utils::bounds(FLERR,) to allow setting of range of types // range can be 0 to ntypes inclusive int *tlist = NULL; @@ -94,7 +94,7 @@ void DeleteBonds::command(int narg, char **arg) tlist = new int[n+1]; for (int i = 0; i <= n; i++) tlist[i] = 0; int nlo,nhi; - force->bounds(FLERR,arg[2],n,nlo,nhi,0); + utils::bounds(FLERR,arg[2],0,n,nlo,nhi,error); for (int i = nlo; i <= nhi; i++) tlist[i] = 1; iarg++; diff --git a/src/dihedral_hybrid.cpp b/src/dihedral_hybrid.cpp index ca5c90093c2c77c7a4447f56a82430102b0718ba..8f41b30d56e60620f637e7c568a99411aaafdd29 100644 --- a/src/dihedral_hybrid.cpp +++ b/src/dihedral_hybrid.cpp @@ -255,7 +255,7 @@ void DihedralHybrid::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi; - force->bounds(FLERR,arg[0],atom->ndihedraltypes,ilo,ihi); + utils::bounds(FLERR,arg[0],1,atom->ndihedraltypes,ilo,ihi,error); // 2nd arg = dihedral sub-style name // allow for "none" or "skip" as valid sub-style name diff --git a/src/dihedral_zero.cpp b/src/dihedral_zero.cpp index daf46fe79aa7b52b0c13aa351861ae5d15301a30..59167ca30e8a7db35f06e23b348d8cc488843145 100644 --- a/src/dihedral_zero.cpp +++ b/src/dihedral_zero.cpp @@ -21,6 +21,7 @@ #include "force.h" #include "memory.h" #include "error.h" +#include "utils.h" using namespace LAMMPS_NS; @@ -80,7 +81,7 @@ void DihedralZero::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi; - force->bounds(FLERR,arg[0],atom->ndihedraltypes,ilo,ihi); + utils::bounds(FLERR,arg[0],1,atom->ndihedraltypes,ilo,ihi,error); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/displace_atoms.cpp b/src/displace_atoms.cpp index 82b7bf9492520b749fd0d3dc8c479e340fcbcb1d..a30ac2c2b2d75d7b0c8ebbb9f0fa465bfb5f6131 100644 --- a/src/displace_atoms.cpp +++ b/src/displace_atoms.cpp @@ -128,14 +128,14 @@ void DisplaceAtoms::command(int narg, char **arg) double d_lo,d_hi; if (d_dim == 0) { - d_lo = xscale*force->numeric(FLERR,arg[3]); - d_hi = xscale*force->numeric(FLERR,arg[4]); + d_lo = xscale*utils::numeric(FLERR,arg[3],false,lmp); + d_hi = xscale*utils::numeric(FLERR,arg[4],false,lmp); } else if (d_dim == 1) { - d_lo = yscale*force->numeric(FLERR,arg[3]); - d_hi = yscale*force->numeric(FLERR,arg[4]); + d_lo = yscale*utils::numeric(FLERR,arg[3],false,lmp); + d_hi = yscale*utils::numeric(FLERR,arg[4],false,lmp); } else if (d_dim == 2) { - d_lo = zscale*force->numeric(FLERR,arg[3]); - d_hi = zscale*force->numeric(FLERR,arg[4]); + d_lo = zscale*utils::numeric(FLERR,arg[3],false,lmp); + d_hi = zscale*utils::numeric(FLERR,arg[4],false,lmp); } int coord_dim = 0; @@ -146,14 +146,14 @@ void DisplaceAtoms::command(int narg, char **arg) double coord_lo,coord_hi; if (coord_dim == 0) { - coord_lo = xscale*force->numeric(FLERR,arg[6]); - coord_hi = xscale*force->numeric(FLERR,arg[7]); + coord_lo = xscale*utils::numeric(FLERR,arg[6],false,lmp); + coord_hi = xscale*utils::numeric(FLERR,arg[7],false,lmp); } else if (coord_dim == 1) { - coord_lo = yscale*force->numeric(FLERR,arg[6]); - coord_hi = yscale*force->numeric(FLERR,arg[7]); + coord_lo = yscale*utils::numeric(FLERR,arg[6],false,lmp); + coord_hi = yscale*utils::numeric(FLERR,arg[7],false,lmp); } else if (coord_dim == 2) { - coord_lo = zscale*force->numeric(FLERR,arg[6]); - coord_hi = zscale*force->numeric(FLERR,arg[7]); + coord_lo = zscale*utils::numeric(FLERR,arg[6],false,lmp); + coord_hi = zscale*utils::numeric(FLERR,arg[7],false,lmp); } double **x = atom->x; @@ -179,10 +179,10 @@ void DisplaceAtoms::command(int narg, char **arg) if (style == RANDOM) { RanPark *random = new RanPark(lmp,1); - double dx = xscale*force->numeric(FLERR,arg[2]); - double dy = yscale*force->numeric(FLERR,arg[3]); - double dz = zscale*force->numeric(FLERR,arg[4]); - int seed = force->inumeric(FLERR,arg[5]); + double dx = xscale*utils::numeric(FLERR,arg[2],false,lmp); + double dy = yscale*utils::numeric(FLERR,arg[3],false,lmp); + double dz = zscale*utils::numeric(FLERR,arg[4],false,lmp); + int seed = utils::inumeric(FLERR,arg[5],false,lmp); if (seed <= 0) error->all(FLERR,"Illegal displace_atoms random command"); double **x = atom->x; @@ -219,13 +219,13 @@ void DisplaceAtoms::command(int narg, char **arg) double *quat; int dim = domain->dimension; - point[0] = xscale*force->numeric(FLERR,arg[2]); - point[1] = yscale*force->numeric(FLERR,arg[3]); - point[2] = zscale*force->numeric(FLERR,arg[4]); - axis[0] = force->numeric(FLERR,arg[5]); - axis[1] = force->numeric(FLERR,arg[6]); - axis[2] = force->numeric(FLERR,arg[7]); - double theta = force->numeric(FLERR,arg[8]); + point[0] = xscale*utils::numeric(FLERR,arg[2],false,lmp); + point[1] = yscale*utils::numeric(FLERR,arg[3],false,lmp); + point[2] = zscale*utils::numeric(FLERR,arg[4],false,lmp); + axis[0] = utils::numeric(FLERR,arg[5],false,lmp); + axis[1] = utils::numeric(FLERR,arg[6],false,lmp); + axis[2] = utils::numeric(FLERR,arg[7],false,lmp); + double theta = utils::numeric(FLERR,arg[8],false,lmp); if (dim == 2 && (axis[0] != 0.0 || axis[1] != 0.0)) error->all(FLERR,"Invalid displace_atoms rotate axis for 2d"); @@ -372,7 +372,7 @@ void DisplaceAtoms::move(int idim, char *arg, double scale) int nlocal = atom->nlocal; if (strstr(arg,"v_") != arg) { - double delta = scale*force->numeric(FLERR,arg); + double delta = scale*utils::numeric(FLERR,arg,false,lmp); for (int i = 0; i < nlocal; i++) if (mask[i] & groupbit) x[i][idim] += delta; diff --git a/src/dump.cpp b/src/dump.cpp index ccf71c5a38cd98c073593e0a9ac753cd4204bfdb..0698a84e81baf35f68595ca4757312ece2479170 100644 --- a/src/dump.cpp +++ b/src/dump.cpp @@ -941,7 +941,7 @@ void Dump::modify_params(int narg, char **arg) } else if (strcmp(arg[iarg],"delay") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal dump_modify command"); - delaystep = force->bnumeric(FLERR,arg[iarg+1]); + delaystep = utils::bnumeric(FLERR,arg[iarg+1],false,lmp); if (delaystep >= 0) delay_flag = 1; else delay_flag = 0; iarg += 2; @@ -959,7 +959,7 @@ void Dump::modify_params(int narg, char **arg) strcpy(output->var_dump[idump],&arg[iarg+1][2]); n = 0; } else { - n = force->inumeric(FLERR,arg[iarg+1]); + n = utils::inumeric(FLERR,arg[iarg+1],false,lmp); if (n <= 0) error->all(FLERR,"Illegal dump_modify command"); } output->every_dump[idump] = n; @@ -970,7 +970,7 @@ void Dump::modify_params(int narg, char **arg) if (!multiproc) error->all(FLERR,"Cannot use dump_modify fileper " "without % in dump file name"); - int nper = force->inumeric(FLERR,arg[iarg+1]); + int nper = utils::inumeric(FLERR,arg[iarg+1],false,lmp); if (nper <= 0) error->all(FLERR,"Illegal dump_modify command"); multiproc = nprocs/nper; @@ -1051,7 +1051,7 @@ void Dump::modify_params(int narg, char **arg) delete[] nameslist[idx]; delete[] nameslist; } - maxfiles = force->inumeric(FLERR,arg[iarg+1]); + maxfiles = utils::inumeric(FLERR,arg[iarg+1],false,lmp); if (maxfiles == 0) error->all(FLERR,"Illegal dump_modify command"); if (maxfiles > 0) { nameslist = new char*[maxfiles]; @@ -1066,7 +1066,7 @@ void Dump::modify_params(int narg, char **arg) if (!multiproc) error->all(FLERR,"Cannot use dump_modify nfile " "without % in dump file name"); - int nfile = force->inumeric(FLERR,arg[iarg+1]); + int nfile = utils::inumeric(FLERR,arg[iarg+1],false,lmp); if (nfile <= 0) error->all(FLERR,"Illegal dump_modify command"); nfile = MIN(nfile,nprocs); @@ -1096,7 +1096,7 @@ void Dump::modify_params(int narg, char **arg) } else if (strcmp(arg[iarg],"pad") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal dump_modify command"); - padflag = force->inumeric(FLERR,arg[iarg+1]); + padflag = utils::inumeric(FLERR,arg[iarg+1],false,lmp); if (padflag < 0) error->all(FLERR,"Illegal dump_modify command"); iarg += 2; @@ -1116,7 +1116,7 @@ void Dump::modify_params(int narg, char **arg) sortorder = ASCEND; } else { sort_flag = 1; - sortcol = force->inumeric(FLERR,arg[iarg+1]); + sortcol = utils::inumeric(FLERR,arg[iarg+1],false,lmp); sortorder = ASCEND; if (sortcol == 0) error->all(FLERR,"Illegal dump_modify command"); if (sortcol < 0) { diff --git a/src/dump_custom.cpp b/src/dump_custom.cpp index 3297ecb4e7751383fb24961f3ad36802732f6126..3b0594a2cb0f4202c2b5f948c66c43e2b9a8a2f6 100644 --- a/src/dump_custom.cpp +++ b/src/dump_custom.cpp @@ -29,6 +29,7 @@ #include "error.h" #include "update.h" #include "variable.h" +#include "utils.h" #include "fmt/format.h" using namespace LAMMPS_NS; @@ -67,7 +68,7 @@ DumpCustom::DumpCustom(LAMMPS *lmp, int narg, char **arg) : clearstep = 1; - nevery = force->inumeric(FLERR,arg[3]); + nevery = utils::inumeric(FLERR,arg[3],false,lmp); if (nevery <= 0) error->all(FLERR,"Illegal dump custom command"); // expand args if any have wildcard character "*" @@ -76,7 +77,7 @@ DumpCustom::DumpCustom(LAMMPS *lmp, int narg, char **arg) : // nfield may be shrunk below if extra optional args exist expand = 0; - nfield = nargnew = input->expand_args(narg-5,&arg[5],1,earg); + nfield = nargnew = utils::expand_args(FLERR,narg-5,&arg[5],1,earg,lmp); if (earg != &arg[5]) expand = 1; // allocate field vectors @@ -1747,7 +1748,7 @@ int DumpCustom::modify_param(int narg, char **arg) strcpy(format_float_user,arg[2]); } else { - int i = force->inumeric(FLERR,arg[1]) - 1; + int i = utils::inumeric(FLERR,arg[1],false,lmp) - 1; if (i < 0 || i >= size_one) error->all(FLERR,"Illegal dump_modify command"); if (format_column_user[i]) delete [] format_column_user[i]; @@ -2059,7 +2060,7 @@ int DumpCustom::modify_param(int narg, char **arg) // id = dump-ID + nthreshlast + DUMP_STORE, fix group = dump group if (strcmp(arg[3],"LAST") != 0) { - thresh_value[nthresh] = force->numeric(FLERR,arg[3]); + thresh_value[nthresh] = utils::numeric(FLERR,arg[3],false,lmp); thresh_last[nthresh] = -1; } else { thresh_fix = (FixStore **) diff --git a/src/dump_image.cpp b/src/dump_image.cpp index a78c214e08fe75c91ee7dc5d24a867973f74f5c6..ea9fb612cb3f2bdd34e1ba606efcfb33e47ff029 100644 --- a/src/dump_image.cpp +++ b/src/dump_image.cpp @@ -35,6 +35,7 @@ #include "math_extra.h" #include "error.h" #include "memory.h" +#include "utils.h" using namespace LAMMPS_NS; using namespace MathConst; @@ -152,7 +153,7 @@ DumpImage::DumpImage(LAMMPS *lmp, int narg, char **arg) : } else if (strcmp(arg[iarg],"adiam") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal dump image command"); adiam = NUMERIC; - adiamvalue = force->numeric(FLERR,arg[iarg+1]); + adiamvalue = utils::numeric(FLERR,arg[iarg+1],false,lmp); if (adiamvalue <= 0.0) error->all(FLERR,"Illegal dump image command"); iarg += 2; @@ -167,7 +168,7 @@ DumpImage::DumpImage(LAMMPS *lmp, int narg, char **arg) : else error->all(FLERR,"Illegal dump image command"); if (!islower(arg[iarg+2][0])) { bdiam = NUMERIC; - bdiamvalue = force->numeric(FLERR,arg[iarg+2]); + bdiamvalue = utils::numeric(FLERR,arg[iarg+2],false,lmp); if (bdiamvalue <= 0.0) error->all(FLERR,"Illegal dump image command"); } else if (strcmp(arg[iarg+2],"atom") == 0) bdiam = ATOM; else if (strcmp(arg[iarg+2],"type") == 0) bdiam = TYPE; @@ -182,7 +183,7 @@ DumpImage::DumpImage(LAMMPS *lmp, int narg, char **arg) : if (strcmp(arg[iarg+1],"type") == 0) lcolor = TYPE; else error->all(FLERR,"Illegal dump image command"); ldiam = NUMERIC; - ldiamvalue = force->numeric(FLERR,arg[iarg+2]); + ldiamvalue = utils::numeric(FLERR,arg[iarg+2],false,lmp); iarg += 3; } else if (strcmp(arg[iarg],"tri") == 0) { @@ -190,8 +191,8 @@ DumpImage::DumpImage(LAMMPS *lmp, int narg, char **arg) : triflag = YES; if (strcmp(arg[iarg+1],"type") == 0) tcolor = TYPE; else error->all(FLERR,"Illegal dump image command"); - tstyle = force->inumeric(FLERR,arg[iarg+2]); - tdiamvalue = force->numeric(FLERR,arg[iarg+3]); + tstyle = utils::inumeric(FLERR,arg[iarg+2],false,lmp); + tdiamvalue = utils::numeric(FLERR,arg[iarg+3],false,lmp); iarg += 4; } else if (strcmp(arg[iarg],"body") == 0) { @@ -199,8 +200,8 @@ DumpImage::DumpImage(LAMMPS *lmp, int narg, char **arg) : bodyflag = YES; if (strcmp(arg[iarg+1],"type") == 0) bodycolor = TYPE; else error->all(FLERR,"Illegal dump image command"); - bodyflag1 = force->numeric(FLERR,arg[iarg+2]); - bodyflag2 = force->numeric(FLERR,arg[iarg+3]); + bodyflag1 = utils::numeric(FLERR,arg[iarg+2],false,lmp); + bodyflag2 = utils::numeric(FLERR,arg[iarg+3],false,lmp); iarg += 4; } else if (strcmp(arg[iarg],"fix") == 0) { @@ -209,14 +210,14 @@ DumpImage::DumpImage(LAMMPS *lmp, int narg, char **arg) : fixID = arg[iarg+1]; if (strcmp(arg[iarg+2],"type") == 0) fixcolor = TYPE; else error->all(FLERR,"Illegal dump image command"); - fixflag1 = force->numeric(FLERR,arg[iarg+3]); - fixflag2 = force->numeric(FLERR,arg[iarg+4]); + fixflag1 = utils::numeric(FLERR,arg[iarg+3],false,lmp); + fixflag2 = utils::numeric(FLERR,arg[iarg+4],false,lmp); iarg += 5; } else if (strcmp(arg[iarg],"size") == 0) { if (iarg+3 > narg) error->all(FLERR,"Illegal dump image command"); - int width = force->inumeric(FLERR,arg[iarg+1]); - int height = force->inumeric(FLERR,arg[iarg+2]); + int width = utils::inumeric(FLERR,arg[iarg+1],false,lmp); + int height = utils::inumeric(FLERR,arg[iarg+2],false,lmp); if (width <= 0 || height <= 0) error->all(FLERR,"Illegal dump image command"); image->width = width; @@ -230,7 +231,7 @@ DumpImage::DumpImage(LAMMPS *lmp, int narg, char **arg) : thetastr = new char[n]; strcpy(thetastr,&arg[iarg+1][2]); } else { - double theta = force->numeric(FLERR,arg[iarg+1]); + double theta = utils::numeric(FLERR,arg[iarg+1],false,lmp); if (theta < 0.0 || theta > 180.0) error->all(FLERR,"Invalid dump image theta value"); theta *= MY_PI/180.0; @@ -241,7 +242,7 @@ DumpImage::DumpImage(LAMMPS *lmp, int narg, char **arg) : phistr = new char[n]; strcpy(phistr,&arg[iarg+2][2]); } else { - double phi = force->numeric(FLERR,arg[iarg+2]); + double phi = utils::numeric(FLERR,arg[iarg+2],false,lmp); phi *= MY_PI/180.0; image->phi = phi; } @@ -257,19 +258,19 @@ DumpImage::DumpImage(LAMMPS *lmp, int narg, char **arg) : cxstr = new char[n]; strcpy(cxstr,&arg[iarg+2][2]); cflag = DYNAMIC; - } else cx = force->numeric(FLERR,arg[iarg+2]); + } else cx = utils::numeric(FLERR,arg[iarg+2],false,lmp); if (strstr(arg[iarg+3],"v_") == arg[iarg+3]) { int n = strlen(&arg[iarg+3][2]) + 1; cystr = new char[n]; strcpy(cystr,&arg[iarg+3][2]); cflag = DYNAMIC; - } else cy = force->numeric(FLERR,arg[iarg+3]); + } else cy = utils::numeric(FLERR,arg[iarg+3],false,lmp); if (strstr(arg[iarg+4],"v_") == arg[iarg+4]) { int n = strlen(&arg[iarg+4][2]) + 1; czstr = new char[n]; strcpy(czstr,&arg[iarg+4][2]); cflag = DYNAMIC; - } else cz = force->numeric(FLERR,arg[iarg+4]); + } else cz = utils::numeric(FLERR,arg[iarg+4],false,lmp); iarg += 5; } else if (strcmp(arg[iarg],"up") == 0) { @@ -278,17 +279,17 @@ DumpImage::DumpImage(LAMMPS *lmp, int narg, char **arg) : int n = strlen(&arg[iarg+1][2]) + 1; upxstr = new char[n]; strcpy(upxstr,&arg[iarg+1][2]); - } else image->up[0] = force->numeric(FLERR,arg[iarg+1]); + } else image->up[0] = utils::numeric(FLERR,arg[iarg+1],false,lmp); if (strstr(arg[iarg+2],"v_") == arg[iarg+2]) { int n = strlen(&arg[iarg+2][2]) + 1; upystr = new char[n]; strcpy(upystr,&arg[iarg+2][2]); - } else image->up[1] = force->numeric(FLERR,arg[iarg+2]); + } else image->up[1] = utils::numeric(FLERR,arg[iarg+2],false,lmp); if (strstr(arg[iarg+3],"v_") == arg[iarg+3]) { int n = strlen(&arg[iarg+3][2]) + 1; upzstr = new char[n]; strcpy(upzstr,&arg[iarg+3][2]); - } else image->up[2] = force->numeric(FLERR,arg[iarg+3]); + } else image->up[2] = utils::numeric(FLERR,arg[iarg+3],false,lmp); iarg += 4; } else if (strcmp(arg[iarg],"zoom") == 0) { @@ -298,7 +299,7 @@ DumpImage::DumpImage(LAMMPS *lmp, int narg, char **arg) : zoomstr = new char[n]; strcpy(zoomstr,&arg[iarg+1][2]); } else { - double zoom = force->numeric(FLERR,arg[iarg+1]); + double zoom = utils::numeric(FLERR,arg[iarg+1],false,lmp); if (zoom <= 0.0) error->all(FLERR,"Illegal dump image command"); image->zoom = zoom; } @@ -312,7 +313,7 @@ DumpImage::DumpImage(LAMMPS *lmp, int narg, char **arg) : perspstr = new char[n]; strcpy(perspstr,&arg[iarg+1][2]); } else { - double persp = force->numeric(FLERR,arg[iarg+1]); + double persp = utils::numeric(FLERR,arg[iarg+1],false,lmp); if (persp < 0.0) error->all(FLERR,"Illegal dump image command"); image->persp = persp; } @@ -323,7 +324,7 @@ DumpImage::DumpImage(LAMMPS *lmp, int narg, char **arg) : if (strcmp(arg[iarg+1],"yes") == 0) boxflag = YES; else if (strcmp(arg[iarg+1],"no") == 0) boxflag = NO; else error->all(FLERR,"Illegal dump image command"); - boxdiam = force->numeric(FLERR,arg[iarg+2]); + boxdiam = utils::numeric(FLERR,arg[iarg+2],false,lmp); if (boxdiam < 0.0) error->all(FLERR,"Illegal dump image command"); iarg += 3; @@ -332,8 +333,8 @@ DumpImage::DumpImage(LAMMPS *lmp, int narg, char **arg) : if (strcmp(arg[iarg+1],"yes") == 0) axesflag = YES; else if (strcmp(arg[iarg+1],"no") == 0) axesflag = NO; else error->all(FLERR,"Illegal dump image command"); - axeslen = force->numeric(FLERR,arg[iarg+2]); - axesdiam = force->numeric(FLERR,arg[iarg+3]); + axeslen = utils::numeric(FLERR,arg[iarg+2],false,lmp); + axesdiam = utils::numeric(FLERR,arg[iarg+3],false,lmp); if (axeslen < 0.0 || axesdiam < 0.0) error->all(FLERR,"Illegal dump image command"); iarg += 4; @@ -343,13 +344,13 @@ DumpImage::DumpImage(LAMMPS *lmp, int narg, char **arg) : if (strcmp(arg[iarg+1],"yes") == 0) subboxflag = YES; else if (strcmp(arg[iarg+1],"no") == 0) subboxflag = NO; else error->all(FLERR,"Illegal dump image command"); - subboxdiam = force->numeric(FLERR,arg[iarg+2]); + subboxdiam = utils::numeric(FLERR,arg[iarg+2],false,lmp); if (subboxdiam < 0.0) error->all(FLERR,"Illegal dump image command"); iarg += 3; } else if (strcmp(arg[iarg],"shiny") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal dump image command"); - double shiny = force->numeric(FLERR,arg[iarg+1]); + double shiny = utils::numeric(FLERR,arg[iarg+1],false,lmp); if (shiny < 0.0 || shiny > 1.0) error->all(FLERR,"Illegal dump image command"); image->shiny = shiny; @@ -360,10 +361,10 @@ DumpImage::DumpImage(LAMMPS *lmp, int narg, char **arg) : if (strcmp(arg[iarg+1],"yes") == 0) image->ssao = YES; else if (strcmp(arg[iarg+1],"no") == 0) image->ssao = NO; else error->all(FLERR,"Illegal dump image command"); - int seed = force->inumeric(FLERR,arg[iarg+2]); + int seed = utils::inumeric(FLERR,arg[iarg+2],false,lmp); if (seed <= 0) error->all(FLERR,"Illegal dump image command"); image->seed = seed; - double ssaoint = force->numeric(FLERR,arg[iarg+3]); + double ssaoint = utils::numeric(FLERR,arg[iarg+3],false,lmp); if (ssaoint < 0.0 || ssaoint > 1.0) error->all(FLERR,"Illegal dump image command"); image->ssaoint = ssaoint; @@ -1246,7 +1247,7 @@ int DumpImage::modify_param(int narg, char **arg) if (strcmp(arg[0],"acolor") == 0) { if (narg < 3) error->all(FLERR,"Illegal dump_modify command"); int nlo,nhi; - force->bounds(FLERR,arg[1],atom->ntypes,nlo,nhi); + utils::bounds(FLERR,arg[1],1,atom->ntypes,nlo,nhi,error); // ptrs = list of ncount colornames separated by '/' @@ -1280,8 +1281,8 @@ int DumpImage::modify_param(int narg, char **arg) if (strcmp(arg[0],"adiam") == 0) { if (narg < 3) error->all(FLERR,"Illegal dump_modify command"); int nlo,nhi; - force->bounds(FLERR,arg[1],atom->ntypes,nlo,nhi); - double diam = force->numeric(FLERR,arg[2]); + utils::bounds(FLERR,arg[1],1,atom->ntypes,nlo,nhi,error); + double diam = utils::numeric(FLERR,arg[2],false,lmp); if (diam <= 0.0) error->all(FLERR,"Illegal dump_modify command"); for (int i = nlo; i <= nhi; i++) diamtype[i] = diam; return 3; @@ -1295,7 +1296,7 @@ int DumpImage::modify_param(int narg, char **arg) else if (arg[3][0] == 'c') factor = 2; else if (arg[3][0] == 'd') factor = 3; else error->all(FLERR,"Illegal dump_modify command"); - int nentry = force->inumeric(FLERR,arg[5]); + int nentry = utils::inumeric(FLERR,arg[5],false,lmp); if (nentry < 1) error->all(FLERR,"Illegal dump_modify command"); int n = 6 + factor*nentry; if (narg < n) error->all(FLERR,"Illegal dump_modify command"); @@ -1309,7 +1310,7 @@ int DumpImage::modify_param(int narg, char **arg) if (atom->nbondtypes == 0) error->all(FLERR,"Dump modify bcolor not allowed with no bond types"); int nlo,nhi; - force->bounds(FLERR,arg[1],atom->nbondtypes,nlo,nhi); + utils::bounds(FLERR,arg[1],1,atom->nbondtypes,nlo,nhi,error); // ptrs = list of ncount colornames separated by '/' @@ -1345,8 +1346,8 @@ int DumpImage::modify_param(int narg, char **arg) if (atom->nbondtypes == 0) error->all(FLERR,"Dump modify bdiam not allowed with no bond types"); int nlo,nhi; - force->bounds(FLERR,arg[1],atom->nbondtypes,nlo,nhi); - double diam = force->numeric(FLERR,arg[2]); + utils::bounds(FLERR,arg[1],1,atom->nbondtypes,nlo,nhi,error); + double diam = utils::numeric(FLERR,arg[2],false,lmp); if (diam <= 0.0) error->all(FLERR,"Illegal dump_modify command"); for (int i = nlo; i <= nhi; i++) bdiamtype[i] = diam; return 3; @@ -1372,7 +1373,9 @@ int DumpImage::modify_param(int narg, char **arg) if (strcmp(arg[0],"color") == 0) { if (narg < 5) error->all(FLERR,"Illegal dump_modify command"); - int flag = image->addcolor(arg[1],force->numeric(FLERR,arg[2]),force->numeric(FLERR,arg[3]),force->numeric(FLERR,arg[4])); + int flag = image->addcolor(arg[1],utils::numeric(FLERR,arg[2],false,lmp), + utils::numeric(FLERR,arg[3],false,lmp), + utils::numeric(FLERR,arg[4],false,lmp)); if (flag) error->all(FLERR,"Illegal dump_modify command"); return 5; } diff --git a/src/dump_local.cpp b/src/dump_local.cpp index 0709eed9521ad368dae00b4357ff983cee1ec3b8..666a7773bda350ad5b92297add4c7e425f950478 100644 --- a/src/dump_local.cpp +++ b/src/dump_local.cpp @@ -24,6 +24,7 @@ #include "memory.h" #include "error.h" #include "force.h" +#include "utils.h" using namespace LAMMPS_NS; @@ -45,7 +46,7 @@ DumpLocal::DumpLocal(LAMMPS *lmp, int narg, char **arg) : clearstep = 1; - nevery = force->inumeric(FLERR,arg[3]); + nevery = utils::inumeric(FLERR,arg[3],false,lmp); if (nevery <= 0) error->all(FLERR,"Illegal dump local command"); if (binary) @@ -57,7 +58,7 @@ DumpLocal::DumpLocal(LAMMPS *lmp, int narg, char **arg) : int expand = 0; char **earg; - nfield = input->expand_args(nfield,&arg[5],1,earg); + nfield = utils::expand_args(FLERR,nfield,&arg[5],1,earg,lmp); if (earg != &arg[5]) expand = 1; diff --git a/src/dump_movie.cpp b/src/dump_movie.cpp index 68a77c8f63cad685c7a297258226b9e5465afeca..4966310470aae54bac541b12a2ff3649a7b76493 100644 --- a/src/dump_movie.cpp +++ b/src/dump_movie.cpp @@ -84,14 +84,14 @@ int DumpMovie::modify_param(int narg, char **arg) if (strcmp(arg[0],"bitrate") == 0) { if (narg < 2) error->all(FLERR,"Illegal dump_modify command"); - bitrate = force->inumeric(FLERR,arg[1]); + bitrate = utils::inumeric(FLERR,arg[1],false,lmp); if (bitrate <= 0.0) error->all(FLERR,"Illegal dump_modify command"); return 2; } if (strcmp(arg[0],"framerate") == 0) { if (narg < 2) error->all(FLERR,"Illegal dump_modify command"); - framerate = force->numeric(FLERR,arg[1]); + framerate = utils::numeric(FLERR,arg[1],false,lmp); if ((framerate <= 0.1) || (framerate > 24.0)) error->all(FLERR,"Illegal dump_modify framerate command"); return 2; diff --git a/src/fix.cpp b/src/fix.cpp index c15f5638e2750be2a1a72f5edb6eac01f77c61a8..549208a0ce9fd5232dfc5e2ffd743a194319b1bc 100644 --- a/src/fix.cpp +++ b/src/fix.cpp @@ -163,7 +163,7 @@ void Fix::modify_params(int narg, char **arg) } else if (strcmp(arg[iarg],"respa") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix_modify command"); if (!respa_level_support) error->all(FLERR,"Illegal fix_modify command"); - int lvl = force->inumeric(FLERR,arg[iarg+1]); + int lvl = utils::inumeric(FLERR,arg[iarg+1],false,lmp); if (lvl < 0) error->all(FLERR,"Illegal fix_modify command"); respa_level = lvl-1; iarg += 2; diff --git a/src/fix_adapt.cpp b/src/fix_adapt.cpp index c502dc6595a9dd106534cb6ddead997fcc021671..c07b225f9ddaaf01d170464037401f0e227e747c 100644 --- a/src/fix_adapt.cpp +++ b/src/fix_adapt.cpp @@ -46,7 +46,7 @@ FixAdapt::FixAdapt(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg), nadapt(0), id_fix_diam(NULL), id_fix_chg(NULL), adapt(NULL) { if (narg < 5) error->all(FLERR,"Illegal fix adapt command"); - nevery = force->inumeric(FLERR,arg[3]); + nevery = utils::inumeric(FLERR,arg[3],false,lmp); if (nevery < 0) error->all(FLERR,"Illegal fix adapt command"); dynamic_group_allow = 1; @@ -98,10 +98,10 @@ nadapt(0), id_fix_diam(NULL), id_fix_chg(NULL), adapt(NULL) adapt[nadapt].pparam = new char[n]; adapt[nadapt].pair = NULL; strcpy(adapt[nadapt].pparam,arg[iarg+2]); - force->bounds(FLERR,arg[iarg+3],atom->ntypes, - adapt[nadapt].ilo,adapt[nadapt].ihi); - force->bounds(FLERR,arg[iarg+4],atom->ntypes, - adapt[nadapt].jlo,adapt[nadapt].jhi); + utils::bounds(FLERR,arg[iarg+3],1,atom->ntypes, + adapt[nadapt].ilo,adapt[nadapt].ihi,error); + utils::bounds(FLERR,arg[iarg+4],1,atom->ntypes, + adapt[nadapt].jlo,adapt[nadapt].jhi,error); if (strstr(arg[iarg+5],"v_") == arg[iarg+5]) { n = strlen(&arg[iarg+5][2]) + 1; adapt[nadapt].var = new char[n]; @@ -120,8 +120,8 @@ nadapt(0), id_fix_diam(NULL), id_fix_chg(NULL), adapt(NULL) adapt[nadapt].bparam = new char[n]; adapt[nadapt].bond = NULL; strcpy(adapt[nadapt].bparam,arg[iarg+2]); - force->bounds(FLERR,arg[iarg+3],atom->nbondtypes, - adapt[nadapt].ilo,adapt[nadapt].ihi); + utils::bounds(FLERR,arg[iarg+3],1,atom->nbondtypes, + adapt[nadapt].ilo,adapt[nadapt].ihi,error); if (strstr(arg[iarg+4],"v_") == arg[iarg+4]) { n = strlen(&arg[iarg+4][2]) + 1; adapt[nadapt].var = new char[n]; @@ -354,7 +354,7 @@ void FixAdapt::init() int nsub = 0; if ((cptr = strchr(pstyle,':'))) { *cptr = '\0'; - nsub = force->inumeric(FLERR,cptr+1); + nsub = utils::inumeric(FLERR,cptr+1,false,lmp); } if (lmp->suffix_enable) { diff --git a/src/fix_addforce.cpp b/src/fix_addforce.cpp index 275ec2c846d849e4a1a4e85f4d75b43f9aeea343..d5c1bbef2914064eeac5ba69bd15fbb3e5b65455 100644 --- a/src/fix_addforce.cpp +++ b/src/fix_addforce.cpp @@ -60,7 +60,7 @@ FixAddForce::FixAddForce(LAMMPS *lmp, int narg, char **arg) : xstr = new char[n]; strcpy(xstr,&arg[3][2]); } else { - xvalue = force->numeric(FLERR,arg[3]); + xvalue = utils::numeric(FLERR,arg[3],false,lmp); xstyle = CONSTANT; } if (strstr(arg[4],"v_") == arg[4]) { @@ -68,7 +68,7 @@ FixAddForce::FixAddForce(LAMMPS *lmp, int narg, char **arg) : ystr = new char[n]; strcpy(ystr,&arg[4][2]); } else { - yvalue = force->numeric(FLERR,arg[4]); + yvalue = utils::numeric(FLERR,arg[4],false,lmp); ystyle = CONSTANT; } if (strstr(arg[5],"v_") == arg[5]) { @@ -76,7 +76,7 @@ FixAddForce::FixAddForce(LAMMPS *lmp, int narg, char **arg) : zstr = new char[n]; strcpy(zstr,&arg[5][2]); } else { - zvalue = force->numeric(FLERR,arg[5]); + zvalue = utils::numeric(FLERR,arg[5],false,lmp); zstyle = CONSTANT; } diff --git a/src/fix_ave_atom.cpp b/src/fix_ave_atom.cpp index 694df2bcf7392cfe777adb772211172b6fd1fbd4..a8d78f14e7714897b42fef9a6cd8c284e50db435 100644 --- a/src/fix_ave_atom.cpp +++ b/src/fix_ave_atom.cpp @@ -23,6 +23,7 @@ #include "memory.h" #include "error.h" #include "force.h" +#include "utils.h" using namespace LAMMPS_NS; using namespace FixConst; @@ -40,9 +41,9 @@ FixAveAtom::FixAveAtom(LAMMPS *lmp, int narg, char **arg) : { if (narg < 7) error->all(FLERR,"Illegal fix ave/atom command"); - nevery = force->inumeric(FLERR,arg[3]); - nrepeat = force->inumeric(FLERR,arg[4]); - peratom_freq = force->inumeric(FLERR,arg[5]); + nevery = utils::inumeric(FLERR,arg[3],false,lmp); + nrepeat = utils::inumeric(FLERR,arg[4],false,lmp); + peratom_freq = utils::inumeric(FLERR,arg[5],false,lmp); nvalues = narg - 6; @@ -51,7 +52,7 @@ FixAveAtom::FixAveAtom(LAMMPS *lmp, int narg, char **arg) : int expand = 0; char **earg; - nvalues = input->expand_args(nvalues,&arg[6],1,earg); + nvalues = utils::expand_args(FLERR,nvalues,&arg[6],1,earg,lmp); if (earg != &arg[6]) expand = 1; arg = earg; diff --git a/src/fix_ave_chunk.cpp b/src/fix_ave_chunk.cpp index 2987783b2a929921709e0ee1a6c6f85e4cc1926e..dd753ddc2dcd7eb3e098010d8d051ed2675f9825 100644 --- a/src/fix_ave_chunk.cpp +++ b/src/fix_ave_chunk.cpp @@ -57,9 +57,9 @@ FixAveChunk::FixAveChunk(LAMMPS *lmp, int narg, char **arg) : MPI_Comm_rank(world,&me); - nevery = force->inumeric(FLERR,arg[3]); - nrepeat = force->inumeric(FLERR,arg[4]); - nfreq = force->inumeric(FLERR,arg[5]); + nevery = utils::inumeric(FLERR,arg[3],false,lmp); + nrepeat = utils::inumeric(FLERR,arg[4],false,lmp); + nfreq = utils::inumeric(FLERR,arg[5],false,lmp); int n = strlen(arg[6]) + 1; idchunk = new char[n]; @@ -72,7 +72,7 @@ FixAveChunk::FixAveChunk(LAMMPS *lmp, int narg, char **arg) : int expand = 0; char **earg; - int nargnew = input->expand_args(narg-7,&arg[7],1,earg); + int nargnew = utils::expand_args(FLERR,narg-7,&arg[7],1,earg,lmp); if (earg != &arg[7]) expand = 1; arg = earg; @@ -196,7 +196,7 @@ FixAveChunk::FixAveChunk(LAMMPS *lmp, int narg, char **arg) : else error->all(FLERR,"Illegal fix ave/chunk command"); if (ave == WINDOW) { if (iarg+3 > narg) error->all(FLERR,"Illegal fix ave/chunk command"); - nwindow = force->inumeric(FLERR,arg[iarg+2]); + nwindow = utils::inumeric(FLERR,arg[iarg+2],false,lmp); if (nwindow <= 0) error->all(FLERR,"Illegal fix ave/chunk command"); } iarg += 2; @@ -213,12 +213,12 @@ FixAveChunk::FixAveChunk(LAMMPS *lmp, int narg, char **arg) : } else if (strcmp(arg[iarg],"adof") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix ave/chunk command"); - adof = force->numeric(FLERR,arg[iarg+1]); + adof = utils::numeric(FLERR,arg[iarg+1],false,lmp); iarg += 2; } else if (strcmp(arg[iarg],"cdof") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix ave/chunk command"); - cdof = force->numeric(FLERR,arg[iarg+1]); + cdof = utils::numeric(FLERR,arg[iarg+1],false,lmp); iarg += 2; } else if (strcmp(arg[iarg],"file") == 0) { diff --git a/src/fix_ave_correlate.cpp b/src/fix_ave_correlate.cpp index 2231611d1eb648894fa6aebbf7c86f2e1a2ef408..293b7fc2968394d9f1e07864b71c561c118f2f06 100644 --- a/src/fix_ave_correlate.cpp +++ b/src/fix_ave_correlate.cpp @@ -55,9 +55,9 @@ FixAveCorrelate::FixAveCorrelate(LAMMPS * lmp, int narg, char **arg): MPI_Comm_rank(world,&me); - nevery = force->inumeric(FLERR,arg[3]); - nrepeat = force->inumeric(FLERR,arg[4]); - nfreq = force->inumeric(FLERR,arg[5]); + nevery = utils::inumeric(FLERR,arg[3],false,lmp); + nrepeat = utils::inumeric(FLERR,arg[4],false,lmp); + nfreq = utils::inumeric(FLERR,arg[5],false,lmp); global_freq = nfreq; @@ -65,7 +65,7 @@ FixAveCorrelate::FixAveCorrelate(LAMMPS * lmp, int narg, char **arg): int expand = 0; char **earg; - int nargnew = input->expand_args(narg-6,&arg[6],0,earg); + int nargnew = utils::expand_args(FLERR,narg-6,&arg[6],0,earg,lmp); if (earg != &arg[6]) expand = 1; arg = earg; @@ -140,11 +140,11 @@ FixAveCorrelate::FixAveCorrelate(LAMMPS * lmp, int narg, char **arg): iarg += 2; } else if (strcmp(arg[iarg],"start") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix ave/correlate command"); - startstep = force->inumeric(FLERR,arg[iarg+1]); + startstep = utils::inumeric(FLERR,arg[iarg+1],false,lmp); iarg += 2; } else if (strcmp(arg[iarg],"prefactor") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix ave/correlate command"); - prefactor = force->numeric(FLERR,arg[iarg+1]); + prefactor = utils::numeric(FLERR,arg[iarg+1],false,lmp); iarg += 2; } else if (strcmp(arg[iarg],"file") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix ave/correlate command"); diff --git a/src/fix_ave_histo.cpp b/src/fix_ave_histo.cpp index d0bedba34a620ac196e4b5b49450615f0f30c0d6..091ec19fffa454083c98744f09fadb25096bfbf9 100644 --- a/src/fix_ave_histo.cpp +++ b/src/fix_ave_histo.cpp @@ -57,9 +57,9 @@ FixAveHisto::FixAveHisto(LAMMPS *lmp, int narg, char **arg) : MPI_Comm_rank(world,&me); - nevery = force->inumeric(FLERR,arg[3]); - nrepeat = force->inumeric(FLERR,arg[4]); - nfreq = force->inumeric(FLERR,arg[5]); + nevery = utils::inumeric(FLERR,arg[3],false,lmp); + nrepeat = utils::inumeric(FLERR,arg[4],false,lmp); + nfreq = utils::inumeric(FLERR,arg[5],false,lmp); global_freq = nfreq; vector_flag = 1; @@ -70,9 +70,9 @@ FixAveHisto::FixAveHisto(LAMMPS *lmp, int narg, char **arg) : extarray = 0; dynamic_group_allow = 1; - lo = force->numeric(FLERR,arg[6]); - hi = force->numeric(FLERR,arg[7]); - nbins = force->inumeric(FLERR,arg[8]); + lo = utils::numeric(FLERR,arg[6],false,lmp); + hi = utils::numeric(FLERR,arg[7],false,lmp); + nbins = utils::inumeric(FLERR,arg[8],false,lmp); // scan values to count them // then read options so know mode = SCALAR/VECTOR before re-reading values @@ -107,7 +107,7 @@ FixAveHisto::FixAveHisto(LAMMPS *lmp, int narg, char **arg) : int expand = 0; char **earg; - nvalues = input->expand_args(nvalues,&arg[9],mode,earg); + nvalues = utils::expand_args(FLERR,nvalues,&arg[9],mode,earg,lmp); if (earg != &arg[9]) expand = 1; arg = earg; @@ -985,14 +985,14 @@ void FixAveHisto::options(int iarg, int narg, char **arg) else error->all(FLERR,"Illegal fix ave/histo command"); if (ave == WINDOW) { if (iarg+3 > narg) error->all(FLERR,"Illegal fix ave/histo command"); - nwindow = force->inumeric(FLERR,arg[iarg+2]); + nwindow = utils::inumeric(FLERR,arg[iarg+2],false,lmp); if (nwindow <= 0) error->all(FLERR,"Illegal fix ave/histo command"); } iarg += 2; if (ave == WINDOW) iarg++; } else if (strcmp(arg[iarg],"start") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix ave/histo command"); - startstep = force->inumeric(FLERR,arg[iarg+1]); + startstep = utils::inumeric(FLERR,arg[iarg+1],false,lmp); iarg += 2; } else if (strcmp(arg[iarg],"mode") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix ave/histo command"); diff --git a/src/fix_ave_time.cpp b/src/fix_ave_time.cpp index 84c5c04f117e713ad562529f0ec39c66777ae314..4cc8cc3d3d7a9f12cccfa386f08c3c8bfff17f21 100644 --- a/src/fix_ave_time.cpp +++ b/src/fix_ave_time.cpp @@ -56,9 +56,9 @@ FixAveTime::FixAveTime(LAMMPS *lmp, int narg, char **arg) : MPI_Comm_rank(world,&me); - nevery = force->inumeric(FLERR,arg[3]); - nrepeat = force->inumeric(FLERR,arg[4]); - nfreq = force->inumeric(FLERR,arg[5]); + nevery = utils::inumeric(FLERR,arg[3],false,lmp); + nrepeat = utils::inumeric(FLERR,arg[4],false,lmp); + nfreq = utils::inumeric(FLERR,arg[5],false,lmp); global_freq = nfreq; @@ -88,7 +88,7 @@ FixAveTime::FixAveTime(LAMMPS *lmp, int narg, char **arg) : int expand = 0; char **earg; - nvalues = input->expand_args(nvalues,&arg[6],mode,earg); + nvalues = utils::expand_args(FLERR,nvalues,&arg[6],mode,earg,lmp); if (earg != &arg[6]) expand = 1; arg = earg; @@ -1058,14 +1058,14 @@ void FixAveTime::options(int iarg, int narg, char **arg) else error->all(FLERR,"Illegal fix ave/time command"); if (ave == WINDOW) { if (iarg+3 > narg) error->all(FLERR,"Illegal fix ave/time command"); - nwindow = force->inumeric(FLERR,arg[iarg+2]); + nwindow = utils::inumeric(FLERR,arg[iarg+2],false,lmp); if (nwindow <= 0) error->all(FLERR,"Illegal fix ave/time command"); } iarg += 2; if (ave == WINDOW) iarg++; } else if (strcmp(arg[iarg],"start") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix ave/time command"); - startstep = force->inumeric(FLERR,arg[iarg+1]); + startstep = utils::inumeric(FLERR,arg[iarg+1],false,lmp); iarg += 2; } else if (strcmp(arg[iarg],"mode") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix ave/time command"); @@ -1076,7 +1076,7 @@ void FixAveTime::options(int iarg, int narg, char **arg) } else if (strcmp(arg[iarg],"off") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix ave/time command"); memory->grow(offlist,noff+1,"ave/time:offlist"); - offlist[noff++] = force->inumeric(FLERR,arg[iarg+1]); + offlist[noff++] = utils::inumeric(FLERR,arg[iarg+1],false,lmp); iarg += 2; } else if (strcmp(arg[iarg],"overwrite") == 0) { overwrite = 1; diff --git a/src/fix_aveforce.cpp b/src/fix_aveforce.cpp index 8ad07780a96bdae619755972729832cefcdd41bc..b5b2527e2599108ec419d7c1b93e22adba444d17 100644 --- a/src/fix_aveforce.cpp +++ b/src/fix_aveforce.cpp @@ -55,7 +55,7 @@ FixAveForce::FixAveForce(LAMMPS *lmp, int narg, char **arg) : } else if (strcmp(arg[3],"NULL") == 0) { xstyle = NONE; } else { - xvalue = force->numeric(FLERR,arg[3]); + xvalue = utils::numeric(FLERR,arg[3],false,lmp); xstyle = CONSTANT; } if (strstr(arg[4],"v_") == arg[4]) { @@ -65,7 +65,7 @@ FixAveForce::FixAveForce(LAMMPS *lmp, int narg, char **arg) : } else if (strcmp(arg[4],"NULL") == 0) { ystyle = NONE; } else { - yvalue = force->numeric(FLERR,arg[4]); + yvalue = utils::numeric(FLERR,arg[4],false,lmp); ystyle = CONSTANT; } if (strstr(arg[5],"v_") == arg[5]) { @@ -75,7 +75,7 @@ FixAveForce::FixAveForce(LAMMPS *lmp, int narg, char **arg) : } else if (strcmp(arg[5],"NULL") == 0) { zstyle = NONE; } else { - zvalue = force->numeric(FLERR,arg[5]); + zvalue = utils::numeric(FLERR,arg[5],false,lmp); zstyle = CONSTANT; } diff --git a/src/fix_balance.cpp b/src/fix_balance.cpp index f374a7c5c53cb4e4e8759818cca7346f96222d33..7cee835375837b39185471b7202879b8b00f59da 100644 --- a/src/fix_balance.cpp +++ b/src/fix_balance.cpp @@ -52,9 +52,9 @@ FixBalance::FixBalance(LAMMPS *lmp, int narg, char **arg) : int dimension = domain->dimension; - nevery = force->inumeric(FLERR,arg[3]); + nevery = utils::inumeric(FLERR,arg[3],false,lmp); if (nevery < 0) error->all(FLERR,"Illegal fix balance command"); - thresh = force->numeric(FLERR,arg[4]); + thresh = utils::numeric(FLERR,arg[4],false,lmp); if (strcmp(arg[5],"shift") == 0) lbstyle = SHIFT; else if (strcmp(arg[5],"rcb") == 0) lbstyle = BISECTION; @@ -66,9 +66,9 @@ FixBalance::FixBalance(LAMMPS *lmp, int narg, char **arg) : if (strlen(arg[iarg+1]) > 3) error->all(FLERR,"Illegal fix balance command"); strcpy(bstr,arg[iarg+1]); - nitermax = force->inumeric(FLERR,arg[iarg+2]); + nitermax = utils::inumeric(FLERR,arg[iarg+2],false,lmp); if (nitermax <= 0) error->all(FLERR,"Illegal fix balance command"); - stopthresh = force->numeric(FLERR,arg[iarg+3]); + stopthresh = utils::numeric(FLERR,arg[iarg+3],false,lmp); if (stopthresh < 1.0) error->all(FLERR,"Illegal fix balance command"); iarg += 4; } else if (lbstyle == BISECTION) { diff --git a/src/fix_box_relax.cpp b/src/fix_box_relax.cpp index 832799831ec62eb5367e1f2bc65b42d9c42cfd88..39760e947924725dd2639e7bf3a5963bbdf7dc0a 100644 --- a/src/fix_box_relax.cpp +++ b/src/fix_box_relax.cpp @@ -90,7 +90,7 @@ FixBoxRelax::FixBoxRelax(LAMMPS *lmp, int narg, char **arg) : if (strcmp(arg[iarg],"iso") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix box/relax command"); pcouple = XYZ; - p_target[0] = p_target[1] = p_target[2] = force->numeric(FLERR,arg[iarg+1]); + p_target[0] = p_target[1] = p_target[2] = utils::numeric(FLERR,arg[iarg+1],false,lmp); p_flag[0] = p_flag[1] = p_flag[2] = 1; if (dimension == 2) { p_target[2] = 0.0; @@ -100,7 +100,7 @@ FixBoxRelax::FixBoxRelax(LAMMPS *lmp, int narg, char **arg) : } else if (strcmp(arg[iarg],"aniso") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix box/relax command"); pcouple = NONE; - p_target[0] = p_target[1] = p_target[2] = force->numeric(FLERR,arg[iarg+1]); + p_target[0] = p_target[1] = p_target[2] = utils::numeric(FLERR,arg[iarg+1],false,lmp); p_flag[0] = p_flag[1] = p_flag[2] = 1; if (dimension == 2) { p_target[2] = 0.0; @@ -111,7 +111,7 @@ FixBoxRelax::FixBoxRelax(LAMMPS *lmp, int narg, char **arg) : if (iarg+2 > narg) error->all(FLERR,"Illegal fix box/relax command"); pcouple = NONE; scalexy = scalexz = scaleyz = 0; - p_target[0] = p_target[1] = p_target[2] = force->numeric(FLERR,arg[iarg+1]); + p_target[0] = p_target[1] = p_target[2] = utils::numeric(FLERR,arg[iarg+1],false,lmp); p_flag[0] = p_flag[1] = p_flag[2] = 1; p_target[3] = p_target[4] = p_target[5] = 0.0; p_flag[3] = p_flag[4] = p_flag[5] = 1; @@ -123,19 +123,19 @@ FixBoxRelax::FixBoxRelax(LAMMPS *lmp, int narg, char **arg) : } else if (strcmp(arg[iarg],"x") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix box/relax command"); - p_target[0] = force->numeric(FLERR,arg[iarg+1]); + p_target[0] = utils::numeric(FLERR,arg[iarg+1],false,lmp); p_flag[0] = 1; deviatoric_flag = 1; iarg += 2; } else if (strcmp(arg[iarg],"y") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix box/relax command"); - p_target[1] = force->numeric(FLERR,arg[iarg+1]); + p_target[1] = utils::numeric(FLERR,arg[iarg+1],false,lmp); p_flag[1] = 1; deviatoric_flag = 1; iarg += 2; } else if (strcmp(arg[iarg],"z") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix box/relax command"); - p_target[2] = force->numeric(FLERR,arg[iarg+1]); + p_target[2] = utils::numeric(FLERR,arg[iarg+1],false,lmp); p_flag[2] = 1; deviatoric_flag = 1; iarg += 2; @@ -144,7 +144,7 @@ FixBoxRelax::FixBoxRelax(LAMMPS *lmp, int narg, char **arg) : } else if (strcmp(arg[iarg],"yz") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix box/relax command"); - p_target[3] = force->numeric(FLERR,arg[iarg+1]); + p_target[3] = utils::numeric(FLERR,arg[iarg+1],false,lmp); p_flag[3] = 1; deviatoric_flag = 1; scaleyz = 0; @@ -153,7 +153,7 @@ FixBoxRelax::FixBoxRelax(LAMMPS *lmp, int narg, char **arg) : error->all(FLERR,"Invalid fix box/relax command for a 2d simulation"); } else if (strcmp(arg[iarg],"xz") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix box/relax command"); - p_target[4] = force->numeric(FLERR,arg[iarg+1]); + p_target[4] = utils::numeric(FLERR,arg[iarg+1],false,lmp); p_flag[4] = 1; deviatoric_flag = 1; scalexz = 0; @@ -162,7 +162,7 @@ FixBoxRelax::FixBoxRelax(LAMMPS *lmp, int narg, char **arg) : error->all(FLERR,"Invalid fix box/relax command for a 2d simulation"); } else if (strcmp(arg[iarg],"xy") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix box/relax command"); - p_target[5] = force->numeric(FLERR,arg[iarg+1]); + p_target[5] = utils::numeric(FLERR,arg[iarg+1],false,lmp); p_flag[5] = 1; deviatoric_flag = 1; scalexy = 0; @@ -186,11 +186,11 @@ FixBoxRelax::FixBoxRelax(LAMMPS *lmp, int narg, char **arg) : iarg += 2; } else if (strcmp(arg[iarg],"vmax") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix box/relax command"); - vmax = force->numeric(FLERR,arg[iarg+1]); + vmax = utils::numeric(FLERR,arg[iarg+1],false,lmp); iarg += 2; } else if (strcmp(arg[iarg],"nreset") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix box/relax command"); - nreset_h0 = force->inumeric(FLERR,arg[iarg+1]); + nreset_h0 = utils::inumeric(FLERR,arg[iarg+1],false,lmp); if (nreset_h0 < 0) error->all(FLERR,"Illegal fix box/relax command"); iarg += 2; } else if (strcmp(arg[iarg],"scalexy") == 0) { @@ -213,9 +213,9 @@ FixBoxRelax::FixBoxRelax(LAMMPS *lmp, int narg, char **arg) : iarg += 2; } else if (strcmp(arg[iarg],"fixedpoint") == 0) { if (iarg+4 > narg) error->all(FLERR,"Illegal fix box/relax command"); - fixedpoint[0] = force->numeric(FLERR,arg[iarg+1]); - fixedpoint[1] = force->numeric(FLERR,arg[iarg+2]); - fixedpoint[2] = force->numeric(FLERR,arg[iarg+3]); + fixedpoint[0] = utils::numeric(FLERR,arg[iarg+1],false,lmp); + fixedpoint[1] = utils::numeric(FLERR,arg[iarg+2],false,lmp); + fixedpoint[2] = utils::numeric(FLERR,arg[iarg+3],false,lmp); iarg += 4; } else error->all(FLERR,"Illegal fix box/relax command"); } diff --git a/src/fix_controller.cpp b/src/fix_controller.cpp index f7012e55659610dada60bfcb21108175cad69883..4b12c393cb2653b5b052bc40cdbd6866b760aaf2 100644 --- a/src/fix_controller.cpp +++ b/src/fix_controller.cpp @@ -43,13 +43,13 @@ FixController::FixController(LAMMPS *lmp, int narg, char **arg) : global_freq = 1; extvector = 0; - nevery = force->inumeric(FLERR,arg[3]); + nevery = utils::inumeric(FLERR,arg[3],false,lmp); if (nevery <= 0) error->all(FLERR,"Illegal fix controller command"); - alpha = force->numeric(FLERR,arg[4]); - kp = force->numeric(FLERR,arg[5]); - ki = force->numeric(FLERR,arg[6]); - kd = force->numeric(FLERR,arg[7]); + alpha = utils::numeric(FLERR,arg[4],false,lmp); + kp = utils::numeric(FLERR,arg[5],false,lmp); + ki = utils::numeric(FLERR,arg[6],false,lmp); + kd = utils::numeric(FLERR,arg[7],false,lmp); // process variable arg @@ -84,7 +84,7 @@ FixController::FixController(LAMMPS *lmp, int narg, char **arg) : // setpoint arg - setpoint = force->numeric(FLERR,arg[iarg]); + setpoint = utils::numeric(FLERR,arg[iarg],false,lmp); iarg++; // control variable arg diff --git a/src/fix_deform.cpp b/src/fix_deform.cpp index 2514f28fa5c3f07a630b4e6317130c874f5da511..b4c36ca43e644cd73cbaddfc0dd5b90612258dc2 100644 --- a/src/fix_deform.cpp +++ b/src/fix_deform.cpp @@ -50,7 +50,7 @@ rfix(NULL), irregular(NULL), set(NULL) restart_global = 1; pre_exchange_migrate = 1; - nevery = force->inumeric(FLERR,arg[3]); + nevery = utils::inumeric(FLERR,arg[3],false,lmp); if (nevery <= 0) error->all(FLERR,"Illegal fix deform command"); // set defaults @@ -77,34 +77,34 @@ rfix(NULL), irregular(NULL), set(NULL) if (strcmp(arg[iarg+1],"final") == 0) { if (iarg+4 > narg) error->all(FLERR,"Illegal fix deform command"); set[index].style = FINAL; - set[index].flo = force->numeric(FLERR,arg[iarg+2]); - set[index].fhi = force->numeric(FLERR,arg[iarg+3]); + set[index].flo = utils::numeric(FLERR,arg[iarg+2],false,lmp); + set[index].fhi = utils::numeric(FLERR,arg[iarg+3],false,lmp); iarg += 4; } else if (strcmp(arg[iarg+1],"delta") == 0) { if (iarg+4 > narg) error->all(FLERR,"Illegal fix deform command"); set[index].style = DELTA; - set[index].dlo = force->numeric(FLERR,arg[iarg+2]); - set[index].dhi = force->numeric(FLERR,arg[iarg+3]); + set[index].dlo = utils::numeric(FLERR,arg[iarg+2],false,lmp); + set[index].dhi = utils::numeric(FLERR,arg[iarg+3],false,lmp); iarg += 4; } else if (strcmp(arg[iarg+1],"scale") == 0) { if (iarg+3 > narg) error->all(FLERR,"Illegal fix deform command"); set[index].style = SCALE; - set[index].scale = force->numeric(FLERR,arg[iarg+2]); + set[index].scale = utils::numeric(FLERR,arg[iarg+2],false,lmp); iarg += 3; } else if (strcmp(arg[iarg+1],"vel") == 0) { if (iarg+3 > narg) error->all(FLERR,"Illegal fix deform command"); set[index].style = VEL; - set[index].vel = force->numeric(FLERR,arg[iarg+2]); + set[index].vel = utils::numeric(FLERR,arg[iarg+2],false,lmp); iarg += 3; } else if (strcmp(arg[iarg+1],"erate") == 0) { if (iarg+3 > narg) error->all(FLERR,"Illegal fix deform command"); set[index].style = ERATE; - set[index].rate = force->numeric(FLERR,arg[iarg+2]); + set[index].rate = utils::numeric(FLERR,arg[iarg+2],false,lmp); iarg += 3; } else if (strcmp(arg[iarg+1],"trate") == 0) { if (iarg+3 > narg) error->all(FLERR,"Illegal fix deform command"); set[index].style = TRATE; - set[index].rate = force->numeric(FLERR,arg[iarg+2]); + set[index].rate = utils::numeric(FLERR,arg[iarg+2],false,lmp); iarg += 3; } else if (strcmp(arg[iarg+1],"volume") == 0) { set[index].style = VOLUME; @@ -112,8 +112,8 @@ rfix(NULL), irregular(NULL), set(NULL) } else if (strcmp(arg[iarg+1],"wiggle") == 0) { if (iarg+4 > narg) error->all(FLERR,"Illegal fix deform command"); set[index].style = WIGGLE; - set[index].amplitude = force->numeric(FLERR,arg[iarg+2]); - set[index].tperiod = force->numeric(FLERR,arg[iarg+3]); + set[index].amplitude = utils::numeric(FLERR,arg[iarg+2],false,lmp); + set[index].tperiod = utils::numeric(FLERR,arg[iarg+3],false,lmp); if (set[index].tperiod <= 0.0) error->all(FLERR,"Illegal fix deform command"); iarg += 4; @@ -149,33 +149,33 @@ rfix(NULL), irregular(NULL), set(NULL) if (strcmp(arg[iarg+1],"final") == 0) { if (iarg+3 > narg) error->all(FLERR,"Illegal fix deform command"); set[index].style = FINAL; - set[index].ftilt = force->numeric(FLERR,arg[iarg+2]); + set[index].ftilt = utils::numeric(FLERR,arg[iarg+2],false,lmp); iarg += 3; } else if (strcmp(arg[iarg+1],"delta") == 0) { if (iarg+3 > narg) error->all(FLERR,"Illegal fix deform command"); set[index].style = DELTA; - set[index].dtilt = force->numeric(FLERR,arg[iarg+2]); + set[index].dtilt = utils::numeric(FLERR,arg[iarg+2],false,lmp); iarg += 3; } else if (strcmp(arg[iarg+1],"vel") == 0) { if (iarg+3 > narg) error->all(FLERR,"Illegal fix deform command"); set[index].style = VEL; - set[index].vel = force->numeric(FLERR,arg[iarg+2]); + set[index].vel = utils::numeric(FLERR,arg[iarg+2],false,lmp); iarg += 3; } else if (strcmp(arg[iarg+1],"erate") == 0) { if (iarg+3 > narg) error->all(FLERR,"Illegal fix deform command"); set[index].style = ERATE; - set[index].rate = force->numeric(FLERR,arg[iarg+2]); + set[index].rate = utils::numeric(FLERR,arg[iarg+2],false,lmp); iarg += 3; } else if (strcmp(arg[iarg+1],"trate") == 0) { if (iarg+3 > narg) error->all(FLERR,"Illegal fix deform command"); set[index].style = TRATE; - set[index].rate = force->numeric(FLERR,arg[iarg+2]); + set[index].rate = utils::numeric(FLERR,arg[iarg+2],false,lmp); iarg += 3; } else if (strcmp(arg[iarg+1],"wiggle") == 0) { if (iarg+4 > narg) error->all(FLERR,"Illegal fix deform command"); set[index].style = WIGGLE; - set[index].amplitude = force->numeric(FLERR,arg[iarg+2]); - set[index].tperiod = force->numeric(FLERR,arg[iarg+3]); + set[index].amplitude = utils::numeric(FLERR,arg[iarg+2],false,lmp); + set[index].tperiod = utils::numeric(FLERR,arg[iarg+3],false,lmp); if (set[index].tperiod <= 0.0) error->all(FLERR,"Illegal fix deform command"); iarg += 4; diff --git a/src/fix_drag.cpp b/src/fix_drag.cpp index 9af5a376757b95c65b37f50d7ff90de6d5257a8a..5b74b75fcd5781ec05302de3fdc4188ea4f9bc15 100644 --- a/src/fix_drag.cpp +++ b/src/fix_drag.cpp @@ -42,14 +42,14 @@ FixDrag::FixDrag(LAMMPS *lmp, int narg, char **arg) : xflag = yflag = zflag = 1; if (strcmp(arg[3],"NULL") == 0) xflag = 0; - else xc = force->numeric(FLERR,arg[3]); + else xc = utils::numeric(FLERR,arg[3],false,lmp); if (strcmp(arg[4],"NULL") == 0) yflag = 0; - else yc = force->numeric(FLERR,arg[4]); + else yc = utils::numeric(FLERR,arg[4],false,lmp); if (strcmp(arg[5],"NULL") == 0) zflag = 0; - else zc = force->numeric(FLERR,arg[5]); + else zc = utils::numeric(FLERR,arg[5],false,lmp); - f_mag = force->numeric(FLERR,arg[6]); - delta = force->numeric(FLERR,arg[7]); + f_mag = utils::numeric(FLERR,arg[6],false,lmp); + delta = utils::numeric(FLERR,arg[7],false,lmp); force_flag = 0; ftotal[0] = ftotal[1] = ftotal[2] = 0.0; diff --git a/src/fix_dt_reset.cpp b/src/fix_dt_reset.cpp index da4bdad827a51088a6f10314abe3e02bf4d31532..8fb4f0cdfc25a50d703f47338e07fc9bee6c4ac5 100644 --- a/src/fix_dt_reset.cpp +++ b/src/fix_dt_reset.cpp @@ -50,16 +50,16 @@ FixDtReset::FixDtReset(LAMMPS *lmp, int narg, char **arg) : extvector = 0; dynamic_group_allow = 1; - nevery = force->inumeric(FLERR,arg[3]); + nevery = utils::inumeric(FLERR,arg[3],false,lmp); if (nevery <= 0) error->all(FLERR,"Illegal fix dt/reset command"); minbound = maxbound = 1; tmin = tmax = 0.0; if (strcmp(arg[4],"NULL") == 0) minbound = 0; - else tmin = force->numeric(FLERR,arg[4]); + else tmin = utils::numeric(FLERR,arg[4],false,lmp); if (strcmp(arg[5],"NULL") == 0) maxbound = 0; - else tmax = force->numeric(FLERR,arg[5]); - xmax = force->numeric(FLERR,arg[6]); + else tmax = utils::numeric(FLERR,arg[5],false,lmp); + xmax = utils::numeric(FLERR,arg[6],false,lmp); if (minbound && tmin < 0.0) error->all(FLERR,"Illegal fix dt/reset command"); if (maxbound && tmax < 0.0) error->all(FLERR,"Illegal fix dt/reset command"); @@ -80,7 +80,7 @@ FixDtReset::FixDtReset(LAMMPS *lmp, int narg, char **arg) : iarg += 2; } else if (strcmp(arg[iarg],"emax") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix dt/reset command"); - emax = force->numeric(FLERR,arg[iarg+1]); + emax = utils::numeric(FLERR,arg[iarg+1],false,lmp); if (emax <= 0.0) error->all(FLERR,"Illegal fix dt/reset command"); iarg += 2; } else error->all(FLERR,"Illegal fix dt/reset command"); diff --git a/src/fix_external.cpp b/src/fix_external.cpp index afb420df93bde80c55116ce4a71af59504327ab1..5d810ff38be356a0ffffa63605597c74dc962fd6 100644 --- a/src/fix_external.cpp +++ b/src/fix_external.cpp @@ -41,14 +41,14 @@ FixExternal::FixExternal(LAMMPS *lmp, int narg, char **arg) : if (strcmp(arg[3],"pf/callback") == 0) { if (narg != 6) error->all(FLERR,"Illegal fix external command"); mode = PF_CALLBACK; - ncall = force->inumeric(FLERR,arg[4]); - napply = force->inumeric(FLERR,arg[5]); + ncall = utils::inumeric(FLERR,arg[4],false,lmp); + napply = utils::inumeric(FLERR,arg[5],false,lmp); if (ncall <= 0 || napply <= 0) error->all(FLERR,"Illegal fix external command"); } else if (strcmp(arg[3],"pf/array") == 0) { if (narg != 5) error->all(FLERR,"Illegal fix external command"); mode = PF_ARRAY; - napply = force->inumeric(FLERR,arg[4]); + napply = utils::inumeric(FLERR,arg[4],false,lmp); if (napply <= 0) error->all(FLERR,"Illegal fix external command"); } else error->all(FLERR,"Illegal fix external command"); diff --git a/src/fix_gravity.cpp b/src/fix_gravity.cpp index 2c561814152e01dc861aa08def92f937f40ed7b9..82b831196819a56ee15837c3b7d0e9f1c17b0946 100644 --- a/src/fix_gravity.cpp +++ b/src/fix_gravity.cpp @@ -58,7 +58,7 @@ FixGravity::FixGravity(LAMMPS *lmp, int narg, char **arg) : strcpy(mstr,&arg[3][2]); mstyle = EQUAL; } else { - magnitude = force->numeric(FLERR,arg[3]); + magnitude = utils::numeric(FLERR,arg[3],false,lmp); mstyle = CONSTANT; } @@ -73,7 +73,7 @@ FixGravity::FixGravity(LAMMPS *lmp, int narg, char **arg) : strcpy(vstr,&arg[5][2]); vstyle = EQUAL; } else { - vert = force->numeric(FLERR,arg[5]); + vert = utils::numeric(FLERR,arg[5],false,lmp); vstyle = CONSTANT; } iarg = 6; @@ -87,7 +87,7 @@ FixGravity::FixGravity(LAMMPS *lmp, int narg, char **arg) : strcpy(pstr,&arg[5][2]); pstyle = EQUAL; } else { - phi = force->numeric(FLERR,arg[5]); + phi = utils::numeric(FLERR,arg[5],false,lmp); pstyle = CONSTANT; } if (strstr(arg[6],"v_") == arg[6]) { @@ -96,7 +96,7 @@ FixGravity::FixGravity(LAMMPS *lmp, int narg, char **arg) : strcpy(tstr,&arg[6][2]); tstyle = EQUAL; } else { - theta = force->numeric(FLERR,arg[6]); + theta = utils::numeric(FLERR,arg[6],false,lmp); tstyle = CONSTANT; } iarg = 7; @@ -110,7 +110,7 @@ FixGravity::FixGravity(LAMMPS *lmp, int narg, char **arg) : strcpy(xstr,&arg[5][2]); xstyle = EQUAL; } else { - xdir = force->numeric(FLERR,arg[5]); + xdir = utils::numeric(FLERR,arg[5],false,lmp); xstyle = CONSTANT; } if (strstr(arg[6],"v_") == arg[6]) { @@ -119,7 +119,7 @@ FixGravity::FixGravity(LAMMPS *lmp, int narg, char **arg) : strcpy(ystr,&arg[6][2]); ystyle = EQUAL; } else { - ydir = force->numeric(FLERR,arg[6]); + ydir = utils::numeric(FLERR,arg[6],false,lmp); ystyle = CONSTANT; } if (strstr(arg[7],"v_") == arg[7]) { @@ -128,7 +128,7 @@ FixGravity::FixGravity(LAMMPS *lmp, int narg, char **arg) : strcpy(zstr,&arg[7][2]); zstyle = EQUAL; } else { - zdir = force->numeric(FLERR,arg[7]); + zdir = utils::numeric(FLERR,arg[7],false,lmp); zstyle = CONSTANT; } iarg = 8; diff --git a/src/fix_group.cpp b/src/fix_group.cpp index d2eea9f7811831c9c117483f8d261149f6c68355..5e2a12c988fcd6c0d5abce875a8521e54af0cedf 100644 --- a/src/fix_group.cpp +++ b/src/fix_group.cpp @@ -86,7 +86,7 @@ idregion(NULL), idvar(NULL), idprop(NULL) iarg += 2; } else if (strcmp(arg[iarg],"every") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal group command"); - nevery = force->inumeric(FLERR,arg[iarg+1]); + nevery = utils::inumeric(FLERR,arg[iarg+1],false,lmp); if (nevery <= 0) error->all(FLERR,"Illegal group command"); iarg += 2; } else error->all(FLERR,"Illegal group command"); diff --git a/src/fix_halt.cpp b/src/fix_halt.cpp index c5960dfe13af978ad7ef517ef56400a7527927e4..cf39ba61e205c0c6275af7361c76cb546d624e80 100644 --- a/src/fix_halt.cpp +++ b/src/fix_halt.cpp @@ -42,7 +42,7 @@ FixHalt::FixHalt(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg), idvar(NULL), dlimit_path(NULL) { if (narg < 7) error->all(FLERR,"Illegal fix halt command"); - nevery = force->inumeric(FLERR,arg[3]); + nevery = utils::inumeric(FLERR,arg[3],false,lmp); if (nevery <= 0) error->all(FLERR,"Illegal fix halt command"); // comparison args @@ -80,7 +80,7 @@ FixHalt::FixHalt(LAMMPS *lmp, int narg, char **arg) : else error->all(FLERR,"Invalid fix halt operator"); ++iarg; - value = force->numeric(FLERR,arg[iarg]); + value = utils::numeric(FLERR,arg[iarg],false,lmp); // parse optional args diff --git a/src/fix_heat.cpp b/src/fix_heat.cpp index 65ca47c46d89c196dbf1a8c69212bab668249f19..7fbdd24b4c94c2c4da6b34def78ae8cfb13f5a44 100644 --- a/src/fix_heat.cpp +++ b/src/fix_heat.cpp @@ -47,7 +47,7 @@ idregion(NULL), hstr(NULL), vheat(NULL), vscale(NULL) global_freq = 1; extscalar = 0; - nevery = force->inumeric(FLERR,arg[3]); + nevery = utils::inumeric(FLERR,arg[3],false,lmp); if (nevery <= 0) error->all(FLERR,"Illegal fix heat command"); hstr = NULL; @@ -57,7 +57,7 @@ idregion(NULL), hstr(NULL), vheat(NULL), vscale(NULL) hstr = new char[n]; strcpy(hstr,&arg[4][2]); } else { - heat_input = force->numeric(FLERR,arg[4]); + heat_input = utils::numeric(FLERR,arg[4],false,lmp); hstyle = CONSTANT; } diff --git a/src/fix_indent.cpp b/src/fix_indent.cpp index 04837ff39b48ddfaac4c4a6503f1d69c9a86aa91..dcddad95b21ae6aab84ec3aeb199ee7691ac8e73 100644 --- a/src/fix_indent.cpp +++ b/src/fix_indent.cpp @@ -53,7 +53,7 @@ FixIndent::FixIndent(LAMMPS *lmp, int narg, char **arg) : respa_level_support = 1; ilevel_respa = 0; - k = force->numeric(FLERR,arg[3]); + k = utils::numeric(FLERR,arg[3],false,lmp); k3 = k/3.0; // read options from end of input line @@ -421,22 +421,22 @@ void FixIndent::options(int narg, char **arg) int n = strlen(&arg[iarg+1][2]) + 1; xstr = new char[n]; strcpy(xstr,&arg[iarg+1][2]); - } else xvalue = force->numeric(FLERR,arg[iarg+1]); + } else xvalue = utils::numeric(FLERR,arg[iarg+1],false,lmp); if (strstr(arg[iarg+2],"v_") == arg[iarg+2]) { int n = strlen(&arg[iarg+2][2]) + 1; ystr = new char[n]; strcpy(ystr,&arg[iarg+2][2]); - } else yvalue = force->numeric(FLERR,arg[iarg+2]); + } else yvalue = utils::numeric(FLERR,arg[iarg+2],false,lmp); if (strstr(arg[iarg+3],"v_") == arg[iarg+3]) { int n = strlen(&arg[iarg+3][2]) + 1; zstr = new char[n]; strcpy(zstr,&arg[iarg+3][2]); - } else zvalue = force->numeric(FLERR,arg[iarg+3]); + } else zvalue = utils::numeric(FLERR,arg[iarg+3],false,lmp); if (strstr(arg[iarg+4],"v_") == arg[iarg+4]) { int n = strlen(&arg[iarg+4][2]) + 1; rstr = new char[n]; strcpy(rstr,&arg[iarg+4][2]); - } else rvalue = force->numeric(FLERR,arg[iarg+4]); + } else rvalue = utils::numeric(FLERR,arg[iarg+4],false,lmp); istyle = SPHERE; iarg += 5; @@ -450,43 +450,43 @@ void FixIndent::options(int narg, char **arg) int n = strlen(&arg[iarg+2][2]) + 1; ystr = new char[n]; strcpy(ystr,&arg[iarg+2][2]); - } else yvalue = force->numeric(FLERR,arg[iarg+2]); + } else yvalue = utils::numeric(FLERR,arg[iarg+2],false,lmp); if (strstr(arg[iarg+3],"v_") == arg[iarg+3]) { int n = strlen(&arg[iarg+3][2]) + 1; zstr = new char[n]; strcpy(zstr,&arg[iarg+3][2]); - } else zvalue = force->numeric(FLERR,arg[iarg+3]); + } else zvalue = utils::numeric(FLERR,arg[iarg+3],false,lmp); } else if (strcmp(arg[iarg+1],"y") == 0) { cdim = 1; if (strstr(arg[iarg+2],"v_") == arg[iarg+2]) { int n = strlen(&arg[iarg+2][2]) + 1; xstr = new char[n]; strcpy(xstr,&arg[iarg+2][2]); - } else xvalue = force->numeric(FLERR,arg[iarg+2]); + } else xvalue = utils::numeric(FLERR,arg[iarg+2],false,lmp); if (strstr(arg[iarg+3],"v_") == arg[iarg+3]) { int n = strlen(&arg[iarg+3][2]) + 1; zstr = new char[n]; strcpy(zstr,&arg[iarg+3][2]); - } else zvalue = force->numeric(FLERR,arg[iarg+3]); + } else zvalue = utils::numeric(FLERR,arg[iarg+3],false,lmp); } else if (strcmp(arg[iarg+1],"z") == 0) { cdim = 2; if (strstr(arg[iarg+2],"v_") == arg[iarg+2]) { int n = strlen(&arg[iarg+2][2]) + 1; xstr = new char[n]; strcpy(xstr,&arg[iarg+2][2]); - } else xvalue = force->numeric(FLERR,arg[iarg+2]); + } else xvalue = utils::numeric(FLERR,arg[iarg+2],false,lmp); if (strstr(arg[iarg+3],"v_") == arg[iarg+3]) { int n = strlen(&arg[iarg+3][2]) + 1; ystr = new char[n]; strcpy(ystr,&arg[iarg+3][2]); - } else yvalue = force->numeric(FLERR,arg[iarg+3]); + } else yvalue = utils::numeric(FLERR,arg[iarg+3],false,lmp); } else error->all(FLERR,"Illegal fix indent command"); if (strstr(arg[iarg+4],"v_") == arg[iarg+4]) { int n = strlen(&arg[iarg+4][2]) + 1; rstr = new char[n]; strcpy(rstr,&arg[iarg+4][2]); - } else rvalue = force->numeric(FLERR,arg[iarg+4]); + } else rvalue = utils::numeric(FLERR,arg[iarg+4],false,lmp); istyle = CYLINDER; iarg += 5; @@ -502,7 +502,7 @@ void FixIndent::options(int narg, char **arg) int n = strlen(&arg[iarg+2][2]) + 1; pstr = new char[n]; strcpy(pstr,&arg[iarg+2][2]); - } else pvalue = force->numeric(FLERR,arg[iarg+2]); + } else pvalue = utils::numeric(FLERR,arg[iarg+2],false,lmp); if (strcmp(arg[iarg+3],"lo") == 0) planeside = -1; else if (strcmp(arg[iarg+3],"hi") == 0) planeside = 1; diff --git a/src/fix_langevin.cpp b/src/fix_langevin.cpp index 4ec34a3631d9ccac7d009d5b611526a28cae3142..81c186c703a6bbaea5784944fb9cd49de9ad3dd2 100644 --- a/src/fix_langevin.cpp +++ b/src/fix_langevin.cpp @@ -69,14 +69,14 @@ FixLangevin::FixLangevin(LAMMPS *lmp, int narg, char **arg) : tstr = new char[n]; strcpy(tstr,&arg[3][2]); } else { - t_start = force->numeric(FLERR,arg[3]); + t_start = utils::numeric(FLERR,arg[3],false,lmp); t_target = t_start; tstyle = CONSTANT; } - t_stop = force->numeric(FLERR,arg[4]); - t_period = force->numeric(FLERR,arg[5]); - seed = force->inumeric(FLERR,arg[6]); + t_stop = utils::numeric(FLERR,arg[4],false,lmp); + t_period = utils::numeric(FLERR,arg[5],false,lmp); + seed = utils::inumeric(FLERR,arg[6],false,lmp); if (t_period <= 0.0) error->all(FLERR,"Fix langevin period must be > 0.0"); if (seed <= 0) error->all(FLERR,"Illegal fix langevin command"); @@ -107,7 +107,7 @@ FixLangevin::FixLangevin(LAMMPS *lmp, int narg, char **arg) : if (strcmp(arg[iarg],"angmom") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix langevin command"); if (strcmp(arg[iarg+1],"no") == 0) ascale = 0.0; - else ascale = force->numeric(FLERR,arg[iarg+1]); + else ascale = utils::numeric(FLERR,arg[iarg+1],false,lmp); iarg += 2; } else if (strcmp(arg[iarg],"gjf") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix langevin command"); @@ -133,8 +133,8 @@ FixLangevin::FixLangevin(LAMMPS *lmp, int narg, char **arg) : iarg += 2; } else if (strcmp(arg[iarg],"scale") == 0) { if (iarg+3 > narg) error->all(FLERR,"Illegal fix langevin command"); - int itype = force->inumeric(FLERR,arg[iarg+1]); - double scale = force->numeric(FLERR,arg[iarg+2]); + int itype = utils::inumeric(FLERR,arg[iarg+1],false,lmp); + double scale = utils::numeric(FLERR,arg[iarg+2],false,lmp); if (itype <= 0 || itype > atom->ntypes) error->all(FLERR,"Illegal fix langevin command"); ratio[itype] = scale; diff --git a/src/fix_lineforce.cpp b/src/fix_lineforce.cpp index c153ee65ddf7ad5cb26eb728ead7d2a2009c2b77..0287c8c0dbc06412ca8e13bc9c8e216899533545 100644 --- a/src/fix_lineforce.cpp +++ b/src/fix_lineforce.cpp @@ -31,9 +31,9 @@ FixLineForce::FixLineForce(LAMMPS *lmp, int narg, char **arg) : dynamic_group_allow = 1; if (narg != 6) error->all(FLERR,"Illegal fix lineforce command"); - xdir = force->numeric(FLERR,arg[3]); - ydir = force->numeric(FLERR,arg[4]); - zdir = force->numeric(FLERR,arg[5]); + xdir = utils::numeric(FLERR,arg[3],false,lmp); + ydir = utils::numeric(FLERR,arg[4],false,lmp); + zdir = utils::numeric(FLERR,arg[5],false,lmp); double len = sqrt(xdir*xdir + ydir*ydir + zdir*zdir); if (len == 0.0) error->all(FLERR,"Illegal fix lineforce command"); diff --git a/src/fix_momentum.cpp b/src/fix_momentum.cpp index a363cb8eacfce0a2de1667cba90c068fd2114c4e..c1056d2b1660a4fce56485141d489b726c2e9673 100644 --- a/src/fix_momentum.cpp +++ b/src/fix_momentum.cpp @@ -34,7 +34,7 @@ FixMomentum::FixMomentum(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) { if (narg < 4) error->all(FLERR,"Illegal fix momentum command"); - nevery = force->inumeric(FLERR,arg[3]); + nevery = utils::inumeric(FLERR,arg[3],false,lmp); if (nevery <= 0) error->all(FLERR,"Illegal fix momentum command"); dynamic = linear = angular = rescale = 0; @@ -44,9 +44,9 @@ FixMomentum::FixMomentum(LAMMPS *lmp, int narg, char **arg) : if (strcmp(arg[iarg],"linear") == 0) { if (iarg+4 > narg) error->all(FLERR,"Illegal fix momentum command"); linear = 1; - xflag = force->inumeric(FLERR,arg[iarg+1]); - yflag = force->inumeric(FLERR,arg[iarg+2]); - zflag = force->inumeric(FLERR,arg[iarg+3]); + xflag = utils::inumeric(FLERR,arg[iarg+1],false,lmp); + yflag = utils::inumeric(FLERR,arg[iarg+2],false,lmp); + zflag = utils::inumeric(FLERR,arg[iarg+3],false,lmp); iarg += 4; } else if (strcmp(arg[iarg],"angular") == 0) { angular = 1; diff --git a/src/fix_move.cpp b/src/fix_move.cpp index 8c58146c5242a3652a683e277a9a2a6c7ecc1b6e..d6f61af091a835d8148c634a7a2519548f4bb4d3 100644 --- a/src/fix_move.cpp +++ b/src/fix_move.cpp @@ -75,17 +75,17 @@ FixMove::FixMove(LAMMPS *lmp, int narg, char **arg) : if (strcmp(arg[4],"NULL") == 0) vxflag = 0; else { vxflag = 1; - vx = force->numeric(FLERR,arg[4]); + vx = utils::numeric(FLERR,arg[4],false,lmp); } if (strcmp(arg[5],"NULL") == 0) vyflag = 0; else { vyflag = 1; - vy = force->numeric(FLERR,arg[5]); + vy = utils::numeric(FLERR,arg[5],false,lmp); } if (strcmp(arg[6],"NULL") == 0) vzflag = 0; else { vzflag = 1; - vz = force->numeric(FLERR,arg[6]); + vz = utils::numeric(FLERR,arg[6],false,lmp); } } else if (strcmp(arg[3],"wiggle") == 0) { @@ -95,32 +95,32 @@ FixMove::FixMove(LAMMPS *lmp, int narg, char **arg) : if (strcmp(arg[4],"NULL") == 0) axflag = 0; else { axflag = 1; - ax = force->numeric(FLERR,arg[4]); + ax = utils::numeric(FLERR,arg[4],false,lmp); } if (strcmp(arg[5],"NULL") == 0) ayflag = 0; else { ayflag = 1; - ay = force->numeric(FLERR,arg[5]); + ay = utils::numeric(FLERR,arg[5],false,lmp); } if (strcmp(arg[6],"NULL") == 0) azflag = 0; else { azflag = 1; - az = force->numeric(FLERR,arg[6]); + az = utils::numeric(FLERR,arg[6],false,lmp); } - period = force->numeric(FLERR,arg[7]); + period = utils::numeric(FLERR,arg[7],false,lmp); if (period <= 0.0) error->all(FLERR,"Illegal fix move command"); } else if (strcmp(arg[3],"rotate") == 0) { if (narg < 11) error->all(FLERR,"Illegal fix move command"); iarg = 11; mstyle = ROTATE; - point[0] = force->numeric(FLERR,arg[4]); - point[1] = force->numeric(FLERR,arg[5]); - point[2] = force->numeric(FLERR,arg[6]); - axis[0] = force->numeric(FLERR,arg[7]); - axis[1] = force->numeric(FLERR,arg[8]); - axis[2] = force->numeric(FLERR,arg[9]); - period = force->numeric(FLERR,arg[10]); + point[0] = utils::numeric(FLERR,arg[4],false,lmp); + point[1] = utils::numeric(FLERR,arg[5],false,lmp); + point[2] = utils::numeric(FLERR,arg[6],false,lmp); + axis[0] = utils::numeric(FLERR,arg[7],false,lmp); + axis[1] = utils::numeric(FLERR,arg[8],false,lmp); + axis[2] = utils::numeric(FLERR,arg[9],false,lmp); + period = utils::numeric(FLERR,arg[10],false,lmp); if (period <= 0.0) error->all(FLERR,"Illegal fix move command"); } else if (strcmp(arg[3],"variable") == 0) { diff --git a/src/fix_neigh_history.cpp b/src/fix_neigh_history.cpp index e3d0d2830ab56d099aae9754ab16709828974e36..d951a924fe6764dbb5a255bce5e544f5b883c93c 100644 --- a/src/fix_neigh_history.cpp +++ b/src/fix_neigh_history.cpp @@ -45,7 +45,7 @@ FixNeighHistory::FixNeighHistory(LAMMPS *lmp, int narg, char **arg) : newton_pair = force->newton_pair; - dnum = force->inumeric(FLERR,arg[3]); + dnum = utils::inumeric(FLERR,arg[3],false,lmp); dnumbytes = dnum * sizeof(double); zeroes = new double[dnum]; diff --git a/src/fix_nh.cpp b/src/fix_nh.cpp index 014a2b885592a201ad8d8049f3615791b42f2229..0e3dc8931fc35435bb047308c52c7f1a97bad508 100644 --- a/src/fix_nh.cpp +++ b/src/fix_nh.cpp @@ -129,10 +129,10 @@ FixNH::FixNH(LAMMPS *lmp, int narg, char **arg) : if (strcmp(arg[iarg],"temp") == 0) { if (iarg+4 > narg) error->all(FLERR,"Illegal fix nvt/npt/nph command"); tstat_flag = 1; - t_start = force->numeric(FLERR,arg[iarg+1]); + t_start = utils::numeric(FLERR,arg[iarg+1],false,lmp); t_target = t_start; - t_stop = force->numeric(FLERR,arg[iarg+2]); - t_period = force->numeric(FLERR,arg[iarg+3]); + t_stop = utils::numeric(FLERR,arg[iarg+2],false,lmp); + t_period = utils::numeric(FLERR,arg[iarg+3],false,lmp); if (t_start <= 0.0 || t_stop <= 0.0) error->all(FLERR, "Target temperature for fix nvt/npt/nph cannot be 0.0"); @@ -141,10 +141,10 @@ FixNH::FixNH(LAMMPS *lmp, int narg, char **arg) : } else if (strcmp(arg[iarg],"iso") == 0) { if (iarg+4 > narg) error->all(FLERR,"Illegal fix nvt/npt/nph command"); pcouple = XYZ; - p_start[0] = p_start[1] = p_start[2] = force->numeric(FLERR,arg[iarg+1]); - p_stop[0] = p_stop[1] = p_stop[2] = force->numeric(FLERR,arg[iarg+2]); + p_start[0] = p_start[1] = p_start[2] = utils::numeric(FLERR,arg[iarg+1],false,lmp); + p_stop[0] = p_stop[1] = p_stop[2] = utils::numeric(FLERR,arg[iarg+2],false,lmp); p_period[0] = p_period[1] = p_period[2] = - force->numeric(FLERR,arg[iarg+3]); + utils::numeric(FLERR,arg[iarg+3],false,lmp); p_flag[0] = p_flag[1] = p_flag[2] = 1; if (dimension == 2) { p_start[2] = p_stop[2] = p_period[2] = 0.0; @@ -154,10 +154,10 @@ FixNH::FixNH(LAMMPS *lmp, int narg, char **arg) : } else if (strcmp(arg[iarg],"aniso") == 0) { if (iarg+4 > narg) error->all(FLERR,"Illegal fix nvt/npt/nph command"); pcouple = NONE; - p_start[0] = p_start[1] = p_start[2] = force->numeric(FLERR,arg[iarg+1]); - p_stop[0] = p_stop[1] = p_stop[2] = force->numeric(FLERR,arg[iarg+2]); + p_start[0] = p_start[1] = p_start[2] = utils::numeric(FLERR,arg[iarg+1],false,lmp); + p_stop[0] = p_stop[1] = p_stop[2] = utils::numeric(FLERR,arg[iarg+2],false,lmp); p_period[0] = p_period[1] = p_period[2] = - force->numeric(FLERR,arg[iarg+3]); + utils::numeric(FLERR,arg[iarg+3],false,lmp); p_flag[0] = p_flag[1] = p_flag[2] = 1; if (dimension == 2) { p_start[2] = p_stop[2] = p_period[2] = 0.0; @@ -168,15 +168,15 @@ FixNH::FixNH(LAMMPS *lmp, int narg, char **arg) : if (iarg+4 > narg) error->all(FLERR,"Illegal fix nvt/npt/nph command"); pcouple = NONE; scalexy = scalexz = scaleyz = 0; - p_start[0] = p_start[1] = p_start[2] = force->numeric(FLERR,arg[iarg+1]); - p_stop[0] = p_stop[1] = p_stop[2] = force->numeric(FLERR,arg[iarg+2]); + p_start[0] = p_start[1] = p_start[2] = utils::numeric(FLERR,arg[iarg+1],false,lmp); + p_stop[0] = p_stop[1] = p_stop[2] = utils::numeric(FLERR,arg[iarg+2],false,lmp); p_period[0] = p_period[1] = p_period[2] = - force->numeric(FLERR,arg[iarg+3]); + utils::numeric(FLERR,arg[iarg+3],false,lmp); p_flag[0] = p_flag[1] = p_flag[2] = 1; p_start[3] = p_start[4] = p_start[5] = 0.0; p_stop[3] = p_stop[4] = p_stop[5] = 0.0; p_period[3] = p_period[4] = p_period[5] = - force->numeric(FLERR,arg[iarg+3]); + utils::numeric(FLERR,arg[iarg+3],false,lmp); p_flag[3] = p_flag[4] = p_flag[5] = 1; if (dimension == 2) { p_start[2] = p_stop[2] = p_period[2] = 0.0; @@ -189,25 +189,25 @@ FixNH::FixNH(LAMMPS *lmp, int narg, char **arg) : iarg += 4; } else if (strcmp(arg[iarg],"x") == 0) { if (iarg+4 > narg) error->all(FLERR,"Illegal fix nvt/npt/nph command"); - p_start[0] = force->numeric(FLERR,arg[iarg+1]); - p_stop[0] = force->numeric(FLERR,arg[iarg+2]); - p_period[0] = force->numeric(FLERR,arg[iarg+3]); + p_start[0] = utils::numeric(FLERR,arg[iarg+1],false,lmp); + p_stop[0] = utils::numeric(FLERR,arg[iarg+2],false,lmp); + p_period[0] = utils::numeric(FLERR,arg[iarg+3],false,lmp); p_flag[0] = 1; deviatoric_flag = 1; iarg += 4; } else if (strcmp(arg[iarg],"y") == 0) { if (iarg+4 > narg) error->all(FLERR,"Illegal fix nvt/npt/nph command"); - p_start[1] = force->numeric(FLERR,arg[iarg+1]); - p_stop[1] = force->numeric(FLERR,arg[iarg+2]); - p_period[1] = force->numeric(FLERR,arg[iarg+3]); + p_start[1] = utils::numeric(FLERR,arg[iarg+1],false,lmp); + p_stop[1] = utils::numeric(FLERR,arg[iarg+2],false,lmp); + p_period[1] = utils::numeric(FLERR,arg[iarg+3],false,lmp); p_flag[1] = 1; deviatoric_flag = 1; iarg += 4; } else if (strcmp(arg[iarg],"z") == 0) { if (iarg+4 > narg) error->all(FLERR,"Illegal fix nvt/npt/nph command"); - p_start[2] = force->numeric(FLERR,arg[iarg+1]); - p_stop[2] = force->numeric(FLERR,arg[iarg+2]); - p_period[2] = force->numeric(FLERR,arg[iarg+3]); + p_start[2] = utils::numeric(FLERR,arg[iarg+1],false,lmp); + p_stop[2] = utils::numeric(FLERR,arg[iarg+2],false,lmp); + p_period[2] = utils::numeric(FLERR,arg[iarg+3],false,lmp); p_flag[2] = 1; deviatoric_flag = 1; iarg += 4; @@ -216,9 +216,9 @@ FixNH::FixNH(LAMMPS *lmp, int narg, char **arg) : } else if (strcmp(arg[iarg],"yz") == 0) { if (iarg+4 > narg) error->all(FLERR,"Illegal fix nvt/npt/nph command"); - p_start[3] = force->numeric(FLERR,arg[iarg+1]); - p_stop[3] = force->numeric(FLERR,arg[iarg+2]); - p_period[3] = force->numeric(FLERR,arg[iarg+3]); + p_start[3] = utils::numeric(FLERR,arg[iarg+1],false,lmp); + p_stop[3] = utils::numeric(FLERR,arg[iarg+2],false,lmp); + p_period[3] = utils::numeric(FLERR,arg[iarg+3],false,lmp); p_flag[3] = 1; deviatoric_flag = 1; scaleyz = 0; @@ -227,9 +227,9 @@ FixNH::FixNH(LAMMPS *lmp, int narg, char **arg) : error->all(FLERR,"Invalid fix nvt/npt/nph command for a 2d simulation"); } else if (strcmp(arg[iarg],"xz") == 0) { if (iarg+4 > narg) error->all(FLERR,"Illegal fix nvt/npt/nph command"); - p_start[4] = force->numeric(FLERR,arg[iarg+1]); - p_stop[4] = force->numeric(FLERR,arg[iarg+2]); - p_period[4] = force->numeric(FLERR,arg[iarg+3]); + p_start[4] = utils::numeric(FLERR,arg[iarg+1],false,lmp); + p_stop[4] = utils::numeric(FLERR,arg[iarg+2],false,lmp); + p_period[4] = utils::numeric(FLERR,arg[iarg+3],false,lmp); p_flag[4] = 1; deviatoric_flag = 1; scalexz = 0; @@ -238,9 +238,9 @@ FixNH::FixNH(LAMMPS *lmp, int narg, char **arg) : error->all(FLERR,"Invalid fix nvt/npt/nph command for a 2d simulation"); } else if (strcmp(arg[iarg],"xy") == 0) { if (iarg+4 > narg) error->all(FLERR,"Illegal fix nvt/npt/nph command"); - p_start[5] = force->numeric(FLERR,arg[iarg+1]); - p_stop[5] = force->numeric(FLERR,arg[iarg+2]); - p_period[5] = force->numeric(FLERR,arg[iarg+3]); + p_start[5] = utils::numeric(FLERR,arg[iarg+1],false,lmp); + p_stop[5] = utils::numeric(FLERR,arg[iarg+2],false,lmp); + p_period[5] = utils::numeric(FLERR,arg[iarg+3],false,lmp); p_flag[5] = 1; deviatoric_flag = 1; scalexy = 0; @@ -258,12 +258,12 @@ FixNH::FixNH(LAMMPS *lmp, int narg, char **arg) : } else if (strcmp(arg[iarg],"drag") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix nvt/npt/nph command"); - drag = force->numeric(FLERR,arg[iarg+1]); + drag = utils::numeric(FLERR,arg[iarg+1],false,lmp); if (drag < 0.0) error->all(FLERR,"Illegal fix nvt/npt/nph command"); iarg += 2; } else if (strcmp(arg[iarg],"ptemp") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix nvt/npt/nph command"); - p_temp = force->numeric(FLERR,arg[iarg+1]); + p_temp = utils::numeric(FLERR,arg[iarg+1],false,lmp); p_temp_flag = 1; if (p_temp <= 0.0) error->all(FLERR,"Illegal fix nvt/npt/nph command"); iarg += 2; @@ -284,14 +284,14 @@ FixNH::FixNH(LAMMPS *lmp, int narg, char **arg) : } else if (strcmp(arg[iarg],"tchain") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix nvt/npt/nph command"); - mtchain = force->inumeric(FLERR,arg[iarg+1]); + mtchain = utils::inumeric(FLERR,arg[iarg+1],false,lmp); // used by FixNVTSllod to preserve non-default value mtchain_default_flag = 0; if (mtchain < 1) error->all(FLERR,"Illegal fix nvt/npt/nph command"); iarg += 2; } else if (strcmp(arg[iarg],"pchain") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix nvt/npt/nph command"); - mpchain = force->inumeric(FLERR,arg[iarg+1]); + mpchain = utils::inumeric(FLERR,arg[iarg+1],false,lmp); if (mpchain < 0) error->all(FLERR,"Illegal fix nvt/npt/nph command"); iarg += 2; } else if (strcmp(arg[iarg],"mtk") == 0) { @@ -302,17 +302,17 @@ FixNH::FixNH(LAMMPS *lmp, int narg, char **arg) : iarg += 2; } else if (strcmp(arg[iarg],"tloop") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix nvt/npt/nph command"); - nc_tchain = force->inumeric(FLERR,arg[iarg+1]); + nc_tchain = utils::inumeric(FLERR,arg[iarg+1],false,lmp); if (nc_tchain < 0) error->all(FLERR,"Illegal fix nvt/npt/nph command"); iarg += 2; } else if (strcmp(arg[iarg],"ploop") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix nvt/npt/nph command"); - nc_pchain = force->inumeric(FLERR,arg[iarg+1]); + nc_pchain = utils::inumeric(FLERR,arg[iarg+1],false,lmp); if (nc_pchain < 0) error->all(FLERR,"Illegal fix nvt/npt/nph command"); iarg += 2; } else if (strcmp(arg[iarg],"nreset") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix nvt/npt/nph command"); - nreset_h0 = force->inumeric(FLERR,arg[iarg+1]); + nreset_h0 = utils::inumeric(FLERR,arg[iarg+1],false,lmp); if (nreset_h0 < 0) error->all(FLERR,"Illegal fix nvt/npt/nph command"); iarg += 2; } else if (strcmp(arg[iarg],"scalexy") == 0) { @@ -349,9 +349,9 @@ FixNH::FixNH(LAMMPS *lmp, int narg, char **arg) : iarg += 2; } else if (strcmp(arg[iarg],"fixedpoint") == 0) { if (iarg+4 > narg) error->all(FLERR,"Illegal fix nvt/npt/nph command"); - fixedpoint[0] = force->numeric(FLERR,arg[iarg+1]); - fixedpoint[1] = force->numeric(FLERR,arg[iarg+2]); - fixedpoint[2] = force->numeric(FLERR,arg[iarg+3]); + fixedpoint[0] = utils::numeric(FLERR,arg[iarg+1],false,lmp); + fixedpoint[1] = utils::numeric(FLERR,arg[iarg+2],false,lmp); + fixedpoint[2] = utils::numeric(FLERR,arg[iarg+3],false,lmp); iarg += 4; // disc keyword is also parsed in fix/nh/sphere diff --git a/src/fix_numdiff.cpp b/src/fix_numdiff.cpp index a4ac86e0c5e682e5e46fc60eb7577e6314610bfa..f6d064b794c168e8e26374502fa88a5caf02e693 100644 --- a/src/fix_numdiff.cpp +++ b/src/fix_numdiff.cpp @@ -50,8 +50,8 @@ FixNumDiff::FixNumDiff(LAMMPS *lmp, int narg, char **arg) : size_peratom_cols = 3; respa_level_support = 1; - nevery = force->inumeric(FLERR,arg[3]); - delta = force->numeric(FLERR,arg[4]); + nevery = utils::inumeric(FLERR,arg[3],false,lmp); + delta = utils::numeric(FLERR,arg[4],false,lmp); if (nevery <= 0 || delta <= 0.0) error->all(FLERR,"Illegal fix numdiff command"); diff --git a/src/fix_nve_limit.cpp b/src/fix_nve_limit.cpp index d63c736e73806621dd89de2c8305e823ef52c107..83a6af5d0cbb3ea1c3ff5a890c0e2bd08aa6a32c 100644 --- a/src/fix_nve_limit.cpp +++ b/src/fix_nve_limit.cpp @@ -40,7 +40,7 @@ FixNVELimit::FixNVELimit(LAMMPS *lmp, int narg, char **arg) : extscalar = 1; dynamic_group_allow = 1; - xlimit = force->numeric(FLERR,arg[3]); + xlimit = utils::numeric(FLERR,arg[3],false,lmp); ncount = 0; } diff --git a/src/fix_planeforce.cpp b/src/fix_planeforce.cpp index a3f27277bd5563790b7ce87f245dbc08270b0fcf..9434a4b348a7f62ff2ff986de1fdd8a9603c6806 100644 --- a/src/fix_planeforce.cpp +++ b/src/fix_planeforce.cpp @@ -31,9 +31,9 @@ FixPlaneForce::FixPlaneForce(LAMMPS *lmp, int narg, char **arg) : dynamic_group_allow = 1; if (narg != 6) error->all(FLERR,"Illegal fix planeforce command"); - xdir = force->numeric(FLERR,arg[3]); - ydir = force->numeric(FLERR,arg[4]); - zdir = force->numeric(FLERR,arg[5]); + xdir = utils::numeric(FLERR,arg[3],false,lmp); + ydir = utils::numeric(FLERR,arg[4],false,lmp); + zdir = utils::numeric(FLERR,arg[5],false,lmp); double len = sqrt(xdir*xdir + ydir*ydir + zdir*zdir); if (len == 0.0) error->all(FLERR,"Illegal fix planeforce command"); diff --git a/src/fix_press_berendsen.cpp b/src/fix_press_berendsen.cpp index db6d56799abd4780b75364f8125ff32c8c244a17..a430130fe47ce2a5004b0d390beba0a92497af14 100644 --- a/src/fix_press_berendsen.cpp +++ b/src/fix_press_berendsen.cpp @@ -68,9 +68,9 @@ FixPressBerendsen::FixPressBerendsen(LAMMPS *lmp, int narg, char **arg) : if (iarg+4 > narg) error->all(FLERR,"Illegal fix press/berendsen command"); pcouple = XYZ; - p_start[0] = p_start[1] = p_start[2] = force->numeric(FLERR,arg[iarg+1]); - p_stop[0] = p_stop[1] = p_stop[2] = force->numeric(FLERR,arg[iarg+2]); - p_period[0] = p_period[1] = p_period[2] = force->numeric(FLERR,arg[iarg+3]); + p_start[0] = p_start[1] = p_start[2] = utils::numeric(FLERR,arg[iarg+1],false,lmp); + p_stop[0] = p_stop[1] = p_stop[2] = utils::numeric(FLERR,arg[iarg+2],false,lmp); + p_period[0] = p_period[1] = p_period[2] = utils::numeric(FLERR,arg[iarg+3],false,lmp); p_flag[0] = p_flag[1] = p_flag[2] = 1; if (dimension == 2) { p_start[2] = p_stop[2] = p_period[2] = 0.0; @@ -81,9 +81,9 @@ FixPressBerendsen::FixPressBerendsen(LAMMPS *lmp, int narg, char **arg) : if (iarg+4 > narg) error->all(FLERR,"Illegal fix press/berendsen command"); pcouple = NONE; - p_start[0] = p_start[1] = p_start[2] = force->numeric(FLERR,arg[iarg+1]); - p_stop[0] = p_stop[1] = p_stop[2] = force->numeric(FLERR,arg[iarg+2]); - p_period[0] = p_period[1] = p_period[2] = force->numeric(FLERR,arg[iarg+3]); + p_start[0] = p_start[1] = p_start[2] = utils::numeric(FLERR,arg[iarg+1],false,lmp); + p_stop[0] = p_stop[1] = p_stop[2] = utils::numeric(FLERR,arg[iarg+2],false,lmp); + p_period[0] = p_period[1] = p_period[2] = utils::numeric(FLERR,arg[iarg+3],false,lmp); p_flag[0] = p_flag[1] = p_flag[2] = 1; if (dimension == 2) { p_start[2] = p_stop[2] = p_period[2] = 0.0; @@ -94,25 +94,25 @@ FixPressBerendsen::FixPressBerendsen(LAMMPS *lmp, int narg, char **arg) : } else if (strcmp(arg[iarg],"x") == 0) { if (iarg+4 > narg) error->all(FLERR,"Illegal fix press/berendsen command"); - p_start[0] = force->numeric(FLERR,arg[iarg+1]); - p_stop[0] = force->numeric(FLERR,arg[iarg+2]); - p_period[0] = force->numeric(FLERR,arg[iarg+3]); + p_start[0] = utils::numeric(FLERR,arg[iarg+1],false,lmp); + p_stop[0] = utils::numeric(FLERR,arg[iarg+2],false,lmp); + p_period[0] = utils::numeric(FLERR,arg[iarg+3],false,lmp); p_flag[0] = 1; iarg += 4; } else if (strcmp(arg[iarg],"y") == 0) { if (iarg+4 > narg) error->all(FLERR,"Illegal fix press/berendsen command"); - p_start[1] = force->numeric(FLERR,arg[iarg+1]); - p_stop[1] = force->numeric(FLERR,arg[iarg+2]); - p_period[1] = force->numeric(FLERR,arg[iarg+3]); + p_start[1] = utils::numeric(FLERR,arg[iarg+1],false,lmp); + p_stop[1] = utils::numeric(FLERR,arg[iarg+2],false,lmp); + p_period[1] = utils::numeric(FLERR,arg[iarg+3],false,lmp); p_flag[1] = 1; iarg += 4; } else if (strcmp(arg[iarg],"z") == 0) { if (iarg+4 > narg) error->all(FLERR,"Illegal fix press/berendsen command"); - p_start[2] = force->numeric(FLERR,arg[iarg+1]); - p_stop[2] = force->numeric(FLERR,arg[iarg+2]); - p_period[2] = force->numeric(FLERR,arg[iarg+3]); + p_start[2] = utils::numeric(FLERR,arg[iarg+1],false,lmp); + p_stop[2] = utils::numeric(FLERR,arg[iarg+2],false,lmp); + p_period[2] = utils::numeric(FLERR,arg[iarg+3],false,lmp); p_flag[2] = 1; iarg += 4; if (dimension == 2) @@ -132,7 +132,7 @@ FixPressBerendsen::FixPressBerendsen(LAMMPS *lmp, int narg, char **arg) : } else if (strcmp(arg[iarg],"modulus") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix press/berendsen command"); - bulkmodulus = force->numeric(FLERR,arg[iarg+1]); + bulkmodulus = utils::numeric(FLERR,arg[iarg+1],false,lmp); if (bulkmodulus <= 0.0) error->all(FLERR,"Illegal fix press/berendsen command"); iarg += 2; diff --git a/src/fix_print.cpp b/src/fix_print.cpp index fac639ae6315b2795d676e1ae3aebacc4bface33..8964a9ba8256a4218878661a49e8e6b7ca25f306 100644 --- a/src/fix_print.cpp +++ b/src/fix_print.cpp @@ -40,7 +40,7 @@ FixPrint::FixPrint(LAMMPS *lmp, int narg, char **arg) : strcpy(var_print,&arg[3][2]); nevery = 1; } else { - nevery = force->inumeric(FLERR,arg[3]); + nevery = utils::inumeric(FLERR,arg[3],false,lmp); if (nevery <= 0) error->all(FLERR,"Illegal fix print command"); } diff --git a/src/fix_read_restart.cpp b/src/fix_read_restart.cpp index afedf9c12c452d1b853e405dcc78bfdd75fc2a16..c1c01501773a3d4335edb1dd0e5f88de96b29e87 100644 --- a/src/fix_read_restart.cpp +++ b/src/fix_read_restart.cpp @@ -25,8 +25,8 @@ FixReadRestart::FixReadRestart(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg), count(NULL), extra(NULL) { - nextra = force->inumeric(FLERR,arg[3]); - int nfix = force->inumeric(FLERR,arg[4]); + nextra = utils::inumeric(FLERR,arg[3],false,lmp); + int nfix = utils::inumeric(FLERR,arg[4],false,lmp); // perform initial allocation of atom-based array // register with Atom class diff --git a/src/fix_recenter.cpp b/src/fix_recenter.cpp index f461e0fa52237e11f965fd0d08934315370613fe..8997e4b8056c7658a171a9971aca7f20180b071f 100644 --- a/src/fix_recenter.cpp +++ b/src/fix_recenter.cpp @@ -56,13 +56,13 @@ FixRecenter::FixRecenter(LAMMPS *lmp, int narg, char **arg) : if (strcmp(arg[3],"NULL") == 0) xflag = 0; else if (strcmp(arg[3],"INIT") == 0) xinitflag = 1; - else xcom = force->numeric(FLERR,arg[3]); + else xcom = utils::numeric(FLERR,arg[3],false,lmp); if (strcmp(arg[4],"NULL") == 0) yflag = 0; else if (strcmp(arg[4],"INIT") == 0) yinitflag = 1; - else ycom = force->numeric(FLERR,arg[4]); + else ycom = utils::numeric(FLERR,arg[4],false,lmp); if (strcmp(arg[5],"NULL") == 0) zflag = 0; else if (strcmp(arg[5],"INIT") == 0) zinitflag = 1; - else zcom = force->numeric(FLERR,arg[5]); + else zcom = utils::numeric(FLERR,arg[5],false,lmp); // optional args diff --git a/src/fix_respa.cpp b/src/fix_respa.cpp index 742dd5c58bde57c229f2a1c2a259f278d925cd9b..459b30c1b218de733cbde8a66ffb54bdce3c2309 100644 --- a/src/fix_respa.cpp +++ b/src/fix_respa.cpp @@ -28,7 +28,7 @@ FixRespa::FixRespa(LAMMPS *lmp, int narg, char **arg) : { // nlevels = # of rRESPA levels - nlevels = force->inumeric(FLERR,arg[3]); + nlevels = utils::inumeric(FLERR,arg[3],false,lmp); // optional arguments store_torque = 0; diff --git a/src/fix_restrain.cpp b/src/fix_restrain.cpp index 07ff7dc13cd4dce3293427fd986a7c41241eed85..305ee0ea26eabb5afc162a52f4cd815987332804 100644 --- a/src/fix_restrain.cpp +++ b/src/fix_restrain.cpp @@ -83,62 +83,62 @@ FixRestrain::FixRestrain(LAMMPS *lmp, int narg, char **arg) : if (strcmp(arg[iarg],"bond") == 0) { if (iarg+6 > narg) error->all(FLERR,"Illegal fix restrain command"); rstyle[nrestrain] = BOND; - ids[nrestrain][0] = force->tnumeric(FLERR,arg[iarg+1]); - ids[nrestrain][1] = force->tnumeric(FLERR,arg[iarg+2]); - kstart[nrestrain] = force->numeric(FLERR,arg[iarg+3]); - kstop[nrestrain] = force->numeric(FLERR,arg[iarg+4]); - deqstart[nrestrain] = force->numeric(FLERR,arg[iarg+5]); + ids[nrestrain][0] = utils::tnumeric(FLERR,arg[iarg+1],false,lmp); + ids[nrestrain][1] = utils::tnumeric(FLERR,arg[iarg+2],false,lmp); + kstart[nrestrain] = utils::numeric(FLERR,arg[iarg+3],false,lmp); + kstop[nrestrain] = utils::numeric(FLERR,arg[iarg+4],false,lmp); + deqstart[nrestrain] = utils::numeric(FLERR,arg[iarg+5],false,lmp); if (iarg+6 == narg) { - deqstop[nrestrain] = force->numeric(FLERR,arg[iarg+5]); + deqstop[nrestrain] = utils::numeric(FLERR,arg[iarg+5],false,lmp); iarg += 6; } else { - deqstop[nrestrain] = force->numeric(FLERR,arg[iarg+6]); + deqstop[nrestrain] = utils::numeric(FLERR,arg[iarg+6],false,lmp); iarg += 7; } } else if (strcmp(arg[iarg],"lbound") == 0) { if (iarg+6 > narg) error->all(FLERR,"Illegal fix restrain command"); rstyle[nrestrain] = LBOUND; - ids[nrestrain][0] = force->tnumeric(FLERR,arg[iarg+1]); - ids[nrestrain][1] = force->tnumeric(FLERR,arg[iarg+2]); - kstart[nrestrain] = force->numeric(FLERR,arg[iarg+3]); - kstop[nrestrain] = force->numeric(FLERR,arg[iarg+4]); - deqstart[nrestrain] = force->numeric(FLERR,arg[iarg+5]); + ids[nrestrain][0] = utils::tnumeric(FLERR,arg[iarg+1],false,lmp); + ids[nrestrain][1] = utils::tnumeric(FLERR,arg[iarg+2],false,lmp); + kstart[nrestrain] = utils::numeric(FLERR,arg[iarg+3],false,lmp); + kstop[nrestrain] = utils::numeric(FLERR,arg[iarg+4],false,lmp); + deqstart[nrestrain] = utils::numeric(FLERR,arg[iarg+5],false,lmp); if (iarg+6 == narg) { - deqstop[nrestrain] = force->numeric(FLERR,arg[iarg+5]); + deqstop[nrestrain] = utils::numeric(FLERR,arg[iarg+5],false,lmp); iarg += 6; } else { - deqstop[nrestrain] = force->numeric(FLERR,arg[iarg+6]); + deqstop[nrestrain] = utils::numeric(FLERR,arg[iarg+6],false,lmp); iarg += 7; } } else if (strcmp(arg[iarg],"angle") == 0) { if (iarg+7 > narg) error->all(FLERR,"Illegal fix restrain command"); rstyle[nrestrain] = ANGLE; - ids[nrestrain][0] = force->tnumeric(FLERR,arg[iarg+1]); - ids[nrestrain][1] = force->tnumeric(FLERR,arg[iarg+2]); - ids[nrestrain][2] = force->tnumeric(FLERR,arg[iarg+3]); - kstart[nrestrain] = force->numeric(FLERR,arg[iarg+4]); - kstop[nrestrain] = force->numeric(FLERR,arg[iarg+5]); - target[nrestrain] = force->numeric(FLERR,arg[iarg+6]); + ids[nrestrain][0] = utils::tnumeric(FLERR,arg[iarg+1],false,lmp); + ids[nrestrain][1] = utils::tnumeric(FLERR,arg[iarg+2],false,lmp); + ids[nrestrain][2] = utils::tnumeric(FLERR,arg[iarg+3],false,lmp); + kstart[nrestrain] = utils::numeric(FLERR,arg[iarg+4],false,lmp); + kstop[nrestrain] = utils::numeric(FLERR,arg[iarg+5],false,lmp); + target[nrestrain] = utils::numeric(FLERR,arg[iarg+6],false,lmp); target[nrestrain] *= MY_PI / 180.0; iarg += 7; } else if (strcmp(arg[iarg],"dihedral") == 0) { if (iarg+8 > narg) error->all(FLERR,"Illegal fix restrain command"); rstyle[nrestrain] = DIHEDRAL; mult[nrestrain] = 1; - ids[nrestrain][0] = force->tnumeric(FLERR,arg[iarg+1]); - ids[nrestrain][1] = force->tnumeric(FLERR,arg[iarg+2]); - ids[nrestrain][2] = force->tnumeric(FLERR,arg[iarg+3]); - ids[nrestrain][3] = force->tnumeric(FLERR,arg[iarg+4]); - kstart[nrestrain] = force->numeric(FLERR,arg[iarg+5]); - kstop[nrestrain] = force->numeric(FLERR,arg[iarg+6]); - target[nrestrain] = force->numeric(FLERR,arg[iarg+7]); + ids[nrestrain][0] = utils::tnumeric(FLERR,arg[iarg+1],false,lmp); + ids[nrestrain][1] = utils::tnumeric(FLERR,arg[iarg+2],false,lmp); + ids[nrestrain][2] = utils::tnumeric(FLERR,arg[iarg+3],false,lmp); + ids[nrestrain][3] = utils::tnumeric(FLERR,arg[iarg+4],false,lmp); + kstart[nrestrain] = utils::numeric(FLERR,arg[iarg+5],false,lmp); + kstop[nrestrain] = utils::numeric(FLERR,arg[iarg+6],false,lmp); + target[nrestrain] = utils::numeric(FLERR,arg[iarg+7],false,lmp); target[nrestrain] *= MY_PI / 180.0; cos_target[nrestrain] = cos(target[nrestrain]); sin_target[nrestrain] = sin(target[nrestrain]); iarg += 8; if ((iarg < narg) && (strcmp("mult",arg[iarg]) == 0)) { if (iarg+1 > narg) error->all(FLERR,"Illegal fix restrain command"); - mult[nrestrain] = force->inumeric(FLERR,arg[iarg+1]); + mult[nrestrain] = utils::inumeric(FLERR,arg[iarg+1],false,lmp); if (mult[nrestrain] < 0) error->all(FLERR,"Illegal fix restrain command"); iarg += 2; diff --git a/src/fix_setforce.cpp b/src/fix_setforce.cpp index 108d18afb6d37e7191baf7d548a401032987d5c6..1a3158ed4cfde5fc5ebbf1c4eb1c97ef32672dbb 100644 --- a/src/fix_setforce.cpp +++ b/src/fix_setforce.cpp @@ -55,7 +55,7 @@ FixSetForce::FixSetForce(LAMMPS *lmp, int narg, char **arg) : } else if (strcmp(arg[3],"NULL") == 0) { xstyle = NONE; } else { - xvalue = force->numeric(FLERR,arg[3]); + xvalue = utils::numeric(FLERR,arg[3],false,lmp); xstyle = CONSTANT; } if (strstr(arg[4],"v_") == arg[4]) { @@ -65,7 +65,7 @@ FixSetForce::FixSetForce(LAMMPS *lmp, int narg, char **arg) : } else if (strcmp(arg[4],"NULL") == 0) { ystyle = NONE; } else { - yvalue = force->numeric(FLERR,arg[4]); + yvalue = utils::numeric(FLERR,arg[4],false,lmp); ystyle = CONSTANT; } if (strstr(arg[5],"v_") == arg[5]) { @@ -75,7 +75,7 @@ FixSetForce::FixSetForce(LAMMPS *lmp, int narg, char **arg) : } else if (strcmp(arg[5],"NULL") == 0) { zstyle = NONE; } else { - zvalue = force->numeric(FLERR,arg[5]); + zvalue = utils::numeric(FLERR,arg[5],false,lmp); zstyle = CONSTANT; } diff --git a/src/fix_spring.cpp b/src/fix_spring.cpp index 510b194ab7d0d53ff3def0b45788b48e6589cd67..1bd76f5c55ceb42cd366866d575488aea1c6da15 100644 --- a/src/fix_spring.cpp +++ b/src/fix_spring.cpp @@ -53,15 +53,15 @@ FixSpring::FixSpring(LAMMPS *lmp, int narg, char **arg) : if (strcmp(arg[3],"tether") == 0) { if (narg != 9) error->all(FLERR,"Illegal fix spring command"); styleflag = TETHER; - k_spring = force->numeric(FLERR,arg[4]); + k_spring = utils::numeric(FLERR,arg[4],false,lmp); xflag = yflag = zflag = 1; if (strcmp(arg[5],"NULL") == 0) xflag = 0; - else xc = force->numeric(FLERR,arg[5]); + else xc = utils::numeric(FLERR,arg[5],false,lmp); if (strcmp(arg[6],"NULL") == 0) yflag = 0; - else yc = force->numeric(FLERR,arg[6]); + else yc = utils::numeric(FLERR,arg[6],false,lmp); if (strcmp(arg[7],"NULL") == 0) zflag = 0; - else zc = force->numeric(FLERR,arg[7]); - r0 = force->numeric(FLERR,arg[8]); + else zc = utils::numeric(FLERR,arg[7],false,lmp); + r0 = utils::numeric(FLERR,arg[8],false,lmp); if (r0 < 0) error->all(FLERR,"R0 < 0 for fix spring command"); } else if (strcmp(arg[3],"couple") == 0) { @@ -78,15 +78,15 @@ FixSpring::FixSpring(LAMMPS *lmp, int narg, char **arg) : error->all(FLERR,"Two groups cannot be the same in fix spring couple"); group2bit = group->bitmask[igroup2]; - k_spring = force->numeric(FLERR,arg[5]); + k_spring = utils::numeric(FLERR,arg[5],false,lmp); xflag = yflag = zflag = 1; if (strcmp(arg[6],"NULL") == 0) xflag = 0; - else xc = force->numeric(FLERR,arg[6]); + else xc = utils::numeric(FLERR,arg[6],false,lmp); if (strcmp(arg[7],"NULL") == 0) yflag = 0; - else yc = force->numeric(FLERR,arg[7]); + else yc = utils::numeric(FLERR,arg[7],false,lmp); if (strcmp(arg[8],"NULL") == 0) zflag = 0; - else zc = force->numeric(FLERR,arg[8]); - r0 = force->numeric(FLERR,arg[9]); + else zc = utils::numeric(FLERR,arg[8],false,lmp); + r0 = utils::numeric(FLERR,arg[9],false,lmp); if (r0 < 0) error->all(FLERR,"R0 < 0 for fix spring command"); } else error->all(FLERR,"Illegal fix spring command"); diff --git a/src/fix_spring_chunk.cpp b/src/fix_spring_chunk.cpp index f9f36e11e9f2ca42d8d6bae17028cc2984359468..778a6f0c435345e6338ef114c11ad40246ac41a2 100644 --- a/src/fix_spring_chunk.cpp +++ b/src/fix_spring_chunk.cpp @@ -45,7 +45,7 @@ FixSpringChunk::FixSpringChunk(LAMMPS *lmp, int narg, char **arg) : respa_level_support = 1; ilevel_respa = 0; - k_spring = force->numeric(FLERR,arg[3]); + k_spring = utils::numeric(FLERR,arg[3],false,lmp); int n = strlen(arg[4]) + 1; idchunk = new char[n]; diff --git a/src/fix_spring_rg.cpp b/src/fix_spring_rg.cpp index 1c65023169b72bd02eb3deaff1a148c3ef29af0c..e3ba935340afc7694a2f5dd0ad585e57ffa8ce56 100644 --- a/src/fix_spring_rg.cpp +++ b/src/fix_spring_rg.cpp @@ -37,10 +37,10 @@ FixSpringRG::FixSpringRG(LAMMPS *lmp, int narg, char **arg) : { if (narg != 5) error->all(FLERR,"Illegal fix spring/rg command"); - k = force->numeric(FLERR,arg[3]); + k = utils::numeric(FLERR,arg[3],false,lmp); rg0_flag = 0; if (strcmp(arg[4],"NULL") == 0) rg0_flag = 1; - else rg0 = force->numeric(FLERR,arg[4]); + else rg0 = utils::numeric(FLERR,arg[4],false,lmp); restart_global = 1; scalar_flag = 1; diff --git a/src/fix_spring_self.cpp b/src/fix_spring_self.cpp index 4f8a03c8bd86f00d62a641f24f4b9c2d6e473d2c..fef7e2086cb5992867642b135fc48f11556c2624 100644 --- a/src/fix_spring_self.cpp +++ b/src/fix_spring_self.cpp @@ -44,7 +44,7 @@ FixSpringSelf::FixSpringSelf(LAMMPS *lmp, int narg, char **arg) : extscalar = 1; respa_level_support = 1; - k = force->numeric(FLERR,arg[3]); + k = utils::numeric(FLERR,arg[3],false,lmp); if (k <= 0.0) error->all(FLERR,"Illegal fix spring/self command"); xflag = yflag = zflag = 1; diff --git a/src/fix_store.cpp b/src/fix_store.cpp index 3cf3125be5ec756ff0d7a28cd6035389a4460f6f..8ce94fb54aa185af6ac8cd03f8d89eac8141dd4a 100644 --- a/src/fix_store.cpp +++ b/src/fix_store.cpp @@ -52,16 +52,16 @@ vstore(NULL), astore(NULL), rbuf(NULL) if (flavor == GLOBAL) { restart_global = 1; - nrow = force->inumeric(FLERR,arg[4]); - ncol = force->inumeric(FLERR,arg[5]); + nrow = utils::inumeric(FLERR,arg[4],false,lmp); + ncol = utils::inumeric(FLERR,arg[5],false,lmp); if (nrow <= 0 || ncol <= 0) error->all(FLERR,"Illegal fix store command"); vecflag = 0; if (ncol == 1) vecflag = 1; } if (flavor == PERATOM) { - restart_peratom = force->inumeric(FLERR,arg[4]); - nvalues = force->inumeric(FLERR,arg[5]); + restart_peratom = utils::inumeric(FLERR,arg[4],false,lmp); + nvalues = utils::inumeric(FLERR,arg[5],false,lmp); if (restart_peratom < 0 or restart_peratom > 1 || nvalues <= 0) error->all(FLERR,"Illegal fix store command"); vecflag = 0; diff --git a/src/fix_store_state.cpp b/src/fix_store_state.cpp index e1e2aab6636ea3a80c9461f3a1986159ef27bc9b..60a1a70037f0d83efca246dfab3b9b21ad684d56 100644 --- a/src/fix_store_state.cpp +++ b/src/fix_store_state.cpp @@ -47,7 +47,7 @@ FixStoreState::FixStoreState(LAMMPS *lmp, int narg, char **arg) : restart_peratom = 1; peratom_freq = 1; - nevery = force->inumeric(FLERR,arg[3]); + nevery = utils::inumeric(FLERR,arg[3],false,lmp); if (nevery < 0) error->all(FLERR,"Illegal fix store/state command"); // parse values until one isn't recognized diff --git a/src/fix_temp_berendsen.cpp b/src/fix_temp_berendsen.cpp index 7a1d1d06fc14bf9aab0b02592ab306af134f37f6..5016b8c3437c9ac8159571feb43a8e5f46519912 100644 --- a/src/fix_temp_berendsen.cpp +++ b/src/fix_temp_berendsen.cpp @@ -57,13 +57,13 @@ FixTempBerendsen::FixTempBerendsen(LAMMPS *lmp, int narg, char **arg) : strcpy(tstr,&arg[3][2]); tstyle = EQUAL; } else { - t_start = force->numeric(FLERR,arg[3]); + t_start = utils::numeric(FLERR,arg[3],false,lmp); t_target = t_start; tstyle = CONSTANT; } - t_stop = force->numeric(FLERR,arg[4]); - t_period = force->numeric(FLERR,arg[5]); + t_stop = utils::numeric(FLERR,arg[4],false,lmp); + t_period = utils::numeric(FLERR,arg[5],false,lmp); // error checks diff --git a/src/fix_temp_csld.cpp b/src/fix_temp_csld.cpp index 89664d9913bbc92c3124bac61fc27ae94814116f..5a7b9a04dbb76d0fbe2513e79be4794b53bcd4bc 100644 --- a/src/fix_temp_csld.cpp +++ b/src/fix_temp_csld.cpp @@ -63,14 +63,14 @@ FixTempCSLD::FixTempCSLD(LAMMPS *lmp, int narg, char **arg) : strcpy(tstr,&arg[3][2]); tstyle = EQUAL; } else { - t_start = force->numeric(FLERR,arg[3]); + t_start = utils::numeric(FLERR,arg[3],false,lmp); t_target = t_start; tstyle = CONSTANT; } - t_stop = force->numeric(FLERR,arg[4]); - t_period = force->numeric(FLERR,arg[5]); - int seed = force->inumeric(FLERR,arg[6]); + t_stop = utils::numeric(FLERR,arg[4],false,lmp); + t_period = utils::numeric(FLERR,arg[5],false,lmp); + int seed = utils::inumeric(FLERR,arg[6],false,lmp); // error checks diff --git a/src/fix_temp_csvr.cpp b/src/fix_temp_csvr.cpp index 90200e25660a036106bc87bc60b51c06592ead2a..72e4dd635d77ce26d89e648eb81b3aa5a9edf655 100644 --- a/src/fix_temp_csvr.cpp +++ b/src/fix_temp_csvr.cpp @@ -140,14 +140,14 @@ FixTempCSVR::FixTempCSVR(LAMMPS *lmp, int narg, char **arg) : strcpy(tstr,&arg[3][2]); tstyle = EQUAL; } else { - t_start = force->numeric(FLERR,arg[3]); + t_start = utils::numeric(FLERR,arg[3],false,lmp); t_target = t_start; tstyle = CONSTANT; } - t_stop = force->numeric(FLERR,arg[4]); - t_period = force->numeric(FLERR,arg[5]); - int seed = force->inumeric(FLERR,arg[6]); + t_stop = utils::numeric(FLERR,arg[4],false,lmp); + t_period = utils::numeric(FLERR,arg[5],false,lmp); + int seed = utils::inumeric(FLERR,arg[6],false,lmp); // error checks diff --git a/src/fix_temp_rescale.cpp b/src/fix_temp_rescale.cpp index 083f590c9ae18acb95ebb3be1df2fe8130678fa3..e575d72f7faf2b3a441a5edf241ea92ebac46e3d 100644 --- a/src/fix_temp_rescale.cpp +++ b/src/fix_temp_rescale.cpp @@ -41,7 +41,7 @@ FixTempRescale::FixTempRescale(LAMMPS *lmp, int narg, char **arg) : { if (narg < 8) error->all(FLERR,"Illegal fix temp/rescale command"); - nevery = force->inumeric(FLERR,arg[3]); + nevery = utils::inumeric(FLERR,arg[3],false,lmp); if (nevery <= 0) error->all(FLERR,"Illegal fix temp/rescale command"); restart_global = 1; @@ -57,14 +57,14 @@ FixTempRescale::FixTempRescale(LAMMPS *lmp, int narg, char **arg) : strcpy(tstr,&arg[4][2]); tstyle = EQUAL; } else { - t_start = force->numeric(FLERR,arg[4]); + t_start = utils::numeric(FLERR,arg[4],false,lmp); t_target = t_start; tstyle = CONSTANT; } - t_stop = force->numeric(FLERR,arg[5]); - t_window = force->numeric(FLERR,arg[6]); - fraction = force->numeric(FLERR,arg[7]); + t_stop = utils::numeric(FLERR,arg[5],false,lmp); + t_window = utils::numeric(FLERR,arg[6],false,lmp); + fraction = utils::numeric(FLERR,arg[7],false,lmp); // create a new compute temp // id = fix-ID + temp, compute group = fix group diff --git a/src/fix_tmd.cpp b/src/fix_tmd.cpp index 5db7bacbc6628ac0bb284d34d31248cdb0ff157d..98fb373075d08a0f782c690efd08ddb73bcd6ed4 100644 --- a/src/fix_tmd.cpp +++ b/src/fix_tmd.cpp @@ -45,8 +45,8 @@ nfileevery(0), fp(NULL), xf(NULL), xold(NULL) { if (narg < 6) error->all(FLERR,"Illegal fix tmd command"); - rho_stop = force->numeric(FLERR,arg[3]); - nfileevery = force->inumeric(FLERR,arg[5]); + rho_stop = utils::numeric(FLERR,arg[3],false,lmp); + nfileevery = utils::inumeric(FLERR,arg[5],false,lmp); if (rho_stop < 0 || nfileevery < 0) error->all(FLERR,"Illegal fix tmd command"); if (nfileevery && narg != 7) error->all(FLERR,"Illegal fix tmd command"); diff --git a/src/fix_vector.cpp b/src/fix_vector.cpp index 53093acbf6773b219f09ebfec7377cc346f5fae5..48f14f5e2f2567bf8633d12988a5ac330b094e9d 100644 --- a/src/fix_vector.cpp +++ b/src/fix_vector.cpp @@ -42,7 +42,7 @@ FixVector::FixVector(LAMMPS *lmp, int narg, char **arg) : { if (narg < 5) error->all(FLERR,"Illegal fix vector command"); - nevery = force->inumeric(FLERR,arg[3]); + nevery = utils::inumeric(FLERR,arg[3],false,lmp); if (nevery <= 0) error->all(FLERR,"Illegal fix vector command"); nvalues = narg-4; diff --git a/src/fix_viscous.cpp b/src/fix_viscous.cpp index bdd1e19976d808dc80202fc4e7ce785f0e45e323..7d532d832d8c768b933bcda846302c29ca0f19f2 100644 --- a/src/fix_viscous.cpp +++ b/src/fix_viscous.cpp @@ -32,7 +32,7 @@ FixViscous::FixViscous(LAMMPS *lmp, int narg, char **arg) : if (narg < 4) error->all(FLERR,"Illegal fix viscous command"); - double gamma_one = force->numeric(FLERR,arg[3]); + double gamma_one = utils::numeric(FLERR,arg[3],false,lmp); gamma = new double[atom->ntypes+1]; for (int i = 1; i <= atom->ntypes; i++) gamma[i] = gamma_one; @@ -42,8 +42,8 @@ FixViscous::FixViscous(LAMMPS *lmp, int narg, char **arg) : while (iarg < narg) { if (strcmp(arg[iarg],"scale") == 0) { if (iarg+3 > narg) error->all(FLERR,"Illegal fix viscous command"); - int itype = force->inumeric(FLERR,arg[iarg+1]); - double scale = force->numeric(FLERR,arg[iarg+2]); + int itype = utils::inumeric(FLERR,arg[iarg+1],false,lmp); + double scale = utils::numeric(FLERR,arg[iarg+2],false,lmp); if (itype <= 0 || itype > atom->ntypes) error->all(FLERR,"Illegal fix viscous command"); gamma[itype] = gamma_one * scale; diff --git a/src/fix_wall.cpp b/src/fix_wall.cpp index a30b14c231f1e7c059f415104ca752a0a7248485..0c343938abdca9dd8eccbeb98805ff7863a9b4b2 100644 --- a/src/fix_wall.cpp +++ b/src/fix_wall.cpp @@ -87,7 +87,7 @@ FixWall::FixWall(LAMMPS *lmp, int narg, char **arg) : strcpy(xstr[nwall],&arg[iarg+1][2]); } else { xstyle[nwall] = CONSTANT; - coord0[nwall] = force->numeric(FLERR,arg[iarg+1]); + coord0[nwall] = utils::numeric(FLERR,arg[iarg+1],false,lmp); } if (strstr(arg[iarg+2],"v_") == arg[iarg+2]) { @@ -96,7 +96,7 @@ FixWall::FixWall(LAMMPS *lmp, int narg, char **arg) : strcpy(estr[nwall],&arg[iarg+2][2]); estyle[nwall] = VARIABLE; } else { - epsilon[nwall] = force->numeric(FLERR,arg[iarg+2]); + epsilon[nwall] = utils::numeric(FLERR,arg[iarg+2],false,lmp); estyle[nwall] = CONSTANT; } @@ -107,7 +107,7 @@ FixWall::FixWall(LAMMPS *lmp, int narg, char **arg) : strcpy(astr[nwall],&arg[iarg+3][2]); astyle[nwall] = VARIABLE; } else { - alpha[nwall] = force->numeric(FLERR,arg[iarg+3]); + alpha[nwall] = utils::numeric(FLERR,arg[iarg+3],false,lmp); astyle[nwall] = CONSTANT; } ++iarg; @@ -119,11 +119,11 @@ FixWall::FixWall(LAMMPS *lmp, int narg, char **arg) : strcpy(sstr[nwall],&arg[iarg+3][2]); sstyle[nwall] = VARIABLE; } else { - sigma[nwall] = force->numeric(FLERR,arg[iarg+3]); + sigma[nwall] = utils::numeric(FLERR,arg[iarg+3],false,lmp); sstyle[nwall] = CONSTANT; } - cutoff[nwall] = force->numeric(FLERR,arg[iarg+4]); + cutoff[nwall] = utils::numeric(FLERR,arg[iarg+4],false,lmp); nwall++; iarg += 5; diff --git a/src/fix_wall_reflect.cpp b/src/fix_wall_reflect.cpp index 032a11e3285fd9d7341e55121a4e6edfdfca1cf5..061083e55c5ebd0d63614b04b41bf6c4ffc0c4ce 100644 --- a/src/fix_wall_reflect.cpp +++ b/src/fix_wall_reflect.cpp @@ -79,7 +79,7 @@ FixWallReflect::FixWallReflect(LAMMPS *lmp, int narg, char **arg) : strcpy(varstr[nwall],&arg[iarg+1][2]); } else { wallstyle[nwall] = CONSTANT; - coord0[nwall] = force->numeric(FLERR,arg[iarg+1]); + coord0[nwall] = utils::numeric(FLERR,arg[iarg+1],false,lmp); } nwall++; diff --git a/src/fix_wall_region.cpp b/src/fix_wall_region.cpp index 70bde90d2be4be589f5ce6869682da1519624a77..e60b3b4aada60055d67202144fc99347e59ae477 100644 --- a/src/fix_wall_region.cpp +++ b/src/fix_wall_region.cpp @@ -71,18 +71,18 @@ FixWallRegion::FixWallRegion(LAMMPS *lmp, int narg, char **arg) : if (narg != 9) error->all(FLERR,"Illegal fix wall/region command"); - epsilon = force->numeric(FLERR,arg[5]); - alpha = force->numeric(FLERR,arg[6]); - sigma = force->numeric(FLERR,arg[7]); - cutoff = force->numeric(FLERR,arg[8]); + epsilon = utils::numeric(FLERR,arg[5],false,lmp); + alpha = utils::numeric(FLERR,arg[6],false,lmp); + sigma = utils::numeric(FLERR,arg[7],false,lmp); + cutoff = utils::numeric(FLERR,arg[8],false,lmp); } else { if (narg != 8) error->all(FLERR,"Illegal fix wall/region command"); - epsilon = force->numeric(FLERR,arg[5]); - sigma = force->numeric(FLERR,arg[6]); - cutoff = force->numeric(FLERR,arg[7]); + epsilon = utils::numeric(FLERR,arg[5],false,lmp); + sigma = utils::numeric(FLERR,arg[6],false,lmp); + cutoff = utils::numeric(FLERR,arg[7],false,lmp); } if (cutoff <= 0.0) error->all(FLERR,"Fix wall/region cutoff <= 0.0"); diff --git a/src/force.cpp b/src/force.cpp index babb052e84c16a7972119f2bd5f26ab32c6fb685..10b82afabe9926586657a02d74e2133ac9f42b5d 100644 --- a/src/force.cpp +++ b/src/force.cpp @@ -799,21 +799,21 @@ void Force::set_special(int narg, char **arg) iarg += 1; } else if (strcmp(arg[iarg],"lj/coul") == 0) { if (iarg+4 > narg) error->all(FLERR,"Illegal special_bonds command"); - special_lj[1] = special_coul[1] = numeric(FLERR,arg[iarg+1]); - special_lj[2] = special_coul[2] = numeric(FLERR,arg[iarg+2]); - special_lj[3] = special_coul[3] = numeric(FLERR,arg[iarg+3]); + special_lj[1] = special_coul[1] = utils::numeric(FLERR,arg[iarg+1],false,lmp); + special_lj[2] = special_coul[2] = utils::numeric(FLERR,arg[iarg+2],false,lmp); + special_lj[3] = special_coul[3] = utils::numeric(FLERR,arg[iarg+3],false,lmp); iarg += 4; } else if (strcmp(arg[iarg],"lj") == 0) { if (iarg+4 > narg) error->all(FLERR,"Illegal special_bonds command"); - special_lj[1] = numeric(FLERR,arg[iarg+1]); - special_lj[2] = numeric(FLERR,arg[iarg+2]); - special_lj[3] = numeric(FLERR,arg[iarg+3]); + special_lj[1] = utils::numeric(FLERR,arg[iarg+1],false,lmp); + special_lj[2] = utils::numeric(FLERR,arg[iarg+2],false,lmp); + special_lj[3] = utils::numeric(FLERR,arg[iarg+3],false,lmp); iarg += 4; } else if (strcmp(arg[iarg],"coul") == 0) { if (iarg+4 > narg) error->all(FLERR,"Illegal special_bonds command"); - special_coul[1] = numeric(FLERR,arg[iarg+1]); - special_coul[2] = numeric(FLERR,arg[iarg+2]); - special_coul[3] = numeric(FLERR,arg[iarg+3]); + special_coul[1] = utils::numeric(FLERR,arg[iarg+1],false,lmp); + special_coul[2] = utils::numeric(FLERR,arg[iarg+2],false,lmp); + special_coul[3] = utils::numeric(FLERR,arg[iarg+3],false,lmp); iarg += 4; } else if (strcmp(arg[iarg],"angle") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal special_bonds command"); @@ -836,225 +836,6 @@ void Force::set_special(int narg, char **arg) error->all(FLERR,"Illegal special_bonds command"); } -/* ---------------------------------------------------------------------- - compute bounds implied by numeric str with a possible wildcard asterik - 1 = lower bound, nmax = upper bound - 5 possibilities: - (1) i = i to i, (2) * = nmin to nmax, - (3) i* = i to nmax, (4) *j = nmin to j, (5) i*j = i to j - return nlo,nhi -------------------------------------------------------------------------- */ - -void Force::bounds(const char *file, int line, char *str, - int nmax, int &nlo, int &nhi, int nmin) -{ - char *ptr = strchr(str,'*'); - - if (ptr == NULL) { - nlo = nhi = atoi(str); - } else if (strlen(str) == 1) { - nlo = nmin; - nhi = nmax; - } else if (ptr == str) { - nlo = nmin; - nhi = atoi(ptr+1); - } else if (strlen(ptr+1) == 0) { - nlo = atoi(str); - nhi = nmax; - } else { - nlo = atoi(str); - nhi = atoi(ptr+1); - } - - if (nlo < nmin || nhi > nmax || nlo > nhi) - error->all(file,line,"Numeric index is out of bounds"); -} - -/* ---------------------------------------------------------------------- - compute bounds implied by numeric str with a possible wildcard asterik - 1 = lower bound, nmax = upper bound - 5 possibilities: - (1) i = i to i, (2) * = nmin to nmax, - (3) i* = i to nmax, (4) *j = nmin to j, (5) i*j = i to j - return nlo,nhi -------------------------------------------------------------------------- */ - -void Force::boundsbig(const char *file, int line, char *str, - bigint nmax, bigint &nlo, bigint &nhi, bigint nmin) -{ - char *ptr = strchr(str,'*'); - - if (ptr == NULL) { - nlo = nhi = ATOBIGINT(str); - } else if (strlen(str) == 1) { - nlo = nmin; - nhi = nmax; - } else if (ptr == str) { - nlo = nmin; - nhi = ATOBIGINT(ptr+1); - } else if (strlen(ptr+1) == 0) { - nlo = ATOBIGINT(str); - nhi = nmax; - } else { - nlo = ATOBIGINT(str); - nhi = ATOBIGINT(ptr+1); - } - - if (nlo < nmin || nhi > nmax || nlo > nhi) - error->all(file,line,"Numeric index is out of bounds"); -} - -/* ---------------------------------------------------------------------- - read a floating point value from a string - generate an error if not a legitimate floating point value - called by various commands to check validity of their arguments -------------------------------------------------------------------------- */ - -double Force::numeric(const char *file, int line, char *str) -{ - int n = 0; - - if (str) n = strlen(str); - if (n == 0) - error->all(file,line,"Expected floating point parameter instead of" - " NULL or empty string in input script or data file"); - - for (int i = 0; i < n; i++) { - if (isdigit(str[i])) continue; - if (str[i] == '-' || str[i] == '+' || str[i] == '.') continue; - if (str[i] == 'e' || str[i] == 'E') continue; - error->all(file,line,fmt::format("Expected floating point parameter " - "instead of '{}' in input script or data file",str)); - } - - return atof(str); -} - -/* ---------------------------------------------------------------------- - read an integer value from a string - generate an error if not a legitimate integer value - called by various commands to check validity of their arguments -------------------------------------------------------------------------- */ - -int Force::inumeric(const char *file, int line, char *str) -{ - int n = 0; - - if (str) n = strlen(str); - if (n == 0) - error->all(file,line,"Expected integer parameter instead of " - "NULL or empty string in input script or data file"); - - for (int i = 0; i < n; i++) { - if (isdigit(str[i]) || str[i] == '-' || str[i] == '+') continue; - error->all(file,line,fmt::format("Expected integer parameter instead " - "of '{}' in input script or data file",str)); - } - - return atoi(str); -} - -/* ---------------------------------------------------------------------- - read a big integer value from a string - generate an error if not a legitimate integer value - called by various commands to check validity of their arguments -------------------------------------------------------------------------- */ - -bigint Force::bnumeric(const char *file, int line, char *str) -{ - int n = 0; - - if (str) n = strlen(str); - if (n == 0) - error->all(file,line,"Expected integer parameter instead of " - "NULL or empty string in input script or data file"); - - for (int i = 0; i < n; i++) { - if (isdigit(str[i]) || str[i] == '-' || str[i] == '+') continue; - error->all(file,line,fmt::format("Expected integer parameter instead " - "of '{}' in input script or data file",str)); - } - - return ATOBIGINT(str); -} - -/* ---------------------------------------------------------------------- - read a tag integer value from a string - generate an error if not a legitimate integer value - called by various commands to check validity of their arguments -------------------------------------------------------------------------- */ - -tagint Force::tnumeric(const char *file, int line, char *str) -{ - int n = 0; - - if (str) n = strlen(str); - if (n == 0) - error->all(file,line,"Expected integer parameter instead of " - "NULL or empty string in input script or data file"); - - for (int i = 0; i < n; i++) { - if (isdigit(str[i]) || str[i] == '-' || str[i] == '+') continue; - error->all(file,line,fmt::format("Expected integer parameter instead " - "of '{}' in input script or data file",str)); - } - - return ATOTAGINT(str); -} - -/* ---------------------------------------------------------------------- - open a potential file as specified by name - if fails, search in dir specified by env variable LAMMPS_POTENTIALS -------------------------------------------------------------------------- */ - -FILE *Force::open_potential(const char *name, int *auto_convert) -{ - std::string filepath = utils::get_potential_file_path(name); - - if(!filepath.empty()) { - std::string unit_style = update->unit_style; - std::string date = utils::get_potential_date(filepath, "potential"); - std::string units = utils::get_potential_units(filepath, "potential"); - - if(!date.empty() && (comm->me == 0)) { - utils::logmesg(lmp, fmt::format("Reading potential file {} " - "with DATE: {}\n", name, date)); - } - - if (auto_convert == nullptr) { - if (!units.empty() && (units != unit_style) && (comm->me == 0)) { - error->one(FLERR, fmt::format("Potential file {} requires {} units " - "but {} units are in use", name, units, - unit_style)); - return nullptr; - } - } else { - if (units.empty() || units == unit_style) { - *auto_convert = utils::NOCONVERT; - } else { - if ((units == "metal") && (unit_style == "real") - && (*auto_convert & utils::METAL2REAL)) { - *auto_convert = utils::METAL2REAL; - } else if ((units == "real") && (unit_style == "metal") - && (*auto_convert & utils::REAL2METAL)) { - *auto_convert = utils::REAL2METAL; - } else { - error->one(FLERR, fmt::format("Potential file {} requires {} units " - "but {} units are in use", name, - units, unit_style)); - return nullptr; - } - } - if ((*auto_convert != utils::NOCONVERT) && (comm->me == 0)) - lmp->error->warning(FLERR, fmt::format("Converting potential file in " - "{} units to {} units", - units, unit_style)); - } - return fopen(filepath.c_str(), "r"); - } - return nullptr; -} - /* ---------------------------------------------------------------------- memory usage of force classes ------------------------------------------------------------------------- */ diff --git a/src/force.h b/src/force.h index b566f02fb7a6e0fd5d0897bbc95a399238d993ef..d7824ea90eced834ac701749113a252100e1612a 100644 --- a/src/force.h +++ b/src/force.h @@ -128,14 +128,6 @@ class Force : protected Pointers { void store_style(char *&, const std::string &, int); void set_special(int, char **); - void bounds(const char *, int, char *, int, int &, int &, int nmin=1); - void boundsbig(const char *, int, char *, bigint, bigint &, bigint &, bigint nmin=1); - double numeric(const char *, int, char *); - int inumeric(const char *, int, char *); - bigint bnumeric(const char *, int, char *); - tagint tnumeric(const char *, int, char *); - - FILE *open_potential(const char *, int *auto_convert = nullptr); bigint memory_usage(); diff --git a/src/group.cpp b/src/group.cpp index 79405c93441455417f9d3ca75fae3d0e7db28eae..2377f028bdba360c0045e536c18c9ad7bed78a21 100644 --- a/src/group.cpp +++ b/src/group.cpp @@ -229,12 +229,12 @@ void Group::assign(int narg, char **arg) else error->all(FLERR,"Illegal group command"); tagint bound1,bound2; - bound1 = force->tnumeric(FLERR,arg[3]); + bound1 = utils::tnumeric(FLERR,arg[3],false,lmp); bound2 = -1; if (condition == BETWEEN) { if (narg != 5) error->all(FLERR,"Illegal group command"); - bound2 = force->tnumeric(FLERR,arg[4]); + bound2 = utils::tnumeric(FLERR,arg[4],false,lmp); } else if (narg != 4) error->all(FLERR,"Illegal group command"); int *attribute = NULL; @@ -311,13 +311,13 @@ void Group::assign(int narg, char **arg) delta = 1; if (strchr(arg[iarg],':')) { ptr = strtok(arg[iarg],":"); - start = force->tnumeric(FLERR,ptr); + start = utils::tnumeric(FLERR,ptr,false,lmp); ptr = strtok(NULL,":"); - stop = force->tnumeric(FLERR,ptr); + stop = utils::tnumeric(FLERR,ptr,false,lmp); ptr = strtok(NULL,":"); - if (ptr) delta = force->tnumeric(FLERR,ptr); + if (ptr) delta = utils::tnumeric(FLERR,ptr,false,lmp); } else { - start = stop = force->tnumeric(FLERR,arg[iarg]); + start = stop = utils::tnumeric(FLERR,arg[iarg],false,lmp); } if (delta < 1) error->all(FLERR,"Illegal range increment value"); diff --git a/src/image.cpp b/src/image.cpp index e264ba39796d01138c014992a09fd652e5a282b9..56d9bc301a9077f55f3f82fb66093ff4d407f845 100644 --- a/src/image.cpp +++ b/src/image.cpp @@ -1708,13 +1708,13 @@ int ColorMap::reset(int narg, char **arg) { if (!islower(arg[0][0])) { mlo = NUMERIC; - mlovalue = force->numeric(FLERR,arg[0]); + mlovalue = utils::numeric(FLERR,arg[0],false,lmp); } else if (strcmp(arg[0],"min") == 0) mlo = MINVALUE; else return 1; if (!islower(arg[1][0])) { mhi = NUMERIC; - mhivalue = force->numeric(FLERR,arg[1]); + mhivalue = utils::numeric(FLERR,arg[1],false,lmp); } else if (strcmp(arg[1],"max") == 0) mhi = MAXVALUE; else return 1; @@ -1733,12 +1733,12 @@ int ColorMap::reset(int narg, char **arg) else return 1; if (mstyle == SEQUENTIAL) { - mbinsize = force->numeric(FLERR,arg[3]); + mbinsize = utils::numeric(FLERR,arg[3],false,lmp); if (mbinsize <= 0.0) return 1; mbinsizeinv = 1.0/mbinsize; } - nentry = force->inumeric(FLERR,arg[4]); + nentry = utils::inumeric(FLERR,arg[4],false,lmp); if (nentry < 1) return 1; delete [] mentry; mentry = new MapEntry[nentry]; @@ -1751,7 +1751,7 @@ int ColorMap::reset(int narg, char **arg) if (n+2 > narg) return 1; if (!islower(arg[n][0])) { mentry[i].single = NUMERIC; - mentry[i].svalue = force->numeric(FLERR,arg[n]); + mentry[i].svalue = utils::numeric(FLERR,arg[n],false,lmp); } else if (strcmp(arg[n],"min") == 0) mentry[i].single = MINVALUE; else if (strcmp(arg[n],"max") == 0) mentry[i].single = MAXVALUE; else return 1; @@ -1761,13 +1761,13 @@ int ColorMap::reset(int narg, char **arg) if (n+3 > narg) return 1; if (!islower(arg[n][0])) { mentry[i].lo = NUMERIC; - mentry[i].lvalue = force->numeric(FLERR,arg[n]); + mentry[i].lvalue = utils::numeric(FLERR,arg[n],false,lmp); } else if (strcmp(arg[n],"min") == 0) mentry[i].lo = MINVALUE; else if (strcmp(arg[n],"max") == 0) mentry[i].lo = MAXVALUE; else return 1; if (!islower(arg[n+1][0])) { mentry[i].hi = NUMERIC; - mentry[i].hvalue = force->numeric(FLERR,arg[n+1]); + mentry[i].hvalue = utils::numeric(FLERR,arg[n+1],false,lmp); } else if (strcmp(arg[n+1],"min") == 0) mentry[i].hi = MINVALUE; else if (strcmp(arg[n+1],"max") == 0) mentry[i].hi = MAXVALUE; else return 1; diff --git a/src/imbalance_group.cpp b/src/imbalance_group.cpp index dd3370ae92894d95277eba10ced2662f1b5872d5..72b102879152941f3233b13cc68bab639fc8c59f 100644 --- a/src/imbalance_group.cpp +++ b/src/imbalance_group.cpp @@ -40,7 +40,7 @@ int ImbalanceGroup::options(int narg, char **arg) { if (narg < 3) error->all(FLERR,"Illegal balance weight command"); - num = force->inumeric(FLERR,arg[0]); + num = utils::inumeric(FLERR,arg[0],false,lmp); if (num < 1) error->all(FLERR,"Illegal balance weight command"); if (2*num+1 > narg) error->all(FLERR,"Illegal balance weight command"); @@ -50,7 +50,7 @@ int ImbalanceGroup::options(int narg, char **arg) id[i] = group->find(arg[2*i+1]); if (id[i] < 0) error->all(FLERR,"Unknown group in balance weight command"); - factor[i] = force->numeric(FLERR,arg[2*i+2]); + factor[i] = utils::numeric(FLERR,arg[2*i+2],false,lmp); if (factor[i] <= 0.0) error->all(FLERR,"Illegal balance weight command"); } return 2*num+1; diff --git a/src/imbalance_neigh.cpp b/src/imbalance_neigh.cpp index c50b430c5183e1115683882af33012dafbac8084..0beb62bdb41941bdff00033c2dfc71602ce74dc5 100644 --- a/src/imbalance_neigh.cpp +++ b/src/imbalance_neigh.cpp @@ -38,7 +38,7 @@ ImbalanceNeigh::ImbalanceNeigh(LAMMPS *lmp) : Imbalance(lmp) int ImbalanceNeigh::options(int narg, char **arg) { if (narg < 1) error->all(FLERR,"Illegal balance weight command"); - factor = force->numeric(FLERR,arg[0]); + factor = utils::numeric(FLERR,arg[0],false,lmp); if (factor <= 0.0) error->all(FLERR,"Illegal balance weight command"); return 1; } diff --git a/src/imbalance_time.cpp b/src/imbalance_time.cpp index 898d3ceef049c6c39a68ea845d55c19702ca59bd..99e549e90ec0cec2aabd381c521c99dc67255caf 100644 --- a/src/imbalance_time.cpp +++ b/src/imbalance_time.cpp @@ -32,7 +32,7 @@ ImbalanceTime::ImbalanceTime(LAMMPS *lmp) : Imbalance(lmp) {} int ImbalanceTime::options(int narg, char **arg) { if (narg < 1) error->all(FLERR,"Illegal balance weight command"); - factor = force->numeric(FLERR,arg[0]); + factor = utils::numeric(FLERR,arg[0],false,lmp); if (factor <= 0.0) error->all(FLERR,"Illegal balance weight command"); return 1; } diff --git a/src/improper_hybrid.cpp b/src/improper_hybrid.cpp index 69dfc2d9cd0fb4eb3503f14a60423f84212fbdc6..ce0f36539fcfcf1c72a72c05d33c1f95c21755be 100644 --- a/src/improper_hybrid.cpp +++ b/src/improper_hybrid.cpp @@ -263,7 +263,7 @@ void ImproperHybrid::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi; - force->bounds(FLERR,arg[0],atom->nimpropertypes,ilo,ihi); + utils::bounds(FLERR,arg[0],1,atom->nimpropertypes,ilo,ihi,error); // 2nd arg = improper sub-style name // allow for "none" as valid sub-style name diff --git a/src/improper_zero.cpp b/src/improper_zero.cpp index efa70c8ff52e501be34adb19a9cb44f65654f1ec..f269f8bf030269c69b88be2c190bfd7aed1b7de4 100644 --- a/src/improper_zero.cpp +++ b/src/improper_zero.cpp @@ -21,6 +21,7 @@ #include "force.h" #include "memory.h" #include "error.h" +#include "utils.h" using namespace LAMMPS_NS; @@ -80,7 +81,7 @@ void ImproperZero::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi; - force->bounds(FLERR,arg[0],atom->nimpropertypes,ilo,ihi); + utils::bounds(FLERR,arg[0],1,atom->nimpropertypes,ilo,ihi,error); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/input.cpp b/src/input.cpp index dd640f18b0b5d39de005d00cb54f3471684ec644..c74232648c7a635fabeba3b40b3430acff921f88 100644 --- a/src/input.cpp +++ b/src/input.cpp @@ -599,141 +599,6 @@ void Input::substitute(char *&str, char *&str2, int &max, int &max2, int flag) strcpy(str,str2); } -/* ---------------------------------------------------------------------- - expand arg to earg, for arguments with syntax c_ID[*] or f_ID[*] - fields to consider in input arg range from iarg to narg - return new expanded # of values, and copy them w/out "*" into earg - if any expansion occurs, earg is new allocation, must be freed by caller - if no expansion occurs, earg just points to arg, caller need not free -------------------------------------------------------------------------- */ - -int Input::expand_args(int narg, char **arg, int mode, char **&earg) -{ - int n,iarg,index,nlo,nhi,nmax,expandflag,icompute,ifix; - char *ptr1,*ptr2,*str; - - ptr1 = NULL; - for (iarg = 0; iarg < narg; iarg++) { - ptr1 = strchr(arg[iarg],'*'); - if (ptr1) break; - } - - if (!ptr1) { - earg = arg; - return narg; - } - - // maxarg should always end up equal to newarg, so caller can free earg - - int maxarg = narg-iarg; - earg = (char **) memory->smalloc(maxarg*sizeof(char *),"input:earg"); - - int newarg = 0; - for (iarg = 0; iarg < narg; iarg++) { - expandflag = 0; - - if (strncmp(arg[iarg],"c_",2) == 0 || - strncmp(arg[iarg],"f_",2) == 0) { - - ptr1 = strchr(&arg[iarg][2],'['); - if (ptr1) { - ptr2 = strchr(ptr1,']'); - if (ptr2) { - *ptr2 = '\0'; - if (strchr(ptr1,'*')) { - if (arg[iarg][0] == 'c') { - *ptr1 = '\0'; - icompute = modify->find_compute(&arg[iarg][2]); - *ptr1 = '['; - - // check for global vector/array, peratom array, local array - - if (icompute >= 0) { - if (mode == 0 && modify->compute[icompute]->vector_flag) { - nmax = modify->compute[icompute]->size_vector; - expandflag = 1; - } else if (mode == 1 && modify->compute[icompute]->array_flag) { - nmax = modify->compute[icompute]->size_array_cols; - expandflag = 1; - } else if (modify->compute[icompute]->peratom_flag && - modify->compute[icompute]->size_peratom_cols) { - nmax = modify->compute[icompute]->size_peratom_cols; - expandflag = 1; - } else if (modify->compute[icompute]->local_flag && - modify->compute[icompute]->size_local_cols) { - nmax = modify->compute[icompute]->size_local_cols; - expandflag = 1; - } - } - } else if (arg[iarg][0] == 'f') { - *ptr1 = '\0'; - ifix = modify->find_fix(&arg[iarg][2]); - *ptr1 = '['; - - // check for global vector/array, peratom array, local array - - if (ifix >= 0) { - if (mode == 0 && modify->fix[ifix]->vector_flag) { - nmax = modify->fix[ifix]->size_vector; - expandflag = 1; - } else if (mode == 1 && modify->fix[ifix]->array_flag) { - nmax = modify->fix[ifix]->size_array_cols; - expandflag = 1; - } else if (modify->fix[ifix]->peratom_flag && - modify->fix[ifix]->size_peratom_cols) { - nmax = modify->fix[ifix]->size_peratom_cols; - expandflag = 1; - } else if (modify->fix[ifix]->local_flag && - modify->fix[ifix]->size_local_cols) { - nmax = modify->fix[ifix]->size_local_cols; - expandflag = 1; - } - } - } - } - *ptr2 = ']'; - } - } - } - - if (expandflag) { - *ptr2 = '\0'; - force->bounds(FLERR,ptr1+1,nmax,nlo,nhi); - *ptr2 = ']'; - if (newarg+nhi-nlo+1 > maxarg) { - maxarg += nhi-nlo+1; - earg = (char **) - memory->srealloc(earg,maxarg*sizeof(char *),"input:earg"); - } - for (index = nlo; index <= nhi; index++) { - n = strlen(arg[iarg]) + 16; // 16 = space for large inserted integer - str = earg[newarg] = new char[n]; - strncpy(str,arg[iarg],ptr1+1-arg[iarg]); - sprintf(&str[ptr1+1-arg[iarg]],"%d",index); - strcat(str,ptr2); - newarg++; - } - - } else { - if (newarg == maxarg) { - maxarg++; - earg = (char **) - memory->srealloc(earg,maxarg*sizeof(char *),"input:earg"); - } - n = strlen(arg[iarg]) + 1; - earg[newarg] = new char[n]; - strcpy(earg[newarg],arg[iarg]); - newarg++; - } - } - - //printf("NEWARG %d\n",newarg); - //for (int i = 0; i < newarg; i++) - // printf(" arg %d: %s\n",i,earg[i]); - - return newarg; -} - /* ---------------------------------------------------------------------- return number of triple quotes in line ------------------------------------------------------------------------- */ @@ -1139,7 +1004,7 @@ void Input::partition() else error->all(FLERR,"Illegal partition command"); int ilo,ihi; - force->bounds(FLERR,arg[1],universe->nworlds,ilo,ihi); + utils::bounds(FLERR,arg[1],1,universe->nworlds,ilo,ihi,error); // copy original line to copy, since will use strtok() on it // ptr = start of 4th word @@ -1235,7 +1100,7 @@ void Input::python() void Input::quit() { if (narg == 0) error->done(0); // 1 would be fully backwards compatible - if (narg == 1) error->done(force->inumeric(FLERR,arg[0])); + if (narg == 1) error->done(utils::inumeric(FLERR,arg[0],false,lmp)); error->all(FLERR,"Illegal quit command"); } @@ -1509,7 +1374,7 @@ void Input::compute_modify() void Input::dielectric() { if (narg != 1) error->all(FLERR,"Illegal dielectric command"); - force->dielectric = force->numeric(FLERR,arg[0]); + force->dielectric = utils::numeric(FLERR,arg[0],false,lmp); } /* ---------------------------------------------------------------------- */ @@ -1543,7 +1408,7 @@ void Input::dimension() if (narg != 1) error->all(FLERR,"Illegal dimension command"); if (domain->box_exist) error->all(FLERR,"Dimension command after simulation box is defined"); - domain->dimension = force->inumeric(FLERR,arg[0]); + domain->dimension = utils::inumeric(FLERR,arg[0],false,lmp); if (domain->dimension != 2 && domain->dimension != 3) error->all(FLERR,"Illegal dimension command"); @@ -1953,7 +1818,7 @@ void Input::timer_command() void Input::timestep() { if (narg != 1) error->all(FLERR,"Illegal timestep command"); - update->dt = force->numeric(FLERR,arg[0]); + update->dt = utils::numeric(FLERR,arg[0],false,lmp); } /* ---------------------------------------------------------------------- */ diff --git a/src/input.h b/src/input.h index a50f769561aaa65acef7acb62bb3a24eb88f4e20..48caa13fde0ddad50f5d61b74c689a57775dca9e 100644 --- a/src/input.h +++ b/src/input.h @@ -38,7 +38,6 @@ class Input : protected Pointers { char *one(const std::string&); // process a single command void substitute(char *&, char *&, int &, int &, int); // substitute for variables in a string - int expand_args(int, char **, int, char **&); // expand args due to wildcard void write_echo(const std::string &); // send text to active echo file pointers protected: diff --git a/src/kspace.cpp b/src/kspace.cpp index 13be6357941262da267cb764abbfaf065ff7a3d7..2485db67b87bd8522559ba8492884becd6ad573a 100644 --- a/src/kspace.cpp +++ b/src/kspace.cpp @@ -453,9 +453,9 @@ void KSpace::modify_params(int narg, char **arg) while (iarg < narg) { if (strcmp(arg[iarg],"mesh") == 0) { if (iarg+4 > narg) error->all(FLERR,"Illegal kspace_modify command"); - nx_pppm = nx_msm_max = force->inumeric(FLERR,arg[iarg+1]); - ny_pppm = ny_msm_max = force->inumeric(FLERR,arg[iarg+2]); - nz_pppm = nz_msm_max = force->inumeric(FLERR,arg[iarg+3]); + nx_pppm = nx_msm_max = utils::inumeric(FLERR,arg[iarg+1],false,lmp); + ny_pppm = ny_msm_max = utils::inumeric(FLERR,arg[iarg+2],false,lmp); + nz_pppm = nz_msm_max = utils::inumeric(FLERR,arg[iarg+3],false,lmp); if (nx_pppm == 0 && ny_pppm == 0 && nz_pppm == 0) gridflag = 0; else if (nx_pppm <= 0 || ny_pppm <= 0 || nz_pppm <= 0) @@ -465,9 +465,9 @@ void KSpace::modify_params(int narg, char **arg) iarg += 4; } else if (strcmp(arg[iarg],"mesh/disp") == 0) { if (iarg+4 > narg) error->all(FLERR,"Illegal kspace_modify command"); - nx_pppm_6 = force->inumeric(FLERR,arg[iarg+1]); - ny_pppm_6 = force->inumeric(FLERR,arg[iarg+2]); - nz_pppm_6 = force->inumeric(FLERR,arg[iarg+3]); + nx_pppm_6 = utils::inumeric(FLERR,arg[iarg+1],false,lmp); + ny_pppm_6 = utils::inumeric(FLERR,arg[iarg+2],false,lmp); + nz_pppm_6 = utils::inumeric(FLERR,arg[iarg+3],false,lmp); if (nx_pppm_6 == 0 && ny_pppm_6 == 0 && nz_pppm_6 == 0) gridflag_6 = 0; else if (nx_pppm_6 <= 0 || ny_pppm_6 <= 0 || nz_pppm_6 == 0) @@ -477,15 +477,15 @@ void KSpace::modify_params(int narg, char **arg) iarg += 4; } else if (strcmp(arg[iarg],"order") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal kspace_modify command"); - order = force->inumeric(FLERR,arg[iarg+1]); + order = utils::inumeric(FLERR,arg[iarg+1],false,lmp); iarg += 2; } else if (strcmp(arg[iarg],"order/disp") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal kspace_modify command"); - order_6 = force->inumeric(FLERR,arg[iarg+1]); + order_6 = utils::inumeric(FLERR,arg[iarg+1],false,lmp); iarg += 2; } else if (strcmp(arg[iarg],"minorder") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal kspace_modify command"); - minorder = force->inumeric(FLERR,arg[iarg+1]); + minorder = utils::inumeric(FLERR,arg[iarg+1],false,lmp); if (minorder < 2) error->all(FLERR,"Illegal kspace_modify command"); iarg += 2; } else if (strcmp(arg[iarg],"overlap") == 0) { @@ -496,17 +496,17 @@ void KSpace::modify_params(int narg, char **arg) iarg += 2; } else if (strcmp(arg[iarg],"force") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal kspace_modify command"); - accuracy_absolute = force->numeric(FLERR,arg[iarg+1]); + accuracy_absolute = utils::numeric(FLERR,arg[iarg+1],false,lmp); iarg += 2; } else if (strcmp(arg[iarg],"gewald") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal kspace_modify command"); - g_ewald = force->numeric(FLERR,arg[iarg+1]); + g_ewald = utils::numeric(FLERR,arg[iarg+1],false,lmp); if (g_ewald == 0.0) gewaldflag = 0; else gewaldflag = 1; iarg += 2; } else if (strcmp(arg[iarg],"gewald/disp") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal kspace_modify command"); - g_ewald_6 = force->numeric(FLERR,arg[iarg+1]); + g_ewald_6 = utils::numeric(FLERR,arg[iarg+1],false,lmp); if (g_ewald_6 == 0.0) gewaldflag_6 = 0; else gewaldflag_6 = 1; iarg += 2; @@ -516,7 +516,7 @@ void KSpace::modify_params(int narg, char **arg) slabflag = 2; } else { slabflag = 1; - slab_volfactor = force->numeric(FLERR,arg[iarg+1]); + slab_volfactor = utils::numeric(FLERR,arg[iarg+1],false,lmp); if (slab_volfactor <= 1.0) error->all(FLERR,"Bad kspace_modify slab parameter"); if (slab_volfactor < 2.0 && comm->me == 0) diff --git a/src/lattice.cpp b/src/lattice.cpp index 8ecf9fed73d8ccadaeafed583a53b960d46c3657..f41c32d2394981a1950a73dfc66b05dd2ba1c040 100644 --- a/src/lattice.cpp +++ b/src/lattice.cpp @@ -58,7 +58,7 @@ Lattice::Lattice(LAMMPS *lmp, int narg, char **arg) : Pointers(lmp) // before Force class is instantiated, just use atof() in that case if (force) - xlattice = ylattice = zlattice = force->numeric(FLERR,arg[1]); + xlattice = ylattice = zlattice = utils::numeric(FLERR,arg[1],false,lmp); else xlattice = ylattice = zlattice = atof(arg[1]); @@ -83,7 +83,7 @@ Lattice::Lattice(LAMMPS *lmp, int narg, char **arg) : Pointers(lmp) // scale = conversion factor between lattice and box units if (narg < 2) error->all(FLERR,"Illegal lattice command"); - scale = force->numeric(FLERR,arg[1]); + scale = utils::numeric(FLERR,arg[1],false,lmp); if (scale <= 0.0) error->all(FLERR,"Illegal lattice command"); // set basis atoms for each style @@ -150,9 +150,9 @@ Lattice::Lattice(LAMMPS *lmp, int narg, char **arg) : Pointers(lmp) while (iarg < narg) { if (strcmp(arg[iarg],"origin") == 0) { if (iarg+4 > narg) error->all(FLERR,"Illegal lattice command"); - origin[0] = force->numeric(FLERR,arg[iarg+1]); - origin[1] = force->numeric(FLERR,arg[iarg+2]); - origin[2] = force->numeric(FLERR,arg[iarg+3]); + origin[0] = utils::numeric(FLERR,arg[iarg+1],false,lmp); + origin[1] = utils::numeric(FLERR,arg[iarg+2],false,lmp); + origin[2] = utils::numeric(FLERR,arg[iarg+3],false,lmp); if (origin[0] < 0.0 || origin[0] >= 1.0 || origin[1] < 0.0 || origin[1] >= 1.0 || origin[2] < 0.0 || origin[2] >= 1.0) @@ -170,17 +170,17 @@ Lattice::Lattice(LAMMPS *lmp, int narg, char **arg) : Pointers(lmp) if (dim == 0) orient = orientx; else if (dim == 1) orient = orienty; else if (dim == 2) orient = orientz; - orient[0] = force->inumeric(FLERR,arg[iarg+2]); - orient[1] = force->inumeric(FLERR,arg[iarg+3]); - orient[2] = force->inumeric(FLERR,arg[iarg+4]); + orient[0] = utils::inumeric(FLERR,arg[iarg+2],false,lmp); + orient[1] = utils::inumeric(FLERR,arg[iarg+3],false,lmp); + orient[2] = utils::inumeric(FLERR,arg[iarg+4],false,lmp); iarg += 5; } else if (strcmp(arg[iarg],"spacing") == 0) { if (iarg+4 > narg) error->all(FLERR,"Illegal lattice command"); spaceflag = 1; - xlattice = force->numeric(FLERR,arg[iarg+1]); - ylattice = force->numeric(FLERR,arg[iarg+2]); - zlattice = force->numeric(FLERR,arg[iarg+3]); + xlattice = utils::numeric(FLERR,arg[iarg+1],false,lmp); + ylattice = utils::numeric(FLERR,arg[iarg+2],false,lmp); + zlattice = utils::numeric(FLERR,arg[iarg+3],false,lmp); iarg += 4; } else if (strcmp(arg[iarg],"a1") == 0) { @@ -188,27 +188,27 @@ Lattice::Lattice(LAMMPS *lmp, int narg, char **arg) : Pointers(lmp) if (style != CUSTOM) error->all(FLERR, "Invalid option in lattice command for non-custom style"); - a1[0] = force->numeric(FLERR,arg[iarg+1]); - a1[1] = force->numeric(FLERR,arg[iarg+2]); - a1[2] = force->numeric(FLERR,arg[iarg+3]); + a1[0] = utils::numeric(FLERR,arg[iarg+1],false,lmp); + a1[1] = utils::numeric(FLERR,arg[iarg+2],false,lmp); + a1[2] = utils::numeric(FLERR,arg[iarg+3],false,lmp); iarg += 4; } else if (strcmp(arg[iarg],"a2") == 0) { if (iarg+4 > narg) error->all(FLERR,"Illegal lattice command"); if (style != CUSTOM) error->all(FLERR, "Invalid option in lattice command for non-custom style"); - a2[0] = force->numeric(FLERR,arg[iarg+1]); - a2[1] = force->numeric(FLERR,arg[iarg+2]); - a2[2] = force->numeric(FLERR,arg[iarg+3]); + a2[0] = utils::numeric(FLERR,arg[iarg+1],false,lmp); + a2[1] = utils::numeric(FLERR,arg[iarg+2],false,lmp); + a2[2] = utils::numeric(FLERR,arg[iarg+3],false,lmp); iarg += 4; } else if (strcmp(arg[iarg],"a3") == 0) { if (iarg+4 > narg) error->all(FLERR,"Illegal lattice command"); if (style != CUSTOM) error->all(FLERR, "Invalid option in lattice command for non-custom style"); - a3[0] = force->numeric(FLERR,arg[iarg+1]); - a3[1] = force->numeric(FLERR,arg[iarg+2]); - a3[2] = force->numeric(FLERR,arg[iarg+3]); + a3[0] = utils::numeric(FLERR,arg[iarg+1],false,lmp); + a3[1] = utils::numeric(FLERR,arg[iarg+2],false,lmp); + a3[2] = utils::numeric(FLERR,arg[iarg+3],false,lmp); iarg += 4; } else if (strcmp(arg[iarg],"basis") == 0) { @@ -216,9 +216,9 @@ Lattice::Lattice(LAMMPS *lmp, int narg, char **arg) : Pointers(lmp) if (style != CUSTOM) error->all(FLERR, "Invalid option in lattice command for non-custom style"); - double x = force->numeric(FLERR,arg[iarg+1]); - double y = force->numeric(FLERR,arg[iarg+2]); - double z = force->numeric(FLERR,arg[iarg+3]); + double x = utils::numeric(FLERR,arg[iarg+1],false,lmp); + double y = utils::numeric(FLERR,arg[iarg+2],false,lmp); + double z = utils::numeric(FLERR,arg[iarg+3],false,lmp); if (x < 0.0 || x >= 1.0 || y < 0.0 || y >= 1.0 || z < 0.0 || z >= 1.0) error->all(FLERR,"Illegal lattice command"); add_basis(x,y,z); diff --git a/src/library.cpp b/src/library.cpp index 5cfc6f3149e695348dcafbf11cdf575f5b202de2..6ba07990858180ddc684f8d57926ed72b17dfda1 100644 --- a/src/library.cpp +++ b/src/library.cpp @@ -11,14 +11,15 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -// C or Fortran style library interface to LAMMPS -// customize by adding new LAMMPS-specific functions +// C style library interface to LAMMPS. +// See the manual for detailed documentation. #include "library.h" #include #include #include #include +#include #include "universe.h" #include "atom_vec.h" #include "atom.h" @@ -92,139 +93,314 @@ using namespace LAMMPS_NS; #endif // ---------------------------------------------------------------------- -// library API functions to create/destroy an instance of LAMMPS -// and communicate commands to it +// Library functions to create/destroy an instance of LAMMPS // ---------------------------------------------------------------------- -/* ---------------------------------------------------------------------- - create an instance of LAMMPS and return pointer to it - pass in command-line args and MPI communicator to run on -------------------------------------------------------------------------- */ - -void lammps_open(int argc, char **argv, MPI_Comm communicator, void **ptr) +/** Create instance of the LAMMPS class and return pointer to it. + * +\verbatim embed:rst + +The :cpp:func:`lammps_open` function creates a new :cpp:class:`LAMMPS +` class instance while passing in a list of strings +as if they were :doc:`command-line arguments ` for the +LAMMPS executable, and an MPI communicator for LAMMPS to run under. +Since the list of arguments is **exactly** as when called from the +command line, the first argument would be the name of the executable and +thus is otherwise ignored. However ``argc`` may be set to 0 and then +``argv`` may be ``NULL``. If MPI is not yet initialized, ``MPI_Init()`` +will be called during creation of the LAMMPS class instance. + +The function returns a pointer to the created LAMMPS class. If for some +reason the initialization of the LAMMPS instance fails, the function +returns ``NULL``. For backward compatibility it is also possible to +provide the address of a pointer variable as argument *ptr*\ . This +argument may be ``NULL`` and is then ignored. + +.. note:: + + This function is not declared when the code linking to the LAMMPS + library interface is compiled with ``-DLAMMPS_LIB_NO_MPI``, or + contains a ``#define LAMMPS_LIB_NO_MPI 1`` statement before + ``#include "library.h"``. In that case, you need to use the + :cpp:func:`lammps_open_no_mpi` function. + +\endverbatim + * + * \param argc number of command line arguments + * \param argv list of command line argument strings + * \param comm MPI communicator for this LAMMPS instance + * \param ptr pointer to a void pointer variable which serves + * as a handle; may be ``NULL`` + * \return pointer to new LAMMPS instance cast to ``void *`` */ + +void *lammps_open(int argc, char **argv, MPI_Comm comm, void **ptr) { + LAMMPS *lmp = NULL; + lammps_mpi_init(); + #ifdef LAMMPS_EXCEPTIONS try { - LAMMPS *lmp = new LAMMPS(argc,argv,communicator); - *ptr = (void *) lmp; + lmp = new LAMMPS(argc, argv, comm); + if (ptr) *ptr = (void *) lmp; } catch(LAMMPSException & e) { fmt::print(stderr, "LAMMPS Exception: {}", e.message); *ptr = (void *) NULL; } #else - LAMMPS *lmp = new LAMMPS(argc,argv,communicator); - *ptr = (void *) lmp; + lmp = new LAMMPS(argc, argv, comm); + if (ptr) *ptr = (void *) lmp; #endif + return (void *) lmp; } -/* ---------------------------------------------------------------------- - create an instance of LAMMPS and return pointer to it - caller doesn't know MPI communicator, so use MPI_COMM_WORLD - initialize MPI if needed -------------------------------------------------------------------------- */ +/* ---------------------------------------------------------------------- */ + +/** Variant of ``lammps_open()`` that implicitly uses ``MPI_COMM_WORLD``. + * +\verbatim embed:rst + +This function is a version of :cpp:func:`lammps_open`, that is missing +the MPI communicator argument. It will use ``MPI_COMM_WORLD`` instead. +The type and purpose of arguments and return value are otherwise the +same. + +Outside of the convenience, this function is useful, when the LAMMPS +library was compiled in serial mode, but the calling code runs in +parallel and the ``MPI_Comm`` data type of the STUBS library would not +be compatible with that of the calling code. + +\endverbatim + * + * \param argc number of command line arguments + * \param argv list of command line argument strings + * \param ptr pointer to a void pointer variable + * which serves as a handle; may be ``NULL`` + * \return pointer to new LAMMPS instance cast to ``void *`` */ + +void *lammps_open_no_mpi(int argc, char **argv, void **ptr) +{ + return lammps_open(argc,argv,MPI_COMM_WORLD,ptr); +} + +/* ---------------------------------------------------------------------- */ + +/** Variant of ``lammps_open()`` using a Fortran MPI communicator. + * +\verbatim embed:rst + +This function is a version of :cpp:func:`lammps_open`, that uses an +integer for the MPI communicator as the MPI Fortran interface does. It +is used in the :f:func:`lammps` constructor of the LAMMPS Fortran +module. Internally it converts the *f_comm* argument into a C-style MPI +communicator with ``MPI_Comm_f2c()`` and then calls +:cpp:func:`lammps_open`. + +\endverbatim + * + * \param argc number of command line arguments + * \param argv list of command line argument strings + * \param f_comm Fortran style MPI communicator for this LAMMPS instance + * \param ptr pointer to a void pointer variable + * which serves as a handle; may be ``NULL`` + * \return pointer to new LAMMPS instance cast to ``void *`` */ + +void *lammps_open_fortran(int argc, char **argv, int f_comm, void **ptr) +{ + lammps_mpi_init(); + MPI_Comm c_comm = MPI_Comm_f2c((MPI_Fint)f_comm); + return lammps_open(argc, argv, c_comm, ptr); +} + +/* ---------------------------------------------------------------------- */ + +/** Delete a LAMMPS instance created by lammps_open() or its variants. + * +\verbatim embed:rst + +This function deletes the LAMMPS class instance pointed to by ``handle`` +that was created by one of the :cpp:func:`lammps_open` variants. It +does **not** call ``MPI_Finalize()`` to allow creating and deleting +multiple LAMMPS instances concurrently or sequentially. See +:cpp:func:`lammps_mpi_finalize` for a function performing this operation. + +\endverbatim + * + * \param handle pointer to a previously created LAMMPS instance */ + +void lammps_close(void *handle) +{ + LAMMPS *lmp = (LAMMPS *) handle; + delete lmp; +} + +/* ---------------------------------------------------------------------- */ + +/** Ensure the MPI environment is initialized. + * +\verbatim embed:rst + +The MPI standard requires that any MPI application must call +``MPI_Init()`` exactly once before performing any other MPI function +calls. This function checks, whether MPI is already initialized and +calls ``MPI_Init()`` in case it is not. + +\endverbatim */ -void lammps_open_no_mpi(int argc, char **argv, void **ptr) +void lammps_mpi_init() { int flag; MPI_Initialized(&flag); if (!flag) { - int argc = 0; - char **argv = NULL; + // provide a dummy argc and argv for MPI_Init(). + int argc = 1; + char *args[] = { (char *)"liblammps" , NULL }; + char **argv = args; MPI_Init(&argc,&argv); } +} - MPI_Comm communicator = MPI_COMM_WORLD; +/* ---------------------------------------------------------------------- */ -#ifdef LAMMPS_EXCEPTIONS - try - { - LAMMPS *lmp = new LAMMPS(argc,argv,communicator); - *ptr = (void *) lmp; - } - catch(LAMMPSException & e) { - fmt::print(stderr, "LAMMPS Exception: {}", e.message); - *ptr = (void*) NULL; - } -#else - LAMMPS *lmp = new LAMMPS(argc,argv,communicator); - *ptr = (void *) lmp; -#endif -} +/** Shut down the MPI infrastructure. + * +\verbatim embed:rst -/* ---------------------------------------------------------------------- - destruct an instance of LAMMPS -------------------------------------------------------------------------- */ +The MPI standard requires that any MPI application calls +``MPI_Finalize()`` before exiting. Even if a calling program does not +do any MPI calls, MPI is still initialized internally to avoid errors +accessing any MPI functions. This function should then be called right +before exiting the program to wait until all (parallel) tasks are +completed and then MPI is cleanly shut down. After this function no +more MPI calls may be made. -void lammps_close(void *ptr) +\endverbatim */ + +void lammps_mpi_finalize() { - LAMMPS *lmp = (LAMMPS *) ptr; - delete lmp; + MPI_Barrier(MPI_COMM_WORLD); + MPI_Finalize(); } -/* ---------------------------------------------------------------------- - get the numerical representation of the current LAMMPS version -------------------------------------------------------------------------- */ +/* ---------------------------------------------------------------------- */ + +/** Free memory buffer allocated by LAMMPS. + * +\verbatim embed:rst + +Some of the LAMMPS C library interface functions return data as pointer +to a buffer that has been allocated by LAMMPS or the library interface. +This function can be used to delete those in order to avoid memory +leaks. -int lammps_version(void *ptr) +\endverbatim + * + * \param ptr pointer to data allocated by LAMMPS */ + +void lammps_free(void *ptr) { - LAMMPS *lmp = (LAMMPS *) ptr; - return atoi(lmp->universe->num_ver); + free(ptr); } -/* ---------------------------------------------------------------------- - process an input script in filename str -------------------------------------------------------------------------- */ +// ---------------------------------------------------------------------- +// Library functions to process commands +// ---------------------------------------------------------------------- + +/** Process LAMMPS input from a file. + * +\verbatim embed:rst + +This function processes commands in the file pointed to by *filename* +line by line and thus functions very similar to the :doc:`include +` command. The function returns when the end of the file is +reached and the commands have completed. + +The actual work is done by the functions +:cpp:func:`Input::file(const char *)` +and :cpp:func:`Input::file()`. -void lammps_file(void *ptr, char *str) +\endverbatim + * + * \param handle pointer to a previously created LAMMPS instance + * \param filename name of a file with LAMMPS input */ + +void lammps_file(void *handle, const char *filename) { - LAMMPS *lmp = (LAMMPS *) ptr; + LAMMPS *lmp = (LAMMPS *) handle; BEGIN_CAPTURE { if (lmp->update->whichflag != 0) - lmp->error->all(FLERR,"Library error: issuing LAMMPS command during run"); + lmp->error->all(FLERR,"Library error: issuing LAMMPS commands " + "during a run is not allowed."); else - lmp->input->file(str); + lmp->input->file(filename); } END_CAPTURE } -/* ---------------------------------------------------------------------- - process a single input command in str - does not matter if str ends in newline - return command name to caller -------------------------------------------------------------------------- */ +/* ---------------------------------------------------------------------- */ -char *lammps_command(void *ptr, char *str) +/** Process a single LAMMPS input command from a string. + * +\verbatim embed:rst + +This function tells LAMMPS to execute the single command in the string +*cmd*. The entire string is considered as command and need not have a +(final) newline character. Newline characters in the body of the +string, however, will be treated as part of the command and will **not** +start a second command. The function :cpp:func:`lammps_commands_string` +processes a string with multiple command lines. + +The function returns the name of the command on success or ``NULL`` when +passing a string without a command. + +\endverbatim + * + * \param handle pointer to a previously created LAMMPS instance + * \param cmd string with a single LAMMPS command + * \return string with parsed command name or ``NULL`` */ + +char *lammps_command(void *handle, const char *cmd) { - LAMMPS *lmp = (LAMMPS *) ptr; + LAMMPS *lmp = (LAMMPS *) handle; char *result = NULL; BEGIN_CAPTURE { if (lmp->update->whichflag != 0) - lmp->error->all(FLERR,"Library error: issuing LAMMPS command during run"); + lmp->error->all(FLERR,"Library error: issuing LAMMPS commands " + "during a run is not allowed."); else - result = lmp->input->one(str); + result = lmp->input->one(cmd); } END_CAPTURE return result; } -/* ---------------------------------------------------------------------- - process multiple input commands in cmds = list of strings - does not matter if each string ends in newline - create long contatentated string for processing by commands_string() - insert newlines in concatenated string as needed -------------------------------------------------------------------------- */ +/* ---------------------------------------------------------------------- */ + +/** Process multiple LAMMPS input commands from list of strings. + * +\verbatim embed:rst + +This function processes multiple commands from a list of strings by +first concatenating the individual strings in *cmds* into a single +string, inserting newline characters as needed. The combined string +is passed to :cpp:func:`lammps_commands_string` for processing. + +\endverbatim + * + * \param handle pointer to a previously created LAMMPS instance + * \param ncmd number of lines in *cmds* + * \param cmds list of strings with LAMMPS commands */ -void lammps_commands_list(void *ptr, int ncmd, char **cmds) +void lammps_commands_list(void *handle, int ncmd, const char **cmds) { - LAMMPS *lmp = (LAMMPS *) ptr; + LAMMPS *lmp = (LAMMPS *) handle; int n = ncmd+1; for (int i = 0; i < ncmd; i++) n += strlen(cmds[i]); @@ -243,19 +419,37 @@ void lammps_commands_list(void *ptr, int ncmd, char **cmds) } } - lammps_commands_string(ptr,str); + lammps_commands_string(handle,str); lmp->memory->sfree(str); } -/* ---------------------------------------------------------------------- - process multiple input commands in single long str, separated by newlines - single command can span multiple lines via continuation characters - multi-line commands enabled by triple quotes will not work -------------------------------------------------------------------------- */ +/* ---------------------------------------------------------------------- */ + +/** Process a block of LAMMPS input commands from a single string. + * +\verbatim embed:rst + +This function processes a multi-line string similar to a block of +commands from a file. The string may have multiple lines (separated by +newline characters) and also single commands may be distributed over +multiple lines with continuation characters ('&'). Those lines are +combined by removing the '&' and the following newline character. After +this processing the string is handed to LAMMPS for parsing and +executing. + +.. note:: + + Multi-line commands enabled by triple quotes will NOT work with + this function. + +\endverbatim + * + * \param handle pointer to a previously created LAMMPS instance + * \param str string with block of LAMMPS input commands */ -void lammps_commands_string(void *ptr, char *str) +void lammps_commands_string(void *handle, const char *str) { - LAMMPS *lmp = (LAMMPS *) ptr; + LAMMPS *lmp = (LAMMPS *) handle; // make copy of str so can strtok() it @@ -291,56 +485,546 @@ void lammps_commands_string(void *ptr, char *str) delete [] copy; } -/* ---------------------------------------------------------------------- - clean-up function to free memory allocated by lib and returned to caller -------------------------------------------------------------------------- */ +// ----------------------------------------------------------------------- +// Library functions to extract info from LAMMPS or set data in LAMMPS +// ----------------------------------------------------------------------- -void lammps_free(void *ptr) +/** Get numerical representation of the LAMMPS version date. + * +\verbatim embed:rst + +The :cpp:func:`lammps_version` function returns an integer representing +the version of the LAMMPS code in the format YYYYMMDD. This can be used +to implement backward compatibility in software using the LAMMPS library +interface. The specific format guarantees, that this version number is +growing with every new LAMMPS release. + +\endverbatim + * + * \param handle pointer to a previously created LAMMPS instance + * \return an integer representing the version data in the + * format YYYYMMDD */ + +int lammps_version(void *handle) { - free(ptr); + LAMMPS *lmp = (LAMMPS *) handle; + return atoi(lmp->universe->num_ver); } -// ---------------------------------------------------------------------- -// library API functions to extract info from LAMMPS or set info in LAMMPS -// ---------------------------------------------------------------------- +/* ---------------------------------------------------------------------- */ -/* ---------------------------------------------------------------------- - add LAMMPS-specific library functions - all must receive LAMMPS pointer as argument - customize by adding a function here and in library.h header file -------------------------------------------------------------------------- */ +/** Return the total number of atoms in the system. + * +\verbatim embed:rst + +This number may be very large when running large simulations across +multiple processors. Depending on compile time choices, LAMMPS may be +using either 32-bit or a 64-bit integer to store this number. For +portability this function returns thus a double precision +floating point number, which can represent up to a 53-bit signed +integer exactly (:math:`\approx 10^{16}`). + +As an alternative, you can use :cpp:func:`lammps_extract_global` +and cast the resulting pointer to an integer pointer of the correct +size and dereference it. The size of that integer (in bytes) can be +queried by calling :cpp:func:`lammps_extract_setting` to return +the size of a ``bigint`` integer. + +\endverbatim + * + * \param handle pointer to a previously created LAMMPS instance + * \return total number of atoms or 0 if value is too large */ -/* ---------------------------------------------------------------------- - extract a LAMMPS setting as an integer - only use for settings that require return of an int - customize by adding names -------------------------------------------------------------------------- */ +double lammps_get_natoms(void *handle) +{ + LAMMPS *lmp = (LAMMPS *) handle; + + double natoms = static_cast (lmp->atom->natoms); + if (natoms > 9.0e15) return 0; // TODO:XXX why not -1? + return natoms; +} + +/* ---------------------------------------------------------------------- */ + +/** Get current value of a thermo keyword. + * +\verbatim embed:rst + +This function returns the current value of a :doc:`thermo keyword +`. Unlike :cpp:func:`lammps_extract_global` it does not +give access to the storage of the desired data but returns its value as +a double, so it can also return information that is computed on-the-fly. + +\endverbatim + * + * \param handle pointer to a previously created LAMMPS instance + * \param keyword string with the name of the thermo keyword + * \return value of the requested thermo property or 0.0 */ + +double lammps_get_thermo(void *handle, char *keyword) +{ + LAMMPS *lmp = (LAMMPS *) handle; + double dval = 0.0; + + BEGIN_CAPTURE + { + lmp->output->thermo->evaluate_keyword(keyword,&dval); + } + END_CAPTURE + + return dval; +} + +/* ---------------------------------------------------------------------- */ + +/** Extract simulation box parameters. + * +\verbatim embed:rst + +This function (re-)initializes the simulation box and boundary +information and then assign the designated data to the locations in the +pointers passed as arguments. Any argument (except the first) may be +a NULL pointer and then will not be assigned. + +\endverbatim + * + * \param handle pointer to a previously created LAMMPS instance + * \param boxlo pointer to 3 doubles where the lower box boundary is stored + * \param boxhi pointer to 3 doubles where the upper box boundary is stored + * \param xy pointer to a double where the xy tilt factor is stored + * \param yz pointer to a double where the yz tilt factor is stored + * \param xz pointer to a double where the xz tilt factor is stored + * \param pflags pointer to 3 ints, set to 1 for periodic boundaries + and 0 for non-periodic + * \param boxflag pointer to an int, which is set to 1 if the box will be + * changed during a simulation by a fix and 0 if not. */ + +void lammps_extract_box(void *handle, double *boxlo, double *boxhi, + double *xy, double *yz, double *xz, + int *pflags, int *boxflag) +{ + LAMMPS *lmp = (LAMMPS *) handle; + Domain *domain = lmp->domain; + + BEGIN_CAPTURE + { + // do nothing if box does not yet exist + if ((lmp->domain->box_exist == 0) + && (lmp->comm->me == 0)) { + lmp->error->warning(FLERR,"Calling lammps_extract_box without a box"); + return; + } + + // domain->init() is needed to update domain->box_change + domain->init(); + + if (boxlo) { + boxlo[0] = domain->boxlo[0]; + boxlo[1] = domain->boxlo[1]; + boxlo[2] = domain->boxlo[2]; + } + if (boxhi) { + boxhi[0] = domain->boxhi[0]; + boxhi[1] = domain->boxhi[1]; + boxhi[2] = domain->boxhi[2]; + } + if (xy) *xy = domain->xy; + if (yz) *yz = domain->yz; + if (xz) *xz = domain->xz; + + if (pflags) { + pflags[0] = domain->periodicity[0]; + pflags[1] = domain->periodicity[1]; + pflags[2] = domain->periodicity[2]; + } + if (boxflag) *boxflag = domain->box_change; + } + END_CAPTURE +} + +/* ---------------------------------------------------------------------- */ + +/** Reset simulation box parameters. + * +\verbatim embed:rst + +This function sets the simulation box dimensions (upper and lower bounds +and tilt factors) from the provided data and then re-initializes the box +information and all derived settings. + +\endverbatim + * + * \param handle pointer to a previously created LAMMPS instance + * \param boxlo pointer to 3 doubles containing the lower box boundary + * \param boxhi pointer to 3 doubles containing the upper box boundary + * \param xy xy tilt factor + * \param yz yz tilt factor + * \param xz xz tilt factor */ + +void lammps_reset_box(void *handle, double *boxlo, double *boxhi, + double xy, double yz, double xz) +{ + LAMMPS *lmp = (LAMMPS *) handle; + Domain *domain = lmp->domain; + + BEGIN_CAPTURE + { + // error if box does not exist + if ((lmp->domain->box_exist == 0) + && (lmp->comm->me == 0)) { + lmp->error->warning(FLERR,"Calling lammps_reset_box without a box"); + return; + } + domain->boxlo[0] = boxlo[0]; + domain->boxlo[1] = boxlo[1]; + domain->boxlo[2] = boxlo[2]; + domain->boxhi[0] = boxhi[0]; + domain->boxhi[1] = boxhi[1]; + domain->boxhi[2] = boxhi[2]; + + domain->xy = xy; + domain->yz = yz; + domain->xz = xz; + + domain->set_global_box(); + lmp->comm->set_proc_grid(); + domain->set_local_box(); + } + END_CAPTURE +} + +/* ---------------------------------------------------------------------- */ + +/** Query LAMMPS about global settings. + * +\verbatim embed:rst + +This function will retrieve or compute global properties. In contrast to +:cpp:func:`lammps_get_thermo` this function returns an ``int``. The +following keywords are currently supported. If a keyword is not +recognized, the function returns -1. Please also see :cpp:func:`lammps_extract_global`. + +.. list-table:: + :header-rows: 1 + :widths: auto + + * - Keyword + - Description / Return value + * - bigint + - size of the ``bigint`` integer type, 4 or 8 bytes. + Set at :ref:`compile time `. + * - tagint + - size of the ``tagint`` integer type, 4 or 8 bytes. + Set at :ref:`compile time `. + * - imageint + - size of the ``imageint`` integer type, 4 or 8 bytes. + Set at :ref:`compile time `. + * - dimension + - Number of dimensions: 2 or 3. See :doc:`dimension`. + * - box_exist + - 1 if the simulation box is defined, 0 if not. + See :doc:`create_box`. + * - triclinic + - 1 if the the simulation box is triclinic, 0 if orthogonal. + See :doc:`change_box`. + * - nlocal + - number of "owned" atoms of the current MPI rank. + * - nghost + - number of "ghost" atoms of the current MPI rank. + * - nall + - number of all "owned" and "ghost" atoms of the current MPI rank. + * - nmax + - maximum of nlocal+nghost across all MPI ranks (for per-atom data array size). + * - ntypes + - number of atom types + * - molecule_flag + - 1 if the atom style includes molecular topology data. See :doc:`atom_style`. + * - q_flag + - 1 if the atom style includes point charges. See :doc:`atom_style`. + * - mu_flag + - 1 if the atom style includes point dipoles. See :doc:`atom_style`. + * - rmass_flag + - 1 if the atom style includes per-atom masses, 0 if there are per-type masses. See :doc:`atom_style`. + +\endverbatim + * + * \param handle pointer to a previously created LAMMPS instance + * \param keyword string with the name of the thermo keyword + * \return value of the queried setting or -1 if unknown */ -int lammps_extract_setting(void * /*ptr*/, char *name) +int lammps_extract_setting(void * handle, char *keyword) { - if (strcmp(name,"bigint") == 0) return sizeof(bigint); - if (strcmp(name,"tagint") == 0) return sizeof(tagint); - if (strcmp(name,"imageint") == 0) return sizeof(imageint); + LAMMPS *lmp = (LAMMPS *) handle; + +// This can be customized by adding keywords and documenting them in the section above. + if (strcmp(keyword,"bigint") == 0) return sizeof(bigint); + if (strcmp(keyword,"tagint") == 0) return sizeof(tagint); + if (strcmp(keyword,"imageint") == 0) return sizeof(imageint); + + if (strcmp(keyword,"dimension") == 0) return lmp->domain->dimension; + if (strcmp(keyword,"box_exist") == 0) return lmp->domain->box_exist; + if (strcmp(keyword,"triclinic") == 0) return lmp->domain->triclinic; + + if (strcmp(keyword,"nlocal") == 0) return lmp->atom->nlocal; + if (strcmp(keyword,"nghost") == 0) return lmp->atom->nghost; + if (strcmp(keyword,"nall") == 0) return lmp->atom->nlocal+lmp->atom->nghost; + if (strcmp(keyword,"nmax") == 0) return lmp->atom->nmax; + if (strcmp(keyword,"ntypes") == 0) return lmp->atom->ntypes; + + if (strcmp(keyword,"molecule_flag") == 0) return lmp->atom->molecule_flag; + if (strcmp(keyword,"q_flag") == 0) return lmp->atom->q_flag; + if (strcmp(keyword,"mu_flag") == 0) return lmp->atom->mu_flag; + if (strcmp(keyword,"rmass_flag") == 0) return lmp->atom->rmass_flag; return -1; } -/* ---------------------------------------------------------------------- - extract a pointer to an internal LAMMPS global entity - name = desired quantity, e.g. dt or boxyhi or natoms - returns a void pointer to the entity - which the caller can cast to the proper data type - returns a NULL if name not listed below - this function need only be invoked once - the returned pointer is a permanent valid reference to the quantity - customize by adding names -------------------------------------------------------------------------- */ +/* ---------------------------------------------------------------------- */ -void *lammps_extract_global(void *ptr, char *name) +/** Get pointer to internal global LAMMPS variables or arrays. + * +\verbatim embed:rst + +This function returns a pointer to the location of some global property +stored in one of the constituent classes of a LAMMPS instance. The +returned pointer is cast to ``void *`` and needs to be cast to a pointer +of the type that the entity represents. The pointers returned by this +function are generally persistent; therefore it is not necessary to call +the function again, unless a :doc:`clear` command is issued which wipes +out and recreates the contents of the :cpp:class:`LAMMPS +` class. + +Please also see :cpp:func:`lammps_extract_setting`, +:cpp:func:`lammps_get_thermo`, and :cpp:func:`lammps_extract_box`. + +.. warning:: + + Modifying the data in the location pointed to by the returned pointer + may lead to inconsistent internal data and thus may cause failures or + crashes or bogus simulations. In general it is thus usually better + to use a LAMMPS input command that sets or changes these parameters. + Those will takes care of all side effects and necessary updates of + settings derived from such settings. Where possible a reference to + such a command or a relevant section of the manual is given below. + +This table lists the supported names, their data types, length of the +data area, and a short description. The ``bigint`` type may be defined +to be either an ``int`` or an ``int64_t``. This is selected at +:ref:`compile time `. + +.. list-table:: + :header-rows: 1 + :widths: auto + + * - Name + - Type + - Length + - Description + * - units + - char \* + - 1 + - string with the current unit style. See :doc:`units`. + * - dt + - double + - 1 + - length of the time step. See :doc:`timestep`. + * - ntimestep + - bigint + - 1 + - current time step number. See :doc:`reset_timestep`. + * - boxlo + - double + - 3 + - lower box boundaries. See :doc:`create_box`. + * - boxhi + - double + - 3 + - upper box boundaries. See :doc:`create_box`. + * - boxxlo + - double + - 1 + - lower box boundary in x-direction. See :doc:`create_box`. + * - boxxhi + - double + - 1 + - upper box boundary in x-direction. See :doc:`create_box`. + * - boxylo + - double + - 1 + - lower box boundary in y-direction. See :doc:`create_box`. + * - boxyhi + - double + - 1 + - upper box boundary in y-direction. See :doc:`create_box`. + * - boxzlo + - double + - 1 + - lower box boundary in z-direction. See :doc:`create_box`. + * - boxzhi + - double + - 1 + - upper box boundary in z-direction. See :doc:`create_box`. + * - periodicity + - int + - 3 + - 0 if non-periodic, 1 if periodic for x, y, and z; + See :doc:`boundary`. + * - triclinic + - int + - 1 + - 1 if the the simulation box is triclinic, 0 if orthogonal; + See :doc:`change_box`. + * - xy + - double + - 1 + - triclinic tilt factor. See :doc:`Howto_triclinic`. + * - yz + - double + - 1 + - triclinic tilt factor. See :doc:`Howto_triclinic`. + * - xz + - double + - 1 + - triclinic tilt factor. See :doc:`Howto_triclinic`. + * - natoms + - bigint + - 1 + - total number of atoms in the simulation. + * - nbonds + - bigint + - 1 + - total number of bonds in the simulation. + * - nangles + - bigint + - 1 + - total number of angles in the simulation. + * - ndihedrals + - bigint + - 1 + - total number of dihedrals in the simulation. + * - nimpropers + - bigint + - 1 + - total number of impropers in the simulation. + * - nlocal + - int + - 1 + - number of "owned" atoms of the current MPI rank. + * - nghost + - int + - 1 + - number of "ghost" atoms of the current MPI rank. + * - nmax + - int + - 1 + - maximum of nlocal+nghost across all MPI ranks (for per-atom data array size). + * - ntypes + - int + - 1 + - number of atom types + * - q_flag + - int + - 1 + - 1 if the atom style includes point charges. See :doc:`atom_style`. + * - atime + - double + - 1 + - accumulated simulation time in time units. + * - atimestep + - bigint + - 1 + - the number of the timestep when "atime" was last updated. + * - boltz + - double + - 1 + - value of the "boltz" constant. See :doc:`units`. + * - hplanck + - double + - 1 + - value of the "hplanck" constant. See :doc:`units`. + * - mvv2e + - double + - 1 + - factor to convert :math:`\frac{1}{2}mv^2` for a particle to + the current energy unit; See :doc:`units`. + * - ftm2v + - double + - 1 + - (description missing) See :doc:`units`. + * - mv2d + - double + - 1 + - (description missing) See :doc:`units`. + * - nktv2p + - double + - 1 + - (description missing) See :doc:`units`. + * - qqr2e + - double + - 1 + - factor to convert :math:`\frac{q_i q_j}{r}` to energy units; + See :doc:`units`. + * - qe2f + - double + - 1 + - (description missing) See :doc:`units`. + * - vxmu2f + - double + - 1 + - (description missing) See :doc:`units`. + * - xxt2kmu + - double + - 1 + - (description missing) See :doc:`units`. + * - dielectric + - double + - 1 + - value of the dielectric constant. See :doc:`dielectric`. + * - qqrd2e + - double + - 1 + - (description missing) See :doc:`units`. + * - e_mass + - double + - 1 + - (description missing) See :doc:`units`. + * - hhmrr2e + - double + - 1 + - (description missing) See :doc:`units`. + * - mvh2r + - double + - 1 + - (description missing) See :doc:`units`. + * - angstrom + - double + - 1 + - constant to convert current length unit to angstroms; + 1.0 for reduced (aka "lj") units. See :doc:`units`. + * - femtosecond + - double + - 1 + - constant to convert current time unit to femtoseconds; + 1.0 for reduced (aka "lj") units + * - qelectron + - double + - 1 + - (description missing) See :doc:`units`. + +\endverbatim + * + * \param handle pointer to a previously created LAMMPS instance + * \param name string with the name of the extracted property + * \return pointer (cast to ``void *``) to the location of the + requested property. NULL if name is not known. */ + +void *lammps_extract_global(void *handle, char *name) { - LAMMPS *lmp = (LAMMPS *) ptr; + LAMMPS *lmp = (LAMMPS *) handle; + if (strcmp(name,"units") == 0) return (void *) lmp->update->unit_style; if (strcmp(name,"dt") == 0) return (void *) &lmp->update->dt; + if (strcmp(name,"ntimestep") == 0) return (void *) &lmp->update->ntimestep; if (strcmp(name,"boxlo") == 0) return (void *) lmp->domain->boxlo; if (strcmp(name,"boxhi") == 0) return (void *) lmp->domain->boxhi; if (strcmp(name,"boxxlo") == 0) return (void *) &lmp->domain->boxlo[0]; @@ -350,7 +1034,7 @@ void *lammps_extract_global(void *ptr, char *name) if (strcmp(name,"boxzlo") == 0) return (void *) &lmp->domain->boxlo[2]; if (strcmp(name,"boxzhi") == 0) return (void *) &lmp->domain->boxhi[2]; if (strcmp(name,"periodicity") == 0) return (void *) lmp->domain->periodicity; - + if (strcmp(name,"triclinic") == 0) return (void *) &lmp->domain->triclinic; if (strcmp(name,"xy") == 0) return (void *) &lmp->domain->xy; if (strcmp(name,"xz") == 0) return (void *) &lmp->domain->xz; if (strcmp(name,"yz") == 0) return (void *) &lmp->domain->yz; @@ -363,10 +1047,6 @@ void *lammps_extract_global(void *ptr, char *name) if (strcmp(name,"nghost") == 0) return (void *) &lmp->atom->nghost; if (strcmp(name,"nmax") == 0) return (void *) &lmp->atom->nmax; if (strcmp(name,"ntypes") == 0) return (void *) &lmp->atom->ntypes; - if (strcmp(name,"ntimestep") == 0) return (void *) &lmp->update->ntimestep; - - if (strcmp(name,"units") == 0) return (void *) lmp->update->unit_style; - if (strcmp(name,"triclinic") == 0) return (void *) &lmp->domain->triclinic; if (strcmp(name,"q_flag") == 0) return (void *) &lmp->atom->q_flag; @@ -402,85 +1082,294 @@ void *lammps_extract_global(void *ptr, char *name) return NULL; } -/* ---------------------------------------------------------------------- - extract simulation box parameters - see domain.h for definition of these arguments - domain->init() call needed to set box_change -------------------------------------------------------------------------- */ +/* ---------------------------------------------------------------------- */ -void lammps_extract_box(void *ptr, double *boxlo, double *boxhi, - double *xy, double *yz, double *xz, - int *periodicity, int *box_change) -{ - LAMMPS *lmp = (LAMMPS *) ptr; - Domain *domain = lmp->domain; - domain->init(); +/** Get pointer to a LAMMPS per-atom property. + * +\verbatim embed:rst - boxlo[0] = domain->boxlo[0]; - boxlo[1] = domain->boxlo[1]; - boxlo[2] = domain->boxlo[2]; - boxhi[0] = domain->boxhi[0]; - boxhi[1] = domain->boxhi[1]; - boxhi[2] = domain->boxhi[2]; +This function returns a pointer to the location of per-atom properties +(and per-atom-type properties in the case of the 'mass' keyword). +Per-atom data is distributed across sub-domains and thus MPI ranks. The +returned pointer is cast to ``void *`` and needs to be cast to a pointer +of data type that the entity represents. - *xy = domain->xy; - *yz = domain->yz; - *xz = domain->xz; +A table with supported keywords is included in the documentation +of the :cpp:func:`Atom::extract() ` function. - periodicity[0] = domain->periodicity[0]; - periodicity[1] = domain->periodicity[1]; - periodicity[2] = domain->periodicity[2]; +.. note:: - *box_change = domain->box_change; -} + The pointers returned by this function are generally not persistent + since per-atom data may be re-distributed, re-allocated, and + re-ordered at every re-neighboring operation. -/* ---------------------------------------------------------------------- - extract a pointer to an internal LAMMPS atom-based entity - name = desired quantity, e.g. x or mass - returns a void pointer to the entity - which the caller can cast to the proper data type - returns a NULL if Atom::extract() does not recognize the name - the returned pointer is not a permanent valid reference to the - per-atom quantity, since LAMMPS may reallocate per-atom data - customize by adding names to Atom::extract() -------------------------------------------------------------------------- */ +\endverbatim + * + * \param handle pointer to a previously created LAMMPS instance + * \param name string with the name of the extracted property + * \return pointer (cast to ``void *``) to the location of the + * requested data or ``NULL`` if not found. */ -void *lammps_extract_atom(void *ptr, char *name) +void *lammps_extract_atom(void *handle, char *name) { - LAMMPS *lmp = (LAMMPS *) ptr; + LAMMPS *lmp = (LAMMPS *) handle; return lmp->atom->extract(name); } -/* ---------------------------------------------------------------------- - extract a pointer to an internal LAMMPS compute-based entity - the compute is invoked if its value(s) is not current - id = compute ID - style = 0 for global data, 1 for per-atom data, 2 for local data - type = 0 for scalar, 1 for vector, 2 for array - for global data, returns a pointer to the - compute's internal data structure for the entity - caller should cast it to (double *) for a scalar or vector - caller should cast it to (double **) for an array - for per-atom or local vector/array data, returns a pointer to the - compute's internal data structure for the entity - caller should cast it to (double *) for a vector - caller should cast it to (double **) for an array - for local data, accessing scalar data for the compute (type = 0), - returns a pointer that should be cast to (int *) which points to - an int with the number of local rows, i.e. the length of the local array. - returns a void pointer to the compute's internal data structure - for the entity which the caller can cast to the proper data type - returns a NULL if id is not recognized or style/type not supported - the returned pointer is not a permanent valid reference to the - compute data, this function should be re-invoked - IMPORTANT: if the compute is not current it will be invoked - LAMMPS cannot easily check here if it is valid to invoke the compute, - so caller must insure that it is OK -------------------------------------------------------------------------- */ +/* ---------------------------------------------------------------------- */ + +/** Create N atoms from list of coordinates + * +\verbatim embed:rst + +The prototype for this function when compiling with ``-DLAMMPS_BIGBIG`` +is: + +.. code-block:: c + + int lammps_create_atoms(void *handle, int n, int64_t *id, int *type, double *x, double *v, int64_t *image, int bexpand); + +This function creates additional atoms from a given list of coordinates +and a list of atom types. Additionally the atom-IDs, velocities, and +image flags may be provided. If atom-IDs are not provided, they will be +automatically created as a sequence following the largest existing +atom-ID. + +This function is useful to add atoms to a simulation or - in tandem with +:cpp:func:`lammps_reset_box` - to restore a previously extracted and +saved state of a simulation. Additional properties for the new atoms +can then be assigned via the :cpp:func:`lammps_scatter_atoms` +:cpp:func:`lammps_extract_atom` functions. + +For non-periodic boundaries, atoms will **not** be created that have +coordinates outside the box unless it is a shrink-wrap boundary and the +shrinkexceed flag has been set to a non-zero value. For periodic +boundaries atoms will be wrapped back into the simulation cell and its +image flags adjusted accordingly, unless explicit image flags are +provided. -void *lammps_extract_compute(void *ptr, char *id, int style, int type) +The function returns the number of atoms created or -1 on failure, e.g. +when called before as box has been created. + +Coordinates and velocities have to be given in a 1d-array in the order +X(1),Y(1),Z(1),X(2),Y(2),Z(2),...,X(N),Y(N),Z(N). + +\endverbatim + * + * \param handle pointer to a previously created LAMMPS instance + * \param n number of atoms, N, to be added to the system + * \param id pointer to N atom IDs; ``NULL`` will generate IDs + * \param type pointer to N atom types (required) + * \param x pointer to 3N doubles with x-,y-,z- positions + of the new atoms (required) + * \param v pointer to 3N doubles with x-,y-,z- velocities + of the new atoms (set to 0.0 if ``NULL``) + * \param image pointer to N imageint sets of image flags, or ``NULL`` + * \param bexpand if 1, atoms outside of shrink-wrap boundaries will + still be created and not dropped and the box extended + * \return number of atoms created on success; + -1 on failure (no box, no atom IDs, etc.) */ + +int lammps_create_atoms(void *handle, int n, tagint *id, int *type, + double *x, double *v, imageint *image, + int bexpand) +{ + LAMMPS *lmp = (LAMMPS *) handle; + bigint natoms_prev = lmp->atom->natoms; + + BEGIN_CAPTURE + { + // error if box does not exist or tags not defined + + int flag = 0; + std::string msg("Failure in lammps_create_atoms: "); + if (lmp->domain->box_exist == 0) { + flag = 1; + msg += "trying to create atoms before before simulation box is defined"; + } + if (lmp->atom->tag_enable == 0) { + flag = 1; + msg += "must have atom IDs to use this function"; + } + + if (flag) { + if (lmp->comm->me == 0) lmp->error->warning(FLERR,msg.c_str()); + return -1; + } + + // loop over all N atoms on all MPI ranks + // if this proc would own it based on its coordinates, invoke create_atom() + // optionally set atom tags and velocities + + Atom *atom = lmp->atom; + Domain *domain = lmp->domain; + int nlocal = atom->nlocal; + + int nlocal_prev = nlocal; + double xdata[3]; + + for (int i = 0; i < n; i++) { + xdata[0] = x[3*i]; + xdata[1] = x[3*i+1]; + xdata[2] = x[3*i+2]; + imageint * img = image ? image + i : NULL; + tagint tag = id ? id[i] : 0; + + // create atom only on MPI rank that would own it + + if (!domain->ownatom(tag, xdata, img, bexpand)) continue; + + atom->avec->create_atom(type[i],xdata); + if (id) atom->tag[nlocal] = id[i]; + else atom->tag[nlocal] = 0; + if (v) { + atom->v[nlocal][0] = v[3*i]; + atom->v[nlocal][1] = v[3*i+1]; + atom->v[nlocal][2] = v[3*i+2]; + } + if (image) atom->image[nlocal] = image[i]; + nlocal++; + } + + // if no tags are given explicitly, create new and unique tags + + if (id == NULL) atom->tag_extend(); + + // reset box info, if extended when adding atoms. + + if (bexpand) domain->reset_box(); + + // need to reset atom->natoms inside LAMMPS + + bigint ncurrent = nlocal; + MPI_Allreduce(&ncurrent,&lmp->atom->natoms,1,MPI_LMP_BIGINT, + MPI_SUM,lmp->world); + + // init per-atom fix/compute/variable values for created atoms + + atom->data_fix_compute_variable(nlocal_prev,nlocal); + + // if global map exists, reset it + // invoke map_init() b/c atom count has grown + + if (lmp->atom->map_style) { + lmp->atom->map_init(); + lmp->atom->map_set(); + } + } + END_CAPTURE; + return (int) lmp->atom->natoms - natoms_prev; +} + +// ---------------------------------------------------------------------- +// Library functions to access data from computes, fixes, variables in LAMMPS +// ---------------------------------------------------------------------- + +/** Get pointer to data from a LAMMPS compute. + * +\verbatim embed:rst + +This function returns a pointer to the location of data provided by a +:doc:`compute` instance identified by the compute-ID. Computes may +provide global, per-atom, or local data, and those may be a scalar, a +vector, or an array or they may provide the information about the +dimensions of the respective data. Since computes may provide multiple +kinds of data, it is required to set style and type flags representing +what specific data is desired. This also determines to what kind of +pointer the returned pointer needs to be cast to access the data +correctly. The function returns ``NULL`` if the compute ID is not found +or the requested data is not available or current. The following table +lists the available options. + +.. list-table:: + :header-rows: 1 + :widths: auto + + * - Style (see :cpp:enum:`_LMP_STYLE_CONST`) + - Type (see :cpp:enum:`_LMP_TYPE_CONST`) + - Returned type + - Returned data + * - LMP_STYLE_GLOBAL + - LMP_TYPE_SCALAR + - ``double *`` + - Global scalar + * - LMP_STYLE_GLOBAL + - LMP_TYPE_VECTOR + - ``double *`` + - Global vector + * - LMP_STYLE_GLOBAL + - LMP_TYPE_ARRAY + - ``double **`` + - Global array + * - LMP_STYLE_GLOBAL + - LMP_SIZE_VECTOR + - ``int *`` + - Length of global vector + * - LMP_STYLE_GLOBAL + - LMP_SIZE_ROWS + - ``int *`` + - Rows of global array + * - LMP_STYLE_GLOBAL + - LMP_SIZE_COLS + - ``int *`` + - Columns of global array + * - LMP_STYLE_ATOM + - LMP_TYPE_VECTOR + - ``double *`` + - Per-atom value + * - LMP_STYLE_ATOM + - LMP_TYPE_ARRAY + - ``double **`` + - Per-atom vector + * - LMP_STYLE_ATOM + - LMP_SIZE_COLS + - ``int *`` + - Columns in per-atom array, 0 if vector + * - LMP_STYLE_LOCAL + - LMP_TYPE_VECTOR + - ``double *`` + - Local data vector + * - LMP_STYLE_LOCAL + - LMP_TYPE_ARRAY + - ``double **`` + - Local data array + * - LMP_STYLE_LOCAL + - LMP_SIZE_ROWS + - ``int *`` + - Number of local data rows + * - LMP_STYLE_LOCAL + - LMP_SIZE_COLS + - ``int *`` + - Number of local data columns + +The pointers returned by this function are generally not persistent +since the computed data may be re-distributed, re-allocated, and +re-ordered at every invocation. It is advisable to re-invoke this +function before the data is accessed, or make a copy if the data shall +be used after other LAMMPS commands have been issued. + +.. note:: + + If the compute's data is not computed for the current step, the + compute will be invoked. LAMMPS cannot easily check at that time, if + it is valid to invoke a compute, so it may fail with an error. The + caller has to check to avoid such an error. + + +\endverbatim + * + * \param handle pointer to a previously created LAMMPS instance + * \param id string with ID of the compute + * \param style constant indicating the style of data requested + (global, per-atom, or local) + * \param type constant indicating type of data (scalar, vector, + or array) or size of rows or columns + * \return pointer (cast to ``void *``) to the location of the + * requested data or ``NULL`` if not found. */ + +void *lammps_extract_compute(void *handle, char *id, int style, int type) { - LAMMPS *lmp = (LAMMPS *) ptr; + LAMMPS *lmp = (LAMMPS *) handle; BEGIN_CAPTURE { @@ -488,42 +1377,53 @@ void *lammps_extract_compute(void *ptr, char *id, int style, int type) if (icompute < 0) return NULL; Compute *compute = lmp->modify->compute[icompute]; - if (style == 0) { - if (type == 0) { + if (style == LMP_STYLE_GLOBAL) { + if (type == LMP_TYPE_SCALAR) { if (!compute->scalar_flag) return NULL; if (compute->invoked_scalar != lmp->update->ntimestep) compute->compute_scalar(); return (void *) &compute->scalar; } - if (type == 1) { + if ((type == LMP_TYPE_VECTOR) || (type == LMP_SIZE_VECTOR)) { if (!compute->vector_flag) return NULL; if (compute->invoked_vector != lmp->update->ntimestep) compute->compute_vector(); - return (void *) compute->vector; + if (type == LMP_TYPE_VECTOR) + return (void *) compute->vector; + else + return (void *) &compute->size_vector; } - if (type == 2) { + if ((type == LMP_TYPE_ARRAY) || (type == LMP_SIZE_ROWS) || (type == LMP_SIZE_COLS)) { if (!compute->array_flag) return NULL; if (compute->invoked_array != lmp->update->ntimestep) compute->compute_array(); - return (void *) compute->array; + if (type == LMP_TYPE_ARRAY) + return (void *) compute->array; + else if (type == LMP_SIZE_ROWS) + return (void *) &compute->size_array_rows; + else + return (void *) &compute->size_array_cols; } } - if (style == 1) { + if (style == LMP_STYLE_ATOM) { if (!compute->peratom_flag) return NULL; if (compute->invoked_peratom != lmp->update->ntimestep) compute->compute_peratom(); - if (type == 1) return (void *) compute->vector_atom; - if (type == 2) return (void *) compute->array_atom; + if (type == LMP_TYPE_VECTOR) return (void *) compute->vector_atom; + if (type == LMP_TYPE_ARRAY) return (void *) compute->array_atom; + if (type == LMP_SIZE_COLS) return (void *) &compute->size_peratom_cols; } - if (style == 2) { + if (style == LMP_STYLE_LOCAL) { if (!compute->local_flag) return NULL; if (compute->invoked_local != lmp->update->ntimestep) compute->compute_local(); - if (type == 0) return (void *) &compute->size_local_rows; - if (type == 1) return (void *) compute->vector_local; - if (type == 2) return (void *) compute->array_local; + if (type == LMP_TYPE_SCALAR) return (void *) &compute->size_local_rows; /* for backward compatibility */ + if (type == LMP_TYPE_VECTOR) return (void *) compute->vector_local; + if (type == LMP_TYPE_ARRAY) return (void *) compute->array_local; + if (type == LMP_SIZE_ROWS) return (void *) &compute->size_local_rows; + if (type == LMP_SIZE_COLS) return (void *) &compute->size_local_cols; } } END_CAPTURE @@ -531,34 +1431,130 @@ void *lammps_extract_compute(void *ptr, char *id, int style, int type) return NULL; } -/* ---------------------------------------------------------------------- - extract a pointer to an internal LAMMPS fix-based entity - id = fix ID - style = 0 for global data, 1 for per-atom data, 2 for local data - type = 0 for scalar, 1 for vector, 2 for array - i,j = indices needed only to specify which global vector or array value - for global data, returns a pointer to a memory location - which is allocated by this function - which the caller can cast to a (double *) which points to the value - for per-atom or local data, returns a pointer to the - fix's internal data structure for the entity - caller should cast it to (double *) for a vector - caller should cast it to (double **) for an array - returns a NULL if id is not recognized or style/type not supported - IMPORTANT: for global data, - this function allocates a double to store the value in, - so the caller must free this memory to avoid a leak, e.g. - double *dptr = (double *) lammps_extract_fix(); - double value = *dptr; - lammps_free(dptr); - IMPORTANT: LAMMPS cannot easily check here when info extracted from - the fix is valid, so caller must insure that it is OK -------------------------------------------------------------------------- */ +/* ---------------------------------------------------------------------- */ -void *lammps_extract_fix(void *ptr, char *id, int style, int type, - int i, int j) +/** Get pointer to data from a LAMMPS fix. + * +\verbatim embed:rst + +This function returns a pointer to data provided by a :doc:`fix` +instance identified by its fix-ID. Fixes may provide global, per-atom, +or local data, and those may be a scalar, a vector, or an array, or they +may provide the information about the dimensions of the respective data. +Since individual fixes may provide multiple kinds of data, it is +required to set style and type flags representing what specific data is +desired. This also determines to what kind of pointer the returned +pointer needs to be cast to access the data correctly. The function +returns ``NULL`` if the fix ID is not found or the requested data is not +available. + +.. note:: + + When requesting global data, the fix data can only be accessed one + item at a time without access to the pointer itself. Thus this + function will allocate storage for a single double value, copy the + returned value to it, and returns a pointer to the location of the + copy. Therefore the allocated storage needs to be freed after its + use to avoid a memory leak. Example: + + .. code-block:: c + + double *dptr = (double *) lammps_extract_fix(handle,name,0,1,0,0); + double value = *dptr; + lammps_free((void *)dptr); + +The following table lists the available options. + +.. list-table:: + :header-rows: 1 + :widths: auto + + * - Style (see :cpp:enum:`_LMP_STYLE_CONST`) + - Type (see :cpp:enum:`_LMP_TYPE_CONST`) + - Returned type + - Returned data + * - LMP_STYLE_GLOBAL + - LMP_TYPE_SCALAR + - ``double *`` + - Copy of global scalar + * - LMP_STYLE_GLOBAL + - LMP_TYPE_VECTOR + - ``double *`` + - Copy of global vector element at index nrow + * - LMP_STYLE_GLOBAL + - LMP_TYPE_ARRAY + - ``double *`` + - Copy of global array element at nrow, ncol + * - LMP_STYLE_GLOBAL + - LMP_SIZE_VECTOR + - ``int *`` + - Length of global vector + * - LMP_STYLE_GLOBAL + - LMP_SIZE_ROWS + - ``int *`` + - Rows in global array + * - LMP_STYLE_GLOBAL + - LMP_SIZE_COLS + - ``int *`` + - Columns in global array + * - LMP_STYLE_ATOM + - LMP_TYPE_VECTOR + - ``double *`` + - Per-atom value + * - LMP_STYLE_ATOM + - LMP_TYPE_ARRAY + - ``double **`` + - Per-atom vector + * - LMP_STYLE_ATOM + - LMP_SIZE_COLS + - ``int *`` + - Columns of per-atom array, 0 if vector + * - LMP_STYLE_LOCAL + - LMP_TYPE_VECTOR + - ``double *`` + - Local data vector + * - LMP_STYLE_LOCAL + - LMP_TYPE_ARRAY + - ``double **`` + - Local data array + * - LMP_STYLE_LOCAL + - LMP_SIZE_ROWS + - ``int *`` + - Number of local data rows + * - LMP_STYLE_LOCAL + - LMP_SIZE_COLS + - ``int *`` + - Number of local data columns + +The pointers returned by this function for per-atom or local data are +generally not persistent, since the computed data may be re-distributed, +re-allocated, and re-ordered at every invocation of the fix. It is thus +advisable to re-invoke this function before the data is accessed, or +make a copy, if the data shall be used after other LAMMPS commands have +been issued. + +.. note:: + + LAMMPS cannot easily check if it is valid to access the data, so it + may fail with an error. The caller has to avoid such an error. + +\endverbatim + * + * \param handle pointer to a previously created LAMMPS instance + * \param id string with ID of the fix + * \param style constant indicating the style of data requested + (global, per-atom, or local) + * \param type constant indicating type of data (scalar, vector, + or array) or size of rows or columns + * \param nrow row index (only used for global vectors and arrays) + * \param ncol column index (only used for global arrays) + * \return pointer (cast to ``void *``) to the location of the + * requested data or ``NULL`` if not found. */ + +void *lammps_extract_fix(void *handle, char *id, int style, int type, + int nrow, int ncol) { - LAMMPS *lmp = (LAMMPS *) ptr; + LAMMPS *lmp = (LAMMPS *) handle; BEGIN_CAPTURE { @@ -566,38 +1562,52 @@ void *lammps_extract_fix(void *ptr, char *id, int style, int type, if (ifix < 0) return NULL; Fix *fix = lmp->modify->fix[ifix]; - if (style == 0) { - if (type == 0) { + if (style == LMP_STYLE_GLOBAL) { + if (type == LMP_TYPE_SCALAR) { if (!fix->scalar_flag) return NULL; double *dptr = (double *) malloc(sizeof(double)); *dptr = fix->compute_scalar(); return (void *) dptr; } - if (type == 1) { + if (type == LMP_TYPE_VECTOR) { if (!fix->vector_flag) return NULL; double *dptr = (double *) malloc(sizeof(double)); - *dptr = fix->compute_vector(i); + *dptr = fix->compute_vector(nrow); return (void *) dptr; } - if (type == 2) { + if (type == LMP_TYPE_ARRAY) { if (!fix->array_flag) return NULL; double *dptr = (double *) malloc(sizeof(double)); - *dptr = fix->compute_array(i,j); + *dptr = fix->compute_array(nrow,ncol); return (void *) dptr; } + if (type == LMP_SIZE_VECTOR) { + if (!fix->vector_flag) return NULL; + return (void *) &fix->size_vector; + } + if ((type == LMP_SIZE_ROWS) || (type == LMP_SIZE_COLS)) { + if (!fix->array_flag) return NULL; + if (type == LMP_SIZE_ROWS) + return (void *) &fix->size_array_rows; + else + return (void *) &fix->size_array_cols; + } } - if (style == 1) { + if (style == LMP_STYLE_ATOM) { if (!fix->peratom_flag) return NULL; - if (type == 1) return (void *) fix->vector_atom; - if (type == 2) return (void *) fix->array_atom; + if (type == LMP_TYPE_VECTOR) return (void *) fix->vector_atom; + if (type == LMP_TYPE_ARRAY) return (void *) fix->array_atom; + if (type == LMP_SIZE_COLS) return (void *) &fix->size_peratom_cols; } - if (style == 2) { + if (style == LMP_STYLE_LOCAL) { if (!fix->local_flag) return NULL; - if (type == 0) return (void *) &fix->size_local_rows; - if (type == 1) return (void *) fix->vector_local; - if (type == 2) return (void *) fix->array_local; + if (type == LMP_TYPE_SCALAR) return (void *) &fix->size_local_rows; + if (type == LMP_TYPE_VECTOR) return (void *) fix->vector_local; + if (type == LMP_TYPE_ARRAY) return (void *) fix->array_local; + if (type == LMP_SIZE_ROWS) return (void *) &fix->size_local_rows; + if (type == LMP_SIZE_COLS) return (void *) &fix->size_local_cols; } } END_CAPTURE @@ -605,36 +1615,63 @@ void *lammps_extract_fix(void *ptr, char *id, int style, int type, return NULL; } -/* ---------------------------------------------------------------------- - extract a pointer to an internal LAMMPS evaluated variable - name = variable name, must be equal-style or atom-style variable - group = group ID for evaluating an atom-style variable, else NULL - for equal-style variable, returns a pointer to a memory location - which is allocated by this function - which the caller can cast to a (double *) which points to the value - for atom-style variable, returns a pointer to the - vector of per-atom values on each processor, - which the caller can cast to a (double *) which points to the values - returns a NULL if name is not recognized or not equal-style or atom-style - IMPORTANT: for both equal-style and atom-style variables, - this function allocates memory to store the variable data in - so the caller must free this memory to avoid a leak - e.g. for equal-style variables - double *dptr = (double *) lammps_extract_variable(); - double value = *dptr; - lammps_free(dptr); - e.g. for atom-style variables - double *vector = (double *) lammps_extract_variable(); - use the vector values - lammps_free(vector); - IMPORTANT: LAMMPS cannot easily check here when it is valid to evaluate - the variable or any fixes or computes or thermodynamic info it references, - so caller must insure that it is OK -------------------------------------------------------------------------- */ +/* ---------------------------------------------------------------------- */ + +/** Get pointer to data from a LAMMPS variable. + * +\verbatim embed:rst + +This function returns a pointer to data from a LAMMPS :doc:`variable` +identified by its name. The variable must be either an *equal*\ -style +compatible or an *atom*\ -style variable. Variables of style *internal* +are compatible with *equal*\ -style variables and so are *python*\ +-style variables, if they return a numeric value. The function returns +``NULL`` when a variable of the provided *name* is not found or of an +incompatible style. The *group* argument is only used for *atom*\ +-style variables and ignored otherwise. If set to ``NULL`` when +extracting data from and *atom*\ -style variable, the group is assumed +to be "all". + +.. note:: + + When requesting data from an *equal*\ -style or compatible variable + this function allocates storage for a single double value, copies the + returned value to it, and returns a pointer to the location of the + copy. Therefore the allocated storage needs to be freed after its + use to avoid a memory leak. Example: -void *lammps_extract_variable(void *ptr, char *name, char *group) + .. code-block:: c + + double *dptr = (double *) lammps_extract_variable(handle,name,NULL); + double value = *dptr; + lammps_free((void *)dptr); + + For *atom*\ -style variables the data returned is a pointer to an + allocated block of storage of double of the length ``atom->nlocal``. + To avoid a memory leak, also this pointer needs to be freed after use. + +Since the data is returned as copies, the location will persist, but its +values will not be updated, in case the variable is re-evaluated. + +.. note:: + + LAMMPS cannot easily check if it is valid to access the data + referenced by the variables, e.g. computes or fixes or thermodynamic + info, so it may fail with an error. The caller has to make certain, + that the data is extracted only when it safe to evaluate the variable + and thus an error and crash is avoided. + +\endverbatim + * + * \param handle pointer to a previously created LAMMPS instance + * \param name name of the variable + * \param group group-ID for atom style variable or ``NULL`` + * \return pointer (cast to ``void *``) to the location of the + * requested data or ``NULL`` if not found. */ + +void *lammps_extract_variable(void *handle, char *name, char *group) { - LAMMPS *lmp = (LAMMPS *) ptr; + LAMMPS *lmp = (LAMMPS *) handle; BEGIN_CAPTURE { @@ -648,6 +1685,7 @@ void *lammps_extract_variable(void *ptr, char *name, char *group) } if (lmp->input->variable->atomstyle(ivar)) { + if (group == NULL) group = (char *)"all"; int igroup = lmp->group->find(group); if (igroup < 0) return NULL; int nlocal = lmp->atom->nlocal; @@ -661,51 +1699,22 @@ void *lammps_extract_variable(void *ptr, char *name, char *group) return NULL; } -/* ---------------------------------------------------------------------- - return the current value of a thermo keyword as a double - unlike lammps_extract_global() this does not give access to the - storage of the data in question - instead it triggers the Thermo class to compute the current value - and returns it -------------------------------------------------------------------------- */ - -double lammps_get_thermo(void *ptr, char *name) -{ - LAMMPS *lmp = (LAMMPS *) ptr; - double dval = 0.0; - - BEGIN_CAPTURE - { - lmp->output->thermo->evaluate_keyword(name,&dval); - } - END_CAPTURE - - return dval; -} - -/* ---------------------------------------------------------------------- - return the total number of atoms in the system - useful before call to lammps_get_atoms() so can pre-allocate vector -------------------------------------------------------------------------- */ - -int lammps_get_natoms(void *ptr) -{ - LAMMPS *lmp = (LAMMPS *) ptr; - - if (lmp->atom->natoms > MAXSMALLINT) return 0; - int natoms = static_cast (lmp->atom->natoms); - return natoms; -} - -/* ---------------------------------------------------------------------- - set the value of a STRING variable to str - return -1 if variable doesn't exist or not a STRING variable - return 0 for success -------------------------------------------------------------------------- */ +/* ---------------------------------------------------------------------- */ -int lammps_set_variable(void *ptr, char *name, char *str) +/** Set the value of a string-style variable. + * + * This function assigns a new value from the string str to the + * string-style variable name. Returns -1 if a variable of that + * name does not exist or is not a string-style variable, otherwise 0. + * + * \param handle pointer to a previously created LAMMPS instance + * \param name name of the variable + * \param str new value of the variable + * \return 0 on success or -1 on failure + */ +int lammps_set_variable(void *handle, char *name, char *str) { - LAMMPS *lmp = (LAMMPS *) ptr; + LAMMPS *lmp = (LAMMPS *) handle; int err = -1; BEGIN_CAPTURE @@ -717,33 +1726,9 @@ int lammps_set_variable(void *ptr, char *name, char *str) return err; } -/* ---------------------------------------------------------------------- - reset simulation box parameters - see domain.h for definition of these arguments - assumes domain->set_initial_box() has been invoked previously -------------------------------------------------------------------------- */ - -void lammps_reset_box(void *ptr, double *boxlo, double *boxhi, - double xy, double yz, double xz) -{ - LAMMPS *lmp = (LAMMPS *) ptr; - Domain *domain = lmp->domain; - - domain->boxlo[0] = boxlo[0]; - domain->boxlo[1] = boxlo[1]; - domain->boxlo[2] = boxlo[2]; - domain->boxhi[0] = boxhi[0]; - domain->boxhi[1] = boxhi[1]; - domain->boxhi[2] = boxhi[2]; - - domain->xy = xy; - domain->yz = yz; - domain->xz = xz; - - domain->set_global_box(); - lmp->comm->set_proc_grid(); - domain->set_local_box(); -} +// ---------------------------------------------------------------------- +// Library functions for scatter/gather operations of data +// ---------------------------------------------------------------------- /* ---------------------------------------------------------------------- gather the named atom-based entity for all atoms @@ -767,10 +1752,10 @@ void lammps_reset_box(void *ptr, double *boxlo, double *boxhi, ------------------------------------------------------------------------- */ #if defined(LAMMPS_BIGBIG) -void lammps_gather_atoms(void *ptr, char * /*name */, +void lammps_gather_atoms(void *handle, char * /*name */, int /*type*/, int /*count*/, void * /*data*/) { - LAMMPS *lmp = (LAMMPS *) ptr; + LAMMPS *lmp = (LAMMPS *) handle; BEGIN_CAPTURE { @@ -780,10 +1765,10 @@ void lammps_gather_atoms(void *ptr, char * /*name */, END_CAPTURE } #else -void lammps_gather_atoms(void *ptr, char *name, +void lammps_gather_atoms(void *handle, char *name, int type, int count, void *data) { - LAMMPS *lmp = (LAMMPS *) ptr; + LAMMPS *lmp = (LAMMPS *) handle; BEGIN_CAPTURE { @@ -908,10 +1893,10 @@ void lammps_gather_atoms(void *ptr, char *name, ------------------------------------------------------------------------- */ #if defined(LAMMPS_BIGBIG) -void lammps_gather_atoms_concat(void *ptr, char * /*name */, +void lammps_gather_atoms_concat(void *handle, char * /*name */, int /*type*/, int /*count*/, void * /*data*/) { - LAMMPS *lmp = (LAMMPS *) ptr; + LAMMPS *lmp = (LAMMPS *) handle; BEGIN_CAPTURE { @@ -921,10 +1906,10 @@ void lammps_gather_atoms_concat(void *ptr, char * /*name */, END_CAPTURE } #else -void lammps_gather_atoms_concat(void *ptr, char *name, +void lammps_gather_atoms_concat(void *handle, char *name, int type, int count, void *data) { - LAMMPS *lmp = (LAMMPS *) ptr; + LAMMPS *lmp = (LAMMPS *) handle; BEGIN_CAPTURE { @@ -1067,11 +2052,11 @@ void lammps_gather_atoms_concat(void *ptr, char *name, ------------------------------------------------------------------------- */ #if defined(LAMMPS_BIGBIG) -void lammps_gather_atoms_subset(void *ptr, char * /*name */, +void lammps_gather_atoms_subset(void *handle, char * /*name */, int /*type*/, int /*count*/, int /*ndata*/, int * /*ids*/, void * /*data*/) { - LAMMPS *lmp = (LAMMPS *) ptr; + LAMMPS *lmp = (LAMMPS *) handle; BEGIN_CAPTURE { @@ -1081,11 +2066,11 @@ void lammps_gather_atoms_subset(void *ptr, char * /*name */, END_CAPTURE } #else -void lammps_gather_atoms_subset(void *ptr, char *name, +void lammps_gather_atoms_subset(void *handle, char *name, int type, int count, int ndata, int *ids, void *data) { - LAMMPS *lmp = (LAMMPS *) ptr; + LAMMPS *lmp = (LAMMPS *) handle; BEGIN_CAPTURE { @@ -1217,10 +2202,10 @@ void lammps_gather_atoms_subset(void *ptr, char *name, ------------------------------------------------------------------------- */ #if defined(LAMMPS_BIGBIG) -void lammps_scatter_atoms(void *ptr, char * /*name */, +void lammps_scatter_atoms(void *handle, char * /*name */, int /*type*/, int /*count*/, void * /*data*/) { - LAMMPS *lmp = (LAMMPS *) ptr; + LAMMPS *lmp = (LAMMPS *) handle; BEGIN_CAPTURE { @@ -1230,10 +2215,10 @@ void lammps_scatter_atoms(void *ptr, char * /*name */, END_CAPTURE } #else -void lammps_scatter_atoms(void *ptr, char *name, +void lammps_scatter_atoms(void *handle, char *name, int type, int count, void *data) { - LAMMPS *lmp = (LAMMPS *) ptr; + LAMMPS *lmp = (LAMMPS *) handle; BEGIN_CAPTURE { @@ -1345,11 +2330,11 @@ void lammps_scatter_atoms(void *ptr, char *name, ------------------------------------------------------------------------- */ #if defined(LAMMPS_BIGBIG) -void lammps_scatter_atoms_subset(void *ptr, char * /*name */, +void lammps_scatter_atoms_subset(void *handle, char * /*name */, int /*type*/, int /*count*/, int /*ndata*/, int * /*ids*/, void * /*data*/) { - LAMMPS *lmp = (LAMMPS *) ptr; + LAMMPS *lmp = (LAMMPS *) handle; BEGIN_CAPTURE { @@ -1359,11 +2344,11 @@ void lammps_scatter_atoms_subset(void *ptr, char * /*name */, END_CAPTURE } #else -void lammps_scatter_atoms_subset(void *ptr, char *name, +void lammps_scatter_atoms_subset(void *handle, char *name, int type, int count, int ndata, int *ids, void *data) { - LAMMPS *lmp = (LAMMPS *) ptr; + LAMMPS *lmp = (LAMMPS *) handle; BEGIN_CAPTURE { @@ -1464,116 +2449,66 @@ void lammps_scatter_atoms_subset(void *ptr, char *name, #endif /* ---------------------------------------------------------------------- - create N atoms and assign them to procs based on coords - id = atom IDs (optional, NULL will generate 1 to N) - type = N-length vector of atom types (required) - x = 3N-length 1d vector of atom coords (required) - v = 3N-length 1d vector of atom velocities (optional, NULL if just 0.0) - image flags can be treated in two ways: - (a) image = vector of current image flags - each atom will be remapped into periodic box by domain->ownatom() - image flag will be incremented accordingly and stored with atom - (b) image = NULL - each atom will be remapped into periodic box by domain->ownatom() - image flag will be set to 0 by atom->avec->create_atom() - shrinkexceed = 1 allows atoms to be outside a shrinkwrapped boundary - passed to ownatom() which will assign them to boundary proc - important if atoms may be (slightly) outside non-periodic dim - e.g. due to restoring a snapshot from a previous run and previous box - id and image must be 32-bit integers - x,v = ordered by xyz, then by atom - e.g. x[0][0],x[0][1],x[0][2],x[1][0],x[1][1],x[1][2],x[2][0],... + find fix external with given ID and set the callback function + and caller pointer ------------------------------------------------------------------------- */ -void lammps_create_atoms(void *ptr, int n, tagint *id, int *type, - double *x, double *v, imageint *image, - int shrinkexceed) +void lammps_set_fix_external_callback(void *handle, char *id, FixExternalFnPtr callback_ptr, void * caller) { - LAMMPS *lmp = (LAMMPS *) ptr; + LAMMPS *lmp = (LAMMPS *) handle; + FixExternal::FnPtr callback = (FixExternal::FnPtr) callback_ptr; BEGIN_CAPTURE { - // error if box does not exist or tags not defined - - int flag = 0; - if (lmp->domain->box_exist == 0) flag = 1; - if (lmp->atom->tag_enable == 0) flag = 1; - if (flag) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"Library error in lammps_create_atoms"); - return; + int ifix = lmp->modify->find_fix(id); + if (ifix < 0) { + char str[128]; + snprintf(str, 128, "Can not find fix with ID '%s'!", id); + lmp->error->all(FLERR,str); } - // loop over N atoms of entire system - // if this proc owns it based on coords, invoke create_atom() - // optionally set atom tags and velocities - - Atom *atom = lmp->atom; - Domain *domain = lmp->domain; - int nlocal = atom->nlocal; - - bigint natoms_prev = atom->natoms; - int nlocal_prev = nlocal; - double xdata[3]; - - for (int i = 0; i < n; i++) { - xdata[0] = x[3*i]; - xdata[1] = x[3*i+1]; - xdata[2] = x[3*i+2]; - imageint * img = image ? &image[i] : NULL; - tagint tag = id ? id[i] : -1; - if (!domain->ownatom(tag, xdata, img, shrinkexceed)) continue; + Fix *fix = lmp->modify->fix[ifix]; - atom->avec->create_atom(type[i],xdata); - if (id) atom->tag[nlocal] = id[i]; - else atom->tag[nlocal] = i+1; - if (v) { - atom->v[nlocal][0] = v[3*i]; - atom->v[nlocal][1] = v[3*i+1]; - atom->v[nlocal][2] = v[3*i+2]; - } - if (image) atom->image[nlocal] = image[i]; - nlocal++; + if (strcmp("external",fix->style) != 0){ + char str[128]; + snprintf(str, 128, "Fix '%s' is not of style external!", id); + lmp->error->all(FLERR,str); } - // need to reset atom->natoms inside LAMMPS - - bigint ncurrent = nlocal; - MPI_Allreduce(&ncurrent,&lmp->atom->natoms,1,MPI_LMP_BIGINT, - MPI_SUM,lmp->world); - - // init per-atom fix/compute/variable values for created atoms + FixExternal * fext = (FixExternal*) fix; + fext->set_callback(callback, caller); + } + END_CAPTURE +} - atom->data_fix_compute_variable(nlocal_prev,nlocal); +/* set global energy contribution from fix external */ +void lammps_fix_external_set_energy_global(void *handle, char *id, + double energy) +{ + LAMMPS *lmp = (LAMMPS *) handle; - // if global map exists, reset it - // invoke map_init() b/c atom count has grown + BEGIN_CAPTURE + { + int ifix = lmp->modify->find_fix(id); + if (ifix < 0) + lmp->error->all(FLERR,fmt::format("Can not find fix with ID '{}'!", id)); - if (lmp->atom->map_style) { - lmp->atom->map_init(); - lmp->atom->map_set(); - } + Fix *fix = lmp->modify->fix[ifix]; - // warn if new natoms is not correct + if (strcmp("external",fix->style) != 0) + lmp->error->all(FLERR,fmt::format("Fix '{}' is not of style external!", id)); - if ((lmp->atom->natoms != natoms_prev + n) && (lmp->comm->me == 0)) - lmp->error->warning(FLERR,fmt::format("Library warning in " - "lammps_create_atoms: " - "invalid total atoms {} vs. {}", - lmp->atom->natoms,natoms_prev+n)); + FixExternal * fext = (FixExternal*) fix; + fext->set_energy_global(energy); } END_CAPTURE } -/* ---------------------------------------------------------------------- - find fix external with given ID and set the callback function - and caller pointer -------------------------------------------------------------------------- */ - -void lammps_set_fix_external_callback(void *ptr, char *id, FixExternalFnPtr callback_ptr, void * caller) +/* set global virial contribution from fix external */ +void lammps_fix_external_set_virial_global(void *handle, char *id, + double *virial) { - LAMMPS *lmp = (LAMMPS *) ptr; - FixExternal::FnPtr callback = (FixExternal::FnPtr) callback_ptr; + LAMMPS *lmp = (LAMMPS *) handle; BEGIN_CAPTURE { @@ -1587,20 +2522,40 @@ void lammps_set_fix_external_callback(void *ptr, char *id, FixExternalFnPtr call lmp->error->all(FLERR,fmt::format("Fix '{}' is not of style external!", id)); FixExternal * fext = (FixExternal*) fix; - fext->set_callback(callback, caller); + fext->set_virial_global(virial); } END_CAPTURE } - // ---------------------------------------------------------------------- -// library API functions for accessing LAMMPS configuration +// Library functions for accessing LAMMPS configuration // ---------------------------------------------------------------------- -int lammps_config_has_package(char * package_name) { - return Info::has_package(package_name); +/** Check if a specific package has been included in LAMMPS + * +\verbatim embed:rst +This function checks if the LAMMPS library in use includes the +specific :doc:`LAMMPS package ` provided as argument. +\endverbatim + * + * \param name string with the name of the package + * \return 1 if included, 0 if not. + */ +int lammps_config_has_package(char * name) { + return Info::has_package(name) ? 1 : 0; } +/* ---------------------------------------------------------------------- */ + +/** Count the number of installed packages in the LAMMPS library. + * +\verbatim embed:rst +This function counts how many :doc:`LAMMPS packages ` are +included in the LAMMPS library in use. +\endverbatim + * + * \return number of packages included + */ int lammps_config_package_count() { int i = 0; while(LAMMPS::installed_packages[i] != NULL) { @@ -1609,105 +2564,222 @@ int lammps_config_package_count() { return i; } -int lammps_config_package_name(int index, char * buffer, int max_size) { - int i = 0; - while(LAMMPS::installed_packages[i] != NULL && i < index) { - ++i; - } +/* ---------------------------------------------------------------------- */ - if(LAMMPS::installed_packages[i] != NULL) { - strncpy(buffer, LAMMPS::installed_packages[i], max_size); - return true; +/** Get the name of a package in the list of installed packages in the LAMMPS library. + * +\verbatim embed:rst +This function copies the name of the package with the index *idx* into the +provided C-style string buffer. The length of the buffer must be provided +as *buf_size* argument. If the name of the package exceeds the length of the +buffer, it will be truncated accordingly. If the index is out of range, +the function returns 0 and *buffer* is set to an empty string, otherwise 1; +\endverbatim + * + * \param idx index of the package in the list of included packages (0 <= idx < package count) + * \param buffer string buffer to copy the name of the package to + * \param buf_size size of the provided string buffer + * \return 1 if successful, otherwise 0 + */ +int lammps_config_package_name(int idx, char * buffer, int buf_size) { + int maxidx = lammps_config_package_count(); + if ((idx < 0) || (idx >= maxidx)) { + buffer[0] = '\0'; + return 0; } - return false; + strncpy(buffer, LAMMPS::installed_packages[idx], buf_size); + return 1; } -int lammps_has_style(void * ptr, char * category, char * name) { - LAMMPS *lmp = (LAMMPS *) ptr; +/* ---------------------------------------------------------------------- */ + +/** Check if a specific style has been included in LAMMPS + * +\verbatim embed:rst +This function checks if the LAMMPS library in use includes the +specific *style* of a specific *category* provided as an argument. +Valid categories are: *atom*\ , *integrate*\ , *minimize*\ , +*pair*\ , *bond*\ , *angle*\ , *dihedral*\ , *improper*\ , *kspace*\ , +*compute*\ , *fix*\ , *region*\ , *dump*\ , and *command*\ . +\endverbatim + * + * \param handle pointer to a previously created LAMMPS instance cast to ``void *``. + * \param category category of the style + * \param name name of the style + * \return 1 if included, 0 if not. + */ +int lammps_has_style(void * handle, char * category, char * name) { + LAMMPS *lmp = (LAMMPS *) handle; Info info(lmp); - return info.has_style(category, name); + return info.has_style(category, name) ? 0 : 1; } -int lammps_style_count(void * ptr, char * category) { - LAMMPS *lmp = (LAMMPS *) ptr; +/* ---------------------------------------------------------------------- */ + +/** Count the number of styles of category in the LAMMPS library. + * +\verbatim embed:rst +This function counts how many styles in the provided *category* +are included in the LAMMPS library in use. +Please see :cpp:func:`lammps_has_style` for a list of valid +categories. +\endverbatim + * + * \param handle pointer to a previously created LAMMPS instance cast to ``void *``. + * \param category category of styles + * \return number of styles in category + */ +int lammps_style_count(void * handle, char * category) { + LAMMPS *lmp = (LAMMPS *) handle; Info info(lmp); return info.get_available_styles(category).size(); } -int lammps_style_name(void* ptr, char * category, int index, char * buffer, int max_size) { - LAMMPS *lmp = (LAMMPS *) ptr; +/* ---------------------------------------------------------------------- */ + +/** Look up the name of a style by index in the list of style of a given category in the LAMMPS library. + * +\verbatim embed:rst +This function copies the name of the package with the index *idx* into the +provided C-style string buffer. The length of the buffer must be provided +as *buf_size* argument. If the name of the package exceeds the length of the +buffer, it will be truncated accordingly. If the index is out of range, +the function returns 0 and *buffer* is set to an empty string, otherwise 1. +Please see :cpp:func:`lammps_has_style` for a list of valid categories. +\endverbatim + * + * \param handle pointer to a previously created LAMMPS instance cast to ``void *``. + * \param category category of styles + * \param idx index of the package in the list of included packages (0 <= idx < style count) + * \param buffer string buffer to copy the name of the style to + * \param buf_size size of the provided string buffer + * \return 1 if successful, otherwise 0 + */ +int lammps_style_name(void* handle, char * category, int idx, char * buffer, int buf_size) { + LAMMPS *lmp = (LAMMPS *) handle; Info info(lmp); auto styles = info.get_available_styles(category); - if (index < (int)styles.size()) { - strncpy(buffer, styles[index].c_str(), max_size); - return true; + if ((idx >=0) && (idx < (int) styles.size())) { + strncpy(buffer, styles[idx].c_str(), buf_size); + return 1; } - return false; + buffer[0] = '\0'; + return 0; +} + +/* ---------------------------------------------------------------------- */ + +/** This function is used to query whether LAMMPS was compiled with + * a real MPI library or in serial. + * + * \return 0 when compiled with MPI STUBS, otherwise 1 */ + +int lammps_config_has_mpi_support() +{ +#ifdef MPI_STUBS + return 0; +#else + return 1; +#endif } +/* ---------------------------------------------------------------------- */ + +/** Check if the LAMMPS library supports compressed files via a pipe to gzip + +\verbatim embed:rst +Several LAMMPS commands (e.g. :doc:`read_data`, :doc:`write_data`, +:doc:`dump styles atom, custom, and xyz `) support reading and +writing compressed files via creating a pipe to the ``gzip`` program. +This function checks whether this feature was :ref:`enabled at compile +time `. It does **not** check whether the ``gzip`` itself is +installed and usable. +\endverbatim + * + * \return 1 if yes, otherwise 0 + */ int lammps_config_has_gzip_support() { - return Info::has_gzip_support(); + return Info::has_gzip_support() ? 1 : 0; } +/* ---------------------------------------------------------------------- */ + +/** Check if the LAMMPS library supports writing PNG format images + +\verbatim embed:rst +The LAMMPS :doc:`dump style image ` supports writing multiple +image file formats. Most of them need, however, support from an external +library and using that has to be :ref:`enabled at compile time `. +This function checks whether support for the `PNG image file format +`_ is available +in the current LAMMPS library. +\endverbatim + * + * \return 1 if yes, otherwise 0 + */ int lammps_config_has_png_support() { - return Info::has_png_support(); + return Info::has_png_support() ? 1 : 0; } -int lammps_config_has_jpeg_support() { - return Info::has_jpeg_support(); -} +/* ---------------------------------------------------------------------- */ -int lammps_config_has_ffmpeg_support() { - return Info::has_ffmpeg_support(); -} +/** Check if the LAMMPS library supports writing JPEG format images -int lammps_config_has_exceptions() { - return Info::has_exceptions(); +\verbatim embed:rst +The LAMMPS :doc:`dump style image ` supports writing multiple +image file formats. Most of them need, however, support from an external +library and using that has to be :ref:`enabled at compile time `. +This function checks whether support for the `JPEG image file format +`_ is available in the current LAMMPS library. +\endverbatim + * + * \return 1 if yes, otherwise 0 + */ +int lammps_config_has_jpeg_support() { + return Info::has_jpeg_support() ? 1 : 0; } -// ---------------------------------------------------------------------- -// library API functions for error handling -// ---------------------------------------------------------------------- - -#ifdef LAMMPS_EXCEPTIONS +/* ---------------------------------------------------------------------- */ -/* ---------------------------------------------------------------------- - check if a new error message -------------------------------------------------------------------------- */ +/** Check if the LAMMPS library supports creating movie files via a pipe to ffmpeg -int lammps_has_error(void *ptr) { - LAMMPS *lmp = (LAMMPS *)ptr; - Error *error = lmp->error; - return (error->get_last_error().empty()) ? 0 : 1; +\verbatim embed:rst +The LAMMPS :doc:`dump style movie ` supports generating movies +from images on-the-fly via creating a pipe to the +`ffmpeg `_ program. +This function checks whether this feature was :ref:`enabled at compile time `. +It does **not** check whether the ``ffmpeg`` itself is installed and usable. +\endverbatim + * + * \return 1 if yes, otherwise 0 + */ +int lammps_config_has_ffmpeg_support() { + return Info::has_ffmpeg_support() ? 1 : 0; } -/* ---------------------------------------------------------------------- - copy the last error message of LAMMPS into a character buffer - return value encodes which type of error: - 1 = normal error (recoverable) - 2 = abort error (non-recoverable) -------------------------------------------------------------------------- */ - -int lammps_get_last_error_message(void *ptr, char * buffer, int buffer_size) { - LAMMPS *lmp = (LAMMPS *)ptr; - Error *error = lmp->error; +/* ---------------------------------------------------------------------- */ - if(!error->get_last_error().empty()) { - int error_type = error->get_last_error_type(); - strncpy(buffer, error->get_last_error().c_str(), buffer_size-1); - error->set_last_error("", ERROR_NONE); - return error_type; - } - return 0; +/** Check whether LAMMPS errors will throw a C++ exception + * +\verbatim embed:rst +In case of errors LAMMPS will either abort or throw a C++ exception. +The latter has to be :ref:`enabled at compile time `. +This function checks if exceptions were enabled. +\endverbatim + * \return 1 if yes, otherwise 0 + */ +int lammps_config_has_exceptions() { + return Info::has_exceptions() ? 1 : 0; } -#endif +// ---------------------------------------------------------------------- +// Library functions for accessing neighbor lists +// ---------------------------------------------------------------------- -/******************************************************************************* - * Find neighbor list index of pair style neighbor list +/** Find neighbor list index of pair style neighbor list * * Try finding pair instance that matches style. If exact is set, the pair must * match style exactly. If exact is 0, style must only be contained. If pair is @@ -1718,18 +2790,18 @@ int lammps_get_last_error_message(void *ptr, char * buffer, int buffer_size) { * index. Thus, providing this request index ensures that the correct neighbor * list index is returned. * - * @param ptr Pointer to LAMMPS instance - * @param style String used to search for pair style instance - * @param exact Flag to control whether style should match exactly or only + * \param handle pointer to a previously created LAMMPS instance cast to ``void *``. + * \param style String used to search for pair style instance + * \param exact Flag to control whether style should match exactly or only * must be contained in pair style name - * @param nsub match nsub-th hybrid sub-style - * @param request request index that specifies which neighbor list should be + * \param nsub match nsub-th hybrid sub-style + * \param request request index that specifies which neighbor list should be * returned, in case there are multiple neighbor lists requests * for the found pair style - * @return return neighbor list index if found, otherwise -1 - ******************************************************************************/ -int lammps_find_pair_neighlist(void* ptr, char * style, int exact, int nsub, int request) { - LAMMPS * lmp = (LAMMPS *) ptr; + * \return return neighbor list index if found, otherwise -1 + */ +int lammps_find_pair_neighlist(void* handle, char * style, int exact, int nsub, int request) { + LAMMPS * lmp = (LAMMPS *) handle; Pair* pair = lmp->force->pair_match(style, exact, nsub); if (pair != NULL) { @@ -1746,17 +2818,18 @@ int lammps_find_pair_neighlist(void* ptr, char * style, int exact, int nsub, int return -1; } -/******************************************************************************* - * Find neighbor list index of fix neighbor list +/* ---------------------------------------------------------------------- */ + +/** Find neighbor list index of fix neighbor list * - * @param ptr Pointer to LAMMPS instance - * @param id Identifier of fix instance - * @param request request index that specifies which request should be returned, + * \param handle pointer to a previously created LAMMPS instance cast to ``void *``. + * \param id Identifier of fix instance + * \param request request index that specifies which request should be returned, * in case there are multiple neighbor lists for this fix - * @return return neighbor list index if found, otherwise -1 - ******************************************************************************/ -int lammps_find_fix_neighlist(void* ptr, char * id, int request) { - LAMMPS * lmp = (LAMMPS *) ptr; + * \return return neighbor list index if found, otherwise -1 + */ +int lammps_find_fix_neighlist(void* handle, char * id, int request) { + LAMMPS * lmp = (LAMMPS *) handle; Fix* fix = NULL; const int nfix = lmp->modify->nfix; @@ -1782,17 +2855,18 @@ int lammps_find_fix_neighlist(void* ptr, char * id, int request) { return -1; } -/******************************************************************************* - * Find neighbor list index of compute neighbor list +/* ---------------------------------------------------------------------- */ + +/** Find neighbor list index of compute neighbor list * - * @param ptr Pointer to LAMMPS instance - * @param id Identifier of fix instance - * @param request request index that specifies which request should be returned, + * \param handle pointer to a previously created LAMMPS instance cast to ``void *``. + * \param id Identifier of fix instance + * \param request request index that specifies which request should be returned, * in case there are multiple neighbor lists for this fix - * @return return neighbor list index if found, otherwise -1 - ******************************************************************************/ -int lammps_find_compute_neighlist(void* ptr, char * id, int request) { - LAMMPS * lmp = (LAMMPS *) ptr; + * \return return neighbor list index if found, otherwise -1 + */ +int lammps_find_compute_neighlist(void* handle, char * id, int request) { + LAMMPS * lmp = (LAMMPS *) handle; Compute* compute = NULL; const int ncompute = lmp->modify->ncompute; @@ -1818,16 +2892,17 @@ int lammps_find_compute_neighlist(void* ptr, char * id, int request) { return -1; } -/******************************************************************************* - * Return the number of entries in the neighbor list with given index +/* ---------------------------------------------------------------------- */ + +/** Return the number of entries in the neighbor list with given index * - * @param ptr Pointer to LAMMPS instance - * @param idx neighbor list index - * @return return number of entries in neighbor list, -1 if idx is + * \param handle pointer to a previously created LAMMPS instance cast to ``void *``. + * \param idx neighbor list index + * \return return number of entries in neighbor list, -1 if idx is * not a valid index - ******************************************************************************/ -int lammps_neighlist_num_elements(void * ptr, int idx) { - LAMMPS * lmp = (LAMMPS *) ptr; + */ +int lammps_neighlist_num_elements(void * handle, int idx) { + LAMMPS * lmp = (LAMMPS *) handle; Neighbor * neighbor = lmp->neighbor; if(idx < 0 || idx >= neighbor->nlist) { @@ -1838,21 +2913,22 @@ int lammps_neighlist_num_elements(void * ptr, int idx) { return list->inum; } -/******************************************************************************* - * Return atom local index, number of neighbors, and array of neighbor local +/* ---------------------------------------------------------------------- */ + +/** Return atom local index, number of neighbors, and array of neighbor local * atom indices of neighbor list entry * - * @param ptr Pointer to LAMMPS instance - * @param idx neighbor list index - * @param element neighbor list element index - * @param[out] iatom atom local index in range [0, nlocal + nghost), -1 if - invalid idx or element index - * @param[out] numneigh number of neighbors of atom i or 0 - * @param[out] neighbors pointer to array of neighbor atom local indices or + * \param handle pointer to a previously created LAMMPS instance cast to ``void *``. + * \param idx index of this neighbor list in the list of all neighbor lists + * \param element index of this neighbor list entry + * \param[out] iatom local atom index (i.e. in the range [0, nlocal + nghost), -1 if + invalid idx or element value + * \param[out] numneigh number of neighbors of atom iatom or 0 + * \param[out] neighbors pointer to array of neighbor atom local indices or * NULL - ******************************************************************************/ -void lammps_neighlist_element_neighbors(void * ptr, int idx, int element, int * iatom, int * numneigh, int ** neighbors) { - LAMMPS * lmp = (LAMMPS *) ptr; + */ +void lammps_neighlist_element_neighbors(void * handle, int idx, int element, int * iatom, int * numneigh, int ** neighbors) { + LAMMPS * lmp = (LAMMPS *) handle; Neighbor * neighbor = lmp->neighbor; *iatom = -1; *numneigh = 0; @@ -1873,3 +2949,154 @@ void lammps_neighlist_element_neighbors(void * ptr, int idx, int element, int * *numneigh = list->numneigh[i]; *neighbors = list->firstneigh[i]; } + +// ---------------------------------------------------------------------- +// utility functions +// ---------------------------------------------------------------------- + +/** Encode three integer image flags into a single imageint. + * +\verbatim embed:rst + +The prototype for this function when compiling with ``-DLAMMPS_BIGBIG`` +is: + +.. code-block:: c + + int64_t lammps_encode_image_flags(int ix, int iy, int iz); + +This function performs the bit-shift, addition, and bit-wise OR +operations necessary to combine the values of three integers +representing the image flags in x-, y-, and z-direction. Unless +LAMMPS is compiled with -DLAMMPS_BIGBIG, those integers are +limited 10-bit signed integers [-512, 511]. Otherwise the return +type changes from ``int`` to ``int64_t`` and the valid range for +the individual image flags becomes [-1048576,1048575], +i.e. that of a 21-bit signed integer. There is no check on whether +the arguments conform to these requirements. + +\endverbatim + * + * \param ix image flag value in x + * \param iy image flag value in y + * \param iz image flag value in z + * \return encoded image flag integer */ + +imageint lammps_encode_image_flags(int ix, int iy, int iz) +{ + imageint image = ((imageint) (ix + IMGMAX) & IMGMASK) | + (((imageint) (iy + IMGMAX) & IMGMASK) << IMGBITS) | + (((imageint) (iz + IMGMAX) & IMGMASK) << IMG2BITS); + return image; +} + +/* ---------------------------------------------------------------------- */ + +/** Decode a single image flag integer into three regular integers + * +\verbatim embed:rst + +The prototype for this function when compiling with ``-DLAMMPS_BIGBIG`` +is: + +.. code-block:: c + + void lammps_decode_image_flags(int64_t image, int *flags); + +This function does the reverse operation of +:cpp:func:`lammps_encode_image_flags` and takes an image flag integer +does the bit-shift and bit-masking operations to decode it and stores +the resulting three regular integers into the buffer pointed to by +*flags*. + +\endverbatim + * + * \param image encoded image flag integer + * \param flags pointer to storage where the decoded image flags are stored. */ + +void lammps_decode_image_flags(imageint image, int *flags) +{ + flags[0] = (image & IMGMASK) - IMGMAX; + flags[1] = (image >> IMGBITS & IMGMASK) - IMGMAX; + flags[2] = (image >> IMG2BITS) - IMGMAX; +} + +// ---------------------------------------------------------------------- +// Library functions for error handling with exceptions enabled +// ---------------------------------------------------------------------- + +/** Check if there is a (new) error message available + +\verbatim embed:rst +This function can be used to query if an error inside of LAMMPS +has thrown a :ref:`C++ exception `. + +.. note: + + This function will always report "no error" when the LAMMPS library + has been compiled without ``-DLAMMPS_EXCEPTIONS`` which turns fatal + errors aborting LAMMPS into a C++ exceptions. You can use the library + function :cpp:func:`lammps_config_has_exceptions` to check if this is + the case. +\endverbatim + * + * \param handle pointer to a previously created LAMMPS instance cast to ``void *``. + * \return 0 on no error, 1 on error. + */ +int lammps_has_error(void *handle) { +#ifdef LAMMPS_EXCEPTIONS + LAMMPS * lmp = (LAMMPS *) handle; + Error * error = lmp->error; + return (error->get_last_error().empty()) ? 0 : 1; +#else + return 0; +#endif +} + +/* ---------------------------------------------------------------------- */ + +/** Copy the last error message into the provided buffer + +\verbatim embed:rst +This function can be used to retrieve the error message that was set +in the event of an error inside of LAMMPS which resulted in a +:ref:`C++ exception `. A suitable buffer for a C-style +string has to be provided and its length. If the internally stored +error message is longer, it will be truncated accordingly. The return +value of the function corresponds to the kind of error: a "1" indicates +an error that occurred on all MPI ranks and is often recoverable, while +a "2" indicates an abort that would happen only in a single MPI rank +and thus may not be recoverable as other MPI ranks may be waiting on +the failing MPI ranks to send messages. + +.. note: + + This function will do nothing when the LAMMPS library has been + compiled without ``-DLAMMPS_EXCEPTIONS`` which turns errors aborting + LAMMPS into a C++ exceptions. You can use the library function + :cpp:func:`lammps_config_has_exceptions` to check if this is the case. +\endverbatim + * + * \param handle pointer to a previously created LAMMPS instance cast to ``void *``. + * \param buffer string buffer to copy the error message to + * \param buf_size size of the provided string buffer + * \return 1 when all ranks had the error, 1 on a single rank error. + */ +int lammps_get_last_error_message(void *handle, char * buffer, int buf_size) { +#ifdef LAMMPS_EXCEPTIONS + LAMMPS * lmp = (LAMMPS *) handle; + Error * error = lmp->error; + + if(!error->get_last_error().empty()) { + int error_type = error->get_last_error_type(); + strncpy(buffer, error->get_last_error().c_str(), buf_size-1); + error->set_last_error("", ERROR_NONE); + return error_type; + } +#endif + return 0; +} + +// Local Variables: +// fill-column: 72 +// End: diff --git a/src/library.h b/src/library.h index d078474454b44a1acb43d3059e45464762ebc08e..65147295f55c579d5ddeb12c01ce11e28f68a5d6 100644 --- a/src/library.h +++ b/src/library.h @@ -1,4 +1,4 @@ -/* -*- c++ -*- ---------------------------------------------------------- +/* -*- c -*- ------------------------------------------------------------ LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov @@ -14,54 +14,123 @@ #ifndef LAMMPS_LIBRARY_H #define LAMMPS_LIBRARY_H -/* - C or Fortran style library interface to LAMMPS - new LAMMPS-specific functions can be added -*/ +/* C style library interface to LAMMPS which allows to create and + * control instances of the LAMMPS C++ class and exchange data with it. + * The C bindings are the basis for the Python and Fortran modules. + * + * If needed, new LAMMPS-specific functions can be added to expose + * additional LAMMPS functionality to this library interface. */ + +/* We follow the behavior of regular LAMMPS compilation and assume + * -DLAMMPS_SMALLBIG when no define is set. */ -/* - * Follow the behavior of regular LAMMPS compilation and assume - * -DLAMMPS_SMALLBIG when no define is set. - */ -#if !defined(LAMMPS_BIGBIG) && !defined(LAMMPS_SMALLBIG) && !defined(LAMMPS_SMALLSMALL) +#if !defined(LAMMPS_BIGBIG) \ + && !defined(LAMMPS_SMALLBIG) \ + && !defined(LAMMPS_SMALLSMALL) #define LAMMPS_SMALLBIG #endif +/* To allow including the library interface without MPI */ + +#if !defined(LAMMPS_LIB_NO_MPI) #include +#endif + #if defined(LAMMPS_BIGBIG) || defined(LAMMPS_SMALLBIG) #include /* for int64_t */ #endif -/* ifdefs allow this file to be included in a C program */ +/** Style constants for extracting data from computes and fixes. + * + * Must be kept in sync with the equivalent constants in lammps.py */ + +enum _LMP_STYLE_CONST { + LMP_STYLE_GLOBAL=0, /*!< return global data */ + LMP_STYLE_ATOM =1, /*!< return per-atom data */ + LMP_STYLE_LOCAL =2 /*!< return local data */ +}; + +/** Type and size constants for extracting data from computes and fixes. + * + * Must be kept in sync with the equivalent constants in lammps.py */ + +enum _LMP_TYPE_CONST { + LMP_TYPE_SCALAR=0, /*!< return scalar */ + LMP_TYPE_VECTOR=1, /*!< return vector */ + LMP_TYPE_ARRAY =2, /*!< return array */ + LMP_SIZE_VECTOR=3, /*!< return length of vector */ + LMP_SIZE_ROWS =4, /*!< return number of rows */ + LMP_SIZE_COLS =5 /*!< return number of columns */ +}; + +/* Ifdefs to allow this file to be included in C and C++ programs */ #ifdef __cplusplus extern "C" { #endif -void lammps_open(int, char **, MPI_Comm, void **); -void lammps_open_no_mpi(int, char **, void **); -void lammps_close(void *); -int lammps_version(void *); -void lammps_file(void *, char *); -char *lammps_command(void *, char *); -void lammps_commands_list(void *, int, char **); -void lammps_commands_string(void *, char *); -void lammps_free(void *); - -int lammps_extract_setting(void *, char *); -void *lammps_extract_global(void *, char *); -void lammps_extract_box(void *, double *, double *, - double *, double *, double *, int *, int *); -void *lammps_extract_atom(void *, char *); -void *lammps_extract_compute(void *, char *, int, int); -void *lammps_extract_fix(void *, char *, int, int, int, int); -void *lammps_extract_variable(void *, char *, char *); - -double lammps_get_thermo(void *, char *); -int lammps_get_natoms(void *); - -int lammps_set_variable(void *, char *, char *); -void lammps_reset_box(void *, double *, double *, double, double, double); +/* ---------------------------------------------------------------------- + * Library functions to create/destroy an instance of LAMMPS + * ---------------------------------------------------------------------- */ + +#if !defined(LAMMPS_LIB_NO_MPI) +void *lammps_open(int argc, char **argv, MPI_Comm comm, void **ptr); +#endif +void *lammps_open_no_mpi(int argc, char **argv, void **ptr); +void *lammps_open_fortran(int argc, char **argv, int f_comm, void **ptr); +void lammps_close(void *handle); +void lammps_mpi_init(); +void lammps_mpi_finalize(); +void lammps_free(void *ptr); + +/* ---------------------------------------------------------------------- + * Library functions to process commands + * ---------------------------------------------------------------------- */ + +void lammps_file(void *handle, const char *file); + +char *lammps_command(void *handle, const char *cmd); +void lammps_commands_list(void *handle, int ncmd, const char **cmds); +void lammps_commands_string(void *handle, const char *str); + +/* ----------------------------------------------------------------------- + * Library functions to extract info from LAMMPS or set data in LAMMPS + * ----------------------------------------------------------------------- */ + +int lammps_version(void *handle); +double lammps_get_natoms(void *handle); +double lammps_get_thermo(void *handle, char *keyword); + +void lammps_extract_box(void *handle, double *boxlo, double *boxhi, + double *xy, double *yz, double *xz, + int *pflags, int *boxflag); +void lammps_reset_box(void *handle, double *boxlo, double *boxhi, + double xy, double yz, double xz); + +int lammps_extract_setting(void *handle, char *keyword); +void *lammps_extract_global(void *handle, char *name); +void *lammps_extract_atom(void *handle, char *name); + +#if !defined(LAMMPS_BIGBIG) +int lammps_create_atoms(void *handle, int n, int *id, int *type, + double *x, double *v, int *image, int bexpand); +#else +int lammps_create_atoms(void *handle, int n, int64_t *id, int *type, + double *x, double *v, int64_t* image, int bexpand); +#endif + +/* ---------------------------------------------------------------------- + * Library functions to access data from computes, fixes, variables in LAMMPS + * ---------------------------------------------------------------------- */ + +void *lammps_extract_compute(void *handle, char *id, int, int); +void *lammps_extract_fix(void *handle, char *, int, int, int, int); +void *lammps_extract_variable(void *handle, char *, char *); +int lammps_set_variable(void *, char *, char *); + +/* ---------------------------------------------------------------------- + * Library functions for scatter/gather operations of data + * ---------------------------------------------------------------------- */ void lammps_gather_atoms(void *, char *, int, int, void *); void lammps_gather_atoms_concat(void *, char *, int, int, void *); @@ -69,59 +138,68 @@ void lammps_gather_atoms_subset(void *, char *, int, int, int, int *, void *); void lammps_scatter_atoms(void *, char *, int, int, void *); void lammps_scatter_atoms_subset(void *, char *, int, int, int, int *, void *); -#if defined(LAMMPS_BIGBIG) -typedef void (*FixExternalFnPtr)(void *, int64_t, int, int64_t *, double **, double **); -void lammps_set_fix_external_callback(void *, char *, FixExternalFnPtr, void*); -#elif defined(LAMMPS_SMALLBIG) -typedef void (*FixExternalFnPtr)(void *, int64_t, int, int *, double **, double **); -void lammps_set_fix_external_callback(void *, char *, FixExternalFnPtr, void*); -#else -typedef void (*FixExternalFnPtr)(void *, int, int, int *, double **, double **); -void lammps_set_fix_external_callback(void *, char *, FixExternalFnPtr, void*); -#endif +/* ---------------------------------------------------------------------- + * Library functions for retrieving configuration information + * ---------------------------------------------------------------------- */ -int lammps_config_has_package(char * package_name); +int lammps_config_has_mpi_support(); +int lammps_config_has_package(char *); int lammps_config_package_count(); -int lammps_config_package_name(int index, char * buffer, int max_size); +int lammps_config_package_name(int, char *, int); int lammps_config_has_gzip_support(); int lammps_config_has_png_support(); int lammps_config_has_jpeg_support(); int lammps_config_has_ffmpeg_support(); int lammps_config_has_exceptions(); -int lammps_has_style(void* ptr, char * category, char * name); -int lammps_style_count(void* ptr, char * category); -int lammps_style_name(void*ptr, char * category, int index, char * buffer, int max_size); +int lammps_has_style(void *, char *, char *); +int lammps_style_count(void *, char *); +int lammps_style_name(void *, char *, int, char *, int); + +/* ---------------------------------------------------------------------- + * Library functions for accessing neighbor lists + * ---------------------------------------------------------------------- */ -int lammps_find_pair_neighlist(void* ptr, char * style, int exact, int nsub, int request); -int lammps_find_fix_neighlist(void* ptr, char * id, int request); -int lammps_find_compute_neighlist(void* ptr, char * id, int request); -int lammps_neighlist_num_elements(void* ptr, int idx); -void lammps_neighlist_element_neighbors(void * ptr, int idx, int element, int * iatom, int * numneigh, int ** neighbors); +int lammps_find_pair_neighlist(void*, char *, int, int, int); +int lammps_find_fix_neighlist(void*, char *, int); +int lammps_find_compute_neighlist(void*, char *, int); +int lammps_neighlist_num_elements(void*, int); +void lammps_neighlist_element_neighbors(void *, int, int, int *, int *, int ** ); -// lammps_create_atoms() takes tagint and imageint as args -// ifdef insures they are compatible with rest of LAMMPS -// caller must match to how LAMMPS library is built +/* ---------------------------------------------------------------------- + * Utility functions + * ---------------------------------------------------------------------- */ -#ifdef LAMMPS_BIGBIG -void lammps_create_atoms(void *, int, int64_t *, int *, - double *, double *, int64_t *, int); +#if !defined(LAMMPS_BIGBIG) +int lammps_encode_image_flags(int ix, int iy, int iz); +void lammps_decode_image_flags(int image, int *flags); #else -void lammps_create_atoms(void *, int, int *, int *, - double *, double *, int *, int); +int64_t lammps_encode_image_flags(int ix, int iy, int iz); +void lammps_decode_image_flags(int64_t image, int *flags); #endif -#ifdef LAMMPS_EXCEPTIONS -int lammps_has_error(void *); -int lammps_get_last_error_message(void *, char *, int); +#if defined(LAMMPS_BIGBIG) +typedef void (*FixExternalFnPtr)(void *, int64_t, int, int64_t *, double **, double **); +void lammps_set_fix_external_callback(void *, char *, FixExternalFnPtr, void*); +#elif defined(LAMMPS_SMALLBIG) +typedef void (*FixExternalFnPtr)(void *, int64_t, int, int *, double **, double **); +void lammps_set_fix_external_callback(void *, char *, FixExternalFnPtr, void*); +#else +typedef void (*FixExternalFnPtr)(void *, int, int, int *, double **, double **); +void lammps_set_fix_external_callback(void *, char *, FixExternalFnPtr, void*); #endif +void lammps_fix_external_set_energy_global(void *, char *, double); +void lammps_fix_external_set_virial_global(void *, char *, double *); + +int lammps_has_error(void *handle); +int lammps_get_last_error_message(void *handle, char *buffer, int buf_size); -#undef LAMMPS #ifdef __cplusplus } #endif #endif /* LAMMPS_LIBRARY_H */ + /* ERROR/WARNING messages: E: Library error: issuing LAMMPS command during run @@ -172,3 +250,7 @@ W: Library warning in lammps_create_atoms, invalid total atoms %ld %ld UNDOCUMENTED */ + +/* Local Variables: + * fill-column: 72 + * End: */ diff --git a/src/lmptype.h b/src/lmptype.h index 68af28af614086ed35914ebd7a9d5622fae277f9..e2e7a88a42d4cfb366762ea548b9a8f0d2344f0d 100644 --- a/src/lmptype.h +++ b/src/lmptype.h @@ -250,17 +250,23 @@ The typecast prevents compiler warnings about possible truncations. // functions and avoid compiler warnings about variable tracking. // Disable for broken -D_FORTIFY_SOURCE feature. -#if defined(_FORTIFY_SOURCE) && (_FORTIFY_SOURCE > 0) -#define _noopt -#elif defined(__clang__) +#if defined(__clang__) # define _noopt __attribute__((optnone)) #elif defined(__INTEL_COMPILER) # define _noopt #elif defined(__GNUC__) # if (__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 9)) -# define _noopt __attribute__((optimize("O0","no-var-tracking-assignments"))) +# if defined(_FORTIFY_SOURCE) && (_FORTIFY_SOURCE > 0) +# define _noopt __attribute__((optimize("no-var-tracking-assignments"))) +# else +# define _noopt __attribute__((optimize("O0","no-var-tracking-assignments"))) +# endif # else -# define _noopt __attribute__((optimize("O0"))) +# if defined(_FORTIFY_SOURCE) && (_FORTIFY_SOURCE > 0) +# define _noopt +# else +# define _noopt __attribute__((optimize("O0"))) +# endif # endif #else # define _noopt diff --git a/src/min.cpp b/src/min.cpp index b14137f68902cb35cda72ec069a13a4d2048fc7e..0bf04455258436f3ee896f97834ba9247ae39347 100644 --- a/src/min.cpp +++ b/src/min.cpp @@ -671,35 +671,35 @@ void Min::modify_params(int narg, char **arg) while (iarg < narg) { if (strcmp(arg[iarg],"dmax") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal min_modify command"); - dmax = force->numeric(FLERR,arg[iarg+1]); + dmax = utils::numeric(FLERR,arg[iarg+1],false,lmp); iarg += 2; } else if (strcmp(arg[iarg],"delaystep") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal min_modify command"); - delaystep = force->numeric(FLERR,arg[iarg+1]); + delaystep = utils::numeric(FLERR,arg[iarg+1],false,lmp); iarg += 2; } else if (strcmp(arg[iarg],"dtgrow") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal min_modify command"); - dtgrow = force->numeric(FLERR,arg[iarg+1]); + dtgrow = utils::numeric(FLERR,arg[iarg+1],false,lmp); iarg += 2; } else if (strcmp(arg[iarg],"dtshrink") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal min_modify command"); - dtshrink = force->numeric(FLERR,arg[iarg+1]); + dtshrink = utils::numeric(FLERR,arg[iarg+1],false,lmp); iarg += 2; } else if (strcmp(arg[iarg],"alpha0") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal min_modify command"); - alpha0 = force->numeric(FLERR,arg[iarg+1]); + alpha0 = utils::numeric(FLERR,arg[iarg+1],false,lmp); iarg += 2; } else if (strcmp(arg[iarg],"alphashrink") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal min_modify command"); - alphashrink = force->numeric(FLERR,arg[iarg+1]); + alphashrink = utils::numeric(FLERR,arg[iarg+1],false,lmp); iarg += 2; } else if (strcmp(arg[iarg],"tmax") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal min_modify command"); - tmax = force->numeric(FLERR,arg[iarg+1]); + tmax = utils::numeric(FLERR,arg[iarg+1],false,lmp); iarg += 2; } else if (strcmp(arg[iarg],"tmin") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal min_modify command"); - tmin = force->numeric(FLERR,arg[iarg+1]); + tmin = utils::numeric(FLERR,arg[iarg+1],false,lmp); iarg += 2; } else if (strcmp(arg[iarg],"halfstepback") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal min_modify command"); @@ -715,7 +715,7 @@ void Min::modify_params(int narg, char **arg) iarg += 2; } else if (strcmp(arg[iarg],"vdfmax") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal min_modify command"); - max_vdotf_negatif = force->numeric(FLERR,arg[iarg+1]); + max_vdotf_negatif = utils::numeric(FLERR,arg[iarg+1],false,lmp); iarg += 2; } else if (strcmp(arg[iarg],"integrator") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal min_modify command"); diff --git a/src/minimize.cpp b/src/minimize.cpp index 94fdcd86810c12bad1c3df4b33daeb6367ec8d0c..01463907635418cc1dabedfe6f156d74857e5ee6 100644 --- a/src/minimize.cpp +++ b/src/minimize.cpp @@ -38,10 +38,10 @@ void Minimize::command(int narg, char **arg) // ignore minimize command, if walltime limit was already reached if (timer->is_timeout()) return; - update->etol = force->numeric(FLERR,arg[0]); - update->ftol = force->numeric(FLERR,arg[1]); - update->nsteps = force->inumeric(FLERR,arg[2]); - update->max_eval = force->inumeric(FLERR,arg[3]); + update->etol = utils::numeric(FLERR,arg[0],false,lmp); + update->ftol = utils::numeric(FLERR,arg[1],false,lmp); + update->nsteps = utils::inumeric(FLERR,arg[2],false,lmp); + update->max_eval = utils::inumeric(FLERR,arg[3],false,lmp); if (update->etol < 0.0 || update->ftol < 0.0) error->all(FLERR,"Illegal minimize command"); diff --git a/src/molecule.cpp b/src/molecule.cpp index 8221a08b5f42b0cd5864ff0999a21c6207510d00..18f5c389928d5fe64cfdb069669229940d12bb04 100644 --- a/src/molecule.cpp +++ b/src/molecule.cpp @@ -79,43 +79,43 @@ Molecule::Molecule(LAMMPS *lmp, int narg, char **arg, int &index) : while (iarg < narg) { if (strcmp(arg[iarg],"offset") == 0) { if (iarg+6 > narg) error->all(FLERR,"Illegal molecule command"); - toffset = force->inumeric(FLERR,arg[iarg+1]); - boffset = force->inumeric(FLERR,arg[iarg+2]); - aoffset = force->inumeric(FLERR,arg[iarg+3]); - doffset = force->inumeric(FLERR,arg[iarg+4]); - ioffset = force->inumeric(FLERR,arg[iarg+5]); + toffset = utils::inumeric(FLERR,arg[iarg+1],false,lmp); + boffset = utils::inumeric(FLERR,arg[iarg+2],false,lmp); + aoffset = utils::inumeric(FLERR,arg[iarg+3],false,lmp); + doffset = utils::inumeric(FLERR,arg[iarg+4],false,lmp); + ioffset = utils::inumeric(FLERR,arg[iarg+5],false,lmp); if (toffset < 0 || boffset < 0 || aoffset < 0 || doffset < 0 || ioffset < 0) error->all(FLERR,"Illegal molecule command"); iarg += 6; } else if (strcmp(arg[iarg],"toff") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal molecule command"); - toffset = force->inumeric(FLERR,arg[iarg+1]); + toffset = utils::inumeric(FLERR,arg[iarg+1],false,lmp); if (toffset < 0) error->all(FLERR,"Illegal molecule command"); iarg += 2; } else if (strcmp(arg[iarg],"boff") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal molecule command"); - boffset = force->inumeric(FLERR,arg[iarg+1]); + boffset = utils::inumeric(FLERR,arg[iarg+1],false,lmp); if (boffset < 0) error->all(FLERR,"Illegal molecule command"); iarg += 2; } else if (strcmp(arg[iarg],"aoff") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal molecule command"); - aoffset = force->inumeric(FLERR,arg[iarg+1]); + aoffset = utils::inumeric(FLERR,arg[iarg+1],false,lmp); if (aoffset < 0) error->all(FLERR,"Illegal molecule command"); iarg += 2; } else if (strcmp(arg[iarg],"doff") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal molecule command"); - doffset = force->inumeric(FLERR,arg[iarg+1]); + doffset = utils::inumeric(FLERR,arg[iarg+1],false,lmp); if (doffset < 0) error->all(FLERR,"Illegal molecule command"); iarg += 2; } else if (strcmp(arg[iarg],"ioff") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal molecule command"); - ioffset = force->inumeric(FLERR,arg[iarg+1]); + ioffset = utils::inumeric(FLERR,arg[iarg+1],false,lmp); if (ioffset < 0) error->all(FLERR,"Illegal molecule command"); iarg += 2; } else if (strcmp(arg[iarg],"scale") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal molecule command"); - sizescale = force->numeric(FLERR,arg[iarg+1]); + sizescale = utils::numeric(FLERR,arg[iarg+1],false,lmp); if (sizescale <= 0.0) error->all(FLERR,"Illegal molecule command"); iarg += 2; } else break; @@ -773,7 +773,7 @@ void Molecule::fragments(char *line) ValueTokenizer values(line); - if (values.count() > natoms+1) + if ((int)values.count() > natoms+1) error->one(FLERR,"Invalid atom ID in Fragments section of molecule file"); fragmentnames[i] = values.next_string(); diff --git a/src/neighbor.cpp b/src/neighbor.cpp index 70333461bac0ed63db55acb85114cf4350a4d78a..c9b16f67a0fb7f7299b84d3922bca9a5ddb900ea 100644 --- a/src/neighbor.cpp +++ b/src/neighbor.cpp @@ -2194,7 +2194,7 @@ void Neighbor::set(int narg, char **arg) { if (narg != 2) error->all(FLERR,"Illegal neighbor command"); - skin = force->numeric(FLERR,arg[0]); + skin = utils::numeric(FLERR,arg[0],false,lmp); if (skin < 0.0) error->all(FLERR,"Illegal neighbor command"); if (strcmp(arg[1],"nsq") == 0) style = Neighbor::NSQ; @@ -2236,12 +2236,12 @@ void Neighbor::modify_params(int narg, char **arg) while (iarg < narg) { if (strcmp(arg[iarg],"every") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal neigh_modify command"); - every = force->inumeric(FLERR,arg[iarg+1]); + every = utils::inumeric(FLERR,arg[iarg+1],false,lmp); if (every <= 0) error->all(FLERR,"Illegal neigh_modify command"); iarg += 2; } else if (strcmp(arg[iarg],"delay") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal neigh_modify command"); - delay = force->inumeric(FLERR,arg[iarg+1]); + delay = utils::inumeric(FLERR,arg[iarg+1],false,lmp); if (delay < 0) error->all(FLERR,"Illegal neigh_modify command"); iarg += 2; } else if (strcmp(arg[iarg],"check") == 0) { @@ -2259,16 +2259,16 @@ void Neighbor::modify_params(int narg, char **arg) } else if (strcmp(arg[iarg],"page") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal neigh_modify command"); old_pgsize = pgsize; - pgsize = force->inumeric(FLERR,arg[iarg+1]); + pgsize = utils::inumeric(FLERR,arg[iarg+1],false,lmp); iarg += 2; } else if (strcmp(arg[iarg],"one") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal neigh_modify command"); old_oneatom = oneatom; - oneatom = force->inumeric(FLERR,arg[iarg+1]); + oneatom = utils::inumeric(FLERR,arg[iarg+1],false,lmp); iarg += 2; } else if (strcmp(arg[iarg],"binsize") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal neigh_modify command"); - binsize_user = force->numeric(FLERR,arg[iarg+1]); + binsize_user = utils::numeric(FLERR,arg[iarg+1],false,lmp); if (binsize_user <= 0.0) binsizeflag = 0; else binsizeflag = 1; iarg += 2; @@ -2300,8 +2300,8 @@ void Neighbor::modify_params(int narg, char **arg) memory->grow(ex1_type,maxex_type,"neigh:ex1_type"); memory->grow(ex2_type,maxex_type,"neigh:ex2_type"); } - ex1_type[nex_type] = force->inumeric(FLERR,arg[iarg+2]); - ex2_type[nex_type] = force->inumeric(FLERR,arg[iarg+3]); + ex1_type[nex_type] = utils::inumeric(FLERR,arg[iarg+2],false,lmp); + ex2_type[nex_type] = utils::inumeric(FLERR,arg[iarg+3],false,lmp); nex_type++; iarg += 4; diff --git a/src/output.cpp b/src/output.cpp index 6051e04055bafa437e8df9476829e7406a24f95c..16d2fa54a0e710d46dc14b7229c527567ee61f4e 100644 --- a/src/output.cpp +++ b/src/output.cpp @@ -541,7 +541,7 @@ void Output::add_dump(int narg, char **arg) error->all(FLERR,"Reuse of dump ID"); int igroup = group->find(arg[1]); if (igroup == -1) error->all(FLERR,"Could not find dump group ID"); - if (force->inumeric(FLERR,arg[3]) <= 0) + if (utils::inumeric(FLERR,arg[3],false,lmp) <= 0) error->all(FLERR,"Invalid dump frequency"); // extend Dump list if necessary @@ -572,7 +572,7 @@ void Output::add_dump(int narg, char **arg) dump[ndump] = dump_creator(lmp, narg, arg); } else error->all(FLERR,utils::check_packages_for_style("dump",arg[2],lmp)); - every_dump[ndump] = force->inumeric(FLERR,arg[3]); + every_dump[ndump] = utils::inumeric(FLERR,arg[3],false,lmp); if (every_dump[ndump] <= 0) error->all(FLERR,"Illegal dump command"); last_dump[ndump] = -1; var_dump[ndump] = NULL; @@ -670,7 +670,7 @@ void Output::set_thermo(int narg, char **arg) var_thermo = new char[n]; strcpy(var_thermo,&arg[0][2]); } else { - thermo_every = force->inumeric(FLERR,arg[0]); + thermo_every = utils::inumeric(FLERR,arg[0],false,lmp); if (thermo_every < 0) error->all(FLERR,"Illegal thermo command"); } } @@ -714,7 +714,7 @@ void Output::create_restart(int narg, char **arg) int varflag = 0; if (strstr(arg[0],"v_") == arg[0]) varflag = 1; - else every = force->inumeric(FLERR,arg[0]); + else every = utils::inumeric(FLERR,arg[0],false,lmp); if (!varflag && every == 0) { if (narg != 1) error->all(FLERR,"Illegal restart command"); diff --git a/src/pair.cpp b/src/pair.cpp index db9792cdbc9dff7372e7ce082e8ea5229a48fb76..e003ef740ac1d9fe9bb95026c2890c61c580d330 100644 --- a/src/pair.cpp +++ b/src/pair.cpp @@ -161,23 +161,23 @@ void Pair::modify_params(int narg, char **arg) iarg += 2; } else if (strcmp(arg[iarg],"table") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal pair_modify command"); - ncoultablebits = force->inumeric(FLERR,arg[iarg+1]); + ncoultablebits = utils::inumeric(FLERR,arg[iarg+1],false,lmp); if (ncoultablebits > (int)sizeof(float)*CHAR_BIT) error->all(FLERR,"Too many total bits for bitmapped lookup table"); iarg += 2; } else if (strcmp(arg[iarg],"table/disp") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal pair_modify command"); - ndisptablebits = force->inumeric(FLERR,arg[iarg+1]); + ndisptablebits = utils::inumeric(FLERR,arg[iarg+1],false,lmp); if (ndisptablebits > (int)sizeof(float)*CHAR_BIT) error->all(FLERR,"Too many total bits for bitmapped lookup table"); iarg += 2; } else if (strcmp(arg[iarg],"tabinner") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal pair_modify command"); - tabinner = force->numeric(FLERR,arg[iarg+1]); + tabinner = utils::numeric(FLERR,arg[iarg+1],false,lmp); iarg += 2; } else if (strcmp(arg[iarg],"tabinner/disp") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal pair_modify command"); - tabinner_disp = force->numeric(FLERR,arg[iarg+1]); + tabinner_disp = utils::numeric(FLERR,arg[iarg+1],false,lmp); iarg += 2; } else if (strcmp(arg[iarg],"tail") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal pair_modify command"); @@ -1622,12 +1622,12 @@ void Pair::write_file(int narg, char **arg) // parse arguments - int itype = force->inumeric(FLERR,arg[0]); - int jtype = force->inumeric(FLERR,arg[1]); + int itype = utils::inumeric(FLERR,arg[0],false,lmp); + int jtype = utils::inumeric(FLERR,arg[1],false,lmp); if (itype < 1 || itype > atom->ntypes || jtype < 1 || jtype > atom->ntypes) error->all(FLERR,"Invalid atom types in pair_write command"); - int n = force->inumeric(FLERR,arg[2]); + int n = utils::inumeric(FLERR,arg[2],false,lmp); int style = NONE; if (strcmp(arg[3],"r") == 0) style = RLINEAR; @@ -1635,8 +1635,8 @@ void Pair::write_file(int narg, char **arg) else if (strcmp(arg[3],"bitmap") == 0) style = BMP; else error->all(FLERR,"Invalid style in pair_write command"); - double inner = force->numeric(FLERR,arg[4]); - double outer = force->numeric(FLERR,arg[5]); + double inner = utils::numeric(FLERR,arg[4],false,lmp); + double outer = utils::numeric(FLERR,arg[5],false,lmp); if (inner <= 0.0 || inner >= outer) error->all(FLERR,"Invalid cutoffs in pair_write command"); @@ -1709,8 +1709,8 @@ void Pair::write_file(int narg, char **arg) double q[2]; q[0] = q[1] = 1.0; if (narg == 10) { - q[0] = force->numeric(FLERR,arg[8]); - q[1] = force->numeric(FLERR,arg[9]); + q[0] = utils::numeric(FLERR,arg[8],false,lmp); + q[1] = utils::numeric(FLERR,arg[9],false,lmp); } double *q_hold; diff --git a/src/pair_beck.cpp b/src/pair_beck.cpp index 31dd2ef62f0d4a8dd42fb2caf66ddb28fd173d3f..a858f8791065662eb5febca85deeb86cd0fb71f4 100644 --- a/src/pair_beck.cpp +++ b/src/pair_beck.cpp @@ -132,6 +132,7 @@ void PairBeck::compute(int eflag, int vflag) term1inv = 1.0/term1; evdwl = AA[itype][jtype]*exp(-1.0*r*term4); evdwl -= BB[itype][jtype]*term6*(1.0+(2.709+3.0*aaij*aaij)*term1inv); + evdwl *= factor_lj; } if (evflag) ev_tally(i,j,nlocal,newton_pair, @@ -175,7 +176,7 @@ void PairBeck::settings(int narg, char **arg) { if (narg != 1) error->all(FLERR,"Illegal pair_style command"); - cut_global = force->numeric(FLERR,arg[0]); + cut_global = utils::numeric(FLERR,arg[0],false,lmp); // reset cutoffs that have been explicitly set @@ -198,17 +199,17 @@ void PairBeck::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); - double AA_one = force->numeric(FLERR,arg[2]); - double BB_one = force->numeric(FLERR,arg[3]); - double aa_one = force->numeric(FLERR,arg[4]); - double alpha_one = force->numeric(FLERR,arg[5]); - double beta_one = force->numeric(FLERR,arg[6]); + double AA_one = utils::numeric(FLERR,arg[2],false,lmp); + double BB_one = utils::numeric(FLERR,arg[3],false,lmp); + double aa_one = utils::numeric(FLERR,arg[4],false,lmp); + double alpha_one = utils::numeric(FLERR,arg[5],false,lmp); + double beta_one = utils::numeric(FLERR,arg[6],false,lmp); double cut_one = cut_global; - if (narg == 8) cut_one = force->numeric(FLERR,arg[7]); + if (narg == 8) cut_one = utils::numeric(FLERR,arg[7],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/pair_born.cpp b/src/pair_born.cpp index b0aba57df5e2e9d33fa0bda70005da91d8b27e0e..ca0ab9a17b997288d1f906d4801a0231bff0513c 100644 --- a/src/pair_born.cpp +++ b/src/pair_born.cpp @@ -177,7 +177,7 @@ void PairBorn::settings(int narg, char **arg) { if (narg != 1) error->all(FLERR,"Illegal pair_style command"); - cut_global = force->numeric(FLERR,arg[0]); + cut_global = utils::numeric(FLERR,arg[0],false,lmp); // reset cutoffs that have been explicitly set @@ -199,18 +199,18 @@ void PairBorn::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); - double a_one = force->numeric(FLERR,arg[2]); - double rho_one = force->numeric(FLERR,arg[3]); - double sigma_one = force->numeric(FLERR,arg[4]); + double a_one = utils::numeric(FLERR,arg[2],false,lmp); + double rho_one = utils::numeric(FLERR,arg[3],false,lmp); + double sigma_one = utils::numeric(FLERR,arg[4],false,lmp); if (rho_one <= 0) error->all(FLERR,"Incorrect args for pair coefficients"); - double c_one = force->numeric(FLERR,arg[5]); - double d_one = force->numeric(FLERR,arg[6]); + double c_one = utils::numeric(FLERR,arg[5],false,lmp); + double d_one = utils::numeric(FLERR,arg[6],false,lmp); double cut_one = cut_global; - if (narg == 8) cut_one = force->numeric(FLERR,arg[7]); + if (narg == 8) cut_one = utils::numeric(FLERR,arg[7],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/pair_born_coul_dsf.cpp b/src/pair_born_coul_dsf.cpp index 3e8c76696bbf880273d23a4f62054555545da7b0..1a6b12a3458f9ed442495b8d8e138ea8c491879d 100644 --- a/src/pair_born_coul_dsf.cpp +++ b/src/pair_born_coul_dsf.cpp @@ -216,10 +216,10 @@ void PairBornCoulDSF::settings(int narg, char **arg) { if (narg < 2 || narg > 3) error->all(FLERR,"Illegal pair_style command"); - alpha = force->numeric(FLERR,arg[0]); - cut_lj_global = force->numeric(FLERR,arg[1]); + alpha = utils::numeric(FLERR,arg[0],false,lmp); + cut_lj_global = utils::numeric(FLERR,arg[1],false,lmp); if (narg == 2) cut_coul = cut_lj_global; - else cut_coul = force->numeric(FLERR,arg[2]); + else cut_coul = utils::numeric(FLERR,arg[2],false,lmp); if (allocated) { int i,j; @@ -240,18 +240,18 @@ void PairBornCoulDSF::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); - double a_one = force->numeric(FLERR,arg[2]); - double rho_one = force->numeric(FLERR,arg[3]); - double sigma_one = force->numeric(FLERR,arg[4]); + double a_one = utils::numeric(FLERR,arg[2],false,lmp); + double rho_one = utils::numeric(FLERR,arg[3],false,lmp); + double sigma_one = utils::numeric(FLERR,arg[4],false,lmp); if (rho_one <= 0) error->all(FLERR,"Incorrect args for pair coefficients"); - double c_one = force->numeric(FLERR,arg[5]); - double d_one = force->numeric(FLERR,arg[6]); + double c_one = utils::numeric(FLERR,arg[5],false,lmp); + double d_one = utils::numeric(FLERR,arg[6],false,lmp); double cut_lj_one = cut_lj_global; - if (narg == 8) cut_lj_one = force->numeric(FLERR,arg[7]); + if (narg == 8) cut_lj_one = utils::numeric(FLERR,arg[7],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/pair_born_coul_wolf.cpp b/src/pair_born_coul_wolf.cpp index dc4e4b8e3ffbaef87abf8de3c5774928804ffde5..4c51b0bb9f09b6bdb28acac7be96ee67a5e1be30 100644 --- a/src/pair_born_coul_wolf.cpp +++ b/src/pair_born_coul_wolf.cpp @@ -219,10 +219,10 @@ void PairBornCoulWolf::settings(int narg, char **arg) { if (narg < 2 || narg > 3) error->all(FLERR,"Illegal pair_style command"); - alf = force->numeric(FLERR,arg[0]); - cut_lj_global = force->numeric(FLERR,arg[1]); + alf = utils::numeric(FLERR,arg[0],false,lmp); + cut_lj_global = utils::numeric(FLERR,arg[1],false,lmp); if (narg == 2) cut_coul = cut_lj_global; - else cut_coul = force->numeric(FLERR,arg[2]); + else cut_coul = utils::numeric(FLERR,arg[2],false,lmp); if (allocated) { int i,j; @@ -243,18 +243,18 @@ void PairBornCoulWolf::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); - double a_one = force->numeric(FLERR,arg[2]); - double rho_one = force->numeric(FLERR,arg[3]); - double sigma_one = force->numeric(FLERR,arg[4]); + double a_one = utils::numeric(FLERR,arg[2],false,lmp); + double rho_one = utils::numeric(FLERR,arg[3],false,lmp); + double sigma_one = utils::numeric(FLERR,arg[4],false,lmp); if (rho_one <= 0) error->all(FLERR,"Incorrect args for pair coefficients"); - double c_one = force->numeric(FLERR,arg[5]); - double d_one = force->numeric(FLERR,arg[6]); + double c_one = utils::numeric(FLERR,arg[5],false,lmp); + double d_one = utils::numeric(FLERR,arg[6],false,lmp); double cut_lj_one = cut_lj_global; - if (narg == 8) cut_lj_one = force->numeric(FLERR,arg[7]); + if (narg == 8) cut_lj_one = utils::numeric(FLERR,arg[7],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/pair_buck.cpp b/src/pair_buck.cpp index 6fc1c782e051fe4c1a27d1543bcfaf14d243d280..91071fccb1c5050905deafdd7245a0253b80b424 100644 --- a/src/pair_buck.cpp +++ b/src/pair_buck.cpp @@ -169,7 +169,7 @@ void PairBuck::settings(int narg, char **arg) { if (narg != 1) error->all(FLERR,"Illegal pair_style command"); - cut_global = force->numeric(FLERR,arg[0]); + cut_global = utils::numeric(FLERR,arg[0],false,lmp); // reset cutoffs that have been explicitly set @@ -192,16 +192,16 @@ void PairBuck::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); - double a_one = force->numeric(FLERR,arg[2]); - double rho_one = force->numeric(FLERR,arg[3]); + double a_one = utils::numeric(FLERR,arg[2],false,lmp); + double rho_one = utils::numeric(FLERR,arg[3],false,lmp); if (rho_one <= 0) error->all(FLERR,"Incorrect args for pair coefficients"); - double c_one = force->numeric(FLERR,arg[4]); + double c_one = utils::numeric(FLERR,arg[4],false,lmp); double cut_one = cut_global; - if (narg == 6) cut_one = force->numeric(FLERR,arg[5]); + if (narg == 6) cut_one = utils::numeric(FLERR,arg[5],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/pair_buck_coul_cut.cpp b/src/pair_buck_coul_cut.cpp index de36b58df226f840fce8dc14f17f722026f1d94f..6141205db051bd36da6ad6fb52f6852f2787f257 100644 --- a/src/pair_buck_coul_cut.cpp +++ b/src/pair_buck_coul_cut.cpp @@ -197,9 +197,9 @@ void PairBuckCoulCut::settings(int narg, char **arg) { if (narg < 1 || narg > 2) error->all(FLERR,"Illegal pair_style command"); - cut_lj_global = force->numeric(FLERR,arg[0]); + cut_lj_global = utils::numeric(FLERR,arg[0],false,lmp); if (narg == 1) cut_coul_global = cut_lj_global; - else cut_coul_global = force->numeric(FLERR,arg[1]); + else cut_coul_global = utils::numeric(FLERR,arg[1],false,lmp); // reset cutoffs that have been explicitly set @@ -225,18 +225,18 @@ void PairBuckCoulCut::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); - double a_one = force->numeric(FLERR,arg[2]); - double rho_one = force->numeric(FLERR,arg[3]); + double a_one = utils::numeric(FLERR,arg[2],false,lmp); + double rho_one = utils::numeric(FLERR,arg[3],false,lmp); if (rho_one <= 0) error->all(FLERR,"Incorrect args for pair coefficients"); - double c_one = force->numeric(FLERR,arg[4]); + double c_one = utils::numeric(FLERR,arg[4],false,lmp); double cut_lj_one = cut_lj_global; double cut_coul_one = cut_coul_global; - if (narg >= 6) cut_coul_one = cut_lj_one = force->numeric(FLERR,arg[5]); - if (narg == 7) cut_coul_one = force->numeric(FLERR,arg[6]); + if (narg >= 6) cut_coul_one = cut_lj_one = utils::numeric(FLERR,arg[5],false,lmp); + if (narg == 7) cut_coul_one = utils::numeric(FLERR,arg[6],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/pair_coul_cut.cpp b/src/pair_coul_cut.cpp index a1979550859f8f49cc8e74b24afbe5040c8dd8e4..d19374b5d9b167d3a7ceaf4f6a4e755bd15c2ee4 100644 --- a/src/pair_coul_cut.cpp +++ b/src/pair_coul_cut.cpp @@ -149,7 +149,7 @@ void PairCoulCut::settings(int narg, char **arg) { if (narg != 1) error->all(FLERR,"Illegal pair_style command"); - cut_global = force->numeric(FLERR,arg[0]); + cut_global = utils::numeric(FLERR,arg[0],false,lmp); // reset cutoffs that have been explicitly set @@ -172,11 +172,11 @@ void PairCoulCut::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); double cut_one = cut_global; - if (narg == 3) cut_one = force->numeric(FLERR,arg[2]); + if (narg == 3) cut_one = utils::numeric(FLERR,arg[2],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/pair_coul_debye.cpp b/src/pair_coul_debye.cpp index b45353837a3592e4a53841f269b3fedc0ff41078..2a3def0d4f20830a287b07ad009af375c3bf4e34 100644 --- a/src/pair_coul_debye.cpp +++ b/src/pair_coul_debye.cpp @@ -114,8 +114,8 @@ void PairCoulDebye::settings(int narg, char **arg) { if (narg != 2) error->all(FLERR,"Illegal pair_style command"); - kappa = force->numeric(FLERR,arg[0]); - cut_global = force->numeric(FLERR,arg[1]); + kappa = utils::numeric(FLERR,arg[0],false,lmp); + cut_global = utils::numeric(FLERR,arg[1],false,lmp); // reset cutoffs that have been explicitly set diff --git a/src/pair_coul_dsf.cpp b/src/pair_coul_dsf.cpp index 992ee33ecba204ec2d8f6bf1fd1aeab4b75a0d42..2f1a834060f53c4934603f45d44aa25420aae2c3 100644 --- a/src/pair_coul_dsf.cpp +++ b/src/pair_coul_dsf.cpp @@ -171,8 +171,8 @@ void PairCoulDSF::settings(int narg, char **arg) { if (narg != 2) error->all(FLERR,"Illegal pair_style command"); - alpha = force->numeric(FLERR,arg[0]); - cut_coul = force->numeric(FLERR,arg[1]); + alpha = utils::numeric(FLERR,arg[0],false,lmp); + cut_coul = utils::numeric(FLERR,arg[1],false,lmp); } /* ---------------------------------------------------------------------- @@ -185,8 +185,8 @@ void PairCoulDSF::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/pair_coul_streitz.cpp b/src/pair_coul_streitz.cpp index 5b7d7ea08ae82dd0c8651ee83faed21e72653326..efe8d460177a3bd4f5404476ac8662aab73bb800 100644 --- a/src/pair_coul_streitz.cpp +++ b/src/pair_coul_streitz.cpp @@ -112,11 +112,11 @@ void PairCoulStreitz::settings(int narg, char **arg) { if (narg < 2) error->all(FLERR,"Illegal pair_style command"); - cut_coul = force->numeric(FLERR,arg[0]); + cut_coul = utils::numeric(FLERR,arg[0],false,lmp); if (strcmp(arg[1],"wolf") == 0){ kspacetype = 1; - g_wolf = force->numeric(FLERR,arg[2]); + g_wolf = utils::numeric(FLERR,arg[2],false,lmp); } else if (strcmp(arg[1],"ewald") == 0){ ewaldflag = pppmflag = 1; kspacetype = 2; diff --git a/src/pair_coul_wolf.cpp b/src/pair_coul_wolf.cpp index b34877f508d3956604ac3ef285495958a90e84c8..e94c4abb73bedf3ab3801c395e4f3109819bada4 100644 --- a/src/pair_coul_wolf.cpp +++ b/src/pair_coul_wolf.cpp @@ -172,8 +172,8 @@ void PairCoulWolf::settings(int narg, char **arg) { if (narg != 2) error->all(FLERR,"Illegal pair_style command"); - alf = force->numeric(FLERR,arg[0]); - cut_coul = force->numeric(FLERR,arg[1]); + alf = utils::numeric(FLERR,arg[0],false,lmp); + cut_coul = utils::numeric(FLERR,arg[1],false,lmp); } /* ---------------------------------------------------------------------- @@ -186,8 +186,8 @@ void PairCoulWolf::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/pair_dpd.cpp b/src/pair_dpd.cpp index ef0b7dd21d708987dd14eaf732feef6f9ad99616..613ad90cc39986c413bdfc2c4d0edeef6283c7dd 100644 --- a/src/pair_dpd.cpp +++ b/src/pair_dpd.cpp @@ -190,9 +190,9 @@ void PairDPD::settings(int narg, char **arg) { if (narg != 3) error->all(FLERR,"Illegal pair_style command"); - temperature = force->numeric(FLERR,arg[0]); - cut_global = force->numeric(FLERR,arg[1]); - seed = force->inumeric(FLERR,arg[2]); + temperature = utils::numeric(FLERR,arg[0],false,lmp); + cut_global = utils::numeric(FLERR,arg[1],false,lmp); + seed = utils::inumeric(FLERR,arg[2],false,lmp); // initialize Marsaglia RNG with processor-unique seed @@ -221,14 +221,14 @@ void PairDPD::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); - double a0_one = force->numeric(FLERR,arg[2]); - double gamma_one = force->numeric(FLERR,arg[3]); + double a0_one = utils::numeric(FLERR,arg[2],false,lmp); + double gamma_one = utils::numeric(FLERR,arg[3],false,lmp); double cut_one = cut_global; - if (narg == 5) cut_one = force->numeric(FLERR,arg[4]); + if (narg == 5) cut_one = utils::numeric(FLERR,arg[4],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/pair_dpd_tstat.cpp b/src/pair_dpd_tstat.cpp index 8366ff459fa8f9ab473841a682d4d237af00890b..3f3f05f7f5a6fed85100698aa0aa6922539aed69 100644 --- a/src/pair_dpd_tstat.cpp +++ b/src/pair_dpd_tstat.cpp @@ -142,10 +142,10 @@ void PairDPDTstat::settings(int narg, char **arg) { if (narg != 4) error->all(FLERR,"Illegal pair_style command"); - t_start = force->numeric(FLERR,arg[0]); - t_stop = force->numeric(FLERR,arg[1]); - cut_global = force->numeric(FLERR,arg[2]); - seed = force->inumeric(FLERR,arg[3]); + t_start = utils::numeric(FLERR,arg[0],false,lmp); + t_stop = utils::numeric(FLERR,arg[1],false,lmp); + cut_global = utils::numeric(FLERR,arg[2],false,lmp); + seed = utils::inumeric(FLERR,arg[3],false,lmp); temperature = t_start; @@ -176,14 +176,14 @@ void PairDPDTstat::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); double a0_one = 0.0; - double gamma_one = force->numeric(FLERR,arg[2]); + double gamma_one = utils::numeric(FLERR,arg[2],false,lmp); double cut_one = cut_global; - if (narg == 4) cut_one = force->numeric(FLERR,arg[3]); + if (narg == 4) cut_one = utils::numeric(FLERR,arg[3],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/pair_gauss.cpp b/src/pair_gauss.cpp index dcc3ac5f514a7b9e18d41342ee48120b92656639..d8b8e36b8c1c012c5486e77c84cab61fea861daf 100644 --- a/src/pair_gauss.cpp +++ b/src/pair_gauss.cpp @@ -164,7 +164,7 @@ void PairGauss::settings(int narg, char **arg) { if (narg != 1) error->all(FLERR,"Illegal pair_style command"); - cut_global = force->numeric(FLERR,arg[0]); + cut_global = utils::numeric(FLERR,arg[0],false,lmp); // reset cutoffs that have been explicitly set @@ -187,14 +187,14 @@ void PairGauss::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); - double a_one = force->numeric(FLERR,arg[2]); - double b_one = force->numeric(FLERR,arg[3]); + double a_one = utils::numeric(FLERR,arg[2],false,lmp); + double b_one = utils::numeric(FLERR,arg[3],false,lmp); double cut_one = cut_global; - if (narg == 5) cut_one = force->numeric(FLERR,arg[4]); + if (narg == 5) cut_one = utils::numeric(FLERR,arg[4],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/pair_hybrid.cpp b/src/pair_hybrid.cpp index 646ddefc3e9a79f4b8820504cafc15651fc628fd..693ed7fa243d6e4f961936f8b699119df45e64a6 100644 --- a/src/pair_hybrid.cpp +++ b/src/pair_hybrid.cpp @@ -438,8 +438,8 @@ void PairHybrid::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); // 3rd arg = pair sub-style name // 4th arg = pair sub-style index if name used multiple times @@ -456,7 +456,7 @@ void PairHybrid::coeff(int narg, char **arg) if (narg < 4) error->all(FLERR,"Incorrect args for pair coefficients"); if (!isdigit(arg[3][0])) error->all(FLERR,"Incorrect args for pair coefficients"); - int index = force->inumeric(FLERR,arg[3]); + int index = utils::inumeric(FLERR,arg[3],false,lmp); if (index == multiple[m]) break; else continue; } else break; @@ -864,7 +864,7 @@ void PairHybrid::modify_params(int narg, char **arg) if (multiple[m]) { if (narg < 3) error->all(FLERR,"Illegal pair_modify command"); - int multiflag = force->inumeric(FLERR,arg[2]); + int multiflag = utils::inumeric(FLERR,arg[2],false,lmp); for (m = 0; m < nstyles; m++) if (strcmp(arg[1],keywords[m]) == 0 && multiflag == multiple[m]) break; if (m == nstyles) @@ -934,9 +934,9 @@ void PairHybrid::modify_special(int m, int /*narg*/, char **arg) int i; special[0] = 1.0; - special[1] = force->numeric(FLERR,arg[1]); - special[2] = force->numeric(FLERR,arg[2]); - special[3] = force->numeric(FLERR,arg[3]); + special[1] = utils::numeric(FLERR,arg[1],false,lmp); + special[2] = utils::numeric(FLERR,arg[2],false,lmp); + special[3] = utils::numeric(FLERR,arg[3],false,lmp); // have to cast to PairHybrid to work around C++ access restriction diff --git a/src/pair_hybrid_overlay.cpp b/src/pair_hybrid_overlay.cpp index 4c2acfe8ba4bb6ac9ede7cbf805da04da3e1b488..dc8ac65dd44edd966d4847a0410dc816c8970f84 100644 --- a/src/pair_hybrid_overlay.cpp +++ b/src/pair_hybrid_overlay.cpp @@ -17,6 +17,7 @@ #include "atom.h" #include "force.h" #include "error.h" +#include "utils.h" using namespace LAMMPS_NS; @@ -34,8 +35,8 @@ void PairHybridOverlay::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); // 3rd arg = pair sub-style name // 4th arg = pair sub-style index if name used multiple times @@ -52,7 +53,7 @@ void PairHybridOverlay::coeff(int narg, char **arg) if (narg < 4) error->all(FLERR,"Incorrect args for pair coefficients"); if (!isdigit(arg[3][0])) error->all(FLERR,"Incorrect args for pair coefficients"); - int index = force->inumeric(FLERR,arg[3]); + int index = utils::inumeric(FLERR,arg[3],false,lmp); if (index == multiple[m]) break; else continue; } else break; diff --git a/src/pair_lj96_cut.cpp b/src/pair_lj96_cut.cpp index 8be6fefa44d9b341898164a7bf8378911e7048e8..c60908e8cf9cac203388536e4639bf9c795db3d0 100644 --- a/src/pair_lj96_cut.cpp +++ b/src/pair_lj96_cut.cpp @@ -433,7 +433,7 @@ void PairLJ96Cut::settings(int narg, char **arg) { if (narg != 1) error->all(FLERR,"Illegal pair_style command"); - cut_global = force->numeric(FLERR,arg[0]); + cut_global = utils::numeric(FLERR,arg[0],false,lmp); // reset cutoffs that have been explicitly set @@ -456,14 +456,14 @@ void PairLJ96Cut::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); - double epsilon_one = force->numeric(FLERR,arg[2]); - double sigma_one = force->numeric(FLERR,arg[3]); + double epsilon_one = utils::numeric(FLERR,arg[2],false,lmp); + double sigma_one = utils::numeric(FLERR,arg[3],false,lmp); double cut_one = cut_global; - if (narg == 5) cut_one = force->numeric(FLERR,arg[4]); + if (narg == 5) cut_one = utils::numeric(FLERR,arg[4],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/pair_lj_cubic.cpp b/src/pair_lj_cubic.cpp index 366554178f7bfdf187e6691e2c3d5ab3058acbe6..833c9543305192a5ce39a5486e82bc3205795de2 100644 --- a/src/pair_lj_cubic.cpp +++ b/src/pair_lj_cubic.cpp @@ -192,11 +192,11 @@ void PairLJCubic::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); - double epsilon_one = force->numeric(FLERR,arg[2]); - double sigma_one = force->numeric(FLERR,arg[3]); + double epsilon_one = utils::numeric(FLERR,arg[2],false,lmp); + double sigma_one = utils::numeric(FLERR,arg[3],false,lmp); double rmin = sigma_one*RT6TWO; int count = 0; diff --git a/src/pair_lj_cut.cpp b/src/pair_lj_cut.cpp index 60bb7bceee1c4d1852a9ae6f36016f7911d614e5..fedf029fb85cc0e7cd1393f0b6971056c8c4f270 100644 --- a/src/pair_lj_cut.cpp +++ b/src/pair_lj_cut.cpp @@ -427,7 +427,7 @@ void PairLJCut::settings(int narg, char **arg) { if (narg != 1) error->all(FLERR,"Illegal pair_style command"); - cut_global = force->numeric(FLERR,arg[0]); + cut_global = utils::numeric(FLERR,arg[0],false,lmp); // reset cutoffs that have been explicitly set @@ -450,14 +450,14 @@ void PairLJCut::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); - double epsilon_one = force->numeric(FLERR,arg[2]); - double sigma_one = force->numeric(FLERR,arg[3]); + double epsilon_one = utils::numeric(FLERR,arg[2],false,lmp); + double sigma_one = utils::numeric(FLERR,arg[3],false,lmp); double cut_one = cut_global; - if (narg == 5) cut_one = force->numeric(FLERR,arg[4]); + if (narg == 5) cut_one = utils::numeric(FLERR,arg[4],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/pair_lj_cut_coul_cut.cpp b/src/pair_lj_cut_coul_cut.cpp index 7f0f89a5bf1df1d68c6b16c2279688b57b077243..a11de35c537a68ca110b01d30865b7656b210d2c 100644 --- a/src/pair_lj_cut_coul_cut.cpp +++ b/src/pair_lj_cut_coul_cut.cpp @@ -189,9 +189,9 @@ void PairLJCutCoulCut::settings(int narg, char **arg) { if (narg < 1 || narg > 2) error->all(FLERR,"Illegal pair_style command"); - cut_lj_global = force->numeric(FLERR,arg[0]); + cut_lj_global = utils::numeric(FLERR,arg[0],false,lmp); if (narg == 1) cut_coul_global = cut_lj_global; - else cut_coul_global = force->numeric(FLERR,arg[1]); + else cut_coul_global = utils::numeric(FLERR,arg[1],false,lmp); // reset cutoffs that have been explicitly set @@ -217,16 +217,16 @@ void PairLJCutCoulCut::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); - double epsilon_one = force->numeric(FLERR,arg[2]); - double sigma_one = force->numeric(FLERR,arg[3]); + double epsilon_one = utils::numeric(FLERR,arg[2],false,lmp); + double sigma_one = utils::numeric(FLERR,arg[3],false,lmp); double cut_lj_one = cut_lj_global; double cut_coul_one = cut_coul_global; - if (narg >= 5) cut_coul_one = cut_lj_one = force->numeric(FLERR,arg[4]); - if (narg == 6) cut_coul_one = force->numeric(FLERR,arg[5]); + if (narg >= 5) cut_coul_one = cut_lj_one = utils::numeric(FLERR,arg[4],false,lmp); + if (narg == 6) cut_coul_one = utils::numeric(FLERR,arg[5],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/pair_lj_cut_coul_debye.cpp b/src/pair_lj_cut_coul_debye.cpp index a65d7aa50f3b909b24f0fc308d8b42482fd124f5..2d4b0bbe98da21c8dc3f5d71a7b05e94b783f8ca 100644 --- a/src/pair_lj_cut_coul_debye.cpp +++ b/src/pair_lj_cut_coul_debye.cpp @@ -133,10 +133,10 @@ void PairLJCutCoulDebye::settings(int narg, char **arg) { if (narg < 2 || narg > 3) error->all(FLERR,"Illegal pair_style command"); - kappa = force->numeric(FLERR,arg[0]); - cut_lj_global = force->numeric(FLERR,arg[1]); + kappa = utils::numeric(FLERR,arg[0],false,lmp); + cut_lj_global = utils::numeric(FLERR,arg[1],false,lmp); if (narg == 2) cut_coul_global = cut_lj_global; - else cut_coul_global = force->numeric(FLERR,arg[2]); + else cut_coul_global = utils::numeric(FLERR,arg[2],false,lmp); // reset cutoffs that were previously set from data file diff --git a/src/pair_lj_cut_coul_dsf.cpp b/src/pair_lj_cut_coul_dsf.cpp index 9dc6c001f40d8c23b42cd35c2739aa80c9a20bc4..2d9368a0cafcb1960fe3c351d9e5dfd3bc347f66 100644 --- a/src/pair_lj_cut_coul_dsf.cpp +++ b/src/pair_lj_cut_coul_dsf.cpp @@ -214,10 +214,10 @@ void PairLJCutCoulDSF::settings(int narg, char **arg) { if (narg < 2 || narg > 3) error->all(FLERR,"Illegal pair_style command"); - alpha = force->numeric(FLERR,arg[0]); - cut_lj_global = force->numeric(FLERR,arg[1]); + alpha = utils::numeric(FLERR,arg[0],false,lmp); + cut_lj_global = utils::numeric(FLERR,arg[1],false,lmp); if (narg == 2) cut_coul = cut_lj_global; - else cut_coul = force->numeric(FLERR,arg[2]); + else cut_coul = utils::numeric(FLERR,arg[2],false,lmp); // reset cutoffs that have been explicitly set @@ -241,14 +241,14 @@ void PairLJCutCoulDSF::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); - double epsilon_one = force->numeric(FLERR,arg[2]); - double sigma_one = force->numeric(FLERR,arg[3]); + double epsilon_one = utils::numeric(FLERR,arg[2],false,lmp); + double sigma_one = utils::numeric(FLERR,arg[3],false,lmp); double cut_lj_one = cut_lj_global; - if (narg == 5) cut_lj_one = force->numeric(FLERR,arg[4]); + if (narg == 5) cut_lj_one = utils::numeric(FLERR,arg[4],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/pair_lj_cut_coul_wolf.cpp b/src/pair_lj_cut_coul_wolf.cpp index 303d9a88bbb457eb843ff92941da162b9ccd74c1..c6fa33f03c141ddd1638ce80ab587a2f7921a85e 100644 --- a/src/pair_lj_cut_coul_wolf.cpp +++ b/src/pair_lj_cut_coul_wolf.cpp @@ -212,9 +212,9 @@ void PairLJCutCoulWolf::settings(int narg, char **arg) { if (narg < 2 || narg > 3) error->all(FLERR,"Illegal pair_style command"); - alf = force->numeric(FLERR,arg[0]); - cut_lj_global = force->numeric(FLERR,arg[1]); - if (narg == 3) cut_coul = force->numeric(FLERR,arg[2]); + alf = utils::numeric(FLERR,arg[0],false,lmp); + cut_lj_global = utils::numeric(FLERR,arg[1],false,lmp); + if (narg == 3) cut_coul = utils::numeric(FLERR,arg[2],false,lmp); else cut_coul = cut_lj_global; if (allocated) { @@ -236,14 +236,14 @@ void PairLJCutCoulWolf::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); - double epsilon_one = force->numeric(FLERR,arg[2]); - double sigma_one = force->numeric(FLERR,arg[3]); + double epsilon_one = utils::numeric(FLERR,arg[2],false,lmp); + double sigma_one = utils::numeric(FLERR,arg[3],false,lmp); double cut_lj_one = cut_lj_global; - if (narg == 5) cut_lj_one = force->numeric(FLERR,arg[4]); + if (narg == 5) cut_lj_one = utils::numeric(FLERR,arg[4],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/pair_lj_expand.cpp b/src/pair_lj_expand.cpp index 98c8a808e225ff73215a09f5d3182e31b67df707..1063d056721836fe94067eba9bd6f09f88ffe46d 100644 --- a/src/pair_lj_expand.cpp +++ b/src/pair_lj_expand.cpp @@ -172,7 +172,7 @@ void PairLJExpand::settings(int narg, char **arg) { if (narg != 1) error->all(FLERR,"Illegal pair_style command"); - cut_global = force->numeric(FLERR,arg[0]); + cut_global = utils::numeric(FLERR,arg[0],false,lmp); // reset cutoffs that have been explicitly set @@ -194,15 +194,15 @@ void PairLJExpand::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); - double epsilon_one = force->numeric(FLERR,arg[2]); - double sigma_one = force->numeric(FLERR,arg[3]); - double shift_one = force->numeric(FLERR,arg[4]); + double epsilon_one = utils::numeric(FLERR,arg[2],false,lmp); + double sigma_one = utils::numeric(FLERR,arg[3],false,lmp); + double shift_one = utils::numeric(FLERR,arg[4],false,lmp); double cut_one = cut_global; - if (narg == 6) cut_one = force->numeric(FLERR,arg[5]); + if (narg == 6) cut_one = utils::numeric(FLERR,arg[5],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/pair_lj_gromacs.cpp b/src/pair_lj_gromacs.cpp index 73f4307d62af148bbba6adae2d911ddce69f1e55..b7e3516ec3b2590c16d64e311dcd7fefdff53212 100644 --- a/src/pair_lj_gromacs.cpp +++ b/src/pair_lj_gromacs.cpp @@ -190,8 +190,8 @@ void PairLJGromacs::settings(int narg, char **arg) { if (narg != 2) error->all(FLERR,"Illegal pair_style command"); - cut_inner_global = force->numeric(FLERR,arg[0]); - cut_global = force->numeric(FLERR,arg[1]); + cut_inner_global = utils::numeric(FLERR,arg[0],false,lmp); + cut_global = utils::numeric(FLERR,arg[1],false,lmp); if (cut_inner_global <= 0.0 || cut_inner_global > cut_global) error->all(FLERR,"Illegal pair_style command"); @@ -220,17 +220,17 @@ void PairLJGromacs::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); - double epsilon_one = force->numeric(FLERR,arg[2]); - double sigma_one = force->numeric(FLERR,arg[3]); + double epsilon_one = utils::numeric(FLERR,arg[2],false,lmp); + double sigma_one = utils::numeric(FLERR,arg[3],false,lmp); double cut_inner_one = cut_inner_global; double cut_one = cut_global; if (narg == 6) { - cut_inner_one = force->numeric(FLERR,arg[4]); - cut_one = force->numeric(FLERR,arg[5]); + cut_inner_one = utils::numeric(FLERR,arg[4],false,lmp); + cut_one = utils::numeric(FLERR,arg[5],false,lmp); } if (cut_inner_one <= 0.0 || cut_inner_one > cut_one) diff --git a/src/pair_lj_gromacs_coul_gromacs.cpp b/src/pair_lj_gromacs_coul_gromacs.cpp index a5663ecfd8a4a0893e9a7626027799c2bba93331..37837b695f1cf0c1bc67d98c608cf6e07a8d6ac1 100644 --- a/src/pair_lj_gromacs_coul_gromacs.cpp +++ b/src/pair_lj_gromacs_coul_gromacs.cpp @@ -220,14 +220,14 @@ void PairLJGromacsCoulGromacs::settings(int narg, char **arg) if (narg != 2 && narg != 4) error->all(FLERR,"Illegal pair_style command"); - cut_lj_inner = force->numeric(FLERR,arg[0]); - cut_lj = force->numeric(FLERR,arg[1]); + cut_lj_inner = utils::numeric(FLERR,arg[0],false,lmp); + cut_lj = utils::numeric(FLERR,arg[1],false,lmp); if (narg == 2) { cut_coul_inner = cut_lj_inner; cut_coul = cut_lj; } else { - cut_coul_inner = force->numeric(FLERR,arg[2]); - cut_coul = force->numeric(FLERR,arg[3]); + cut_coul_inner = utils::numeric(FLERR,arg[2],false,lmp); + cut_coul = utils::numeric(FLERR,arg[3],false,lmp); } if (cut_lj_inner <= 0.0 || cut_coul_inner < 0.0) @@ -246,11 +246,11 @@ void PairLJGromacsCoulGromacs::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); - double epsilon_one = force->numeric(FLERR,arg[2]); - double sigma_one = force->numeric(FLERR,arg[3]); + double epsilon_one = utils::numeric(FLERR,arg[2],false,lmp); + double sigma_one = utils::numeric(FLERR,arg[3],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/pair_lj_smooth.cpp b/src/pair_lj_smooth.cpp index bf97a44732b3c3c6651f8cae8e349b8d3066efd4..5c6bc671f910490c8c278c20a0b90486cda23f8b 100644 --- a/src/pair_lj_smooth.cpp +++ b/src/pair_lj_smooth.cpp @@ -195,8 +195,8 @@ void PairLJSmooth::settings(int narg, char **arg) { if (narg != 2) error->all(FLERR,"Illegal pair_style command"); - cut_inner_global = force->numeric(FLERR,arg[0]); - cut_global = force->numeric(FLERR,arg[1]); + cut_inner_global = utils::numeric(FLERR,arg[0],false,lmp); + cut_global = utils::numeric(FLERR,arg[1],false,lmp); if (cut_inner_global <= 0.0 || cut_inner_global > cut_global) error->all(FLERR,"Illegal pair_style command"); @@ -225,17 +225,17 @@ void PairLJSmooth::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); - double epsilon_one = force->numeric(FLERR,arg[2]); - double sigma_one = force->numeric(FLERR,arg[3]); + double epsilon_one = utils::numeric(FLERR,arg[2],false,lmp); + double sigma_one = utils::numeric(FLERR,arg[3],false,lmp); double cut_inner_one = cut_inner_global; double cut_one = cut_global; if (narg == 6) { - cut_inner_one = force->numeric(FLERR,arg[4]); - cut_one = force->numeric(FLERR,arg[5]); + cut_inner_one = utils::numeric(FLERR,arg[4],false,lmp); + cut_one = utils::numeric(FLERR,arg[5],false,lmp); } if (cut_inner_one <= 0.0 || cut_inner_one > cut_one) diff --git a/src/pair_lj_smooth_linear.cpp b/src/pair_lj_smooth_linear.cpp index 19e84f971d7fec055fbaa7e83018756d267e48d0..14646f19f27bd819cdbea098bf8871d002cf82f3 100644 --- a/src/pair_lj_smooth_linear.cpp +++ b/src/pair_lj_smooth_linear.cpp @@ -170,7 +170,7 @@ void PairLJSmoothLinear::settings(int narg, char **arg) { if (narg != 1) error->all(FLERR,"Illegal pair_style command"); - cut_global = force->numeric(FLERR,arg[0]); + cut_global = utils::numeric(FLERR,arg[0],false,lmp); // reset cutoffs that have been explicitly set @@ -194,15 +194,15 @@ void PairLJSmoothLinear::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); - double epsilon_one = force->numeric(FLERR,arg[2]); - double sigma_one = force->numeric(FLERR,arg[3]); + double epsilon_one = utils::numeric(FLERR,arg[2],false,lmp); + double sigma_one = utils::numeric(FLERR,arg[3],false,lmp); double cut_one = cut_global; if (narg == 5) { - cut_one = force->numeric(FLERR,arg[4]); + cut_one = utils::numeric(FLERR,arg[4],false,lmp); } int count = 0; diff --git a/src/pair_mie_cut.cpp b/src/pair_mie_cut.cpp index f031401a00334b05e2a2825c227c0cb69445809d..f838d961454a1efcd6e66d70cc839681a7f11aa6 100644 --- a/src/pair_mie_cut.cpp +++ b/src/pair_mie_cut.cpp @@ -438,7 +438,7 @@ void PairMIECut::settings(int narg, char **arg) { if (narg != 1) error->all(FLERR,"Illegal pair_style command"); - cut_global = force->numeric(FLERR,arg[0]); + cut_global = utils::numeric(FLERR,arg[0],false,lmp); // reset cutoffs that have been explicitly set @@ -461,16 +461,16 @@ void PairMIECut::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); - double epsilon_one = force->numeric(FLERR,arg[2]); - double sigma_one = force->numeric(FLERR,arg[3]); - double gamR_one = force->numeric(FLERR,arg[4]); - double gamA_one = force->numeric(FLERR,arg[5]); + double epsilon_one = utils::numeric(FLERR,arg[2],false,lmp); + double sigma_one = utils::numeric(FLERR,arg[3],false,lmp); + double gamR_one = utils::numeric(FLERR,arg[4],false,lmp); + double gamA_one = utils::numeric(FLERR,arg[5],false,lmp); double cut_one = cut_global; - if (narg == 7) cut_one = force->numeric(FLERR,arg[6]); + if (narg == 7) cut_one = utils::numeric(FLERR,arg[6],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/pair_morse.cpp b/src/pair_morse.cpp index b883036c1808d6ca80dadd1ed3b5cdb97c232923..cbfaccab2ce0b6edb57c2b995e3e6146e626fdc4 100644 --- a/src/pair_morse.cpp +++ b/src/pair_morse.cpp @@ -158,7 +158,7 @@ void PairMorse::settings(int narg, char **arg) { if (narg != 1) error->all(FLERR,"Illegal pair_style command"); - cut_global = force->numeric(FLERR,arg[0]); + cut_global = utils::numeric(FLERR,arg[0],false,lmp); // reset cutoffs that have been explicitly set @@ -181,15 +181,15 @@ void PairMorse::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); - double d0_one = force->numeric(FLERR,arg[2]); - double alpha_one = force->numeric(FLERR,arg[3]); - double r0_one = force->numeric(FLERR,arg[4]); + double d0_one = utils::numeric(FLERR,arg[2],false,lmp); + double alpha_one = utils::numeric(FLERR,arg[3],false,lmp); + double r0_one = utils::numeric(FLERR,arg[4],false,lmp); double cut_one = cut_global; - if (narg == 6) cut_one = force->numeric(FLERR,arg[5]); + if (narg == 6) cut_one = utils::numeric(FLERR,arg[5],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/pair_soft.cpp b/src/pair_soft.cpp index ddfc4476dc49291d48c877c4c920b38ca16dcc35..4d3702313e952e70f4efdec10f9a526adc171de2 100644 --- a/src/pair_soft.cpp +++ b/src/pair_soft.cpp @@ -149,7 +149,7 @@ void PairSoft::settings(int narg, char **arg) { if (narg != 1) error->all(FLERR,"Illegal pair_style command"); - cut_global = force->numeric(FLERR,arg[0]); + cut_global = utils::numeric(FLERR,arg[0],false,lmp); // reset cutoffs that have been explicitly set @@ -172,13 +172,13 @@ void PairSoft::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); - double prefactor_one = force->numeric(FLERR,arg[2]); + double prefactor_one = utils::numeric(FLERR,arg[2],false,lmp); double cut_one = cut_global; - if (narg == 4) cut_one = force->numeric(FLERR,arg[3]); + if (narg == 4) cut_one = utils::numeric(FLERR,arg[3],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/pair_table.cpp b/src/pair_table.cpp index bd2a6be65437da10c46ccdf788d55ecf05842d9a..4aec954c38efe0b90257d9b992e06fe0a42d6cc4 100644 --- a/src/pair_table.cpp +++ b/src/pair_table.cpp @@ -216,7 +216,7 @@ void PairTable::settings(int narg, char **arg) else if (strcmp(arg[0],"bitmap") == 0) tabstyle = BITMAP; else error->all(FLERR,"Unknown table style in pair_style command"); - tablength = force->inumeric(FLERR,arg[1]); + tablength = utils::inumeric(FLERR,arg[1],false,lmp); if (tablength < 2) error->all(FLERR,"Illegal number of pair table entries"); // optional keywords @@ -259,8 +259,8 @@ void PairTable::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); int me; MPI_Comm_rank(world,&me); @@ -273,7 +273,7 @@ void PairTable::coeff(int narg, char **arg) // set table cutoff - if (narg == 5) tb->cut = force->numeric(FLERR,arg[4]); + if (narg == 5) tb->cut = utils::numeric(FLERR,arg[4],false,lmp); else if (tb->rflag) tb->cut = tb->rhi; else tb->cut = tb->rfile[tb->ninput-1]; diff --git a/src/pair_ufm.cpp b/src/pair_ufm.cpp index 3b94902af7d44f70dbb8326dcc82f2c1062e74b4..fd700e98862ec0c145e76f0922ee57dd52fa72f2 100644 --- a/src/pair_ufm.cpp +++ b/src/pair_ufm.cpp @@ -164,7 +164,7 @@ void PairUFM::settings(int narg, char **arg) { if (narg != 1) error->all(FLERR,"Illegal pair_style command"); - cut_global = force->numeric(FLERR,arg[0]); + cut_global = utils::numeric(FLERR,arg[0],false,lmp); // reset cutoffs that have been explicitly set @@ -187,15 +187,15 @@ void PairUFM::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); - double epsilon_one = force->numeric(FLERR,arg[2]); - double sigma_one = force->numeric(FLERR,arg[3]); + double epsilon_one = utils::numeric(FLERR,arg[2],false,lmp); + double sigma_one = utils::numeric(FLERR,arg[3],false,lmp); double cut_one = cut_global; - if (narg == 5) cut_one = force->numeric(FLERR,arg[4]); + if (narg == 5) cut_one = utils::numeric(FLERR,arg[4],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/pair_yukawa.cpp b/src/pair_yukawa.cpp index d1e06fdb8484822e2571e3baa136224c0c305c80..b746204892105cd1541bbb2bc3b46dfdf61292f2 100644 --- a/src/pair_yukawa.cpp +++ b/src/pair_yukawa.cpp @@ -153,8 +153,8 @@ void PairYukawa::settings(int narg, char **arg) { if (narg != 2) error->all(FLERR,"Illegal pair_style command"); - kappa = force->numeric(FLERR,arg[0]); - cut_global = force->numeric(FLERR,arg[1]); + kappa = utils::numeric(FLERR,arg[0],false,lmp); + cut_global = utils::numeric(FLERR,arg[1],false,lmp); // reset cutoffs that have been explicitly set @@ -177,13 +177,13 @@ void PairYukawa::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); - double a_one = force->numeric(FLERR,arg[2]); + double a_one = utils::numeric(FLERR,arg[2],false,lmp); double cut_one = cut_global; - if (narg == 4) cut_one = force->numeric(FLERR,arg[3]); + if (narg == 4) cut_one = utils::numeric(FLERR,arg[3],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/pair_zbl.cpp b/src/pair_zbl.cpp index 2ba499a9111bd090368eb7ba82cb43e223143ace..d78c1569359b014f15b41b854be348348ed7b5b8 100644 --- a/src/pair_zbl.cpp +++ b/src/pair_zbl.cpp @@ -183,8 +183,8 @@ void PairZBL::settings(int narg, char **arg) { if (narg != 2) error->all(FLERR,"Illegal pair_style command"); - cut_inner = force->numeric(FLERR,arg[0]); - cut_global = force->numeric(FLERR,arg[1]); + cut_inner = utils::numeric(FLERR,arg[0],false,lmp); + cut_global = utils::numeric(FLERR,arg[1],false,lmp); if (cut_inner <= 0.0 ) error->all(FLERR,"Illegal pair_style command"); @@ -206,13 +206,13 @@ void PairZBL::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); int jlo,jhi; - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); - z_one = force->numeric(FLERR,arg[2]); - z_two = force->numeric(FLERR,arg[3]); + z_one = utils::numeric(FLERR,arg[2],false,lmp); + z_two = utils::numeric(FLERR,arg[3],false,lmp); // set flag for each i-j pair // set z-parameter only for i-i pairs diff --git a/src/pair_zero.cpp b/src/pair_zero.cpp index 6ab108ff4f8e5d26a1dad8ec2ae8fe55f356d777..f08d919f83eb1464461896ee4de5ff21c211fc91 100644 --- a/src/pair_zero.cpp +++ b/src/pair_zero.cpp @@ -89,7 +89,7 @@ void PairZero::settings(int narg, char **arg) if ((narg != 1) && (narg != 2)) error->all(FLERR,"Illegal pair_style command"); - cut_global = force->numeric(FLERR,arg[0]); + cut_global = utils::numeric(FLERR,arg[0],false,lmp); if (narg == 2) { if (strcmp("nocoeff",arg[1]) == 0) coeffflag=0; else error->all(FLERR,"Illegal pair_style command"); @@ -117,11 +117,11 @@ void PairZero::coeff(int narg, char **arg) if (!allocated) allocate(); int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); + utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); double cut_one = cut_global; - if (coeffflag && (narg == 3)) cut_one = force->numeric(FLERR,arg[2]); + if (coeffflag && (narg == 3)) cut_one = utils::numeric(FLERR,arg[2],false,lmp); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/pointers.h b/src/pointers.h index 2d528db392a2abd4e145f3a8e02f98d1df3396e4..4b91e009ac63865924139d30af3b4304bc730fc8 100644 --- a/src/pointers.h +++ b/src/pointers.h @@ -25,7 +25,9 @@ #include // IWYU pragma: export #include // IWYU pragme: export #include // IWYU pragma: export +#include // IWYU pragma: export #include "lammps.h" // IWYU pragma: export +#include "utils.h" // IWYU pragma: export namespace LAMMPS_NS { diff --git a/src/potential_file_reader.cpp b/src/potential_file_reader.cpp index 47283fd574ebfbe324e519c5a341a217fc904ca4..62658a9ac5a5ba7d89f2d1cd73cf47bdeea1ab19 100644 --- a/src/potential_file_reader.cpp +++ b/src/potential_file_reader.cpp @@ -29,6 +29,19 @@ using namespace LAMMPS_NS; +/** Class for reading and parsing LAMMPS potential files + * + * The value of the class member variable *ignore_comments* controls + * whether any text following the pound sign (#) should be ignored (true) + * or not (false). Default: true, i.e. ignore. + * + * \param lmp Pointer to LAMMPS instance + * \param filename Name of file to be read + * \param potential_name Name of potential style for error messages + * \param auto_convert Bitmask of supported unit conversions + * + * \sa TextFileReader */ + PotentialFileReader::PotentialFileReader(LAMMPS *lmp, const std::string &filename, const std::string &potential_name, @@ -53,14 +66,21 @@ PotentialFileReader::PotentialFileReader(LAMMPS *lmp, } } +/** Closes the file */ + PotentialFileReader::~PotentialFileReader() { delete reader; } +/** Set comment (= text after '#') handling preference for the file to be read + * + * \param value Comment text is ignored if true, or not if false */ void PotentialFileReader::ignore_comments(bool value) { reader->ignore_comments = value; } +/** Read a line but ignore its content */ + void PotentialFileReader::skip_line() { try { reader->skip_line(); @@ -69,6 +89,17 @@ void PotentialFileReader::skip_line() { } } +/** Read the next line(s) until *nparams* words have been read. + * + * This reads a line and counts the words in it, if the number + * is less than the requested number, it will read the next + * line, as well. Output will be a string with all read lines + * combined. The purpose is to somewhat replicate the reading + * behavior of formatted files in Fortran. + * + * \param nparams Number of words that must be read. Default: 0 + * \return String with the concatenated text */ + char *PotentialFileReader::next_line(int nparams) { try { return reader->next_line(nparams); @@ -78,6 +109,15 @@ char *PotentialFileReader::next_line(int nparams) { return nullptr; } +/** Read lines until *n* doubles have been read and stored in array *list* + * + * This reads lines from the file using the next_line() function, + * and splits them into floating-point numbers using the + * ValueTokenizer class and stores the number is the provided list. + * + * \param list Pointer to array with suitable storage for *n* doubles + * \param n Number of doubles to be read */ + void PotentialFileReader::next_dvector(double * list, int n) { try { return reader->next_dvector(list, n); @@ -86,6 +126,16 @@ void PotentialFileReader::next_dvector(double * list, int n) { } } +/** Read text until *nparams* words are read and passed to a tokenizer object for custom parsing. + * + * This reads lines from the file using the next_line() function, + * and splits them into floating-point numbers using the + * ValueTokenizer class and stores the number is the provided list. + * + * \param nparams Number of words to be read + * \param separators String with list of separators. + * \return ValueTokenizer object for read in text */ + ValueTokenizer PotentialFileReader::next_values(int nparams, const std::string & separators) { try { return reader->next_values(nparams, separators); @@ -95,6 +145,10 @@ ValueTokenizer PotentialFileReader::next_values(int nparams, const std::string & return ValueTokenizer(""); } +/** Read next line and convert first word to a double + * + * \return Value of first word in line as double */ + double PotentialFileReader::next_double() { try { char * line = reader->next_line(1); @@ -105,6 +159,10 @@ double PotentialFileReader::next_double() { return 0.0; } +/** Read next line and convert first word to an int + * + * \return Value of first word in line as int */ + int PotentialFileReader::next_int() { try { char * line = reader->next_line(1); @@ -115,6 +173,10 @@ int PotentialFileReader::next_int() { return 0; } +/** Read next line and convert first word to a tagint + * + * \return Value of first word in line as tagint */ + tagint PotentialFileReader::next_tagint() { try { char * line = reader->next_line(1); @@ -125,6 +187,10 @@ tagint PotentialFileReader::next_tagint() { return 0; } +/** Read next line and convert first word to a bigint + * + * \return Value of first word in line as bigint */ + bigint PotentialFileReader::next_bigint() { try { char * line = reader->next_line(1); @@ -135,6 +201,10 @@ bigint PotentialFileReader::next_bigint() { return 0; } +/** Read next line and return first word + * + * \return First word of read in line */ + std::string PotentialFileReader::next_string() { try { char * line = reader->next_line(1); @@ -145,6 +215,12 @@ std::string PotentialFileReader::next_string() { return ""; } +/** Look up and open the potential file + * + * \param path Path of the potential file to open + * \return Pointer to TextFileReader object created + * \sa TextFileReader */ + TextFileReader *PotentialFileReader::open_potential(const std::string &path) { std::string filepath = utils::get_potential_file_path(path); diff --git a/src/read_data.cpp b/src/read_data.cpp index 19e5c56b815f327de686b01280515652f78fa0c0..7224ac89ea1ec9581886e5b438e1a7f82b7b2474 100644 --- a/src/read_data.cpp +++ b/src/read_data.cpp @@ -148,13 +148,13 @@ void ReadData::command(int narg, char **arg) if (atom->molecule_flag && (iarg+3 > narg)) error->all(FLERR,"Illegal read_data command"); addflag = VALUE; - bigint offset = force->bnumeric(FLERR,arg[iarg+1]); + bigint offset = utils::bnumeric(FLERR,arg[iarg+1],false,lmp); if (offset > MAXTAGINT) error->all(FLERR,"Read data add atomID offset is too big"); id_offset = offset; if (atom->molecule_flag) { - offset = force->bnumeric(FLERR,arg[iarg+2]); + offset = utils::bnumeric(FLERR,arg[iarg+2],false,lmp); if (offset > MAXTAGINT) error->all(FLERR,"Read data add molID offset is too big"); mol_offset = offset; @@ -165,11 +165,11 @@ void ReadData::command(int narg, char **arg) } else if (strcmp(arg[iarg],"offset") == 0) { if (iarg+6 > narg) error->all(FLERR,"Illegal read_data command"); offsetflag = 1; - toffset = force->inumeric(FLERR,arg[iarg+1]); - boffset = force->inumeric(FLERR,arg[iarg+2]); - aoffset = force->inumeric(FLERR,arg[iarg+3]); - doffset = force->inumeric(FLERR,arg[iarg+4]); - ioffset = force->inumeric(FLERR,arg[iarg+5]); + toffset = utils::inumeric(FLERR,arg[iarg+1],false,lmp); + boffset = utils::inumeric(FLERR,arg[iarg+2],false,lmp); + aoffset = utils::inumeric(FLERR,arg[iarg+3],false,lmp); + doffset = utils::inumeric(FLERR,arg[iarg+4],false,lmp); + ioffset = utils::inumeric(FLERR,arg[iarg+5],false,lmp); if (toffset < 0 || boffset < 0 || aoffset < 0 || doffset < 0 || ioffset < 0) error->all(FLERR,"Illegal read_data command"); @@ -177,9 +177,9 @@ void ReadData::command(int narg, char **arg) } else if (strcmp(arg[iarg],"shift") == 0) { if (iarg+4 > narg) error->all(FLERR,"Illegal read_data command"); shiftflag = 1; - shift[0] = force->numeric(FLERR,arg[iarg+1]); - shift[1] = force->numeric(FLERR,arg[iarg+2]); - shift[2] = force->numeric(FLERR,arg[iarg+3]); + shift[0] = utils::numeric(FLERR,arg[iarg+1],false,lmp); + shift[1] = utils::numeric(FLERR,arg[iarg+2],false,lmp); + shift[2] = utils::numeric(FLERR,arg[iarg+3],false,lmp); if (domain->dimension == 2 && shift[2] != 0.0) error->all(FLERR,"Non-zero read_data shift z value for 2d simulation"); iarg += 4; @@ -188,28 +188,28 @@ void ReadData::command(int narg, char **arg) iarg ++; } else if (strcmp(arg[iarg],"extra/atom/types") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal read_data command"); - extra_atom_types = force->inumeric(FLERR,arg[iarg+1]); + extra_atom_types = utils::inumeric(FLERR,arg[iarg+1],false,lmp); if (extra_atom_types < 0) error->all(FLERR,"Illegal read_data command"); iarg += 2; } else if (strcmp(arg[iarg],"extra/bond/types") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal read_data command"); if (!atom->avec->bonds_allow) error->all(FLERR,"No bonds allowed with this atom style"); - extra_bond_types = force->inumeric(FLERR,arg[iarg+1]); + extra_bond_types = utils::inumeric(FLERR,arg[iarg+1],false,lmp); if (extra_bond_types < 0) error->all(FLERR,"Illegal read_data command"); iarg += 2; } else if (strcmp(arg[iarg],"extra/angle/types") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal read_data command"); if (!atom->avec->angles_allow) error->all(FLERR,"No angles allowed with this atom style"); - extra_angle_types = force->inumeric(FLERR,arg[iarg+1]); + extra_angle_types = utils::inumeric(FLERR,arg[iarg+1],false,lmp); if (extra_angle_types < 0) error->all(FLERR,"Illegal read_data command"); iarg += 2; } else if (strcmp(arg[iarg],"extra/dihedral/types") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal read_data command"); if (!atom->avec->dihedrals_allow) error->all(FLERR,"No dihedrals allowed with this atom style"); - extra_dihedral_types = force->inumeric(FLERR,arg[iarg+1]); + extra_dihedral_types = utils::inumeric(FLERR,arg[iarg+1],false,lmp); if (extra_dihedral_types < 0) error->all(FLERR,"Illegal read_data command"); iarg += 2; @@ -217,7 +217,7 @@ void ReadData::command(int narg, char **arg) if (iarg+2 > narg) error->all(FLERR,"Illegal read_data command"); if (!atom->avec->impropers_allow) error->all(FLERR,"No impropers allowed with this atom style"); - extra_improper_types = force->inumeric(FLERR,arg[iarg+1]); + extra_improper_types = utils::inumeric(FLERR,arg[iarg+1],false,lmp); if (extra_improper_types < 0) error->all(FLERR,"Illegal read_data command"); iarg += 2; @@ -225,7 +225,7 @@ void ReadData::command(int narg, char **arg) if (iarg+2 > narg) error->all(FLERR,"Illegal read_data command"); if (! atom->molecular) error->all(FLERR,"No bonds allowed with this atom style"); - atom->extra_bond_per_atom = force->inumeric(FLERR,arg[iarg+1]); + atom->extra_bond_per_atom = utils::inumeric(FLERR,arg[iarg+1],false,lmp); if (atom->extra_bond_per_atom < 0) error->all(FLERR,"Illegal read_data command"); iarg += 2; @@ -233,7 +233,7 @@ void ReadData::command(int narg, char **arg) if (iarg+2 > narg) error->all(FLERR,"Illegal read_data command"); if (! atom->molecular) error->all(FLERR,"No angles allowed with this atom style"); - atom->extra_angle_per_atom = force->inumeric(FLERR,arg[iarg+1]); + atom->extra_angle_per_atom = utils::inumeric(FLERR,arg[iarg+1],false,lmp); if (atom->extra_angle_per_atom < 0) error->all(FLERR,"Illegal read_data command"); iarg += 2; @@ -241,7 +241,7 @@ void ReadData::command(int narg, char **arg) if (iarg+2 > narg) error->all(FLERR,"Illegal read_data command"); if (! atom->molecular) error->all(FLERR,"No dihedrals allowed with this atom style"); - atom->extra_dihedral_per_atom = force->inumeric(FLERR,arg[iarg+1]); + atom->extra_dihedral_per_atom = utils::inumeric(FLERR,arg[iarg+1],false,lmp); if (atom->extra_dihedral_per_atom < 0) error->all(FLERR,"Illegal read_data command"); iarg += 2; @@ -249,7 +249,7 @@ void ReadData::command(int narg, char **arg) if (iarg+2 > narg) error->all(FLERR,"Illegal read_data command"); if (! atom->molecular) error->all(FLERR,"No impropers allowed with this atom style"); - atom->extra_improper_per_atom = force->inumeric(FLERR,arg[iarg+1]); + atom->extra_improper_per_atom = utils::inumeric(FLERR,arg[iarg+1],false,lmp); if (atom->extra_improper_per_atom < 0) error->all(FLERR,"Illegal read_data command"); iarg += 2; @@ -257,7 +257,7 @@ void ReadData::command(int narg, char **arg) if (iarg+2 > narg) error->all(FLERR,"Illegal read_data command"); if (! atom->molecular) error->all(FLERR,"No bonded interactions allowed with this atom style"); - force->special_extra = force->inumeric(FLERR,arg[iarg+1]); + force->special_extra = utils::inumeric(FLERR,arg[iarg+1],false,lmp); if (force->special_extra < 0) error->all(FLERR,"Illegal read_data command"); iarg += 2; @@ -2075,11 +2075,11 @@ void ReadData::parse_coeffs(char *line, const char *addstr, if (narg == 0) return; if (noffset) { - int value = force->inumeric(FLERR,arg[0]); + int value = utils::inumeric(FLERR,arg[0],false,lmp); sprintf(argoffset1,"%d",value+offset); arg[0] = argoffset1; if (noffset == 2) { - value = force->inumeric(FLERR,arg[1]); + value = utils::inumeric(FLERR,arg[1],false,lmp); sprintf(argoffset2,"%d",value+offset); arg[1] = argoffset2; } diff --git a/src/read_dump.cpp b/src/read_dump.cpp index f47eda3262c4062ca88f2bc374f218a8881d4633..fbafb4ca8482b9924b3d35ba17ad51bd4fd203c5 100644 --- a/src/read_dump.cpp +++ b/src/read_dump.cpp @@ -110,7 +110,7 @@ void ReadDump::command(int narg, char **arg) if (narg < 2) error->all(FLERR,"Illegal read_dump command"); store_files(1,&arg[0]); - bigint nstep = force->bnumeric(FLERR,arg[1]); + bigint nstep = utils::bnumeric(FLERR,arg[1],false,lmp); int nremain = narg - 2; if (nremain) nremain = fields_and_keywords(nremain,&arg[narg-nremain]); @@ -1217,7 +1217,7 @@ int ReadDump::fields_and_keywords(int narg, char **arg) while (iarg < narg) { if (strcmp(arg[iarg],"nfile") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal read_dump command"); - multiproc_nfile = force->inumeric(FLERR,arg[iarg+1]); + multiproc_nfile = utils::inumeric(FLERR,arg[iarg+1],false,lmp); iarg += 2; } else if (strcmp(arg[iarg],"box") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal read_dump command"); diff --git a/src/reader_native.cpp b/src/reader_native.cpp index b329dd4f70099071f726507d5694af22c03b2848..9b93c7800000179a78b261f2a81a9cc14ba2f9ae 100644 --- a/src/reader_native.cpp +++ b/src/reader_native.cpp @@ -320,7 +320,7 @@ void ReaderNative::read_atoms(int n, int nfield, double **fields) // tokenize the line std::vector words = Tokenizer(line).as_vector(); - if (words.size() < nwords) error->one(FLERR,"Insufficient columns in dump file"); + if ((int)words.size() < nwords) error->one(FLERR,"Insufficient columns in dump file"); // convert selected fields to floats diff --git a/src/reader_xyz.cpp b/src/reader_xyz.cpp index a5209956b9cce6165a5e9185c2108b7dcaa755ce..ad8cb0cc6ea78f4f8ee90dc7ed3f839cffbdbeba 100644 --- a/src/reader_xyz.cpp +++ b/src/reader_xyz.cpp @@ -65,7 +65,7 @@ int ReaderXYZ::read_time(bigint &ntimestep) break; } } - natoms = force->bnumeric(FLERR,line); + natoms = utils::bnumeric(FLERR,line,false,lmp); if (natoms < 1) error->one(FLERR,"Dump file is incorrectly formatted"); diff --git a/src/region.cpp b/src/region.cpp index 7a676de1afe1f155ab6d6a16cea64fccd2d89250..8a6ec3305aab77b979d036ce5439d9bec0de70c2 100644 --- a/src/region.cpp +++ b/src/region.cpp @@ -365,18 +365,18 @@ void Region::options(int narg, char **arg) int n = strlen(&arg[iarg+1][2]) + 1; tstr = new char[n]; strcpy(tstr,&arg[iarg+1][2]); - point[0] = force->numeric(FLERR,arg[iarg+2]); - point[1] = force->numeric(FLERR,arg[iarg+3]); - point[2] = force->numeric(FLERR,arg[iarg+4]); - axis[0] = force->numeric(FLERR,arg[iarg+5]); - axis[1] = force->numeric(FLERR,arg[iarg+6]); - axis[2] = force->numeric(FLERR,arg[iarg+7]); + point[0] = utils::numeric(FLERR,arg[iarg+2],false,lmp); + point[1] = utils::numeric(FLERR,arg[iarg+3],false,lmp); + point[2] = utils::numeric(FLERR,arg[iarg+4],false,lmp); + axis[0] = utils::numeric(FLERR,arg[iarg+5],false,lmp); + axis[1] = utils::numeric(FLERR,arg[iarg+6],false,lmp); + axis[2] = utils::numeric(FLERR,arg[iarg+7],false,lmp); rotateflag = 1; iarg += 8; } else if (strcmp(arg[iarg],"open") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal region command"); - int iface = force->inumeric(FLERR,arg[iarg+1]); + int iface = utils::inumeric(FLERR,arg[iarg+1],false,lmp); if (iface < 1 || iface > 6) error->all(FLERR,"Illegal region command"); // additional checks on valid face index are done by region classes open_faces[iface-1] = 1; diff --git a/src/region_block.cpp b/src/region_block.cpp index 8ea8b3f20245aa90b0844df6ddb1160b40adf9ca..e06c05d1a714d0d9a32fe09f6108bc541b3619db 100644 --- a/src/region_block.cpp +++ b/src/region_block.cpp @@ -34,7 +34,7 @@ RegBlock::RegBlock(LAMMPS *lmp, int narg, char **arg) : Region(lmp, narg, arg) if (strcmp(arg[2],"INF") == 0) xlo = -BIG; else if (domain->triclinic == 0) xlo = domain->boxlo[0]; else xlo = domain->boxlo_bound[0]; - } else xlo = xscale*force->numeric(FLERR,arg[2]); + } else xlo = xscale*utils::numeric(FLERR,arg[2],false,lmp); if (strcmp(arg[3],"INF") == 0 || strcmp(arg[3],"EDGE") == 0) { if (domain->box_exist == 0) @@ -42,7 +42,7 @@ RegBlock::RegBlock(LAMMPS *lmp, int narg, char **arg) : Region(lmp, narg, arg) if (strcmp(arg[3],"INF") == 0) xhi = BIG; else if (domain->triclinic == 0) xhi = domain->boxhi[0]; else xhi = domain->boxhi_bound[0]; - } else xhi = xscale*force->numeric(FLERR,arg[3]); + } else xhi = xscale*utils::numeric(FLERR,arg[3],false,lmp); if (strcmp(arg[4],"INF") == 0 || strcmp(arg[4],"EDGE") == 0) { if (domain->box_exist == 0) @@ -50,7 +50,7 @@ RegBlock::RegBlock(LAMMPS *lmp, int narg, char **arg) : Region(lmp, narg, arg) if (strcmp(arg[4],"INF") == 0) ylo = -BIG; else if (domain->triclinic == 0) ylo = domain->boxlo[1]; else ylo = domain->boxlo_bound[1]; - } else ylo = yscale*force->numeric(FLERR,arg[4]); + } else ylo = yscale*utils::numeric(FLERR,arg[4],false,lmp); if (strcmp(arg[5],"INF") == 0 || strcmp(arg[5],"EDGE") == 0) { if (domain->box_exist == 0) @@ -58,7 +58,7 @@ RegBlock::RegBlock(LAMMPS *lmp, int narg, char **arg) : Region(lmp, narg, arg) if (strcmp(arg[5],"INF") == 0) yhi = BIG; else if (domain->triclinic == 0) yhi = domain->boxhi[1]; else yhi = domain->boxhi_bound[1]; - } else yhi = yscale*force->numeric(FLERR,arg[5]); + } else yhi = yscale*utils::numeric(FLERR,arg[5],false,lmp); if (strcmp(arg[6],"INF") == 0 || strcmp(arg[6],"EDGE") == 0) { if (domain->box_exist == 0) @@ -66,7 +66,7 @@ RegBlock::RegBlock(LAMMPS *lmp, int narg, char **arg) : Region(lmp, narg, arg) if (strcmp(arg[6],"INF") == 0) zlo = -BIG; else if (domain->triclinic == 0) zlo = domain->boxlo[2]; else zlo = domain->boxlo_bound[2]; - } else zlo = zscale*force->numeric(FLERR,arg[6]); + } else zlo = zscale*utils::numeric(FLERR,arg[6],false,lmp); if (strcmp(arg[7],"INF") == 0 || strcmp(arg[7],"EDGE") == 0) { if (domain->box_exist == 0) @@ -74,7 +74,7 @@ RegBlock::RegBlock(LAMMPS *lmp, int narg, char **arg) : Region(lmp, narg, arg) if (strcmp(arg[7],"INF") == 0) zhi = BIG; else if (domain->triclinic == 0) zhi = domain->boxhi[2]; else zhi = domain->boxhi_bound[2]; - } else zhi = zscale*force->numeric(FLERR,arg[7]); + } else zhi = zscale*utils::numeric(FLERR,arg[7],false,lmp); // error check diff --git a/src/region_cone.cpp b/src/region_cone.cpp index 3c7d0a29d82dd690a22f9b30d363c84d04437870..400fb072298d2d50b6b8cd1597a366f0b9c497f2 100644 --- a/src/region_cone.cpp +++ b/src/region_cone.cpp @@ -43,20 +43,20 @@ RegCone::RegCone(LAMMPS *lmp, int narg, char **arg) : axis = arg[2][0]; if (axis == 'x') { - c1 = yscale*force->numeric(FLERR,arg[3]); - c2 = zscale*force->numeric(FLERR,arg[4]); - radiuslo = yscale*force->numeric(FLERR,arg[5]); - radiushi = yscale*force->numeric(FLERR,arg[6]); + c1 = yscale*utils::numeric(FLERR,arg[3],false,lmp); + c2 = zscale*utils::numeric(FLERR,arg[4],false,lmp); + radiuslo = yscale*utils::numeric(FLERR,arg[5],false,lmp); + radiushi = yscale*utils::numeric(FLERR,arg[6],false,lmp); } else if (axis == 'y') { - c1 = xscale*force->numeric(FLERR,arg[3]); - c2 = zscale*force->numeric(FLERR,arg[4]); - radiuslo = xscale*force->numeric(FLERR,arg[5]); - radiushi = xscale*force->numeric(FLERR,arg[6]); + c1 = xscale*utils::numeric(FLERR,arg[3],false,lmp); + c2 = zscale*utils::numeric(FLERR,arg[4],false,lmp); + radiuslo = xscale*utils::numeric(FLERR,arg[5],false,lmp); + radiushi = xscale*utils::numeric(FLERR,arg[6],false,lmp); } else if (axis == 'z') { - c1 = xscale*force->numeric(FLERR,arg[3]); - c2 = yscale*force->numeric(FLERR,arg[4]); - radiuslo = xscale*force->numeric(FLERR,arg[5]); - radiushi = xscale*force->numeric(FLERR,arg[6]); + c1 = xscale*utils::numeric(FLERR,arg[3],false,lmp); + c2 = yscale*utils::numeric(FLERR,arg[4],false,lmp); + radiuslo = xscale*utils::numeric(FLERR,arg[5],false,lmp); + radiushi = xscale*utils::numeric(FLERR,arg[6],false,lmp); } if (strcmp(arg[7],"INF") == 0 || strcmp(arg[7],"EDGE") == 0) { @@ -78,9 +78,9 @@ RegCone::RegCone(LAMMPS *lmp, int narg, char **arg) : else lo = domain->boxlo_bound[2]; } } else { - if (axis == 'x') lo = xscale*force->numeric(FLERR,arg[7]); - if (axis == 'y') lo = yscale*force->numeric(FLERR,arg[7]); - if (axis == 'z') lo = zscale*force->numeric(FLERR,arg[7]); + if (axis == 'x') lo = xscale*utils::numeric(FLERR,arg[7],false,lmp); + if (axis == 'y') lo = yscale*utils::numeric(FLERR,arg[7],false,lmp); + if (axis == 'z') lo = zscale*utils::numeric(FLERR,arg[7],false,lmp); } if (strcmp(arg[8],"INF") == 0 || strcmp(arg[7],"EDGE") == 0) { @@ -102,9 +102,9 @@ RegCone::RegCone(LAMMPS *lmp, int narg, char **arg) : else hi = domain->boxhi_bound[2]; } } else { - if (axis == 'x') hi = xscale*force->numeric(FLERR,arg[8]); - if (axis == 'y') hi = yscale*force->numeric(FLERR,arg[8]); - if (axis == 'z') hi = zscale*force->numeric(FLERR,arg[8]); + if (axis == 'x') hi = xscale*utils::numeric(FLERR,arg[8],false,lmp); + if (axis == 'y') hi = yscale*utils::numeric(FLERR,arg[8],false,lmp); + if (axis == 'z') hi = zscale*utils::numeric(FLERR,arg[8],false,lmp); } // error check diff --git a/src/region_cylinder.cpp b/src/region_cylinder.cpp index b2c06270d07991536938ff6819952ec0fb5fa916..dc1584a96bc6e371a741b2e553db9a6768a4d636 100644 --- a/src/region_cylinder.cpp +++ b/src/region_cylinder.cpp @@ -51,7 +51,7 @@ RegCylinder::RegCylinder(LAMMPS *lmp, int narg, char **arg) : c1style = VARIABLE; varshape = 1; } else { - c1 = yscale*force->numeric(FLERR,arg[3]); + c1 = yscale*utils::numeric(FLERR,arg[3],false,lmp); c1style = CONSTANT; } if (strstr(arg[4],"v_") == arg[4]) { @@ -62,7 +62,7 @@ RegCylinder::RegCylinder(LAMMPS *lmp, int narg, char **arg) : c2style = VARIABLE; varshape = 1; } else { - c2 = zscale*force->numeric(FLERR,arg[4]); + c2 = zscale*utils::numeric(FLERR,arg[4],false,lmp); c2style = CONSTANT; } } else if (axis == 'y') { @@ -74,7 +74,7 @@ RegCylinder::RegCylinder(LAMMPS *lmp, int narg, char **arg) : c1style = VARIABLE; varshape = 1; } else { - c1 = xscale*force->numeric(FLERR,arg[3]); + c1 = xscale*utils::numeric(FLERR,arg[3],false,lmp); c1style = CONSTANT; } if (strstr(arg[4],"v_") == arg[4]) { @@ -85,7 +85,7 @@ RegCylinder::RegCylinder(LAMMPS *lmp, int narg, char **arg) : c2style = VARIABLE; varshape = 1; } else { - c2 = zscale*force->numeric(FLERR,arg[4]); + c2 = zscale*utils::numeric(FLERR,arg[4],false,lmp); c2style = CONSTANT; } } else if (axis == 'z') { @@ -97,7 +97,7 @@ RegCylinder::RegCylinder(LAMMPS *lmp, int narg, char **arg) : c1style = VARIABLE; varshape = 1; } else { - c1 = xscale*force->numeric(FLERR,arg[3]); + c1 = xscale*utils::numeric(FLERR,arg[3],false,lmp); c1style = CONSTANT; } if (strstr(arg[4],"v_") == arg[4]) { @@ -108,7 +108,7 @@ RegCylinder::RegCylinder(LAMMPS *lmp, int narg, char **arg) : c2style = VARIABLE; varshape = 1; } else { - c2 = yscale*force->numeric(FLERR,arg[4]); + c2 = yscale*utils::numeric(FLERR,arg[4],false,lmp); c2style = CONSTANT; } } @@ -121,7 +121,7 @@ RegCylinder::RegCylinder(LAMMPS *lmp, int narg, char **arg) : rstyle = VARIABLE; varshape = 1; } else { - radius = force->numeric(FLERR,arg[5]); + radius = utils::numeric(FLERR,arg[5],false,lmp); if (axis == 'x') radius *= yscale; else radius *= xscale; rstyle = CONSTANT; @@ -151,9 +151,9 @@ RegCylinder::RegCylinder(LAMMPS *lmp, int narg, char **arg) : else lo = domain->boxlo_bound[2]; } } else { - if (axis == 'x') lo = xscale*force->numeric(FLERR,arg[6]); - if (axis == 'y') lo = yscale*force->numeric(FLERR,arg[6]); - if (axis == 'z') lo = zscale*force->numeric(FLERR,arg[6]); + if (axis == 'x') lo = xscale*utils::numeric(FLERR,arg[6],false,lmp); + if (axis == 'y') lo = yscale*utils::numeric(FLERR,arg[6],false,lmp); + if (axis == 'z') lo = zscale*utils::numeric(FLERR,arg[6],false,lmp); } if (strcmp(arg[7],"INF") == 0 || strcmp(arg[7],"EDGE") == 0) { @@ -175,9 +175,9 @@ RegCylinder::RegCylinder(LAMMPS *lmp, int narg, char **arg) : else hi = domain->boxhi_bound[2]; } } else { - if (axis == 'x') hi = xscale*force->numeric(FLERR,arg[7]); - if (axis == 'y') hi = yscale*force->numeric(FLERR,arg[7]); - if (axis == 'z') hi = zscale*force->numeric(FLERR,arg[7]); + if (axis == 'x') hi = xscale*utils::numeric(FLERR,arg[7],false,lmp); + if (axis == 'y') hi = yscale*utils::numeric(FLERR,arg[7],false,lmp); + if (axis == 'z') hi = zscale*utils::numeric(FLERR,arg[7],false,lmp); } // error check diff --git a/src/region_intersect.cpp b/src/region_intersect.cpp index fe074a6b4c2c6328e63934989a80cd52fc2e2521..4096657d3021026846400a2679f848475cf299d1 100644 --- a/src/region_intersect.cpp +++ b/src/region_intersect.cpp @@ -27,7 +27,7 @@ RegIntersect::RegIntersect(LAMMPS *lmp, int narg, char **arg) : nregion = 0; if (narg < 5) error->all(FLERR,"Illegal region command"); - int n = force->inumeric(FLERR,arg[2]); + int n = utils::inumeric(FLERR,arg[2],false,lmp); if (n < 2) error->all(FLERR,"Illegal region command"); options(narg-(n+3),&arg[n+3]); diff --git a/src/region_plane.cpp b/src/region_plane.cpp index 85671357ef4edb2b62c33c25ce564ccb1c43d5bf..bf12f3cd916acee2f0c1c22cd92d0f5439d64fdd 100644 --- a/src/region_plane.cpp +++ b/src/region_plane.cpp @@ -25,12 +25,12 @@ RegPlane::RegPlane(LAMMPS *lmp, int narg, char **arg) : { options(narg-8,&arg[8]); - xp = xscale*force->numeric(FLERR,arg[2]); - yp = yscale*force->numeric(FLERR,arg[3]); - zp = zscale*force->numeric(FLERR,arg[4]); - normal[0] = xscale*force->numeric(FLERR,arg[5]); - normal[1] = yscale*force->numeric(FLERR,arg[6]); - normal[2] = zscale*force->numeric(FLERR,arg[7]); + xp = xscale*utils::numeric(FLERR,arg[2],false,lmp); + yp = yscale*utils::numeric(FLERR,arg[3],false,lmp); + zp = zscale*utils::numeric(FLERR,arg[4],false,lmp); + normal[0] = xscale*utils::numeric(FLERR,arg[5],false,lmp); + normal[1] = yscale*utils::numeric(FLERR,arg[6],false,lmp); + normal[2] = zscale*utils::numeric(FLERR,arg[7],false,lmp); // enforce unit normal diff --git a/src/region_prism.cpp b/src/region_prism.cpp index b6c54c2fb998e929331b2f767863a6e2e4f2a7b3..5d7c5bce1fb6a6acc7c4aeffa1f623f9c22b3414 100644 --- a/src/region_prism.cpp +++ b/src/region_prism.cpp @@ -37,46 +37,46 @@ RegPrism::RegPrism(LAMMPS *lmp, int narg, char **arg) : Region(lmp, narg, arg) error->all(FLERR,"Cannot use region INF or EDGE when box does not exist"); if (strcmp(arg[2],"INF") == 0) xlo = -BIG; else xlo = domain->boxlo[0]; - } else xlo = xscale*force->numeric(FLERR,arg[2]); + } else xlo = xscale*utils::numeric(FLERR,arg[2],false,lmp); if (strcmp(arg[3],"INF") == 0 || strcmp(arg[3],"EDGE") == 0) { if (domain->box_exist == 0) error->all(FLERR,"Cannot use region INF or EDGE when box does not exist"); if (strcmp(arg[3],"INF") == 0) xhi = BIG; else xhi = domain->boxhi[0]; - } else xhi = xscale*force->numeric(FLERR,arg[3]); + } else xhi = xscale*utils::numeric(FLERR,arg[3],false,lmp); if (strcmp(arg[4],"INF") == 0 || strcmp(arg[4],"EDGE") == 0) { if (domain->box_exist == 0) error->all(FLERR,"Cannot use region INF or EDGE when box does not exist"); if (strcmp(arg[4],"INF") == 0) ylo = -BIG; else ylo = domain->boxlo[1]; - } else ylo = yscale*force->numeric(FLERR,arg[4]); + } else ylo = yscale*utils::numeric(FLERR,arg[4],false,lmp); if (strcmp(arg[5],"INF") == 0 || strcmp(arg[5],"EDGE") == 0) { if (domain->box_exist == 0) error->all(FLERR,"Cannot use region INF or EDGE when box does not exist"); if (strcmp(arg[5],"INF") == 0) yhi = BIG; else yhi = domain->boxhi[1]; - } else yhi = yscale*force->numeric(FLERR,arg[5]); + } else yhi = yscale*utils::numeric(FLERR,arg[5],false,lmp); if (strcmp(arg[6],"INF") == 0 || strcmp(arg[6],"EDGE") == 0) { if (domain->box_exist == 0) error->all(FLERR,"Cannot use region INF or EDGE when box does not exist"); if (strcmp(arg[6],"INF") == 0) zlo = -BIG; else zlo = domain->boxlo[2]; - } else zlo = zscale*force->numeric(FLERR,arg[6]); + } else zlo = zscale*utils::numeric(FLERR,arg[6],false,lmp); if (strcmp(arg[7],"INF") == 0 || strcmp(arg[7],"EDGE") == 0) { if (domain->box_exist == 0) error->all(FLERR,"Cannot use region INF or EDGE when box does not exist"); if (strcmp(arg[7],"INF") == 0) zhi = BIG; else zhi = domain->boxhi[2]; - } else zhi = zscale*force->numeric(FLERR,arg[7]); + } else zhi = zscale*utils::numeric(FLERR,arg[7],false,lmp); - xy = xscale*force->numeric(FLERR,arg[8]); - xz = xscale*force->numeric(FLERR,arg[9]); - yz = yscale*force->numeric(FLERR,arg[10]); + xy = xscale*utils::numeric(FLERR,arg[8],false,lmp); + xz = xscale*utils::numeric(FLERR,arg[9],false,lmp); + yz = yscale*utils::numeric(FLERR,arg[10],false,lmp); // error check // prism cannot be 0 thickness in any dim, else inverse blows up diff --git a/src/region_sphere.cpp b/src/region_sphere.cpp index bf874ad3112192215990de675fe910d07f22100d..44db951fded0da1f8c831bb3626a845e141362fc 100644 --- a/src/region_sphere.cpp +++ b/src/region_sphere.cpp @@ -39,7 +39,7 @@ RegSphere::RegSphere(LAMMPS *lmp, int narg, char **arg) : xstyle = VARIABLE; varshape = 1; } else { - xc = xscale*force->numeric(FLERR,arg[2]); + xc = xscale*utils::numeric(FLERR,arg[2],false,lmp); xstyle = CONSTANT; } @@ -51,7 +51,7 @@ RegSphere::RegSphere(LAMMPS *lmp, int narg, char **arg) : ystyle = VARIABLE; varshape = 1; } else { - yc = yscale*force->numeric(FLERR,arg[3]); + yc = yscale*utils::numeric(FLERR,arg[3],false,lmp); ystyle = CONSTANT; } @@ -63,7 +63,7 @@ RegSphere::RegSphere(LAMMPS *lmp, int narg, char **arg) : zstyle = VARIABLE; varshape = 1; } else { - zc = zscale*force->numeric(FLERR,arg[4]); + zc = zscale*utils::numeric(FLERR,arg[4],false,lmp); zstyle = CONSTANT; } @@ -75,7 +75,7 @@ RegSphere::RegSphere(LAMMPS *lmp, int narg, char **arg) : rstyle = VARIABLE; varshape = 1; } else { - radius = xscale*force->numeric(FLERR,arg[5]); + radius = xscale*utils::numeric(FLERR,arg[5],false,lmp); rstyle = CONSTANT; } diff --git a/src/region_union.cpp b/src/region_union.cpp index be1fe6eeff61a086c650f00352cb22b32f5c6305..30f563df2ca855314e3f60305ee698e86d67a63f 100644 --- a/src/region_union.cpp +++ b/src/region_union.cpp @@ -28,7 +28,7 @@ RegUnion::RegUnion(LAMMPS *lmp, int narg, char **arg) : Region(lmp, narg, arg), { nregion = 0; if (narg < 5) error->all(FLERR,"Illegal region command"); - int n = force->inumeric(FLERR,arg[2]); + int n = utils::inumeric(FLERR,arg[2],false,lmp); if (n < 2) error->all(FLERR,"Illegal region command"); options(narg-(n+3),&arg[n+3]); diff --git a/src/replicate.cpp b/src/replicate.cpp index 6fe37bc600bc73f583707be555d02c160964306b..9c915d08c019abe387ffb46e4e19a532d73fcb0a 100644 --- a/src/replicate.cpp +++ b/src/replicate.cpp @@ -52,9 +52,9 @@ void Replicate::command(int narg, char **arg) // nrep = total # of replications - int nx = force->inumeric(FLERR,arg[0]); - int ny = force->inumeric(FLERR,arg[1]); - int nz = force->inumeric(FLERR,arg[2]); + int nx = utils::inumeric(FLERR,arg[0],false,lmp); + int ny = utils::inumeric(FLERR,arg[1],false,lmp); + int nz = utils::inumeric(FLERR,arg[2],false,lmp); int nrep = nx*ny*nz; int bbox_flag = 0; diff --git a/src/rerun.cpp b/src/rerun.cpp index 3cd1c5362819903d284a2249e57462e2a5f87785..a63fd1ea55af86aed8cac012c52c677011425fea 100644 --- a/src/rerun.cpp +++ b/src/rerun.cpp @@ -70,34 +70,34 @@ void Rerun::command(int narg, char **arg) while (iarg < narg) { if (strcmp(arg[iarg],"first") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal rerun command"); - first = force->bnumeric(FLERR,arg[iarg+1]); + first = utils::bnumeric(FLERR,arg[iarg+1],false,lmp); if (first < 0) error->all(FLERR,"Illegal rerun command"); iarg += 2; } else if (strcmp(arg[iarg],"last") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal rerun command"); - last = force->bnumeric(FLERR,arg[iarg+1]); + last = utils::bnumeric(FLERR,arg[iarg+1],false,lmp); if (last < 0) error->all(FLERR,"Illegal rerun command"); iarg += 2; } else if (strcmp(arg[iarg],"every") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal rerun command"); - nevery = force->inumeric(FLERR,arg[iarg+1]); + nevery = utils::inumeric(FLERR,arg[iarg+1],false,lmp); if (nevery < 0) error->all(FLERR,"Illegal rerun command"); iarg += 2; } else if (strcmp(arg[iarg],"skip") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal rerun command"); - nskip = force->inumeric(FLERR,arg[iarg+1]); + nskip = utils::inumeric(FLERR,arg[iarg+1],false,lmp); if (nskip <= 0) error->all(FLERR,"Illegal rerun command"); iarg += 2; } else if (strcmp(arg[iarg],"start") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal rerun command"); startflag = 1; - start = force->bnumeric(FLERR,arg[iarg+1]); + start = utils::bnumeric(FLERR,arg[iarg+1],false,lmp); if (start < 0) error->all(FLERR,"Illegal rerun command"); iarg += 2; } else if (strcmp(arg[iarg],"stop") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal rerun command"); stopflag = 1; - stop = force->bnumeric(FLERR,arg[iarg+1]); + stop = utils::bnumeric(FLERR,arg[iarg+1],false,lmp); if (stop < 0) error->all(FLERR,"Illegal rerun command"); iarg += 2; } else if (strcmp(arg[iarg],"dump") == 0) { diff --git a/src/reset_mol_ids.cpp b/src/reset_mol_ids.cpp index e3cc877548af3725fe76ae59bb32c3f1c31d7ea4..a6cfb69185897aaabc0d270f8eb5a37e71158a37 100644 --- a/src/reset_mol_ids.cpp +++ b/src/reset_mol_ids.cpp @@ -17,7 +17,6 @@ #include "reset_mol_ids.h" #include -#include #include "atom.h" #include "domain.h" #include "comm.h" @@ -33,10 +32,32 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -ResetMolIDs::ResetMolIDs(LAMMPS *lmp) : Pointers(lmp) {} +ResetMolIDs::ResetMolIDs(LAMMPS *lmp) : Pointers(lmp) { + cfa = NULL; + cca = NULL; + + // default settings + + compressflag = 1; + singleflag = 0; + offset = -1; + + idfrag.clear(); + idchunk.clear(); +} /* ---------------------------------------------------------------------- */ +ResetMolIDs::~ResetMolIDs() +{ + if (!idfrag.empty()) modify->delete_compute(idfrag); + if (compressflag && !idchunk.empty()) modify->delete_compute(idchunk); +} + +/* ---------------------------------------------------------------------- + called as reset_mol_ids command in input script +------------------------------------------------------------------------- */ + void ResetMolIDs::command(int narg, char **arg) { if (domain->box_exist == 0) @@ -49,13 +70,7 @@ void ResetMolIDs::command(int narg, char **arg) // process args if (narg < 1) error->all(FLERR,"Illegal reset_mol_ids command"); - int igroup = group->find(arg[0]); - if (igroup == -1) error->all(FLERR,"Could not find reset_mol_ids group ID"); - int groupbit = group->bitmask[igroup]; - - int compressflag = 1; - int singleflag = 0; - tagint offset = -1; + char *groupid = arg[0]; int iarg = 1; while (iarg < narg) { @@ -86,20 +101,6 @@ void ResetMolIDs::command(int narg, char **arg) MPI_Barrier(world); double time1 = MPI_Wtime(); - // create instances of compute fragment/atom, compute reduce (if needed), - // and compute chunk/atom. all use the group-ID for this command - - const std::string idfrag = "reset_mol_ids_FRAGMENT_ATOM"; - if (singleflag) - modify->add_compute(fmt::format("{} {} fragment/atom single yes",idfrag,arg[0])); - else - modify->add_compute(fmt::format("{} {} fragment/atom single no",idfrag,arg[0])); - - const std::string idchunk = "reset_mol_ids_CHUNK_ATOM"; - if (compressflag) - modify->add_compute(fmt::format("{} {} chunk/atom molecule compress yes", - idchunk,arg[0])); - // initialize system since comm->borders() will be invoked lmp->init(); @@ -116,12 +117,73 @@ void ResetMolIDs::command(int narg, char **arg) comm->borders(); if (domain->triclinic) domain->lamda2x(atom->nlocal+atom->nghost); + // create computes + + create_computes((char *) "COMMAND",groupid); + + // reset molecule IDs + + reset(); + + // total time + + MPI_Barrier(world); + + if (comm->me == 0) { + if (nchunk < 0) + utils::logmesg(lmp,fmt::format(" number of new molecule IDs = unknown\n")); + else + utils::logmesg(lmp,fmt::format(" number of new molecule IDs = {}\n",nchunk)); + utils::logmesg(lmp,fmt::format(" reset_mol_ids CPU = {:.3f} seconds\n", + MPI_Wtime()-time1)); + } +} + +/* ---------------------------------------------------------------------- + create computes used by reset_mol_ids +------------------------------------------------------------------------- */ + +void ResetMolIDs::create_computes(char *fixid, char *groupid) +{ + int igroup = group->find(groupid); + if (igroup == -1) error->all(FLERR,"Could not find reset_mol_ids group ID"); + groupbit = group->bitmask[igroup]; + + // create instances of compute fragment/atom, compute reduce (if needed), + // and compute chunk/atom. all use the group-ID for this command. + // 'fixid' allows for creating independent instances of the computes + + idfrag = fmt::format("{}_reset_mol_ids_FRAGMENT_ATOM",fixid); + if (singleflag) + modify->add_compute(fmt::format("{} {} fragment/atom single yes",idfrag,groupid)); + else + modify->add_compute(fmt::format("{} {} fragment/atom single no",idfrag,groupid)); + + idchunk = fmt::format("{}_reset_mol_ids_CHUNK_ATOM",fixid); + if (compressflag) + modify->add_compute(fmt::format("{} {} chunk/atom molecule compress yes", + idchunk,groupid)); + + int icompute = modify->find_compute(idfrag); + cfa = (ComputeFragmentAtom *) modify->compute[icompute]; + + + if (compressflag) { + icompute = modify->find_compute(idchunk); + cca = (ComputeChunkAtom *) modify->compute[icompute]; + } +} + +/* ---------------------------------------------------------------------- + called from command() and directly from fixes that update molecules +------------------------------------------------------------------------- */ + +void ResetMolIDs::reset() +{ // invoke peratom method of compute fragment/atom // walks bond connectivity and assigns each atom a fragment ID // if singleflag = 0, atoms w/out bonds will be assigned fragID = 0 - int icompute = modify->find_compute(idfrag); - ComputeFragmentAtom *cfa = (ComputeFragmentAtom *) modify->compute[icompute]; cfa->compute_peratom(); double *fragIDs = cfa->vector_atom; @@ -138,15 +200,13 @@ void ResetMolIDs::command(int narg, char **arg) // if compressflag = 0, done // set nchunk = -1 since cannot easily determine # of new molecule IDs - int nchunk = -1; + nchunk = -1; // if compressflag = 1, invoke peratom method of compute chunk/atom // will compress new molecule IDs to be contiguous 1 to Nmol // NOTE: use of compute chunk/atom limits Nmol to a 32-bit int if (compressflag) { - icompute = modify->find_compute(idchunk); - ComputeChunkAtom *cca = (ComputeChunkAtom *) modify->compute[icompute]; cca->compute_peratom(); double *chunkIDs = cca->vector_atom; nchunk = cca->nchunk; @@ -193,22 +253,4 @@ void ResetMolIDs::command(int narg, char **arg) } } } - - // clean up - - modify->delete_compute(idfrag); - if (compressflag) modify->delete_compute(idchunk); - - // total time - - MPI_Barrier(world); - - if (comm->me == 0) { - if (nchunk < 0) - utils::logmesg(lmp,fmt::format(" number of new molecule IDs = unknown\n")); - else - utils::logmesg(lmp,fmt::format(" number of new molecule IDs = {}\n",nchunk)); - utils::logmesg(lmp,fmt::format(" reset_mol_ids CPU = {:.3f} seconds\n", - MPI_Wtime()-time1)); - } } diff --git a/src/reset_mol_ids.h b/src/reset_mol_ids.h index 83c0b5d80fac4003d8d1e12717d915e28bdc418f..9d2dd24bc8c176945f960a3911df295bb435c77c 100644 --- a/src/reset_mol_ids.h +++ b/src/reset_mol_ids.h @@ -21,13 +21,28 @@ CommandStyle(reset_mol_ids,ResetMolIDs) #define LMP_RESET_MOL_IDS_H #include "pointers.h" +#include namespace LAMMPS_NS { class ResetMolIDs : protected Pointers { public: ResetMolIDs(class LAMMPS *); + ~ResetMolIDs(); void command(int, char **); + void create_computes(char *, char *); + void reset(); + +private: + std::string idfrag, idchunk; + int nchunk; + int groupbit; + int compressflag; // 1 = contiguous values for new IDs + int singleflag; // 0 = mol IDs of single atoms set to 0 + tagint offset; // offset for contiguous mol ID values + + class ComputeFragmentAtom *cfa; + class ComputeChunkAtom *cca; }; } diff --git a/src/respa.cpp b/src/respa.cpp index f894333e394ea999a4885ddf4914bd248dab89ee..1dcc4b898af60d7c7a9f4f9fdf199dedaef40e4a 100644 --- a/src/respa.cpp +++ b/src/respa.cpp @@ -53,13 +53,13 @@ Respa::Respa(LAMMPS *lmp, int narg, char **arg) : nhybrid_styles = 0; if (narg < 1) error->all(FLERR,"Illegal run_style respa command"); - nlevels = force->inumeric(FLERR,arg[0]); + nlevels = utils::inumeric(FLERR,arg[0],false,lmp); if (nlevels < 1) error->all(FLERR,"Respa levels must be >= 1"); if (narg < nlevels) error->all(FLERR,"Illegal run_style respa command"); loop = new int[nlevels]; for (int iarg = 1; iarg < nlevels; iarg++) { - loop[iarg-1] = force->inumeric(FLERR,arg[iarg]); + loop[iarg-1] = utils::inumeric(FLERR,arg[iarg],false,lmp); if (loop[iarg-1] <= 0) error->all(FLERR,"Illegal run_style respa command"); } loop[nlevels-1] = 1; @@ -81,43 +81,43 @@ Respa::Respa(LAMMPS *lmp, int narg, char **arg) : while (iarg < narg) { if (strcmp(arg[iarg],"bond") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal run_style respa command"); - level_bond = force->inumeric(FLERR,arg[iarg+1]) - 1; + level_bond = utils::inumeric(FLERR,arg[iarg+1],false,lmp) - 1; iarg += 2; } else if (strcmp(arg[iarg],"angle") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal run_style respa command"); - level_angle = force->inumeric(FLERR,arg[iarg+1]) - 1; + level_angle = utils::inumeric(FLERR,arg[iarg+1],false,lmp) - 1; iarg += 2; } else if (strcmp(arg[iarg],"dihedral") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal run_style respa command"); - level_dihedral = force->inumeric(FLERR,arg[iarg+1]) - 1; + level_dihedral = utils::inumeric(FLERR,arg[iarg+1],false,lmp) - 1; iarg += 2; } else if (strcmp(arg[iarg],"improper") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal run_style respa command"); - level_improper = force->inumeric(FLERR,arg[iarg+1]) - 1; + level_improper = utils::inumeric(FLERR,arg[iarg+1],false,lmp) - 1; iarg += 2; } else if (strcmp(arg[iarg],"pair") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal run_style respa command"); - level_pair = force->inumeric(FLERR,arg[iarg+1]) - 1; + level_pair = utils::inumeric(FLERR,arg[iarg+1],false,lmp) - 1; iarg += 2; } else if (strcmp(arg[iarg],"inner") == 0) { if (iarg+4 > narg) error->all(FLERR,"Illegal run_style respa command"); - level_inner = force->inumeric(FLERR,arg[iarg+1]) - 1; - cutoff[0] = force->numeric(FLERR,arg[iarg+2]); - cutoff[1] = force->numeric(FLERR,arg[iarg+3]); + level_inner = utils::inumeric(FLERR,arg[iarg+1],false,lmp) - 1; + cutoff[0] = utils::numeric(FLERR,arg[iarg+2],false,lmp); + cutoff[1] = utils::numeric(FLERR,arg[iarg+3],false,lmp); iarg += 4; } else if (strcmp(arg[iarg],"middle") == 0) { if (iarg+4 > narg) error->all(FLERR,"Illegal run_style respa command"); - level_middle = force->inumeric(FLERR,arg[iarg+1]) - 1; - cutoff[2] = force->numeric(FLERR,arg[iarg+2]); - cutoff[3] = force->numeric(FLERR,arg[iarg+3]); + level_middle = utils::inumeric(FLERR,arg[iarg+1],false,lmp) - 1; + cutoff[2] = utils::numeric(FLERR,arg[iarg+2],false,lmp); + cutoff[3] = utils::numeric(FLERR,arg[iarg+3],false,lmp); iarg += 4; } else if (strcmp(arg[iarg],"outer") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal run_style respa command"); - level_outer = force->inumeric(FLERR,arg[iarg+1]) - 1; + level_outer = utils::inumeric(FLERR,arg[iarg+1],false,lmp) - 1; iarg += 2; } else if (strcmp(arg[iarg],"kspace") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal run_style respa command"); - level_kspace = force->inumeric(FLERR,arg[iarg+1]) - 1; + level_kspace = utils::inumeric(FLERR,arg[iarg+1],false,lmp) - 1; iarg += 2; } else if (strcmp(arg[iarg],"hybrid") == 0) { // the hybrid keyword requires a hybrid pair style @@ -132,7 +132,7 @@ Respa::Respa(LAMMPS *lmp, int narg, char **arg) : hybrid_compute = new int[nhybrid_styles]; for (int i=0; i < nhybrid_styles; ++i) { ++iarg; - hybrid_level[i] = force->inumeric(FLERR,arg[iarg])-1; + hybrid_level[i] = utils::inumeric(FLERR,arg[iarg],false,lmp)-1; } ++iarg; } else error->all(FLERR,"Illegal run_style respa command"); diff --git a/src/run.cpp b/src/run.cpp index 2c2f00a7a8d0a005514b1bffd212cd6291cc89e0..91e2db5c6b8fbb1e49b92f09d798616c8dced5b7 100644 --- a/src/run.cpp +++ b/src/run.cpp @@ -45,7 +45,7 @@ void Run::command(int narg, char **arg) if (timer->is_timeout()) return; - bigint nsteps_input = force->bnumeric(FLERR,arg[0]); + bigint nsteps_input = utils::bnumeric(FLERR,arg[0],false,lmp); // parse optional args @@ -68,12 +68,12 @@ void Run::command(int narg, char **arg) } else if (strcmp(arg[iarg],"start") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal run command"); startflag = 1; - start = force->bnumeric(FLERR,arg[iarg+1]); + start = utils::bnumeric(FLERR,arg[iarg+1],false,lmp); iarg += 2; } else if (strcmp(arg[iarg],"stop") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal run command"); stopflag = 1; - stop = force->bnumeric(FLERR,arg[iarg+1]); + stop = utils::bnumeric(FLERR,arg[iarg+1],false,lmp); iarg += 2; } else if (strcmp(arg[iarg],"pre") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal run command"); @@ -94,7 +94,7 @@ void Run::command(int narg, char **arg) } else if (strcmp(arg[iarg],"every") == 0) { if (iarg+3 > narg) error->all(FLERR,"Illegal run command"); - nevery = force->inumeric(FLERR,arg[iarg+1]); + nevery = utils::inumeric(FLERR,arg[iarg+1],false,lmp); if (nevery <= 0) error->all(FLERR,"Illegal run command"); first = iarg+2; last = narg-1; diff --git a/src/set.cpp b/src/set.cpp index 01176f68c0a020203fd1804696ec0f4cd29715f6..b4a82e5c72f7365292dc389469c7eb92ea2a973e 100644 --- a/src/set.cpp +++ b/src/set.cpp @@ -95,15 +95,15 @@ void Set::command(int narg, char **arg) if (strcmp(arg[iarg],"type") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal set command"); if (strstr(arg[iarg+1],"v_") == arg[iarg+1]) varparse(arg[iarg+1],1); - else ivalue = force->inumeric(FLERR,arg[iarg+1]); + else ivalue = utils::inumeric(FLERR,arg[iarg+1],false,lmp); set(TYPE); iarg += 2; } else if (strcmp(arg[iarg],"type/fraction") == 0) { if (iarg+4 > narg) error->all(FLERR,"Illegal set command"); - newtype = force->inumeric(FLERR,arg[iarg+1]); - fraction = force->numeric(FLERR,arg[iarg+2]); - ivalue = force->inumeric(FLERR,arg[iarg+3]); + newtype = utils::inumeric(FLERR,arg[iarg+1],false,lmp); + fraction = utils::numeric(FLERR,arg[iarg+2],false,lmp); + ivalue = utils::inumeric(FLERR,arg[iarg+3],false,lmp); if (newtype <= 0 || newtype > atom->ntypes) error->all(FLERR,"Invalid value in set command"); if (fraction < 0.0 || fraction > 1.0) @@ -115,9 +115,9 @@ void Set::command(int narg, char **arg) } else if (strcmp(arg[iarg],"type/ratio") == 0) { if (iarg+4 > narg) error->all(FLERR,"Illegal set command"); - newtype = force->inumeric(FLERR,arg[iarg+1]); - fraction = force->numeric(FLERR,arg[iarg+2]); - ivalue = force->inumeric(FLERR,arg[iarg+3]); + newtype = utils::inumeric(FLERR,arg[iarg+1],false,lmp); + fraction = utils::numeric(FLERR,arg[iarg+2],false,lmp); + ivalue = utils::inumeric(FLERR,arg[iarg+3],false,lmp); if (newtype <= 0 || newtype > atom->ntypes) error->all(FLERR,"Invalid value in set command"); if (fraction < 0.0 || fraction > 1.0) @@ -129,9 +129,9 @@ void Set::command(int narg, char **arg) } else if (strcmp(arg[iarg],"type/subset") == 0) { if (iarg+4 > narg) error->all(FLERR,"Illegal set command"); - newtype = force->inumeric(FLERR,arg[iarg+1]); - nsubset = force->bnumeric(FLERR,arg[iarg+2]); - ivalue = force->inumeric(FLERR,arg[iarg+3]); + newtype = utils::inumeric(FLERR,arg[iarg+1],false,lmp); + nsubset = utils::bnumeric(FLERR,arg[iarg+2],false,lmp); + ivalue = utils::inumeric(FLERR,arg[iarg+3],false,lmp); if (newtype <= 0 || newtype > atom->ntypes) error->all(FLERR,"Invalid value in set command"); if (nsubset < 0) @@ -144,7 +144,7 @@ void Set::command(int narg, char **arg) } else if (strcmp(arg[iarg],"mol") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal set command"); if (strstr(arg[iarg+1],"v_") == arg[iarg+1]) varparse(arg[iarg+1],1); - else ivalue = force->inumeric(FLERR,arg[iarg+1]); + else ivalue = utils::inumeric(FLERR,arg[iarg+1],false,lmp); if (!atom->molecule_flag) error->all(FLERR,"Cannot set this attribute for this atom style"); set(MOLECULE); @@ -153,49 +153,49 @@ void Set::command(int narg, char **arg) } else if (strcmp(arg[iarg],"x") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal set command"); if (strstr(arg[iarg+1],"v_") == arg[iarg+1]) varparse(arg[iarg+1],1); - else dvalue = force->numeric(FLERR,arg[iarg+1]); + else dvalue = utils::numeric(FLERR,arg[iarg+1],false,lmp); set(X); iarg += 2; } else if (strcmp(arg[iarg],"y") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal set command"); if (strstr(arg[iarg+1],"v_") == arg[iarg+1]) varparse(arg[iarg+1],1); - else dvalue = force->numeric(FLERR,arg[iarg+1]); + else dvalue = utils::numeric(FLERR,arg[iarg+1],false,lmp); set(Y); iarg += 2; } else if (strcmp(arg[iarg],"z") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal set command"); if (strstr(arg[iarg+1],"v_") == arg[iarg+1]) varparse(arg[iarg+1],1); - else dvalue = force->numeric(FLERR,arg[iarg+1]); + else dvalue = utils::numeric(FLERR,arg[iarg+1],false,lmp); set(Z); iarg += 2; } else if (strcmp(arg[iarg],"vx") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal set command"); if (strstr(arg[iarg+1],"v_") == arg[iarg+1]) varparse(arg[iarg+1],1); - else dvalue = force->numeric(FLERR,arg[iarg+1]); + else dvalue = utils::numeric(FLERR,arg[iarg+1],false,lmp); set(VX); iarg += 2; } else if (strcmp(arg[iarg],"vy") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal set command"); if (strstr(arg[iarg+1],"v_") == arg[iarg+1]) varparse(arg[iarg+1],1); - else dvalue = force->numeric(FLERR,arg[iarg+1]); + else dvalue = utils::numeric(FLERR,arg[iarg+1],false,lmp); set(VY); iarg += 2; } else if (strcmp(arg[iarg],"vz") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal set command"); if (strstr(arg[iarg+1],"v_") == arg[iarg+1]) varparse(arg[iarg+1],1); - else dvalue = force->numeric(FLERR,arg[iarg+1]); + else dvalue = utils::numeric(FLERR,arg[iarg+1],false,lmp); set(VZ); iarg += 2; } else if (strcmp(arg[iarg],"charge") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal set command"); if (strstr(arg[iarg+1],"v_") == arg[iarg+1]) varparse(arg[iarg+1],1); - else dvalue = force->numeric(FLERR,arg[iarg+1]); + else dvalue = utils::numeric(FLERR,arg[iarg+1],false,lmp); if (!atom->q_flag) error->all(FLERR,"Cannot set this attribute for this atom style"); set(CHARGE); @@ -204,7 +204,7 @@ void Set::command(int narg, char **arg) } else if (strcmp(arg[iarg],"mass") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal set command"); if (strstr(arg[iarg+1],"v_") == arg[iarg+1]) varparse(arg[iarg+1],1); - else dvalue = force->numeric(FLERR,arg[iarg+1]); + else dvalue = utils::numeric(FLERR,arg[iarg+1],false,lmp); if (!atom->rmass_flag) error->all(FLERR,"Cannot set this attribute for this atom style"); set(MASS); @@ -213,11 +213,11 @@ void Set::command(int narg, char **arg) } else if (strcmp(arg[iarg],"shape") == 0) { if (iarg+4 > narg) error->all(FLERR,"Illegal set command"); if (strstr(arg[iarg+1],"v_") == arg[iarg+1]) varparse(arg[iarg+1],1); - else xvalue = force->numeric(FLERR,arg[iarg+1]); + else xvalue = utils::numeric(FLERR,arg[iarg+1],false,lmp); if (strstr(arg[iarg+2],"v_") == arg[iarg+2]) varparse(arg[iarg+2],2); - else yvalue = force->numeric(FLERR,arg[iarg+2]); + else yvalue = utils::numeric(FLERR,arg[iarg+2],false,lmp); if (strstr(arg[iarg+3],"v_") == arg[iarg+3]) varparse(arg[iarg+3],3); - else zvalue = force->numeric(FLERR,arg[iarg+3]); + else zvalue = utils::numeric(FLERR,arg[iarg+3],false,lmp); if (!atom->ellipsoid_flag) error->all(FLERR,"Cannot set this attribute for this atom style"); set(SHAPE); @@ -226,7 +226,7 @@ void Set::command(int narg, char **arg) } else if (strcmp(arg[iarg],"length") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal set command"); if (strstr(arg[iarg+1],"v_") == arg[iarg+1]) varparse(arg[iarg+1],1); - else dvalue = force->numeric(FLERR,arg[iarg+1]); + else dvalue = utils::numeric(FLERR,arg[iarg+1],false,lmp); if (!atom->line_flag) error->all(FLERR,"Cannot set this attribute for this atom style"); set(LENGTH); @@ -235,7 +235,7 @@ void Set::command(int narg, char **arg) } else if (strcmp(arg[iarg],"tri") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal set command"); if (strstr(arg[iarg+1],"v_") == arg[iarg+1]) varparse(arg[iarg+1],1); - else dvalue = force->numeric(FLERR,arg[iarg+1]); + else dvalue = utils::numeric(FLERR,arg[iarg+1],false,lmp); if (!atom->tri_flag) error->all(FLERR,"Cannot set this attribute for this atom style"); set(TRI); @@ -244,11 +244,11 @@ void Set::command(int narg, char **arg) } else if (strcmp(arg[iarg],"dipole") == 0) { if (iarg+4 > narg) error->all(FLERR,"Illegal set command"); if (strstr(arg[iarg+1],"v_") == arg[iarg+1]) varparse(arg[iarg+1],1); - else xvalue = force->numeric(FLERR,arg[iarg+1]); + else xvalue = utils::numeric(FLERR,arg[iarg+1],false,lmp); if (strstr(arg[iarg+2],"v_") == arg[iarg+2]) varparse(arg[iarg+2],2); - else yvalue = force->numeric(FLERR,arg[iarg+2]); + else yvalue = utils::numeric(FLERR,arg[iarg+2],false,lmp); if (strstr(arg[iarg+3],"v_") == arg[iarg+3]) varparse(arg[iarg+3],3); - else zvalue = force->numeric(FLERR,arg[iarg+3]); + else zvalue = utils::numeric(FLERR,arg[iarg+3],false,lmp); if (!atom->mu_flag) error->all(FLERR,"Cannot set this attribute for this atom style"); set(DIPOLE); @@ -256,8 +256,8 @@ void Set::command(int narg, char **arg) } else if (strcmp(arg[iarg],"dipole/random") == 0) { if (iarg+3 > narg) error->all(FLERR,"Illegal set command"); - ivalue = force->inumeric(FLERR,arg[iarg+1]); - dvalue = force->numeric(FLERR,arg[iarg+2]); + ivalue = utils::inumeric(FLERR,arg[iarg+1],false,lmp); + dvalue = utils::numeric(FLERR,arg[iarg+2],false,lmp); if (!atom->mu_flag) error->all(FLERR,"Cannot set this attribute for this atom style"); if (ivalue <= 0) @@ -270,13 +270,13 @@ void Set::command(int narg, char **arg) } else if (strcmp(arg[iarg],"spin") == 0) { if (iarg+4 > narg) error->all(FLERR,"Illegal set command"); if (strstr(arg[iarg+1],"v_") == arg[iarg+1]) varparse(arg[iarg+1],1); - else dvalue = force->numeric(FLERR,arg[iarg+1]); + else dvalue = utils::numeric(FLERR,arg[iarg+1],false,lmp); if (strstr(arg[iarg+2],"v_") == arg[iarg+2]) varparse(arg[iarg+2],2); - else xvalue = force->numeric(FLERR,arg[iarg+2]); + else xvalue = utils::numeric(FLERR,arg[iarg+2],false,lmp); if (strstr(arg[iarg+3],"v_") == arg[iarg+3]) varparse(arg[iarg+3],3); - else yvalue = force->numeric(FLERR,arg[iarg+3]); + else yvalue = utils::numeric(FLERR,arg[iarg+3],false,lmp); if (strstr(arg[iarg+4],"v_") == arg[iarg+4]) varparse(arg[iarg+4],4); - else zvalue = force->numeric(FLERR,arg[iarg+4]); + else zvalue = utils::numeric(FLERR,arg[iarg+4],false,lmp); if (!atom->sp_flag) error->all(FLERR,"Cannot set this attribute for this atom style"); set(SPIN); @@ -284,8 +284,8 @@ void Set::command(int narg, char **arg) } else if (strcmp(arg[iarg],"spin/random") == 0) { if (iarg+3 > narg) error->all(FLERR,"Illegal set command"); - ivalue = force->inumeric(FLERR,arg[iarg+1]); - dvalue = force->numeric(FLERR,arg[iarg+2]); + ivalue = utils::inumeric(FLERR,arg[iarg+1],false,lmp); + dvalue = utils::numeric(FLERR,arg[iarg+2],false,lmp); if (!atom->sp_flag) error->all(FLERR,"Cannot set this attribute for this atom style"); if (ivalue <= 0) @@ -298,13 +298,13 @@ void Set::command(int narg, char **arg) } else if (strcmp(arg[iarg],"quat") == 0) { if (iarg+5 > narg) error->all(FLERR,"Illegal set command"); if (strstr(arg[iarg+1],"v_") == arg[iarg+1]) varparse(arg[iarg+1],1); - else xvalue = force->numeric(FLERR,arg[iarg+1]); + else xvalue = utils::numeric(FLERR,arg[iarg+1],false,lmp); if (strstr(arg[iarg+2],"v_") == arg[iarg+2]) varparse(arg[iarg+2],2); - else yvalue = force->numeric(FLERR,arg[iarg+2]); + else yvalue = utils::numeric(FLERR,arg[iarg+2],false,lmp); if (strstr(arg[iarg+3],"v_") == arg[iarg+3]) varparse(arg[iarg+3],3); - else zvalue = force->numeric(FLERR,arg[iarg+3]); + else zvalue = utils::numeric(FLERR,arg[iarg+3],false,lmp); if (strstr(arg[iarg+4],"v_") == arg[iarg+4]) varparse(arg[iarg+4],4); - else wvalue = force->numeric(FLERR,arg[iarg+4]); + else wvalue = utils::numeric(FLERR,arg[iarg+4],false,lmp); if (!atom->ellipsoid_flag && !atom->tri_flag && !atom->body_flag) error->all(FLERR,"Cannot set this attribute for this atom style"); set(QUAT); @@ -312,7 +312,7 @@ void Set::command(int narg, char **arg) } else if (strcmp(arg[iarg],"quat/random") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal set command"); - ivalue = force->inumeric(FLERR,arg[iarg+1]); + ivalue = utils::inumeric(FLERR,arg[iarg+1],false,lmp); if (!atom->ellipsoid_flag && !atom->tri_flag && !atom->body_flag) error->all(FLERR,"Cannot set this attribute for this atom style"); if (ivalue <= 0) @@ -324,7 +324,7 @@ void Set::command(int narg, char **arg) if (iarg+2 > narg) error->all(FLERR,"Illegal set command"); if (strstr(arg[iarg+1],"v_") == arg[iarg+1]) varparse(arg[iarg+1],1); else { - dvalue = force->numeric(FLERR,arg[iarg+1]); + dvalue = utils::numeric(FLERR,arg[iarg+1],false,lmp); dvalue *= MY_PI/180.0; } if (!atom->line_flag) @@ -334,7 +334,7 @@ void Set::command(int narg, char **arg) } else if (strcmp(arg[iarg],"theta/random") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal set command"); - ivalue = force->inumeric(FLERR,arg[iarg+1]); + ivalue = utils::inumeric(FLERR,arg[iarg+1],false,lmp); if (!atom->line_flag) error->all(FLERR,"Cannot set this attribute for this atom style"); if (ivalue <= 0) @@ -345,11 +345,11 @@ void Set::command(int narg, char **arg) } else if (strcmp(arg[iarg],"angmom") == 0) { if (iarg+4 > narg) error->all(FLERR,"Illegal set command"); if (strstr(arg[iarg+1],"v_") == arg[iarg+1]) varparse(arg[iarg+1],1); - else xvalue = force->numeric(FLERR,arg[iarg+1]); + else xvalue = utils::numeric(FLERR,arg[iarg+1],false,lmp); if (strstr(arg[iarg+2],"v_") == arg[iarg+2]) varparse(arg[iarg+2],2); - else yvalue = force->numeric(FLERR,arg[iarg+2]); + else yvalue = utils::numeric(FLERR,arg[iarg+2],false,lmp); if (strstr(arg[iarg+3],"v_") == arg[iarg+3]) varparse(arg[iarg+3],3); - else zvalue = force->numeric(FLERR,arg[iarg+3]); + else zvalue = utils::numeric(FLERR,arg[iarg+3],false,lmp); if (!atom->angmom_flag) error->all(FLERR,"Cannot set this attribute for this atom style"); set(ANGMOM); @@ -358,11 +358,11 @@ void Set::command(int narg, char **arg) } else if (strcmp(arg[iarg],"omega") == 0) { if (iarg+4 > narg) error->all(FLERR,"Illegal set command"); if (strstr(arg[iarg+1],"v_") == arg[iarg+1]) varparse(arg[iarg+1],1); - else xvalue = force->numeric(FLERR,arg[iarg+1]); + else xvalue = utils::numeric(FLERR,arg[iarg+1],false,lmp); if (strstr(arg[iarg+2],"v_") == arg[iarg+2]) varparse(arg[iarg+2],2); - else yvalue = force->numeric(FLERR,arg[iarg+2]); + else yvalue = utils::numeric(FLERR,arg[iarg+2],false,lmp); if (strstr(arg[iarg+3],"v_") == arg[iarg+3]) varparse(arg[iarg+3],3); - else zvalue = force->numeric(FLERR,arg[iarg+3]); + else zvalue = utils::numeric(FLERR,arg[iarg+3],false,lmp); if (!atom->omega_flag) error->all(FLERR,"Cannot set this attribute for this atom style"); set(OMEGA); @@ -371,7 +371,7 @@ void Set::command(int narg, char **arg) } else if (strcmp(arg[iarg],"diameter") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal set command"); if (strstr(arg[iarg+1],"v_") == arg[iarg+1]) varparse(arg[iarg+1],1); - else dvalue = force->numeric(FLERR,arg[iarg+1]); + else dvalue = utils::numeric(FLERR,arg[iarg+1],false,lmp); if (!atom->radius_flag) error->all(FLERR,"Cannot set this attribute for this atom style"); set(DIAMETER); @@ -381,7 +381,7 @@ void Set::command(int narg, char **arg) (strcmp(arg[iarg],"density/disc") == 0)) { if (iarg+2 > narg) error->all(FLERR,"Illegal set command"); if (strstr(arg[iarg+1],"v_") == arg[iarg+1]) varparse(arg[iarg+1],1); - else dvalue = force->numeric(FLERR,arg[iarg+1]); + else dvalue = utils::numeric(FLERR,arg[iarg+1],false,lmp); if (!atom->rmass_flag) error->all(FLERR,"Cannot set this attribute for this atom style"); if (dvalue <= 0.0) error->all(FLERR,"Invalid density in set command"); @@ -397,7 +397,7 @@ void Set::command(int narg, char **arg) } else if (strcmp(arg[iarg],"volume") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal set command"); if (strstr(arg[iarg+1],"v_") == arg[iarg+1]) varparse(arg[iarg+1],1); - else dvalue = force->numeric(FLERR,arg[iarg+1]); + else dvalue = utils::numeric(FLERR,arg[iarg+1],false,lmp); if (!atom->vfrac_flag) error->all(FLERR,"Cannot set this attribute for this atom style"); if (dvalue <= 0.0) error->all(FLERR,"Invalid volume in set command"); @@ -410,17 +410,17 @@ void Set::command(int narg, char **arg) if (strcmp(arg[iarg+1],"NULL") != 0) { ximageflag = 1; if (strstr(arg[iarg+1],"v_") == arg[iarg+1]) varparse(arg[iarg+1],1); - else ximage = force->inumeric(FLERR,arg[iarg+1]); + else ximage = utils::inumeric(FLERR,arg[iarg+1],false,lmp); } if (strcmp(arg[iarg+2],"NULL") != 0) { yimageflag = 1; if (strstr(arg[iarg+2],"v_") == arg[iarg+2]) varparse(arg[iarg+2],2); - else yimage = force->inumeric(FLERR,arg[iarg+2]); + else yimage = utils::inumeric(FLERR,arg[iarg+2],false,lmp); } if (strcmp(arg[iarg+3],"NULL") != 0) { zimageflag = 1; if (strstr(arg[iarg+3],"v_") == arg[iarg+3]) varparse(arg[iarg+3],3); - else zimage = force->inumeric(FLERR,arg[iarg+3]); + else zimage = utils::inumeric(FLERR,arg[iarg+3],false,lmp); } if (ximageflag && ximage && !domain->xperiodic) error->all(FLERR, @@ -436,7 +436,7 @@ void Set::command(int narg, char **arg) } else if (strcmp(arg[iarg],"bond") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal set command"); - ivalue = force->inumeric(FLERR,arg[iarg+1]); + ivalue = utils::inumeric(FLERR,arg[iarg+1],false,lmp); if (atom->avec->bonds_allow == 0) error->all(FLERR,"Cannot set this attribute for this atom style"); if (ivalue <= 0 || ivalue > atom->nbondtypes) @@ -446,7 +446,7 @@ void Set::command(int narg, char **arg) } else if (strcmp(arg[iarg],"angle") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal set command"); - ivalue = force->inumeric(FLERR,arg[iarg+1]); + ivalue = utils::inumeric(FLERR,arg[iarg+1],false,lmp); if (atom->avec->angles_allow == 0) error->all(FLERR,"Cannot set this attribute for this atom style"); if (ivalue <= 0 || ivalue > atom->nangletypes) @@ -456,7 +456,7 @@ void Set::command(int narg, char **arg) } else if (strcmp(arg[iarg],"dihedral") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal set command"); - ivalue = force->inumeric(FLERR,arg[iarg+1]); + ivalue = utils::inumeric(FLERR,arg[iarg+1],false,lmp); if (atom->avec->dihedrals_allow == 0) error->all(FLERR,"Cannot set this attribute for this atom style"); if (ivalue <= 0 || ivalue > atom->ndihedraltypes) @@ -466,7 +466,7 @@ void Set::command(int narg, char **arg) } else if (strcmp(arg[iarg],"improper") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal set command"); - ivalue = force->inumeric(FLERR,arg[iarg+1]); + ivalue = utils::inumeric(FLERR,arg[iarg+1],false,lmp); if (atom->avec->impropers_allow == 0) error->all(FLERR,"Cannot set this attribute for this atom style"); if (ivalue <= 0 || ivalue > atom->nimpropertypes) @@ -477,7 +477,7 @@ void Set::command(int narg, char **arg) } else if (strcmp(arg[iarg],"sph/e") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal set command"); if (strstr(arg[iarg+1],"v_") == arg[iarg+1]) varparse(arg[iarg+1],1); - else dvalue = force->numeric(FLERR,arg[iarg+1]); + else dvalue = utils::numeric(FLERR,arg[iarg+1],false,lmp); if (!atom->esph_flag) error->all(FLERR,"Cannot set meso/e for this atom style"); set(SPH_E); @@ -486,7 +486,7 @@ void Set::command(int narg, char **arg) } else if (strcmp(arg[iarg],"sph/cv") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal set command"); if (strstr(arg[iarg+1],"v_") == arg[iarg+1]) varparse(arg[iarg+1],1); - else dvalue = force->numeric(FLERR,arg[iarg+1]); + else dvalue = utils::numeric(FLERR,arg[iarg+1],false,lmp); if (!atom->cv_flag) error->all(FLERR,"Cannot set meso/cv for this atom style"); set(SPH_CV); @@ -495,7 +495,7 @@ void Set::command(int narg, char **arg) } else if (strcmp(arg[iarg],"sph/rho") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal set command"); if (strstr(arg[iarg+1],"v_") == arg[iarg+1]) varparse(arg[iarg+1],1); - else dvalue = force->numeric(FLERR,arg[iarg+1]); + else dvalue = utils::numeric(FLERR,arg[iarg+1],false,lmp); if (!atom->rho_flag) error->all(FLERR,"Cannot set meso/rho for this atom style"); set(SPH_RHO); @@ -506,7 +506,7 @@ void Set::command(int narg, char **arg) if (strcmp(arg[iarg+1],"NULL") == 0) dvalue = -1.0; else if (strstr(arg[iarg+1],"v_") == arg[iarg+1]) varparse(arg[iarg+1],1); else { - dvalue = force->numeric(FLERR,arg[iarg+1]); + dvalue = utils::numeric(FLERR,arg[iarg+1],false,lmp); if (dvalue < 0.0) error->all(FLERR,"Illegal set command"); } if (!atom->edpd_flag) @@ -519,7 +519,7 @@ void Set::command(int narg, char **arg) if (strcmp(arg[iarg+1],"NULL") == 0) dvalue = -1.0; else if (strstr(arg[iarg+1],"v_") == arg[iarg+1]) varparse(arg[iarg+1],1); else { - dvalue = force->numeric(FLERR,arg[iarg+1]); + dvalue = utils::numeric(FLERR,arg[iarg+1],false,lmp); if (dvalue < 0.0) error->all(FLERR,"Illegal set command"); } if (!atom->edpd_flag) @@ -532,8 +532,8 @@ void Set::command(int narg, char **arg) if (strcmp(arg[iarg+1],"NULL") == 0) dvalue = -1.0; else if (strstr(arg[iarg+1],"v_") == arg[iarg+1]) varparse(arg[iarg+1],1); else { - cc_index = force->inumeric(FLERR,arg[iarg+1]); - dvalue = force->numeric(FLERR,arg[iarg+2]); + cc_index = utils::inumeric(FLERR,arg[iarg+1],false,lmp); + dvalue = utils::numeric(FLERR,arg[iarg+2],false,lmp); if (cc_index < 1) error->all(FLERR,"Illegal set command"); } if (!atom->tdpd_flag) @@ -544,7 +544,7 @@ void Set::command(int narg, char **arg) } else if (strcmp(arg[iarg],"smd/mass/density") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal set command"); if (strstr(arg[iarg+1],"v_") == arg[iarg+1]) varparse(arg[iarg+1],1); - else dvalue = force->numeric(FLERR,arg[iarg+1]); + else dvalue = utils::numeric(FLERR,arg[iarg+1],false,lmp); if (!atom->smd_flag) error->all(FLERR,"Cannot set smd/mass/density for this atom style"); set(SMD_MASS_DENSITY); @@ -553,7 +553,7 @@ void Set::command(int narg, char **arg) } else if (strcmp(arg[iarg],"smd/contact/radius") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal set command"); if (strstr(arg[iarg+1],"v_") == arg[iarg+1]) varparse(arg[iarg+1],1); - else dvalue = force->numeric(FLERR,arg[iarg+1]); + else dvalue = utils::numeric(FLERR,arg[iarg+1],false,lmp); if (!atom->smd_flag) error->all(FLERR,"Cannot set smd/contact/radius " "for this atom style"); @@ -565,7 +565,7 @@ void Set::command(int narg, char **arg) if (strcmp(arg[iarg+1],"NULL") == 0) dvalue = -1.0; else if (strstr(arg[iarg+1],"v_") == arg[iarg+1]) varparse(arg[iarg+1],1); else { - dvalue = force->numeric(FLERR,arg[iarg+1]); + dvalue = utils::numeric(FLERR,arg[iarg+1],false,lmp); if (dvalue < 0.0) error->all(FLERR,"Illegal set command"); } if (!atom->dpd_flag) @@ -576,7 +576,7 @@ void Set::command(int narg, char **arg) } else if (strstr(arg[iarg],"i_") == arg[iarg]) { if (iarg+2 > narg) error->all(FLERR,"Illegal set command"); if (strstr(arg[iarg+1],"v_") == arg[iarg+1]) varparse(arg[iarg+1],1); - else ivalue = force->inumeric(FLERR,arg[iarg+1]); + else ivalue = utils::inumeric(FLERR,arg[iarg+1],false,lmp); int flag; index_custom = atom->find_custom(&arg[iarg][2],flag); if (index_custom < 0 || flag != 0) @@ -587,7 +587,7 @@ void Set::command(int narg, char **arg) } else if (strstr(arg[iarg],"d_") == arg[iarg]) { if (iarg+2 > narg) error->all(FLERR,"Illegal set command"); if (strstr(arg[iarg+1],"v_") == arg[iarg+1]) varparse(arg[iarg+1],1); - else dvalue = force->numeric(FLERR,arg[iarg+1]); + else dvalue = utils::numeric(FLERR,arg[iarg+1],false,lmp); int flag; index_custom = atom->find_custom(&arg[iarg][2],flag); if (index_custom < 0 || flag != 1) @@ -633,7 +633,7 @@ void Set::selection(int n) if (atom->tag_enable == 0) error->all(FLERR,"Cannot use set atom with no atom IDs defined"); bigint nlobig,nhibig; - force->boundsbig(FLERR,id,MAXTAGINT,nlobig,nhibig); + utils::bounds(FLERR,id,1,MAXTAGINT,nlobig,nhibig,error); tagint *tag = atom->tag; for (int i = 0; i < n; i++) @@ -644,7 +644,7 @@ void Set::selection(int n) if (atom->molecule_flag == 0) error->all(FLERR,"Cannot use set mol with no molecule IDs defined"); bigint nlobig,nhibig; - force->boundsbig(FLERR,id,MAXTAGINT,nlobig,nhibig); + utils::bounds(FLERR,id,1,MAXTAGINT,nlobig,nhibig,error); tagint *molecule = atom->molecule; for (int i = 0; i < n; i++) @@ -652,7 +652,7 @@ void Set::selection(int n) else select[i] = 0; } else if (style == TYPE_SELECT) { - force->bounds(FLERR,id,atom->ntypes,nlo,nhi); + utils::bounds(FLERR,id,1,atom->ntypes,nlo,nhi,error); int *type = atom->type; for (int i = 0; i < n; i++) diff --git a/src/text_file_reader.cpp b/src/text_file_reader.cpp index 8abe1b001f5cb1c14e458854f5df1c089b811233..1e1e5e2ec19f8f8cf17908831f42916e6214b51b 100644 --- a/src/text_file_reader.cpp +++ b/src/text_file_reader.cpp @@ -28,6 +28,17 @@ using namespace LAMMPS_NS; +/** Class for reading and parsing text files + * + * The value of the class member variable *ignore_comments* controls + * whether any text following the pound sign (#) should be ignored (true) + * or not (false). Default: true, i.e. ignore. + * + * \param filename Name of file to be read + * \param filetype Description of file type for error messages + * + * \sa PotentialFileReader */ + TextFileReader::TextFileReader(const std::string &filename, const std::string &filetype) : filename(filename), filetype(filetype), ignore_comments(true) { @@ -38,10 +49,14 @@ TextFileReader::TextFileReader(const std::string &filename, const std::string &f } } +/** Closes the file */ + TextFileReader::~TextFileReader() { fclose(fp); } +/** Read the next line and ignore it */ + void TextFileReader::skip_line() { char *ptr = fgets(line, MAXLINE, fp); if (ptr == nullptr) { @@ -50,6 +65,20 @@ void TextFileReader::skip_line() { } } +/** Read the next line(s) until *nparams* words have been read. + * + * This reads a line and counts the words in it, if the number + * is less than the requested number, it will read the next + * line, as well. Output will be a string with all read lines + * combined. The purpose is to somewhat replicate the reading + * behavior of formatted files in Fortran. + * + * If the *ignore_comments* class member has the value *true*, + * then any text read in is truncated at the first '#' character. + * + * \param nparams Number of words that must be read. Default: 0 + * \return String with the concatenated text */ + char *TextFileReader::next_line(int nparams) { // concatenate lines until have nparams words int n = 0; @@ -82,7 +111,6 @@ char *TextFileReader::next_line(int nparams) { return nullptr; } - // strip comment if (ignore_comments && (ptr = strchr(line, '#'))) *ptr = '\0'; @@ -97,6 +125,15 @@ char *TextFileReader::next_line(int nparams) { return line; } +/** Read lines until *n* doubles have been read and stored in array *list* + * + * This reads lines from the file using the next_line() function, + * and splits them into floating-point numbers using the + * ValueTokenizer class and stores the number is the provided list. + * + * \param list Pointer to array with suitable storage for *n* doubles + * \param n Number of doubles to be read */ + void TextFileReader::next_dvector(double * list, int n) { int i = 0; while (i < n) { @@ -116,6 +153,16 @@ void TextFileReader::next_dvector(double * list, int n) { } } +/** Read text until *nparams* words are read and passed to a tokenizer object for custom parsing. + * + * This reads lines from the file using the next_line() function, + * and splits them into floating-point numbers using the + * ValueTokenizer class and stores the number is the provided list. + * + * \param nparams Number of words to be read + * \param separators String with list of separators. + * \return ValueTokenizer object for read in text */ + ValueTokenizer TextFileReader::next_values(int nparams, const std::string & separators) { return ValueTokenizer(next_line(nparams), separators); } diff --git a/src/text_file_reader.h b/src/text_file_reader.h index 80a5d756ea3b86fabe3eccbfe5c4647d9a9d4463..b64407701f8ae02c692d0b0c5093acdb0e75649c 100644 --- a/src/text_file_reader.h +++ b/src/text_file_reader.h @@ -33,7 +33,7 @@ namespace LAMMPS_NS FILE *fp; public: - bool ignore_comments; + bool ignore_comments; //!< Controls whether comments are ignored TextFileReader(const std::string &filename, const std::string &filetype); ~TextFileReader(); diff --git a/src/thermo.cpp b/src/thermo.cpp index 547d36328501768625e6033a0d11867a6ce273aa..96de72b4ab26248f1dc634b07ee105ac25b79a02 100644 --- a/src/thermo.cpp +++ b/src/thermo.cpp @@ -126,7 +126,7 @@ Thermo::Thermo(LAMMPS *lmp, int narg, char **arg) : Pointers(lmp) int expand = 0; char **earg; - int nvalues = input->expand_args(narg-1,&arg[1],0,earg); + int nvalues = utils::expand_args(FLERR,narg-1,&arg[1],0,earg,lmp); if (earg != &arg[1]) expand = 1; line = new char[256+nvalues*64]; @@ -608,7 +608,7 @@ void Thermo::modify_params(int narg, char **arg) format_float_user = new char[n]; strcpy(format_float_user,arg[iarg+2]); } else { - int i = force->inumeric(FLERR,arg[iarg+1]) - 1; + int i = utils::inumeric(FLERR,arg[iarg+1],false,lmp) - 1; if (i < 0 || i >= nfield_initial+1) error->all(FLERR,"Illegal thermo_modify command"); if (format_column_user[i]) delete [] format_column_user[i]; diff --git a/src/timer.cpp b/src/timer.cpp index 97f0e8ababea177b34ffbc76f4a28d22300712f8..b9124978a9a2275f950c7f1188a98f7c43c828ca 100644 --- a/src/timer.cpp +++ b/src/timer.cpp @@ -277,7 +277,7 @@ void Timer::modify_params(int narg, char **arg) } else if (strcmp(arg[iarg],"every") == 0) { ++iarg; if (iarg < narg) { - _checkfreq = force->inumeric(FLERR,arg[iarg]); + _checkfreq = utils::inumeric(FLERR,arg[iarg],false,lmp); if (_checkfreq <= 0) error->all(FLERR,"Illegal timers command"); } else error->all(FLERR,"Illegal timers command"); diff --git a/src/tokenizer.cpp b/src/tokenizer.cpp index 62605f76c335e216dd668f452a8da4cbef5c03a8..eadff698cbbe86df8c8b1c89e50b1bca3ee3be8e 100644 --- a/src/tokenizer.cpp +++ b/src/tokenizer.cpp @@ -30,6 +30,16 @@ TokenizerException::TokenizerException(const std::string & msg, const std::strin } } +/** Class for splitting text into words + * + * This tokenizer will break down a string into sub-strings (i.e words) + * separated by the given separator characters. + * + * \param str string to be processed + * \param separators string with separator characters (default: " \t\r\n\f") + * + * \sa ValueTokenizer TokenizerException */ + Tokenizer::Tokenizer(const std::string & str, const std::string & separators) : text(str), separators(separators), start(0), ntokens(std::string::npos) { @@ -48,14 +58,23 @@ Tokenizer::Tokenizer(Tokenizer && rhs) : reset(); } +/*! Re-position the tokenizer state to the first word, + * i.e. the first non-separator character */ void Tokenizer::reset() { start = text.find_first_not_of(separators); } +/*! Search the text to be processed for a sub-string. + * + * \param str string to be searched for + * \return true if string was found, false if not */ bool Tokenizer::contains(const std::string & str) const { return text.find(str) != std::string::npos; } +/*! Skip over a given number of tokens + * + * \param n number of tokens to skip over */ void Tokenizer::skip(int n) { for(int i = 0; i < n; ++i) { if(!has_next()) throw TokenizerException("No more tokens", ""); @@ -70,10 +89,16 @@ void Tokenizer::skip(int n) { } } +/*! Indicate whether more tokens are available + * + * \return true if there are more tokens, false if not */ bool Tokenizer::has_next() const { return start != std::string::npos; } +/*! Retrieve next token. + * + * \return string with the next token */ std::string Tokenizer::next() { if(!has_next()) throw TokenizerException("No more tokens", ""); @@ -90,6 +115,9 @@ std::string Tokenizer::next() { return token; } +/*! Count number of tokens in text. + * + * \return number of counted tokens */ size_t Tokenizer::count() { // lazy evaluation if (ntokens == std::string::npos) { @@ -98,6 +126,9 @@ size_t Tokenizer::count() { return ntokens; } +/*! Retrieve the entire text converted to an STL vector of tokens. + * + * \return The STL vector */ std::vector Tokenizer::as_vector() { // store current state size_t current = start; @@ -117,6 +148,12 @@ std::vector Tokenizer::as_vector() { return tokens; } +/*! Class for reading text with numbers + * + * \param str String to be processed + * \param separators String with separator characters (default: " \t\r\n\f") + * + * \sa Tokenizer InvalidIntegerException InvalidFloatException */ ValueTokenizer::ValueTokenizer(const std::string & str, const std::string & separators) : tokens(str, separators) { } @@ -127,14 +164,24 @@ ValueTokenizer::ValueTokenizer(const ValueTokenizer & rhs) : tokens(rhs.tokens) ValueTokenizer::ValueTokenizer(ValueTokenizer && rhs) : tokens(std::move(rhs.tokens)) { } +/*! Indicate whether more tokens are available + * + * \return true if there are more tokens, false if not */ bool ValueTokenizer::has_next() const { return tokens.has_next(); } +/*! Search the text to be processed for a sub-string. + * + * \param value string with value to be searched for + * \return true if string was found, false if not */ bool ValueTokenizer::contains(const std::string & value) const { return tokens.contains(value); } +/*! Retrieve next token + * + * \return string with next token */ std::string ValueTokenizer::next_string() { if (has_next()) { std::string value = tokens.next(); @@ -143,6 +190,9 @@ std::string ValueTokenizer::next_string() { return ""; } +/*! Retrieve next token and convert to int + * + * \return value of next token */ int ValueTokenizer::next_int() { if (has_next()) { std::string current = tokens.next(); @@ -155,6 +205,9 @@ int ValueTokenizer::next_int() { return 0; } +/*! Retrieve next token and convert to bigint + * + * \return value of next token */ bigint ValueTokenizer::next_bigint() { if (has_next()) { std::string current = tokens.next(); @@ -167,6 +220,9 @@ bigint ValueTokenizer::next_bigint() { return 0; } +/*! Retrieve next token and convert to tagint + * + * \return value of next token */ tagint ValueTokenizer::next_tagint() { if (has_next()) { std::string current = tokens.next(); @@ -179,6 +235,9 @@ tagint ValueTokenizer::next_tagint() { return 0; } +/*! Retrieve next token and convert to double + * + * \return value of next token */ double ValueTokenizer::next_double() { if (has_next()) { std::string current = tokens.next(); @@ -191,10 +250,16 @@ double ValueTokenizer::next_double() { return 0.0; } +/*! Skip over a given number of tokens + * + * \param n number of tokens to skip over */ void ValueTokenizer::skip(int n) { tokens.skip(n); } +/*! Count number of tokens in text. + * + * \return number of counted tokens */ size_t ValueTokenizer::count() { return tokens.count(); } diff --git a/src/tokenizer.h b/src/tokenizer.h index cc77c8ee0d91bbbf18bb291ebb4dd1567f0dfe6b..eb19c4421b7c180ca9a050e5dcf564868b9b6e18 100644 --- a/src/tokenizer.h +++ b/src/tokenizer.h @@ -33,7 +33,7 @@ class Tokenizer { size_t start; size_t ntokens; public: - Tokenizer(const std::string & str, const std::string & separators = TOKENIZER_DEFAULT_SEPARATORS); + Tokenizer(const std::string &str, const std::string &separators = TOKENIZER_DEFAULT_SEPARATORS); Tokenizer(Tokenizer &&); Tokenizer(const Tokenizer &); Tokenizer& operator=(const Tokenizer&) = default; @@ -42,7 +42,7 @@ public: void reset(); void skip(int n); bool has_next() const; - bool contains(const std::string & str) const; + bool contains(const std::string &str) const; std::string next(); size_t count(); @@ -52,11 +52,17 @@ public: class TokenizerException : public std::exception { std::string message; public: - TokenizerException(const std::string & msg, const std::string & token); + /** Thrown during retrieving or skipping tokens + * + * \param msg String with error message + * \param token String of the token/word that caused the error */ + TokenizerException(const std::string &msg, const std::string &token); ~TokenizerException() throw() { } + /** Retrieve message describing the thrown exception + * \return string with error message */ virtual const char * what() const throw() { return message.c_str(); } @@ -64,20 +70,26 @@ public: class InvalidIntegerException : public TokenizerException { public: - InvalidIntegerException(const std::string & token) : TokenizerException("Not a valid integer number", token) { - } + /** Thrown during converting string to integer number + * + * \param token String of the token/word that caused the error */ + InvalidIntegerException(const std::string &token) + : TokenizerException("Not a valid integer number", token) {} }; class InvalidFloatException : public TokenizerException { public: - InvalidFloatException(const std::string & token) : TokenizerException("Not a valid floating-point number", token) { - } + /** Thrown during converting string to floating point number + * + * \param token String of the token/word that caused the error */ + InvalidFloatException(const std::string &token) + : TokenizerException("Not a valid floating-point number", token) {} }; class ValueTokenizer { Tokenizer tokens; public: - ValueTokenizer(const std::string & str, const std::string & separators = TOKENIZER_DEFAULT_SEPARATORS); + ValueTokenizer(const std::string &str, const std::string &separators = TOKENIZER_DEFAULT_SEPARATORS); ValueTokenizer(const ValueTokenizer &); ValueTokenizer(ValueTokenizer &&); ValueTokenizer& operator=(const ValueTokenizer&) = default; @@ -90,7 +102,7 @@ public: double next_double(); bool has_next() const; - bool contains(const std::string & value) const; + bool contains(const std::string &value) const; void skip(int ntokens); size_t count(); diff --git a/src/universe.cpp b/src/universe.cpp index 0fad232d2cec26507532d4344a5591f8d5bcd310..e920270c1ead62dbae463f913fc6d5888fd9663b 100644 --- a/src/universe.cpp +++ b/src/universe.cpp @@ -84,7 +84,7 @@ void Universe::reorder(char *style, char *arg) if (uworld != uorig) MPI_Comm_free(&uworld); if (strcmp(style,"nth") == 0) { - int n = force->inumeric(FLERR,arg); + int n = utils::inumeric(FLERR,arg,false,lmp); if (n <= 0) error->universe_all(FLERR,"Invalid -reorder N value"); if (nprocs % n) diff --git a/src/update.cpp b/src/update.cpp index 612b4de409c3192da7a0e8e97cbe7ea8ba6704e4..a1c712c35474add7c39bfbed2af08e451d576051 100644 --- a/src/update.cpp +++ b/src/update.cpp @@ -446,7 +446,7 @@ Min *Update::minimize_creator(LAMMPS *lmp) void Update::reset_timestep(int narg, char **arg) { if (narg != 1) error->all(FLERR,"Illegal reset_timestep command"); - bigint newstep = force->bnumeric(FLERR,arg[0]); + bigint newstep = utils::bnumeric(FLERR,arg[0],false,lmp); reset_timestep(newstep); } diff --git a/src/utils.cpp b/src/utils.cpp index 8c19e889cddb7c326c090c0832f77018f297041e..45bd629c19d61f7a764d1225dadeb2f7168f31c0 100644 --- a/src/utils.cpp +++ b/src/utils.cpp @@ -16,9 +16,15 @@ #include #include #include "lammps.h" +#include "comm.h" +#include "compute.h" #include "error.h" +#include "fix.h" +#include "memory.h" +#include "modify.h" #include "tokenizer.h" #include "text_file_reader.h" +#include "update.h" #include "fmt/format.h" #if defined(__linux__) @@ -71,7 +77,7 @@ using namespace LAMMPS_NS; * This function is supposed to be a more safe, more specific and * simple to use API to find pattern matches. The purpose is to replace * uses of either strncmp() or strstr() in the code base to find - * substrings safely. With strncmp() finding prefixes, the number of + * sub-strings safely. With strncmp() finding prefixes, the number of * characters to match must be counted, which can lead to errors, * while using "^pattern" will do the same with less problems. * Matching for suffixes using strstr() is not as specific as 'pattern$', @@ -88,7 +94,7 @@ bool utils::strmatch(const std::string &text, const std::string &pattern) return (pos >= 0); } -/* This simplifies the repetitive task of outputting some +/** This function simplifies the repetitive task of outputting some * message to both the screen and/or the log file. In combination * with using fmt::format(), which returns the formatted text * in a std::string() instance, this can be used to reduce @@ -109,9 +115,11 @@ std::string utils::getsyserror() return std::string(strerror(errno)); } -/* - * On Linux the folder /proc/self/fd holds symbolic links to the actual +/** On Linux the folder /proc/self/fd holds symbolic links to the actual * pathnames associated with each open file descriptor of the current process. + * + * This function is used to provide a filename with error messages in functions + * where the filename is not passed as an argument, but the FILE * pointer. */ const char *utils::guesspath(char *buf, int len, FILE *fp) { @@ -348,11 +356,189 @@ tagint utils::tnumeric(const char *file, int line, const char *str, return ATOTAGINT(str); } +/* ---------------------------------------------------------------------- + compute bounds implied by numeric str with a possible wildcard asterisk +------------------------------------------------------------------------- */ +template +void utils::bounds(const char *file, int line, const std::string &str, + bigint nmin, bigint nmax, TYPE &nlo, TYPE &nhi, Error *error) +{ + size_t found = str.find_first_of("*"); + + nlo = nhi = -1; + if (found == std::string::npos) { // contains no '*' + nlo = nhi = strtol(str.c_str(),NULL,10); + } else if (str.size() == 1) { // is only '*' + nlo = nmin; + nhi = nmax; + } else if (found == 0) { // is '*j' + nlo = nmin; + nhi = strtol(str.substr(1).c_str(),NULL,10); + } else if (str.size() == found+1) { // is 'i*' + nlo = strtol(str.c_str(),NULL,10); + nhi = nmax; + } else { // is 'i*j' + nlo = strtol(str.c_str(),NULL,10); + nhi = strtol(str.substr(found+1).c_str(),NULL,10); + } + + if (error) { + if (nlo < nmin) + error->all(file,line,fmt::format("Numeric index {} is out of bounds" + "({}-{})",nlo,nmin,nmax)); + else if (nhi > nmax) + error->all(file,line,fmt::format("Numeric index {} is out of bounds" + "({}-{})",nhi,nmin,nmax)); + else if (nlo > nhi) + error->all(file,line,fmt::format("Numeric index {} is out of bounds" + "({}-{})",nlo,nmin,nhi)); + } +} + +template void utils::bounds<>(const char *, int, const std::string &, + bigint, bigint, int &, int &, Error *); +template void utils::bounds<>(const char *, int, const std::string &, + bigint, bigint, long &, long &, Error *); +template void utils::bounds<>(const char *, int, const std::string &, + bigint, bigint, long long &, long long &, Error *); + +/* ------------------------------------------------------------------------- + Expand list of arguments in arg to earg if arg contains wildcards +------------------------------------------------------------------------- */ + +int utils::expand_args(const char *file, int line, int narg, char **arg, + int mode, char **&earg, LAMMPS *lmp) +{ + int n,iarg,index,nlo,nhi,nmax,expandflag,icompute,ifix; + char *ptr1,*ptr2,*str; + + ptr1 = NULL; + for (iarg = 0; iarg < narg; iarg++) { + ptr1 = strchr(arg[iarg],'*'); + if (ptr1) break; + } + + if (!ptr1) { + earg = arg; + return narg; + } + + // maxarg should always end up equal to newarg, so caller can free earg + + int maxarg = narg-iarg; + earg = (char **) lmp->memory->smalloc(maxarg*sizeof(char *),"input:earg"); + + int newarg = 0; + for (iarg = 0; iarg < narg; iarg++) { + expandflag = 0; + + if (strncmp(arg[iarg],"c_",2) == 0 || + strncmp(arg[iarg],"f_",2) == 0) { + + ptr1 = strchr(&arg[iarg][2],'['); + if (ptr1) { + ptr2 = strchr(ptr1,']'); + if (ptr2) { + *ptr2 = '\0'; + if (strchr(ptr1,'*')) { + if (arg[iarg][0] == 'c') { + *ptr1 = '\0'; + icompute = lmp->modify->find_compute(&arg[iarg][2]); + *ptr1 = '['; + + // check for global vector/array, peratom array, local array + + if (icompute >= 0) { + if (mode == 0 && lmp->modify->compute[icompute]->vector_flag) { + nmax = lmp->modify->compute[icompute]->size_vector; + expandflag = 1; + } else if (mode == 1 && lmp->modify->compute[icompute]->array_flag) { + nmax = lmp->modify->compute[icompute]->size_array_cols; + expandflag = 1; + } else if (lmp->modify->compute[icompute]->peratom_flag && + lmp->modify->compute[icompute]->size_peratom_cols) { + nmax = lmp->modify->compute[icompute]->size_peratom_cols; + expandflag = 1; + } else if (lmp->modify->compute[icompute]->local_flag && + lmp->modify->compute[icompute]->size_local_cols) { + nmax = lmp->modify->compute[icompute]->size_local_cols; + expandflag = 1; + } + } + } else if (arg[iarg][0] == 'f') { + *ptr1 = '\0'; + ifix = lmp->modify->find_fix(&arg[iarg][2]); + *ptr1 = '['; + + // check for global vector/array, peratom array, local array + + if (ifix >= 0) { + if (mode == 0 && lmp->modify->fix[ifix]->vector_flag) { + nmax = lmp->modify->fix[ifix]->size_vector; + expandflag = 1; + } else if (mode == 1 && lmp->modify->fix[ifix]->array_flag) { + nmax = lmp->modify->fix[ifix]->size_array_cols; + expandflag = 1; + } else if (lmp->modify->fix[ifix]->peratom_flag && + lmp->modify->fix[ifix]->size_peratom_cols) { + nmax = lmp->modify->fix[ifix]->size_peratom_cols; + expandflag = 1; + } else if (lmp->modify->fix[ifix]->local_flag && + lmp->modify->fix[ifix]->size_local_cols) { + nmax = lmp->modify->fix[ifix]->size_local_cols; + expandflag = 1; + } + } + } + } + *ptr2 = ']'; + } + } + } + + if (expandflag) { + *ptr2 = '\0'; + bounds(file,line,ptr1+1,1,nmax,nlo,nhi,lmp->error); + *ptr2 = ']'; + if (newarg+nhi-nlo+1 > maxarg) { + maxarg += nhi-nlo+1; + earg = (char **) + lmp->memory->srealloc(earg,maxarg*sizeof(char *),"input:earg"); + } + for (index = nlo; index <= nhi; index++) { + n = strlen(arg[iarg]) + 16; // 16 = space for large inserted integer + str = earg[newarg] = new char[n]; + strncpy(str,arg[iarg],ptr1+1-arg[iarg]); + sprintf(&str[ptr1+1-arg[iarg]],"%d",index); + strcat(str,ptr2); + newarg++; + } + + } else { + if (newarg == maxarg) { + maxarg++; + earg = (char **) + lmp->memory->srealloc(earg,maxarg*sizeof(char *),"input:earg"); + } + n = strlen(arg[iarg]) + 1; + earg[newarg] = new char[n]; + strcpy(earg[newarg],arg[iarg]); + newarg++; + } + } + + //printf("NEWARG %d\n",newarg); + //for (int i = 0; i < newarg; i++) + // printf(" arg %d: %s\n",i,earg[i]); + + return newarg; +} + /* ---------------------------------------------------------------------- Return string without leading or trailing whitespace ------------------------------------------------------------------------- */ -std::string utils::trim(const std::string & line) { +std::string utils::trim(const std::string &line) { int beg = re_match(line.c_str(),"\\S+"); int end = re_match(line.c_str(),"\\s+$"); if (beg < 0) beg = 0; @@ -365,7 +551,7 @@ std::string utils::trim(const std::string & line) { Return string without trailing # comment ------------------------------------------------------------------------- */ -std::string utils::trim_comment(const std::string & line) { +std::string utils::trim_comment(const std::string &line) { auto end = line.find_first_of("#"); if (end != std::string::npos) { return line.substr(0, end); @@ -377,7 +563,7 @@ std::string utils::trim_comment(const std::string & line) { return number of words ------------------------------------------------------------------------- */ -size_t utils::count_words(const char * text) { +size_t utils::count_words(const char *text) { size_t count = 0; const char * buf = text; char c = *buf; @@ -406,7 +592,7 @@ size_t utils::count_words(const char * text) { return number of words ------------------------------------------------------------------------- */ -size_t utils::count_words(const std::string & text) { +size_t utils::count_words(const std::string &text) { return utils::count_words(text.c_str()); } @@ -414,7 +600,7 @@ size_t utils::count_words(const std::string & text) { Return number of words ------------------------------------------------------------------------- */ -size_t utils::count_words(const std::string & text, const std::string & separators) { +size_t utils::count_words(const std::string &text, const std::string &separators) { size_t count = 0; size_t start = text.find_first_not_of(separators); @@ -435,7 +621,7 @@ size_t utils::count_words(const std::string & text, const std::string & separato Trim comment from string and return number of words ------------------------------------------------------------------------- */ -size_t utils::trim_and_count_words(const std::string & text, const std::string & separators) { +size_t utils::trim_and_count_words(const std::string &text, const std::string &separators) { return utils::count_words(utils::trim_comment(text), separators); } @@ -526,7 +712,7 @@ std::vector utils::split_words(const std::string &text) Return whether string is a valid integer number ------------------------------------------------------------------------- */ -bool utils::is_integer(const std::string & str) { +bool utils::is_integer(const std::string &str) { if (str.size() == 0) { return false; } @@ -542,7 +728,7 @@ bool utils::is_integer(const std::string & str) { Return whether string is a valid floating-point number ------------------------------------------------------------------------- */ -bool utils::is_double(const std::string & str) { +bool utils::is_double(const std::string &str) { if (str.size() == 0) { return false; } @@ -560,7 +746,7 @@ bool utils::is_double(const std::string & str) { strip off leading part of path, return just the filename ------------------------------------------------------------------------- */ -std::string utils::path_basename(const std::string & path) { +std::string utils::path_basename(const std::string &path) { #if defined(_WIN32) size_t start = path.find_last_of("/\\"); #else @@ -580,7 +766,7 @@ std::string utils::path_basename(const std::string & path) { join two paths ------------------------------------------------------------------------- */ -std::string utils::path_join(const std::string & a, const std::string & b) { +std::string utils::path_join(const std::string &a, const std::string &b) { #if defined(_WIN32) return fmt::format("{}\\{}", a, b); #else @@ -592,7 +778,7 @@ std::string utils::path_join(const std::string & a, const std::string & b) { try to open file for reading ------------------------------------------------------------------------- */ -bool utils::file_is_readable(const std::string & path) { +bool utils::file_is_readable(const std::string &path) { FILE * fp = fopen(path.c_str(), "r"); if(fp) { fclose(fp); @@ -606,8 +792,13 @@ bool utils::file_is_readable(const std::string & path) { search current directory and the LAMMPS_POTENTIALS directory if specified ------------------------------------------------------------------------- */ +#if defined(_WIN32) +#define OS_PATH_VAR_SEP ";" +#else +#define OS_PATH_VAR_SEP ":" +#endif -std::string utils::get_potential_file_path(const std::string& path) { +std::string utils::get_potential_file_path(const std::string &path) { std::string filepath = path; std::string filename = utils::path_basename(path); @@ -615,38 +806,40 @@ std::string utils::get_potential_file_path(const std::string& path) { return filepath; } else { // try the environment variable directory - const char *path = getenv("LAMMPS_POTENTIALS"); + const char *var = getenv("LAMMPS_POTENTIALS"); - if (path != nullptr){ - std::string pot = utils::path_basename(filepath); - filepath = utils::path_join(path, pot); + if (var != nullptr){ + Tokenizer dirs(var,OS_PATH_VAR_SEP); - if (utils::file_is_readable(filepath)) { - return filepath; + while (dirs.has_next()) { + auto pot = utils::path_basename(filepath); + auto path = dirs.next(); + filepath = utils::path_join(path, pot); + + if (utils::file_is_readable(filepath)) { + return filepath; + } } } } return ""; } +#undef OS_PATH_VAR_SEP /* ---------------------------------------------------------------------- read first line of potential file if it has a DATE field, return the following word ------------------------------------------------------------------------- */ -std::string utils::get_potential_date(const std::string & path, const std::string & potential_name) { +std::string utils::get_potential_date(const std::string &path, const std::string &potential_name) { TextFileReader reader(path, potential_name); reader.ignore_comments = false; char *line = reader.next_line(); - ValueTokenizer values(line); - while (values.has_next()) { - std::string word = values.next_string(); - if (word == "DATE:") { - if (values.has_next()) { - std::string date = values.next_string(); - return date; - } + Tokenizer words(line); + while (words.has_next()) { + if (words.next() == "DATE:") { + if (words.has_next()) return words.next(); } } return ""; @@ -657,19 +850,15 @@ std::string utils::get_potential_date(const std::string & path, const std::strin if it has UNITS field, return following word ------------------------------------------------------------------------- */ -std::string utils::get_potential_units(const std::string & path, const std::string & potential_name) { +std::string utils::get_potential_units(const std::string &path, const std::string &potential_name) { TextFileReader reader(path, potential_name); reader.ignore_comments = false; char *line = reader.next_line(); - ValueTokenizer values(line); - while (values.has_next()) { - std::string word = values.next_string(); - if (word == "UNITS:") { - if (values.has_next()) { - std::string units = values.next_string(); - return units; - } + Tokenizer words(line); + while (words.has_next()) { + if (words.next() == "UNITS:") { + if (words.has_next()) return words.next(); } } return ""; @@ -705,12 +894,69 @@ double utils::get_conversion_factor(const int property, const int conversion) return 0.0; } +/* ---------------------------------------------------------------------- + open a potential file as specified by name + if fails, search in dir specified by env variable LAMMPS_POTENTIALS +------------------------------------------------------------------------- */ + +FILE *utils::open_potential(const std::string &name, LAMMPS *lmp, + int *auto_convert) +{ + auto error = lmp->error; + auto me = lmp->comm->me; + + std::string filepath = get_potential_file_path(name); + + if(!filepath.empty()) { + std::string unit_style = lmp->update->unit_style; + std::string date = get_potential_date(filepath, "potential"); + std::string units = get_potential_units(filepath, "potential"); + + if(!date.empty() && (me == 0)) { + logmesg(lmp, fmt::format("Reading potential file {} " + "with DATE: {}\n", name, date)); + } + + if (auto_convert == nullptr) { + if (!units.empty() && (units != unit_style) && (me == 0)) { + error->one(FLERR, fmt::format("Potential file {} requires {} units " + "but {} units are in use", name, units, + unit_style)); + return nullptr; + } + } else { + if (units.empty() || units == unit_style) { + *auto_convert = NOCONVERT; + } else { + if ((units == "metal") && (unit_style == "real") + && (*auto_convert & METAL2REAL)) { + *auto_convert = METAL2REAL; + } else if ((units == "real") && (unit_style == "metal") + && (*auto_convert & REAL2METAL)) { + *auto_convert = REAL2METAL; + } else { + error->one(FLERR, fmt::format("Potential file {} requires {} units " + "but {} units are in use", name, + units, unit_style)); + return nullptr; + } + } + if ((*auto_convert != NOCONVERT) && (me == 0)) + error->warning(FLERR, fmt::format("Converting potential file in " + "{} units to {} units", + units, unit_style)); + } + return fopen(filepath.c_str(), "r"); + } + return nullptr; +} + /* ---------------------------------------------------------------------- convert a timespec ([[HH:]MM:]SS) to seconds the strings "off" and "unlimited" result in -1.0; ------------------------------------------------------------------------- */ -double utils::timespec2seconds(const std::string & timespec) +double utils::timespec2seconds(const std::string ×pec) { double vals[3]; int i = 0; @@ -728,7 +974,7 @@ double utils::timespec2seconds(const std::string & timespec) if (!values.has_next()) break; vals[i] = values.next_int(); } - } catch (TokenizerException & e) { + } catch (TokenizerException &e) { return -1.0; } diff --git a/src/utils.h b/src/utils.h index 2751870d441643ac52d0d83cfa91d16c2e21214a..a06be39e286fcfd72233ad0de902e7ee91e4c844 100644 --- a/src/utils.h +++ b/src/utils.h @@ -29,7 +29,7 @@ namespace LAMMPS_NS { namespace utils { - /** \brief Match text against a simplified regex pattern + /** Match text against a simplified regex pattern * * \param text the text to be matched against the pattern * \param pattern the search pattern, which may contain regexp markers @@ -37,14 +37,14 @@ namespace LAMMPS_NS { */ bool strmatch(const std::string &text, const std::string &pattern); - /** \brief Send message to screen and logfile, if available + /** Send message to screen and logfile, if available * * \param lmp pointer to LAMMPS class instance * \param mesg message to be printed */ void logmesg(LAMMPS *lmp, const std::string &mesg); - /** \brief return a string representing the current system error status + /** return a string representing the current system error status * * This is a wrapper around calling strerror(errno). * @@ -52,7 +52,7 @@ namespace LAMMPS_NS { */ std::string getsyserror(); - /** \brief safe wrapper around fgets() which aborts on errors + /** safe wrapper around fgets() which aborts on errors * or EOF and prints a suitable error message to help debugging * * \param srcname name of the calling source file (from FLERR macro) @@ -66,7 +66,7 @@ namespace LAMMPS_NS { void sfgets(const char *srcname, int srcline, char *s, int size, FILE *fp, const char *filename, Error *error); - /** \brief safe wrapper around fread() which aborts on errors + /** safe wrapper around fread() which aborts on errors * or EOF and prints a suitable error message to help debugging * * \param srcname name of the calling source file (from FLERR macro) @@ -81,7 +81,7 @@ namespace LAMMPS_NS { void sfread(const char *srcname, int srcline, void *s, size_t size, size_t num, FILE *fp, const char *filename, Error *error); - /** \brief Report if a requested style is in a package or may have a typo + /** Report if a requested style is in a package or may have a typo * * \param style type of style that is to be checked for * \param name name of style that was not found @@ -91,149 +91,197 @@ namespace LAMMPS_NS { std::string check_packages_for_style(const std::string &style, const std::string &name, LAMMPS *lmp); - /** \brief Convert a string to a floating point number while checking - if it is a valid floating point or integer number + /** Convert a string to a floating point number while checking + * if it is a valid floating point or integer number * - * \param file name of source file for error message - * \param line in source file for error message - * \param str string to be converted to number + * \param file name of source file for error message + * \param line line number in source file for error message + * \param str string to be converted to number * \param do_abort determines whether to call Error::one() or Error::all() - * \param lmp pointer to top-level LAMMPS class instance - * \return double precision floating point number + * \param lmp pointer to top-level LAMMPS class instance + * \return double precision floating point number */ double numeric(const char *file, int line, const char *str, bool do_abort, LAMMPS *lmp); - /** \brief Convert a string to an integer number while checking - if it is a valid integer number (regular int) + /** Convert a string to an integer number while checking + * if it is a valid integer number (regular int) * - * \param file name of source file for error message - * \param line in source file for error message - * \param str string to be converted to number + * \param file name of source file for error message + * \param line line number in source file for error message + * \param str string to be converted to number * \param do_abort determines whether to call Error::one() or Error::all() - * \param lmp pointer to top-level LAMMPS class instance - * \return integer number (regular int) + * \param lmp pointer to top-level LAMMPS class instance + * \return integer number (regular int) */ int inumeric(const char *file, int line, const char *str, bool do_abort, LAMMPS *lmp); - /** \brief Convert a string to an integer number while checking - if it is a valid integer number (bigint) + /** Convert a string to an integer number while checking + * if it is a valid integer number (bigint) * - * \param file name of source file for error message - * \param line in source file for error message - * \param str string to be converted to number + * \param file name of source file for error message + * \param line line number in source file for error message + * \param str string to be converted to number * \param do_abort determines whether to call Error::one() or Error::all() - * \param lmp pointer to top-level LAMMPS class instance - * \return integer number (bigint) + * \param lmp pointer to top-level LAMMPS class instance + * \return integer number (bigint) */ bigint bnumeric(const char *file, int line, const char *str, bool do_abort, LAMMPS *lmp); - /** \brief Convert a string to an integer number while checking - if it is a valid integer number (tagint) + /** Convert a string to an integer number while checking + * if it is a valid integer number (tagint) * - * \param file name of source file for error message - * \param line in source file for error message - * \param str string to be converted to number - * \param do_abort determines whether to call Error::one() or Error::all() - * \param lmp pointer to top-level LAMMPS class instance - * \return integer number (tagint) - */ + * \param file name of source file for error message + * \param line line number in source file for error message + * \param str string to be converted to number + * \param do_abort determines whether to call Error::one() or Error::all() + * \param lmp pointer to top-level LAMMPS class instance + * \return integer number (tagint) */ + tagint tnumeric(const char *file, int line, const char *str, bool do_abort, LAMMPS *lmp); - /** - * \brief Trim leading and trailing whitespace. Like TRIM() in Fortran. + /** Compute index bounds derived from a string with a possible wildcard + * + * This functions processes the string in *str* and set the values of *nlo* + * and *nhi* according to the following five cases: + * + * - a single number, i: nlo = i; nhi = i; + * - a single asterisk, \*: nlo = nmin; nhi = nmax; + * - a single number followed by an asterisk, i\*: nlo = i; nhi = nmax; + * - a single asterisk followed by a number, \*i: nlo = nmin; nhi = i; + * - two numbers with an asterisk in between. i\*j: nlo = i; nhi = j; + * + * \param file name of source file for error message + * \param line line number in source file for error message + * \param str string to be processed + * \param nmin smallest possible lower bound + * \param nmax largest allowed upper bound + * \param nlo lower bound + * \param nhi upper bound + * \param error pointer to Error class for out-of-bounds messages */ + template + void bounds(const char *file, int line, const std::string &str, + bigint nmin, bigint nmax, TYPE &nlo, TYPE &nhi, Error *error); + + /** Expand list of arguments when containing fix/compute wildcards + * + * This function searches the list of arguments in *arg* for strings + * of the kind c_ID[*] or f_ID[*] referring to computes or fixes. + * Any such strings are replaced by one or more strings with the + * '*' character replaced by the corresponding possible numbers as + * determined from the fix or compute instance. Other strings are + * just copied. If the *mode* parameter is set to 0, expand global + * vectors, but not global arrays; if it is set to 1, expand global + * arrays (by column) but not global vectors. + * + * If any expansion happens, the earg list and all its + * strings are new allocations and must be freed explicitly by the + * caller. Otherwise arg and earg will point to the same address + * and no explicit de-allocation is needed by the caller. + * + * \param file name of source file for error message + * \param line line number in source file for error message + * \param narg number of arguments in current list + * \param arg argument list, possibly containing wildcards + * \param mode select between global vectors(=0) and arrays (=1) + * \param earg new argument list with wildcards expanded + * \param lmp pointer to top-level LAMMPS class instance + * \return number of arguments in expanded list */ + + int expand_args(const char *file, int line, int narg, char **arg, + int mode, char **&earg, LAMMPS *lmp); + + /** Trim leading and trailing whitespace. Like TRIM() in Fortran. + * * \param line string that should be trimmed * \return new string without whitespace (string) */ std::string trim(const std::string &line); - /** - * \brief Trim anything from '#' onward + /** Return string with anything from '#' onward removed + * * \param line string that should be trimmed * \return new string without comment (string) */ std::string trim_comment(const std::string &line); - /** - * \brief Count words in string + /** Count words in string with custom choice of separating characters + * * \param text string that should be searched * \param separators string containing characters that will be treated as whitespace * \return number of words found */ - size_t count_words(const std::string & text, const std::string & separators); + size_t count_words(const std::string &text, const std::string &separators); - /** - * \brief Count words in string, ignore any whitespace matching " \t\r\n\f" + /** Count words in string, ignore any whitespace matching " \t\r\n\f" + * * \param text string that should be searched - * \param separators string containing characters that will be treated as whitespace * \return number of words found */ - size_t count_words(const std::string & text); + size_t count_words(const std::string &text); - /** - * \brief Count words in C-string, ignore any whitespace matching " \t\r\n\f" + /** Count words in C-string, ignore any whitespace matching " \t\r\n\f" + * * \param text string that should be searched - * \param separators string containing characters that will be treated as whitespace * \return number of words found */ - size_t count_words(const char * text); + size_t count_words(const char *text); - /** - * \brief Count words in a single line, trim anything from '#' onward + /** Count words in a single line, trim anything from '#' onward + * * \param text string that should be trimmed and searched * \param separators string containing characters that will be treated as whitespace * \return number of words found */ - size_t trim_and_count_words(const std::string & text, const std::string & separators = " \t\r\n\f"); + size_t trim_and_count_words(const std::string &text, const std::string &separators = " \t\r\n\f"); - /** - * \brief Take text and split into non-whitespace words. + /** Take text and split into non-whitespace words. * - * This can handle single and double quotes, escaped quotes, - * and escaped codes within quotes, but due to using an STL - * container and STL strings is rather slow because of making - * copies. Designed for parsing command lines and similar text - * and not for time critical processing. Use a tokenizer for that. + * This can handle strings with single and double quotes, escaped quotes, + * and escaped codes within quotes, but due to using an STL container and + * STL strings is rather slow because of making copies. Designed for parsing + * command lines and similar text and not for time critical processing. + * Use a tokenizer class for that. * * \param text string that should be split * \return STL vector with the words */ std::vector split_words(const std::string &text); - /** - * \brief Check if string can be converted to valid integer - * \param text string that should be checked + /** Check if string can be converted to valid integer + * + * \param str string that should be checked * \return true, if string contains valid integer, false otherwise */ - bool is_integer(const std::string & str); + bool is_integer(const std::string &str); - /** - * \brief Check if string can be converted to valid floating-point number - * \param text string that should be checked + /** Check if string can be converted to valid floating-point number + * + * \param str string that should be checked * \return true, if string contains valid floating-point number, false otherwise */ - bool is_double(const std::string & str); + bool is_double(const std::string &str); - /** \brief try to detect pathname from FILE pointer. + /** Try to detect pathname from FILE pointer. * * Currently only supported on Linux, otherwise will report "(unknown)". * * \param buf storage buffer for pathname. output will be truncated if not large enough * \param len size of storage buffer. output will be truncated to this length - 1 - * \param fp FILE pointer structe from STDIO library for which we want to detect the name + * \param fp FILE pointer struct from STDIO library for which we want to detect the name * \return pointer to the storage buffer, i.e. buf */ const char *guesspath(char *buf, int len, FILE *fp); - /** - * \brief Strip off leading part of path, return just the filename + /** Strip off leading part of path, return just the filename + * * \param path file path * \return file name */ - std::string path_basename(const std::string & path); + std::string path_basename(const std::string &path); /** * \brief Join two paths @@ -241,64 +289,88 @@ namespace LAMMPS_NS { * \param b second path * \return combined path */ - std::string path_join(const std::string & a, const std::string & b); + std::string path_join(const std::string &a, const std::string &b); /** * \brief Check if file exists and is readable * \param path file path * \return true if file exists and is readable */ - bool file_is_readable(const std::string & path); + bool file_is_readable(const std::string &path); - /** - * \brief Determine full path of potential file - * If file is not found in current directory, search LAMMPS_POTENTIALS folder + /** Determine full path of potential file. If file is not found in current directory, + * search directories listed in LAMMPS_POTENTIALS environment variable + * * \param path file path * \return full path to potential file */ - std::string get_potential_file_path(const std::string& path); + std::string get_potential_file_path(const std::string &path); - /** - * \brief Read potential file and return DATE field if it is present + /** Read potential file and return DATE field if it is present + * * \param path file path * \param potential_name name of potential that is being read * \return DATE field if present */ - std::string get_potential_date(const std::string & path, const std::string & potential_name); + std::string get_potential_date(const std::string &path, const std::string &potential_name); - /** - * \brief Read potential file and return UNITS field if it is present + /** Read potential file and return UNITS field if it is present + * * \param path file path * \param potential_name name of potential that is being read * \return UNITS field if present */ - std::string get_potential_units(const std::string & path, const std::string & potential_name); + std::string get_potential_units(const std::string &path, const std::string &potential_name); enum { NOCONVERT = 0, METAL2REAL = 1, REAL2METAL = 1<<1 }; enum { UNKNOWN = 0, ENERGY }; - /** - * \brief Return bitmask of available conversion factors for a given propert + /** Return bitmask of available conversion factors for a given property + * * \param property property to be converted * \return bitmask indicating available conversions */ int get_supported_conversions(const int property); - /** - * \brief Return unit conversion factor for given property and selected from/to units + /** Return unit conversion factor for given property and selected from/to units + * * \param property property to be converted * \param conversion constant indicating the conversion * \return conversion factor */ double get_conversion_factor(const int property, const int conversion); - /** - * \brief Convert a time string to seconds - * The strings "off" and "unlimited" result in -1 + /** Open a potential file as specified by *name* + * + * If opening the file directly fails, the function will search for + * it in the list of folder pointed to by the environment variable + * ``LAMMPS_POTENTIALS`` (if it is set). + * + * If the potential file has a ``UNITS`` tag in the first line, the + * tag's value is compared to the current unit style setting. + * The behavior of the function then depends on the value of the + * *auto_convert* parameter. If it is ``NULL``, then the unit values + * must match or else the open will fail with an error. Otherwise + * the bitmask that *auto_convert* points to is used check for + * compatibility with possible automatic conversions by the calling + * function. If compatible, the bitmask is set to the required + * conversion or ``utils::NOCONVERT``. + * + * \param name file- or pathname of the potential file + * \param lmp pointer to top-level LAMMPS class instance + * \param auto_convert pointer to unit conversion bitmask or NULL + * \return FILE pointer of the opened potential file or NULL*/ + + FILE *open_potential(const std::string &name, LAMMPS *lmp, int *auto_convert); + + /** Convert a time string to seconds + * + * The strings "off" and "unlimited" result in -1 + * * \param timespec a string in the following format: ([[HH:]MM:]SS) * \return total in seconds */ - double timespec2seconds(const std::string & timespec); + double timespec2seconds(const std::string ×pec); } } diff --git a/src/variable.cpp b/src/variable.cpp index 8eecc4690f920c833c02821b7d4ec52bcaa22eb5..d16987984f5264f6aef3a0805d1e241e3c413377 100644 --- a/src/variable.cpp +++ b/src/variable.cpp @@ -189,7 +189,7 @@ void Variable::set(int narg, char **arg) int nfirst = 0,nlast = 0; if (narg == 3 || (narg == 4 && strcmp(arg[3],"pad") == 0)) { nfirst = 1; - nlast = force->inumeric(FLERR,arg[2]); + nlast = utils::inumeric(FLERR,arg[2],false,lmp); if (nlast <= 0) error->all(FLERR,"Illegal variable command"); if (narg == 4 && strcmp(arg[3],"pad") == 0) { char digits[12]; @@ -197,8 +197,8 @@ void Variable::set(int narg, char **arg) pad[nvar] = strlen(digits); } else pad[nvar] = 0; } else if (narg == 4 || (narg == 5 && strcmp(arg[4],"pad") == 0)) { - nfirst = force->inumeric(FLERR,arg[2]); - nlast = force->inumeric(FLERR,arg[3]); + nfirst = utils::inumeric(FLERR,arg[2],false,lmp); + nlast = utils::inumeric(FLERR,arg[3],false,lmp); if (nfirst > nlast || nlast < 0) error->all(FLERR,"Illegal variable command"); if (narg == 5 && strcmp(arg[4],"pad") == 0) { @@ -252,7 +252,7 @@ void Variable::set(int narg, char **arg) if (find(arg[0]) >= 0) return; if (nvar == maxvar) grow(); style[nvar] = ULOOP; - num[nvar] = force->inumeric(FLERR,arg[2]); + num[nvar] = utils::inumeric(FLERR,arg[2],false,lmp); data[nvar] = new char*[1]; data[nvar][0] = NULL; if (narg == 4) { @@ -508,7 +508,7 @@ void Variable::set(int narg, char **arg) if (ivar >= 0) { if (style[ivar] != INTERNAL) error->all(FLERR,"Cannot redefine variable as a different style"); - dvalue[nvar] = force->numeric(FLERR,arg[2]); + dvalue[nvar] = utils::numeric(FLERR,arg[2],false,lmp); replaceflag = 1; } else { if (nvar == maxvar) grow(); @@ -518,7 +518,7 @@ void Variable::set(int narg, char **arg) pad[nvar] = 0; data[nvar] = new char*[num[nvar]]; data[nvar][0] = new char[VALUELENGTH]; - dvalue[nvar] = force->numeric(FLERR,arg[2]); + dvalue[nvar] = utils::numeric(FLERR,arg[2],false,lmp); } } else error->all(FLERR,"Illegal variable command"); @@ -5198,7 +5198,7 @@ int VarReader::read_peratom() if (n == 0) return 1; MPI_Bcast(str,n,MPI_CHAR,0,world); - bigint nlines = force->bnumeric(FLERR,str); + bigint nlines = utils::bnumeric(FLERR,str,false,lmp); tagint map_tag_max = atom->map_tag_max; bigint nread = 0; diff --git a/src/velocity.cpp b/src/velocity.cpp index c2776ea174270f4292dc7f0f1a34c384d8524ff2..140a3969261c167495780e8e61670dd230231f63 100644 --- a/src/velocity.cpp +++ b/src/velocity.cpp @@ -127,8 +127,8 @@ void Velocity::command(int narg, char **arg) // create() invoked differently, so can be called externally if (style == CREATE) { - double t_desired = force->numeric(FLERR,arg[2]); - int seed = force->inumeric(FLERR,arg[3]); + double t_desired = utils::numeric(FLERR,arg[2],false,lmp); + int seed = utils::inumeric(FLERR,arg[3],false,lmp); create(t_desired,seed); } else if (style == SET) set(narg-2,&arg[2]); @@ -424,21 +424,21 @@ void Velocity::set(int /*narg*/, char **arg) xstr = new char[n]; strcpy(xstr,&arg[0][2]); } else if (strcmp(arg[0],"NULL") == 0) xstyle = NONE; - else vx = force->numeric(FLERR,arg[0]); + else vx = utils::numeric(FLERR,arg[0],false,lmp); if (strstr(arg[1],"v_") == arg[1]) { int n = strlen(&arg[1][2]) + 1; ystr = new char[n]; strcpy(ystr,&arg[1][2]); } else if (strcmp(arg[1],"NULL") == 0) ystyle = NONE; - else vy = force->numeric(FLERR,arg[1]); + else vy = utils::numeric(FLERR,arg[1],false,lmp); if (strstr(arg[2],"v_") == arg[2]) { int n = strlen(&arg[2][2]) + 1; zstr = new char[n]; strcpy(zstr,&arg[2][2]); } else if (strcmp(arg[2],"NULL") == 0) zstyle = NONE; - else vz = force->numeric(FLERR,arg[2]); + else vz = utils::numeric(FLERR,arg[2],false,lmp); // set and apply scale factors @@ -578,7 +578,7 @@ void Velocity::set(int /*narg*/, char **arg) void Velocity::scale(int /*narg*/, char **arg) { - double t_desired = force->numeric(FLERR,arg[0]); + double t_desired = utils::numeric(FLERR,arg[0],false,lmp); // if temperature = NULL, create a new ComputeTemp with the velocity group @@ -649,14 +649,14 @@ void Velocity::ramp(int /*narg*/, char **arg) double v_lo,v_hi; if (v_dim == 0) { - v_lo = xscale*force->numeric(FLERR,arg[1]); - v_hi = xscale*force->numeric(FLERR,arg[2]); + v_lo = xscale*utils::numeric(FLERR,arg[1],false,lmp); + v_hi = xscale*utils::numeric(FLERR,arg[2],false,lmp); } else if (v_dim == 1) { - v_lo = yscale*force->numeric(FLERR,arg[1]); - v_hi = yscale*force->numeric(FLERR,arg[2]); + v_lo = yscale*utils::numeric(FLERR,arg[1],false,lmp); + v_hi = yscale*utils::numeric(FLERR,arg[2],false,lmp); } else if (v_dim == 2) { - v_lo = zscale*force->numeric(FLERR,arg[1]); - v_hi = zscale*force->numeric(FLERR,arg[2]); + v_lo = zscale*utils::numeric(FLERR,arg[1],false,lmp); + v_hi = zscale*utils::numeric(FLERR,arg[2],false,lmp); } int coord_dim = 0; @@ -667,14 +667,14 @@ void Velocity::ramp(int /*narg*/, char **arg) double coord_lo,coord_hi; if (coord_dim == 0) { - coord_lo = xscale*force->numeric(FLERR,arg[4]); - coord_hi = xscale*force->numeric(FLERR,arg[5]); + coord_lo = xscale*utils::numeric(FLERR,arg[4],false,lmp); + coord_hi = xscale*utils::numeric(FLERR,arg[5],false,lmp); } else if (coord_dim == 1) { - coord_lo = yscale*force->numeric(FLERR,arg[4]); - coord_hi = yscale*force->numeric(FLERR,arg[5]); + coord_lo = yscale*utils::numeric(FLERR,arg[4],false,lmp); + coord_hi = yscale*utils::numeric(FLERR,arg[5],false,lmp); } else if (coord_dim == 2) { - coord_lo = zscale*force->numeric(FLERR,arg[4]); - coord_hi = zscale*force->numeric(FLERR,arg[5]); + coord_lo = zscale*utils::numeric(FLERR,arg[4],false,lmp); + coord_hi = zscale*utils::numeric(FLERR,arg[5],false,lmp); } // vramp = ramped velocity component for v_dim diff --git a/src/write_restart.cpp b/src/write_restart.cpp index 062add3b3c8ec8c66b100b55383cd60e52c5ddd3..22e993c37c86273a3df16407dcf014de3b249d34 100644 --- a/src/write_restart.cpp +++ b/src/write_restart.cpp @@ -159,7 +159,7 @@ void WriteRestart::multiproc_options(int multiproc_caller, int mpiioflag_caller, if (!multiproc) error->all(FLERR,"Cannot use write_restart fileper " "without % in restart file name"); - int nper = force->inumeric(FLERR,arg[iarg+1]); + int nper = utils::inumeric(FLERR,arg[iarg+1],false,lmp); if (nper <= 0) error->all(FLERR,"Illegal write_restart command"); multiproc = nprocs/nper; @@ -177,7 +177,7 @@ void WriteRestart::multiproc_options(int multiproc_caller, int mpiioflag_caller, if (!multiproc) error->all(FLERR,"Cannot use write_restart nfile " "without % in restart file name"); - int nfile = force->inumeric(FLERR,arg[iarg+1]); + int nfile = utils::inumeric(FLERR,arg[iarg+1],false,lmp); if (nfile <= 0) error->all(FLERR,"Illegal write_restart command"); nfile = MIN(nfile,nprocs); diff --git a/tools/doxygen/Developer.dox.lammps b/tools/doxygen/Developer.dox.lammps deleted file mode 100644 index 8e9e3de2322a708d9946a46951a1e92fe7743cbb..0000000000000000000000000000000000000000 --- a/tools/doxygen/Developer.dox.lammps +++ /dev/null @@ -1,456 +0,0 @@ -/** - -@mainpage Lammps Developer Guide -@tableofcontents - -

    LAMMPS Documentation

    -

    and

    -

    LAMMPS Developer Guide

    -

    LAMMPS_VERSION

    - - -This document is a developer guide to the LAMMPS molecular dynamics package, whose WWW site is at lammps.sandia.gov. It describes the internal structure and algorithms of the code. Sections will be added as we have time, and in response to requests from developers and users. - - -@section SCT_Lammps_source_files LAMMPS source files - -LAMMPS source files are in two directories of the distribution tarball. The src directory has the majority of them, all of which are C++ files (*.cpp and *.h). Many of these files are in the src directory itself. There are also dozens of "packages", which can be included or excluded when LAMMPS is built. See the doc/Section_start.html section of the manual for more information about packages, or type "make" from within the src directory, which lists package-related commands, such as "make package-status". The source files for each package are in an all-uppercase sub-directory of src, like src/MOLECULE or src/USER-CUDA. If the package is currently installed, copies of the package source files will also exist in the src directory itself. The src/STUBS sub-directory is not a package but contains a dummy version of the MPI library, used when building a serial version of the code. - -The lib directory also contains source code for external libraries, used by a few of the packages. Each sub-directory, like meam or gpu, contains the source files, some of which are in different languages such as Fortran. The files are compiled into libraries from within each sub-directory, e.g. performing a "make" in the lib/meam directory creates a libmeam.a file. These libraries are statically linked to during a LAMMPS build, if the corresponding package is installed. - -LAMMPS C++ source files almost always come in pairs, such as run.cpp and run.h. The pair of files defines a C++ class, the LAMMPS_NS::Run class in this case, which contains the code invoked by the run command in a LAMMPS input script. As this example illustrates, source file and class names often have a one-to-one correspondence with a command used in a LAMMPS input script. Some source files and classes do not have a corresponding input script command, e.g. force.cpp and the LAMMPS_NS::Force class. They are discussed in the next section. - - -@section SCT_Class_hierarchy_of_LAMMPS Class hierarchy of LAMMPS - -Though LAMMPS has a lot of source files and classes, its class hierarchy is quite simple, as outlined in figure @ref classes. Each boxed name refers to a class and has a pair of associated source files in lammps/src, e.g. memory.cpp and memory.h. More details on the class and its methods and data structures can be found by examining its *.h file. - -LAMMPS_NS::LAMMPS (src/lammps.cpp and src/lammps.h) is the top-level class for the entire code. It holds an "instance" of LAMMPS and can be instantiated one or more times by a calling code. For example, the file src/main.cpp simply instantiates one instance of LAMMPS and passes it the input script. - -The file src/library.cpp contains a C-style library interface to the LAMMPS_NS::LAMMPS class. See the lammps/couple and lammps/python directories for examples of simple programs that use LAMMPS through its library interface. A driver program can instantiate the LAMMPS_NS::LAMMPS class multiple times, e.g. to embed several atomistic simulation regions within a mesoscale or continuum simulation domain. - -There are a dozen or so top-level classes within the LAMMPS_NS::LAMMPS class that are visible everywhere in the code. They are shaded blue in figure @ref classes. Thus any class can refer to the y-coordinate of local atom "i" as atom@f$\rightarrow@f$x[i][1]. This visibility is enabled by a bit of cleverness in the LAMMPS_NS::Pointers class (see src/pointers.h) which every class inherits from. - -There are a handful of virtual parent classes in LAMMPS that define what LAMMPS calls "styles". They are shaded red in figure @ref classes. Each of these are parents of a number of child classes that implement the interface defined by the parent class. For example, the "fix style" has around 100 child classes. They are the possible fixes that can be specified by the fix command in an input script, e.g. fix nve, fix shake, fix ave/time, etc. The corresponding classes are LAMMPS_NS::Fix (for the parent class), LAMMPS_NS::FixNVE, LAMMPS_NS::FixShake, LAMMPS_NS::FixAveTime, etc. The source files for these classes are easy to identify in the src directory, since they begin with the word "fix", e,g, fix_nve.cpp, fix_shake.cpp, fix_ave_time.cpp, etc. - -The one exception is child class files for the "command" style. These implement specific commands in the input script that can be invoked before/after/between runs or which launch a simulation. Examples are the create_box, minimize, run, and velocity commands which encode the LAMMPS_NS::CreateBox, LAMMPS_NS::Minimize, LAMMPS_NS::Run, and LAMMPS_NS::Velocity classes. The corresponding files are create_box.cpp, minimize.cpp, run.cpp, and velocity.cpp. - -The list of command style files can be found by typing "grep COMMAND_CLASS *.h" from within the src directory, since that word in the header file identifies the class as an input script command. Similar words can be grepped to list files for the other LAMMPS styles. E.g. ATOM_CLASS, PAIR_CLASS, BOND_CLASS, REGION_CLASS, FIX_CLASS, COMPUTE_CLASS, DUMP_CLASS, etc. - -
    - -@anchor classes @image html classes.png "Class hierarchy within LAMMPS source code" - -@anchor classes @image latex classes.eps "Class hierarchy within LAMMPS source code" - -
    - -More details on individual classes in figure @ref classes are as -follows: - -- The LAMMPS_NS::Memory class handles allocation of all large vectors and arrays. - -- The LAMMPS_NS::Error class prints all error and warning messages. - -- The LAMMPS_NS::Universe class sets up partitions of processors so that multiple simulations can be run, each on a subset of the processors allocated for a run, e.g. by the mpirun command. - -- The LAMMPS_NS::Input class reads an input script, stores variables, and invokes stand-alone commands that are child classes of the LAMMPS_NS::Command class. - -- As discussed above, the LAMMPS_NS::Command class is a parent class for certain input script commands that perform a one-time operation before/after/between simulations or which invoke a simulation. They are instantiated from within the LAMMPS_NS::Input class, invoked, then immediately destructed. - -- The LAMMPS_NS::Finish class is instantiated to print statistics to the screen after a simulation is performed, by commands like run and minimize. - -- The LAMMPS_NS::Special class walks the bond topology of a molecular system to find 1st, 2nd, 3rd neighbors of each atom. It is invoked by several commands, like read_data, read_restart, and replicate. - -- The LAMMPS_NS::Atom class stores all per-atom arrays. More precisely, they are allocated and stored by the LAMMPS_NS::AtomVec class, and the LAMMPS_NS::Atom class simply stores a pointer to them. The LAMMPS_NS::AtomVec class is a parent class for atom styles, defined by the atom_style command. - -- The LAMMPS_NS::Update class holds an integrator and a minimizer. The LAMMPS_NS::Integrate class is a parent style for the Verlet and rRESPA time integrators, as defined by the run_style input command. The LAMMPS_NS::Min class is a parent style for various energy minimizers. - -- The LAMMPS_NS::Neighbor class builds and stores neighbor lists. The LAMMPS_NS::NeighList class stores a single list (for all atoms). The LAMMPS_NS::NeighRequest class is called by pair, fix, or compute styles when they need a particular kind of neighbor list. - -- The LAMMPS_NS::Comm class performs interprocessor communication, typically of ghost atom information. This usually involves MPI message exchanges with 6 neighboring processors in the 3d logical grid of processors mapped to the simulation box. Sometimes the LAMMPS_NS::Irregular class is used, when atoms may migrate to arbitrary processors. - -- The LAMMPS_NS::Domain class stores the simulation box geometry, as well as the geometric LAMMPS_NS::Region and any user definition of a LAMMPS_NS::Lattice. The latter are defined by region and lattice commands in an input script. - -- The LAMMPS_NS::Force class computes various forces between atoms. The LAMMPS_NS::Pair parent class is for non-bonded or pair-wise forces, which in LAMMPS lingo includes many-body forces such as the Tersoff 3-body potential. The LAMMPS_NS::Bond, LAMMPS_NS::Angle, LAMMPS_NS::Dihedral, LAMMPS_NS::Improper parent classes are styles for bonded interactions within a static molecular topology. The LAMMPS_NS::KSpace parent class is for computing long-range Coulombic interactions. One of its child classes, LAMMPS_NS::PPPM, uses the LAMMPS_NS::FFT3d and LAMMPS_NS::Remap classes to communicate grid-based information with neighboring processors. - -- The LAMMPS_NS::Modify class stores lists of LAMMPS_NS::Fix and LAMMPS_NS::Compute classes, both of which are parent styles. - -- The LAMMPS_NS::Group class manipulates groups that atoms are assigned to via the group command. It also computes various attributes of groups of atoms. - -- The LAMMPS_NS::Output class is used to generate 3 kinds of output from a LAMMPS simulation: thermodynamic information printed to the screen and log file, dump file snapshots, and restart files. These correspond to the LAMMPS_NS::Thermo, LAMMPS_NS::Dump, and LAMMPS_NS::WriteRestart classes respectively. The LAMMPS_NS::Dump class is a parent style. - -- The LAMMPS_NS::Timer class logs MPI timing information, output at the end of a run. - - -@section SCT_How_a_timestep_works How a timestep works - -The first and most fundamental operation within LAMMPS to understand is how a timestep is structured. Timestepping is performed by the LAMMPS_NS::Integrate class within the LAMMPS_NS::Update class. Since LAMMPS_NS::Integrate is a parent class, corresponding to the run_style input script command, it has child classes. In this section, the timestep implemented by the LAMMPS_NS::Verlet child class is described. A similar timestep is implemented by the LAMMPS_NS::Respa child class, for the rRESPA hierarchical timestepping method. The LAMMPS_NS::Min parent class performs energy minimization, so does not perform a literal timestep. But it has logic similar to what is described here, to compute forces and invoke fixes at each iteration of a minimization. Differences between time integration and minimization are highlighted at the end of this section. - -The LAMMPS_NS::Verlet class is encoded in the src/verlet.cpp and verlet.h files. It implements the velocity-Verlet timestepping algorithm. The workhorse method is LAMMPS_NS::Verlet::run(), but first we highlight several other methods in the class. - -- The LAMMPS_NS::Verlet::init() method is called at the beginning of each dynamics run. It simply sets some internal flags, based on user settings in other parts of the code. - -- The LAMMPS_NS::Verlet::setup() or LAMMPS_NS::Verlet::setup_minimal() methods are also called before each run. The velocity-Verlet method requires current forces be calculated before the first timestep, so these routines compute forces due to all atomic interactions, using the same logic that appears in the timestepping described next. A few fixes are also invoked, using the mechanism described in the next section. Various counters are also initialized before the run begins. The LAMMPS_NS::Verlet::setup_minimal() method is a variant that has a flag for performing less setup. This is used when runs are continued and information from the previous run is still valid. For example, if repeated short LAMMPS runs are being invoked, interleaved by other commands, via the "pre no" and "every" options of the run command, the LAMMPS_NS::Verlet::setup_minimal() method is used. - -- The LAMMPS_NS::Verlet::force_clear() method initializes force and other arrays to zero before each timestep, so that forces (torques, etc) can be accumulated. - -Now for the LAMMPS_NS::Verlet::run() method. Its structure in hi-level pseudo code is shown in figure @ref Verlet. In the actual code in src/verlet.cpp some of these operations are conditionally invoked. - - -@verbatim - -loop over N timesteps: - ev_set() - - fix->initial_integrate() - fix->post_integrate() - - nflag = neighbor->decide() - if nflag: - fix->pre_exchange() - domain->pbc() - domain->reset_box() - comm->setup() - neighbor->setup_bins() - comm->exchange() - comm->borders() - fix->pre_neighbor() - neighbor->build() - else - comm->forward_comm() - - force_clear() - fix->pre_force() - - pair->compute() - bond->compute() - angle->compute() - dihedral->compute() - improper->compute() - kspace->compute() - - comm->reverse_comm() - - fix->post_force() - fix->final_integrate() - fix->end_of_step() - - if any output on this step: output->write() - -@endverbatim - -@anchor Verlet
    **Pseudo-code for the Verlet::run() method**
    - - -The LAMMPS_NS::Integrate::ev_set() method (in the parent LAMMPS_NS::Integrate class), sets two flags LAMMPS_NS::Integrate::eflag and LAMMPS_NS::Integrate::vflag for energy and virial computation. Each flag encodes whether global and/or per-atom energy and virial should be calculated on this timestep, because some fix or variable or output will need it. These flags are passed to the various methods that compute particle interactions, so that they can skip the extra calculations if the energy and virial are not needed. See the comments with the LAMMPS_NS::Integrate::ev_set() method which document the flag values. - -At various points of the timestep, fixes are invoked, e.g. fix@f$\rightarrow@f$initial_integrate(). In the code, this is actually done via the LAMMPS_NS::Modify class which stores all the Fix objects and lists of which should be invoked at what point in the timestep. Fixes are the LAMMPS mechanism for tailoring the operations of a timestep for a particular simulation. As described elsewhere (unwritten section), each fix has one or more methods, each of which is invoked at a specific stage of the timestep, as in figure @ref Verlet. All the fixes defined in an input script with an LAMMPS_NS::Fix::initial_integrate() method are invoked at the beginning of each timestep. The fix commands fix nve, fix nvt and fix npt are examples, since they perform the start-of-timestep velocity-Verlet integration to update velocities by a half-step, and coordinates by a full step. The LAMMPS_NS::Fix::post_integrate() method is next. Only a few fixes use this, e.g. to reflect particles off box boundaries in the LAMMPS_NS::FixWallReflect class. - -The LAMMPS_NS::Neighbor::decide() method in the Neighbor class determines whether neighbor lists need to be rebuilt on the current timestep. If not, coordinates of ghost atoms are acquired by each processor via the LAMMPS_NS::Comm::forward_comm() method of the LAMMPS_NS::Comm class. If neighbor lists need to be built, several operations within the inner if clause of figure @ref Verlet are first invoked. The LAMMPS_NS::Fix::pre_exchange() method of any defined fixes is invoked first. Typically this inserts or deletes particles from the system. - -Periodic boundary conditions are then applied by the LAMMPS_NS::Domain class via its LAMMPS_NS::Domain::pbc() method to remap particles that have moved outside the simulation box back into the box. Note that this is not done every timestep. but only when neighbor lists are rebuilt. This is so that each processor’s sub-domain will have consistent (nearby) atom coordinates for its owned and ghost atoms. It is also why dumped atom coordinates can be slightly outside the simulation box. - -The box boundaries are then reset (if needed) via the LAMMPS_NS::Domain::reset_box() method of the Domain class, e.g. if box boundaries are shrink-wrapped to current particle coordinates. A change in the box size or shape requires internal information for communicating ghost atoms (LAMMPS_NS::Comm class) and neighbor list bins (LAMMPS_NS::Neighbor class) be updated. The LAMMPS_NS::Comm::setup() method of the LAMMPS_NS::Comm class and LAMMPS_NS::Neighbor::setup_bins() method of the LAMMPS_NS::Neighbor class perform the update. - -The code is now ready to migrate atoms that have left a processor’s geometric sub-domain to new processors. The LAMMPS_NS::Comm::exchange() method of the LAMMPS_NS::Comm class performs this operation. The LAMMPS_NS::Comm::borders() method of the LAMMPS_NS::Comm class then identifies ghost atoms surrounding each processor’s sub-domain and communicates ghost atom information to neighboring processors. It does this by looping over all the atoms owned by a processor to make lists of those to send to each neighbor processor. On subsequent timesteps, the lists are used by the LAMMPS_NS::Comm::forward_comm() method. - -Fixes with a LAMMPS_NS::Fix::pre_neighbor() method are then called. These typically re-build some data structure stored by the fix that depends on the current atoms owned by each processor. - -Now that each processor has a current list of its owned and ghost atoms, LAMMPS is ready to rebuild neighbor lists via the LAMMPS_NS::Neighbor::build() method of the LAMMPS_NS::Neighbor class. This is typically done by binning all owned and ghost atoms, and scanning a stencil of bins around each owned atom’s bin to make a Verlet list of neighboring atoms within the force cutoff plus neighbor skin distance. - -In the next portion of the timestep, all interaction forces between particles are computed, after zeroing the per-atom force vector via the LAMMPS_NS::Verlet::force_clear() method. If the newton flag is set to "on" by the newton command, forces on both owned and ghost atoms are calculated. - -Pairwise forces are calculated first, which enables the global virial (if requested) to be calculated cheaply (at the end of the LAMMPS_NS::Pair::compute() method), by a dot product of atom coordinates and forces. By including owned and ghost atoms in the dot product, the effect of periodic boundary conditions is correctly accounted for. Molecular topology interactions (bonds, angles, dihedrals, impropers) are calculated next. The final contribution is from long-range Coulombic interactions, invoked by the LAMMPS_NS::KSpace class. - -If the newton flag is on, forces on ghost atoms are communicated and summed back to their corresponding owned atoms. The LAMMPS_NS::Comm::reverse_comm() method of the LAMMPS_NS::Comm class performs this operation, which is essentially the inverse operation of sending copies of owned atom coordinates to other processor’s ghost atoms. - -At this point in the timestep, the total force on each atom is known. Additional force constraints (external forces, SHAKE, etc) are applied by Fixes that have a LAMMPS_NS::Fix::post_force() method. The second half of the velocity-Verlet integration is then performed (another half-step update of the velocities) via fixes like fix nve, fix nvt and fix npt. - -At the end of the timestep, fixes that define an LAMMPS_NS::Fix::end_of_step() method are invoked. These typically perform a diagnostic calculation, e.g. the fix ave/time and fix ave/spatial fixes. - -The final operation of the timestep is to perform any requested output, via the LAMMPS_NS::Output::write() method of the LAMMPS_NS::Output class. There are 3 kinds of LAMMPS output: - -- thermodynamic output to the screen and log file, -- snapshots of atom data to a dump file, and -- restart files. - -See the thermo_style, dump, and restart commands for more details. - -The iteration performed by an energy minimization is similar to the dynamics timestep of figure @ref Verlet. Forces are computed, neighbor lists are built as needed, atoms migrate to new processors, and atom coordinates and forces are communicated to neighboring processors. The only difference is what LAMMPS_NS::Fix class operations are invoked when. Only a subset of LAMMPS fixes are useful during energy minimization, as explained in their individual doc pages. The relevant LAMMPS_NS::Fix class methods are LAMMPS_NS::Fix::min_pre_exchange(), LAMMPS_NS::Fix::min_pre_force(), and LAMMPS_NS::Fix::min_post_force(). Each is invoked at the appropriate place within the minimization iteration. For example, the LAMMPS_NS::Fix::min_post_force() method is analogous to the LAMMPS_NS::Fix::post_force() method for dynamics; it is used to alter or constrain forces on each atom, which affects the minimization procedure. - - -@section SCT_Extending_LAMMPS Extending LAMMPS - -The Section_modify.html file in the doc directory of the LAMMPS distribution gives an overview of how LAMMPS can be extended by writing new classes that derive from existing parent classes in LAMMPS. - - -@subsection SST_New_fixes New fixes - -(this section has been provided by Kirill Lykov) - -Here, some specific coding details are provided for writing a new fix. - -Writing fixes is a flexible way of extending LAMMPS. Users can implement many things using fixes: - -- changing particles attributes (positions, velocities, forces, etc.). Example: LAMMPS_NS::FixFreeze. - -- reading/writing data. Example: LAMMPS_NS::FixReadRestart. - -- implementing boundary conditions. Example: LAMMPS_NS::FixWall. - -- saving information about particles for future use (previous positions, for instance). Example: LAMMPS_NS::FixStoreState. - -All fixes are derived from class LAMMPS_NS::Fix and must have constructor with the signature: - -@verbatim - -FixMine(class LAMMPS *, int, char **) - -@endverbatim - -Every fix must be registered in LAMMPS by writing the following lines of code in the header before include guards: - -@verbatim - -#ifdef FIX_CLASS -FixStyle(your/fix/name,FixMine) -#else - -@endverbatim - -Where `your/fix/name` is a name of your fix in the script and `FixMine` is the name of the class. This code allows LAMMPS to find your fix when it parses input script. In addition, your fix header must be included in the file style_fix.h. In case if you use LAMMPS make, this file is generated automatically - all files starting with prefix `fix_` are included, so call your header the same way. Otherwise, don’t forget to add your include into style_fix.h. - -Let’s write a simple fix which will print average velocity at the end of each timestep. First of all, implement a constructor: - -@verbatim - -FixPrintVel::FixPrintVel(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) -{ - - if (narg < 4) - error->all(FLERR,"Illegal fix print command"); - - nevery = atoi(arg[3]); - - if (nevery <= 0) - error->all(FLERR,"Illegal fix print command"); -} - -@endverbatim - -In the constructor you should parse your fix arguments which are specified in the script. All fixes have pretty the same syntax: - -@verbatim - -fix [fix_identifier] [group_name] [fix_name] [fix_arguments]. - -@endverbatim - -The first 3 parameters are parsed by Fix class constructor, while `[fix_arguments]` should be parsed by you. In our case, we need to specify how often we want to print an average velocity. For instance, once in 50 timesteps: `fix 1 print/vel 50`. There is a special variable in Fix class called nevery which specifies how often the method `end_of_step()` is called. Thus all we need to do is just set it up. - -The next method we need to implement is `setmask()`: - -@verbatim - -int FixPrintVel::setmask() -{ - int mask = 0; - mask |= FixConst::END_OF_STEP; - return mask; -} - -@endverbatim - -Here user specifies which methods of your fix should be called during the execution. For instance, `END_OF_STEP` corresponds to the LAMMPS_NS::Fix::end_of_step() method. Overall, there are 8 most important methods that are called in predefined order during the execution of the Verlet algorithm as was mentioned in Section 3: - -- LAMMPS_NS::Fix::initial_integrate() - -- LAMMPS_NS::Fix::post_integrate() - -- LAMMPS_NS::Fix::pre_exchange() - -- LAMMPS_NS::Fix::pre_neighbor() - -- LAMMPS_NS::Fix::pre_force() - -- LAMMPS_NS::Fix::post_force() - -- LAMMPS_NS::Fix::final_integrate() - -- LAMMPS_NS::Fix::end_of_step() - -The fix developer must understand when he wants to execute his code. In case if we want to write `FixPrintVel`, we need only LAMMPS_NS::Fix::end_of_step(): - -@verbatim - -void FixPrintVel::end_of_step() -{ - // for add3, scale3 - using namespace MathExtra; - - double** v = atom->v; - int nlocal = atom->nlocal; - double localAvgVel[4]; // 4th element for particles count - memset(localAvgVel, 0, 4 * sizeof(double)); - for (int particleInd = 0; particleInd < nlocal; ++particleInd) { - add3(localAvgVel, v[particleInd], localAvgVel); - } - localAvgVel[3] = nlocal; - double globalAvgVel[4]; - memset(globalAvgVel, 0, 4 * sizeof(double)); - MPI_Allreduce(localAvgVel, globalAvgVel, 4, MPI_DOUBLE, MPI_SUM, world); - scale3(1.0 / globalAvgVel[3], globalAvgVel); - if (comm->me == 0) { - printf("%e, %e, %e\n", globalAvgVel[0], globalAvgVel[1], globalAvgVel[2]); - } -} - -@endverbatim - - -In the code above, we use MathExtra routines defined in math_extra.h. There are bunch of math functions to work with arrays of doubles as with math vectors. - -In this code we use an instance of LAMMPS_NS::Atom class. This object is stored in the LAMMPS_NS::Pointers class (see pointers.h). This object contains all global information about the simulation system. Data from LAMMPS_NS::Pointers class available to all classes inherited from it using protected inheritance. Hence when you write you own class, which is going to use LAMMPS data, don’t forget to inherit from the class LAMMPS_NS::Pointers. When writing fixes we inherit from class LAMMPS_NS::Fix which is inherited from LAMMPS_NS::Pointers so there is no need to inherit from it directly. - -The code above computes average velocity for all particles in the simulation. Yet you have one unused parameter in fix call from the script - `[group_name]`. This parameter specifies the group of atoms used in the fix. So we should compute average for all particles in the simulation if `group_name == all`, but it can be any group. The group information is specified by groupbit which is defined in class LAMMPS_NS::Fix: - -@verbatim - -for (int particleInd = 0; particleInd < nlocal; ++particleInd) { - if (atom->mask[particleInd] & groupbit) { - // Do all job here - } - } - -@endverbatim - -Class LAMMPS_NS::Atom encapsulates atoms positions, velocities, forces, etc. The user can access them using particle index. Note, that particle indexes are usually changed every timestep because of sorting. - -Lets consider another LAMMPS_NS::Fix example. We want to have a fix which stores atoms position from previous time step in your fix. The local atoms indexes will not be valid on the next iteration. In order to handle this situation there are several methods which should be implemented: - -- LAMMPS_NS::Fix::memory_usage() `/double memory_usage(void)/` - return how much memory fix uses - -- LAMMPS_NS::Fix::grow_arrays() `/void grow_arrays(int)/` - do reallocation of the per particle arrays in your fix - -- LAMMPS_NS::Fix::copy_arrays() `/void copy_arrays(int i, int j)/` - copy i-th per-particle information to j-th. Used when atoms sorting is performed - -- LAMMPS_NS::Fix::set_arrays() `/void set_arrays(int i)/` - sets i-th particle related information to zero - -Note, that if your class implements these methods, it must call add calls of LAMMPS_NS::Atom::add_callback and LAMMPS_NS::Atom::delete_callback to constructor and destructor: - -@verbatim - -FixSavePos::FixSavePos(LAMMPS *lmp, int narg, char **arg) -{ - //... - atom->add_callback(0); -} - -FixSavePos::~FixSavePos() -{ - atom->delete_callback(id, 0); -} - -@endverbatim - -Since we want to store positions of atoms from previous timestep, we -need to add `double** x` to the header file. Than add allocation code to -constructor: - -@verbatim - -memory->create(this->x, atom->nmax, 3, "FixSavePos:x"); . - -@endverbatim - -Free memory at destructor: - -@verbatim - -memory->destroy(x); - -@endverbatim - -Finally, implement mentioned methods: - -@verbatim - -double FixSavePos::memory_usage() -{ - int nmax = atom->nmax; - double bytes = 0.0; - bytes += nmax * 3 * sizeof(double); - return bytes; -} - -void FixSavePos::grow_arrays(int nmax) -{ - memory->grow(this->x, nmax, 3, "FixSavePos:x"); -} - -void FixSavePos::copy_arrays(int i, int j) -{ - memcpy(this->x[j], this->x[i], sizeof(double) * 3); -} - -void FixSavePos::set_arrays(int i) -{ - memset(this->x[i], 0, sizeof(double) * 3); -} - -int FixSavePos::pack_exchange(int i, double *buf) -{ - int m = 0; - buf[m++] = x[i][0]; - buf[m++] = x[i][1]; - buf[m++] = x[i][2]; - - return m; -} - -int FixSavePos::unpack_exchange(int nlocal, double *buf) -{ - int m = 0; - x[nlocal][0] = buf[m++]; - x[nlocal][1] = buf[m++]; - x[nlocal][2] = buf[m++]; - - return m; -} - -@endverbatim - -Now, a little bit about memory allocation. We used LAMMPS_NS::Memory class which is just a bunch of template functions for allocating 1D and 2D arrays. So you need to add include memory.h to have access to them. - -Finally, if you need to write or read some global information used in your fix to of from a restart file, you might do it by setting flag - -@verbatim - -restart_global = 1 - -@endverbatim - -in the constructor and implementing methods LAMMPS_NS::Fix::write_restart() `/void write_restart(FILE *fp)/` and LAMMPS_NS::Fix::restart() `/void restart(char *buf)/`. - - -@subsection SST_New_commands New commands - -New commands can be added to LAMMPS input scripts by adding new classes that have a “command” method. For example, the create_atoms, read_data, velocity and run commands are all implemented in this fashion. When such a command is encountered in the LAMMPS input script, LAMMPS simply creates a class with the corresponding name, invokes the “command” method of the class, and passes it the arguments from the input script. The command method can perform whatever operations it wishes on LAMMPS data structures. - - -@subsection SST_New_computes New computes - -Classes that compute scalar and vector quantities like temperature and the pressure tensor, as well as classes that compute per-atom quantities like kinetic energy and the centro-symmetry parameter are derived from the LAMMPS_NS::Compute class. New styles can be created to add new calculations to LAMMPS. Compute_temp.cpp is a simple example of computing a scalar temperature. - - -@subsection SST_New_pair_styles New pair styles - -Classes that compute pairwise interactions are derived from the LAMMPS_NS::Pair class. In LAMMPS, pairwise calculation include manybody potentials such as EAM or Tersoff where particles interact without a static bond topology. New styles can be created to add new pair potentials to LAMMPS. - - -@subsection SST_New_bonds_angles_dihedrals_impropers New bonds, angles, dihedrals and impropers - -Classes that compute molecular interactions are derived from the LAMMPS_NS::Bond, LAMMPS_NS::Angle, LAMMPS_NS::Dihedral, and LAMMPS_NS::Improper classes. New styles can be created to add new potentials to LAMMPS. - -*/ diff --git a/tools/doxygen/Doxyfile.lammps b/tools/doxygen/Doxyfile.lammps deleted file mode 100644 index f872541857c2df63a7a7881ae35ce4ca0f044f8a..0000000000000000000000000000000000000000 --- a/tools/doxygen/Doxyfile.lammps +++ /dev/null @@ -1,2557 +0,0 @@ -# Doxyfile 1.8.15 - -# 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 -# https://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 = "LAMMPS - Large Atomic and Molecular Massive Parallel Simulator" - -# 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 = "LAMMPS - Developer Guide - LAMMPS_VERSION" - -# 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 = tools/doxygen/doc - -# 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 - -# The OUTPUT_TEXT_DIRECTION tag is used to specify the direction in which all -# documentation generated by doxygen is written. Doxygen will use this -# information to generate all generated output in the proper direction. -# Possible values are: None, LTR, RTL and Context. -# The default value is: None. - -OUTPUT_TEXT_DIRECTION = None - -# 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 = "The $name class" \ - "The $name widget" \ - "The $name file" \ - is \ - provides \ - specifies \ - contains \ - represents \ - a \ - an \ - the - -# 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 (in the resulting output). You can put ^^ in the value part of an -# alias to insert a newline as if a physical newline was in the original file. - -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 = YES - -# 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 = - -# 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 the TOC_INCLUDE_HEADINGS tag is set to a non-zero value, all headings up -# to that level are automatically included in the table of contents, even if -# they do not have an id attribute. -# Note: This feature currently applies only to Markdown headings. -# Minimum value: 0, maximum value: 99, default value: 0. -# This tag requires that the tag MARKDOWN_SUPPORT is set to YES. - -TOC_INCLUDE_HEADINGS = 0 - -# 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: -# https://www.riverbankcomputing.com/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 - -# If one adds a struct or class to a group and this option is enabled, then also -# any nested class or struct is added to the same group. By default this option -# is disabled and one has to add nested compounds explicitly via \ingroup. -# The default value is: NO. - -GROUP_NESTED_COMPOUNDS = 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 = YES - -# 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 = YES - -# 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 = YES - -# 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 = YES - -# 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 = YES - -# 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 = YES - -# 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 = NO - -# 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 = YES - -# 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 = YES - -# 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 https://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 - -# If the WARN_AS_ERROR tag is set to YES then doxygen will immediately stop when -# a warning is encountered. -# The default value is: NO. - -WARN_AS_ERROR = 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. See also FILE_PATTERNS and EXTENSION_MAPPING -# Note: If this tag is empty the current directory is searched. - -INPUT = tools/doxygen/Developer.dox \ - src/ \ - src/ASPHERE \ - src/BODY \ - src/CLASS2 \ - src/COLLOID \ - src/COMPRESS \ - src/CORESHELL \ - src/DEPEND \ - src/DIPOLE \ - src/GPU \ - src/GRANULAR \ - src/KIM \ - src/KOKKOS \ - src/KSPACE \ - src/LATTE \ - src/MAKE \ - src/MANYBODY \ - src/MC \ - src/MEAM \ - src/MISC \ - src/MOLECULE \ - src/MPIIO \ - src/MSCG \ - src/OPT \ - src/PERI \ - src/POEMS \ - src/PYTHON \ - src/QEQ \ - src/REAX \ - src/REPLICA \ - src/RIGID \ - src/SHOCK \ - src/SNAP \ - src/SRD \ - src/VORONOI \ - src/USER-AWPMD \ - src/USER-CGDNA \ - src/USER-CGSDK \ - src/USER-COLVARS \ - src/USER-DIFFRACTION \ - src/USER-DPD \ - src/USER-DRUDE \ - src/USER-EFF \ - src/USER-FEP \ - src/USER-H5MD \ - src/USER-INTEL \ - src/USER-LB \ - src/USER-MANIFOLD \ - src/USER-MEAMC \ - src/USER-MESO \ - src/USER-MGPT \ - src/USER-MISC \ - src/USER-MOLFILE \ - src/USER-NETCDF \ - src/USER-OMP \ - src/USER-PHONON \ - src/USER-QMMM \ - src/USER-QTB \ - src/USER-QUIP \ - src/USER-REAXC \ - src/USER-SMD \ - src/USER-SMTBQ \ - src/USER-SPH \ - src/USER-TALLY \ - src/USER-UEF \ - src/USER-VTK \ - src/STUBS - -# 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: https://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. -# -# Note that for custom extensions or not directly supported extensions you also -# need to set EXTENSION_MAPPING for the extension otherwise the files are not -# read by doxygen. -# -# 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, *.pyw, *.f90, *.f95, *.f03, *.f08, -# *.f, *.for, *.tcl, *.vhd, *.vhdl, *.ucf and *.qsf. - -FILE_PATTERNS = *.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 \ - *.pyw \ - *.f90 \ - *.f95 \ - *.f03 \ - *.f08 \ - *.f \ - *.for \ - *.tcl \ - *.vhd \ - *.vhdl \ - *.ucf \ - *.qsf - -# 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 = in.* - -# 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 = tools/doxygen - -# 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. -# -# Note that for custom extensions or not directly supported extensions you also -# need to set EXTENSION_MAPPING for the extension otherwise the files are not -# properly processed by doxygen. - -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. -# -# Note that for custom extensions or not directly supported extensions you also -# need to set EXTENSION_MAPPING for the extension otherwise the files are not -# properly processed by doxygen. - -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 = - -#--------------------------------------------------------------------------- -# 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 = YES - -# 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 = YES - -# 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 https://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 - -#--------------------------------------------------------------------------- -# 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 -# https://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 YES can help to show when doxygen was last run and thus if the -# documentation is up to date. -# The default value is: NO. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_TIMESTAMP = NO - -# If the HTML_DYNAMIC_MENUS tag is set to YES then the generated HTML -# documentation will contain a main index with vertical navigation menus that -# are dynamically created via Javascript. If disabled, the navigation index will -# consists of multiple levels of tabs that are statically embedded in every HTML -# page. Disable this option to support browsers that do not have Javascript, -# like the Qt help browser. -# The default value is: YES. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_DYNAMIC_MENUS = 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: https://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 https://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://doc.qt.io/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://doc.qt.io/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://doc.qt.io/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://doc.qt.io/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://doc.qt.io/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 = YES - -# 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_TRANSPARENT 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 -# https://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 https://www.mathjax.org before deployment. -# The default value is: https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/. -# 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 -# , /