vtk-m/LICENSE.txt

61 lines
2.5 KiB
Plaintext
Raw Normal View History

2024-06-24 21:22:11 +00:00
VTKm License Version 2.2
2014-02-10 18:59:15 +00:00
========================================================================
2024-06-24 21:22:11 +00:00
Copyright (c) 2014-2024
2019-04-16 18:12:37 +00:00
Kitware Inc.,
National Technology & Engineering Solutions of Sandia, LLC (NTESS),
2019-04-16 18:12:37 +00:00
UT-Battelle, LLC.,
Los Alamos National Security, LLC.,
2014-02-10 18:59:15 +00:00
All rights reserved.
Under the terms of Contract DE-NA0003525 with NTESS, the U.S. Government
retains certain rights in this software.
2014-02-10 18:59:15 +00:00
Under the terms of Contract DE-AC52-06NA25396 with Los Alamos National
Laboratory (LANL), 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:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the
distribution.
* Neither the name of Kitware nor the names of any contributors may
be used to endorse or promote products derived from this software
without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
2014-02-10 18:59:15 +00:00
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
========================================================================
The following files and directories come from third parties. Check the
contents of these for details on the specifics of their respective
licenses.
- - - - - - - - - - - - - - - - - - - - - - - - do not remove this line
CMake/FindSphinx.cmake
2015-05-29 14:38:28 +00:00
CMake/FindTBB.cmake
Utilities
2015-05-29 14:38:28 +00:00
vtkm/cont/tbb/internal/parallel_sort.h
CPU parallel radix sorting Parallel radix sorting will be invoked in DeviceAdapterAlgorthmTBB.h when the input is ArrayHandle<T, vtkm::cont::StorageTagBasic> where T is one of the following basic C++ types: unsigned int unsigned short int unsigned long int unsigned long long int unsigned char char16_t char32_t wchar_t char short int long long signed char float double If a comparison operator is provided, it must be type std::less<T> or std::greater<T>. Radix sort implementation is Satish parallel radix sort as documented in the following citation: Fast sort on CPUs and GPUs: a case for bandwidth oblivious SIMD sort. N. Satish, C. Kim, J. Chhugani, A. D. Nguyen, V. W. Lee, D. Kim, and P. Dubey. In Proc. SIGMOD, pages 351–362, 2010 Implementation is based on Takuya Akiba's GitHub source code with the following changes: - Changed parallel threading from OpenMP to TBB tasks - Removed pair sorting - Added minimum threshold for parallel, will instead invoke serial radix sort (kxsort) - Added std::greater<T> and std::less<T> to interface for descending order sorts - Added can_use_parallel_radix_sort<T, F>() function to determine if parallel radix sorting is possible for type T and compare function F (fallback is std::sort() if not possible) - Added linear scaling of threads used by the algorithm for more stable performance on machines with lots of available threads (KNL and Haswell) Added kxsort (serial MSD radix sort by Dinghua Li via GitHub) implementation without modification.
2018-01-10 14:28:21 +00:00
vtkm/cont/tbb/internal/parallel_radix_sort_tbb.h
vtkm/cont/tbb/internal/ParallelSortTBB.hxx
CPU parallel radix sorting Parallel radix sorting will be invoked in DeviceAdapterAlgorthmTBB.h when the input is ArrayHandle<T, vtkm::cont::StorageTagBasic> where T is one of the following basic C++ types: unsigned int unsigned short int unsigned long int unsigned long long int unsigned char char16_t char32_t wchar_t char short int long long signed char float double If a comparison operator is provided, it must be type std::less<T> or std::greater<T>. Radix sort implementation is Satish parallel radix sort as documented in the following citation: Fast sort on CPUs and GPUs: a case for bandwidth oblivious SIMD sort. N. Satish, C. Kim, J. Chhugani, A. D. Nguyen, V. W. Lee, D. Kim, and P. Dubey. In Proc. SIGMOD, pages 351–362, 2010 Implementation is based on Takuya Akiba's GitHub source code with the following changes: - Changed parallel threading from OpenMP to TBB tasks - Removed pair sorting - Added minimum threshold for parallel, will instead invoke serial radix sort (kxsort) - Added std::greater<T> and std::less<T> to interface for descending order sorts - Added can_use_parallel_radix_sort<T, F>() function to determine if parallel radix sorting is possible for type T and compare function F (fallback is std::sort() if not possible) - Added linear scaling of threads used by the algorithm for more stable performance on machines with lots of available threads (KNL and Haswell) Added kxsort (serial MSD radix sort by Dinghua Li via GitHub) implementation without modification.
2018-01-10 14:28:21 +00:00
vtkm/cont/tbb/internal/kxsort.h
vtkm/thirdparty
2017-01-26 18:02:51 +00:00
version.txt
.gitlab/cmake