3.4.01 (2021-05-19)
Bug Fixes:
- Windows: Remove atomic_compare_exchange_strong overload conflicts with Windows #4024
- OpenMPTarget: Fixup allocation headers with OpenMPTarget backend #4020
- OpenMPTarget: Add missing specailization for OMPT to Kokkos Random #4022
- AMD: Add support for AMD Zen3 CPU architecture #4021
- SYCL: Implement SYCL::print_configuration #4012
- Containers: staticcsrgraph: use device type instead of execution space to construct views #3998
- nvcc_wrapper: fix errors in argument handling, suppress duplicates of GPU architecture and RDC flags #4006
- CI: Add icpx testing to intel container #4004
- CMake/TRIBITS: Keep quoted compiler flags when passing to Trilinos #4007
- CMake: Rename IntelClang to IntelLLVM #3945
3.4.00 (2021-04-25)
Highlights:
- SYCL Backend Almost Feature Complete
- OpenMPTarget Backend Almost Feature Complete
- Performance Improvements for HIP backend
- Require CMake 3.16 or newer
- Tool Callback Interface Enhancements
- cmath wrapper functions available now in Kokkos::Experimental
Features:
- Implement parallel_scan with ThreadVectorRange and Reducer #3861
- Implement SYCL Random #3849
- OpenMPTarget: Adding Implementation for nested reducers #3845
- Implement UniqueToken for SYCL #3833
- OpenMPTarget: UniqueToken::Global implementation #3823
- DualView sync's on ExecutionSpaces #3822
- SYCL outer TeamPolicy parallel_reduce #3818
- SYCL TeamPolicy::team_scan #3815
- SYCL MDRangePolicy parallel_reduce #3801
- Enable use of execution space instances in ScatterView #3786
- SYCL TeamPolicy nested parallel_reduce #3783
- OpenMPTarget: MDRange with TagType for parallel_for #3781
- Adding OpenMPTarget parallel_scan #3655
- SYCL basic TeamPolicy #3654
- OpenMPTarget: scratch memory implementation #3611
Implemented enhancements Backends and Archs:
- SYCL choose a specific GPU #3918
- [HIP] Lock access to scratch memory when using Teams #3916
- [HIP] fix multithreaded access to get_next_driver #3908
- Forward declare HIPHostPinnedSpace and SYCLSharedUSMSpace #3902
- Let SYCL USMObjectMem use SharedAllocationRecord #3898
- Implement clock_tic for SYCL #3893
- Don't use a static variable in HIPInternal::scratch_space #3866(kokkos#3866)
- Reuse memory for SYCL parallel_reduce #3873
- Update SYCL compiler in CI #3826
- Introduce HostSharedPtr to manage m_space_instance for Cuda/HIP/SYCL #3824
- [HIP] Use shuffle for range reduction #3811
- OpenMPTarget: Changes to the hierarchical parallelism #3808
- Remove ExtendedReferenceWrapper for SYCL parallel_reduce #3802
- Eliminate sycl_indirect_launch #3777
- OpenMPTarget: scratch implementation for parallel_reduce #3776
- Allow initializing SYCL execution space from sycl::queue and SYCL::impl_static_fence #3767
- SYCL TeamPolicy scratch memory alternative #3763
- Alternative implementation for SYCL TeamPolicy #3759
- Unify handling of synchronous errors in SYCL #3754
- core/Cuda: Half_t updates for cgsolve #3746
- Unify HIPParallelLaunch structures #3733
- Improve performance for SYCL parallel_reduce #3732
- Use consistent types in Kokkos_OpenMPTarget_Parallel.hpp #3703
- Implement non-blocking kernel launches for HIP backend #3697
- Change SYCLInternal::m_queue std::unique_ptr -> std::optional #3677
- Use alternative SYCL parallel_reduce implementation #3671
- Use runtime values in KokkosExp_MDRangePolicy.hpp #3626
- Clean up AnalyzePolicy #3564
- Changes for indirect launch of SYCL parallel reduce #3511
Implemented enhancements BuildSystem:
- Also require C++14 when building gtest #3912
- Fix compiling SYCL with OpenMP #3874
- Require C++17 for SYCL (at configuration time) #3869
- Add COMPILE_DEFINITIONS argument to kokkos_create_imported_tpl #3862
- Do not pass arch flags to the linker with no rdc #3846
- Try compiling C++14 check with C++14 support and print error message #3843
- Enable HIP with Cray Clang #3842
- Add an option to disable header self containment tests #3834
- CMake check for C++14 #3809
- Prefer -std=* over --std=* #3779
- Kokkos launch compiler updates #3778
- Updated comments and enabled no-op for kokkos_launch_compiler #3774
- Apple's Clang not correctly recognised #3772
- kokkos_launch_compiler + CUDA auto-detect arch #3770
- Add Spack test support for Kokkos #3753
- Split SYCL tests for aot compilation #3741
- Use consistent OpenMP flag for IntelClang #3735
- Add support for -Wno-deprecated-gpu-targets #3722
- Add configuration to target CUDA compute capability 8.6 #3713
- Added VERSION and SOVERSION to KOKKOS_INTERNAL_ADD_LIBRARY #3706
- Add fast-math to known NVCC flags #3699
- Add MI-100 arch string #3698
- Require CMake >=3.16 #3679
- KokkosCI.cmake, KokkosCTest.cmake.in, CTestConfig.cmake.in + CI updates #2844
Implemented enhancements Tools:
- Improve readability of the callback invocation in profiling #3860
- V1.1 Tools Interface: incremental, action-based #3812
- Enable launch latency simulations #3721
- Added metadata callback to tools interface #3711
- MDRange Tile Size Tuning #3688
- Added support for command-line args for kokkos-tools #3627
- Query max tile sizes for an MDRangePolicy, and set tile sizes on an existing policy #3481
Implemented enhancements Other:
- Try detecting ndevices in get_gpu #3921
- Use strcmp to compare names() #3909
- Add execution space arguments for constructor overloads that might allocate a new underlying View #3904
- Prefix labels in internal use of kokkos_malloc #3891
- Prefix labels for internal uses of SharedAllocationRecord #3890
- Add missing hypot math function #3880
- Unify algorithm unit tests to avoid code duplication #3851
- DualView.template view() better matches for Devices in UVMSpace cases #3857
- More extensive disentangling of Policy Traits #3829
- Replaced nanosleep and sched_yield with STL routines #3825
- Constructing Atomic Subviews #3810
- Metadata Declaration in Core #3729
- Allow using tagged final functor in parallel_reduce #3714
- Major duplicate code removal in SharedAllocationRecord specializations #3658
Fixed bugs:
- Provide forward declarations in Kokkos_ViewLayoutTiled.hpp for XL #3911
- Fixup absolute value of floating points in Kokkos complex #3882
- Address intel 17 ICE #3881
- Add missing pow(Kokkos::complex) overloads #3868
- Fix bug {pow, log}(Kokkos::complex) #3866(kokkos#3866)
- Cleanup writing to output streams in Cuda #3859
- Fixup cache CUDA fallback execution space instance used by DualView::sync #3856
- Fix cmake warning with pthread #3854
- Fix typo FOUND_CUDA_{DRIVVER -> DRIVER} #3852
- Fix bug in SYCL team_reduce #3848
- Atrocious bug in MDRange tuning #3803
- Fix compiling SYCL with Kokkos_ENABLE_TUNING=ON #3800
- Fixed command line parsing bug #3797
- Workaround race condition in SYCL parallel_reduce #3782
- Fix Atomic{Min,Max} for Kepler30 #3780
- Fix SYCL typo #3755
- Fixed Kokkos_install_additional_files macro #3752
- Fix a typo for Kokkos_ARCH_A64FX #3751
- OpenMPTarget: fixes and workarounds to work with "Release" build type #3748
- Fix parsing bug for number of devices command line argument #3724
- Avoid more warnings with clang and C++20 #3719
- Fix gcc-10.1 C++20 warnings #3718
- Fix cuda cache config not being set correct #3712
- Fix dualview deepcopy perftools #3701
- use drand instead of frand in drand #3696
Incompatibilities:
- Remove unimplemented member functions of SYCLDevice #3919
- Replace cl::sycl #3896
- Get rid of SYCL workaround in Kokkos_Complex.hpp #3884
- Replace most uses of if_c #3883
- Remove Impl::enable_if_type #3863
- Remove HostBarrier test #3847
- Avoid (void) interface #3836
- Remove VerifyExecutionCanAccessMemorySpace #3813
- Avoid duplicated code in ScratchMemorySpace #3793
- Remove superfluous FunctorFinal specialization #3788
- Rename cl::sycl -> sycl in Kokkos_MathematicalFunctions.hpp #3678
- Remove integer_sequence backward compatibility implementation #3533
Enabled tests:
- Fixup re-enable core performance tests #3903
- Enable more SYCL tests #3900
- Restrict MDRange Policy tests for Intel GPUs #3853
- Disable death tests for rawhide #3844
- OpenMPTarget: Block unit tests that do not pass with the nvidia compiler #3839
- Enable Bitset container test for SYCL #3830
- Enable some more SYCL tests #3744
- Enable SYCL atomic tests #3742
- Enable more SYCL perf_tests #3692
- Enable examples for SYCL #3691
3.3.01 (2021-01-06)
Bug Fixes:
- Fix severe performance bug in DualView which added memcpys for sync and modify #3693
- Fix performance bug in CUDA backend, where the cuda Cache config was not set correct.
3.3.00 (2020-12-16)
Features:
- Require C++14 as minimum C++ standard. C++17 and C++20 are supported too.
- HIP backend is nearly feature complete. Kokkos Dynamic Task Graphs are missing.
- Major update for OpenMPTarget: many capabilities now work. For details contact us.
- Added DPC++/SYCL backend: primary capabilites are working.
- Added Kokkos Graph API analogous to CUDA Graphs.
- Added parallel_scan support with TeamThreadRange #3536
- Added Logical Memory Spaces #3546
- Added initial half precision support #3439
- Experimental feature: control cuda occupancy #3379
Implemented enhancements Backends and Archs:
- Add a64fx and fujitsu Compiler support #3614
- Adding support for AMD gfx908 archictecture #3375
- SYCL parallel_for MDRangePolicy #3583
- SYCL add parallel_scan #3577
- SYCL custom reductions #3544
- SYCL Enable container unit tests #3550
- SYCL feature level 5 #3480
- SYCL Feature level 4 (parallel_for) #3474
- SYCL feature level 3 #3451
- SYCL feature level 2 #3447
- OpenMPTarget: Hierarchial reduction for + operator on scalars #3504
- OpenMPTarget hierarchical #3411
- HIP Add Impl::atomic_[store,load] #3440
- HIP enable global lock arrays #3418
- HIP Implement multiple occupancy paths for various HIP kernel launchers #3366
Implemented enhancements Policies:
- MDRangePolicy: Let it be semiregular #3494
- MDRangePolicy: Check narrowing conversion in construction #3527
- MDRangePolicy: CombinedReducers support #3395
- Kokkos Graph: Interface and Default Implementation #3362
- Kokkos Graph: add Cuda Graph implementation #3369
- TeamPolicy: implemented autotuning of team sizes and vector lengths #3206
- RangePolicy: Initialize all data members in default constructor #3509
Implemented enhancements BuildSystem:
- Auto-generate core test files for all backends #3488
- Avoid rewriting test files when calling cmake #3548
- RULE_LAUNCH_COMPILE and RULE_LAUNCH_LINK system for nvcc_wrapper #3136
- Adding -include as a known argument to nvcc_wrapper #3434
- Install hpcbind script #3402
- cmake/kokkos_tribits.cmake: add parsing for args #3457
Implemented enhancements Tools:
- Changed namespacing of Kokkos::Tools::Impl::Impl::tune_policy #3455
- Delegate to an impl allocate/deallocate method to allow specifying a SpaceHandle for MemorySpaces #3530
- Use the Kokkos Profiling interface rather than the Impl interface #3518
- Runtime option for tuning #3459
- Dual View Tool Events #3326
Implemented enhancements Other:
- Abort on errors instead of just printing #3528
- Enable C++14 macros unconditionally #3449
- Make ViewMapping trivially copyable #3436
- Rename struct ViewMapping to class #3435
- Replace enums in Kokkos_ViewMapping.hpp (removes -Wextra) #3422
- Use bool for enums representing bools #3416
- Fence active instead of default execution space instances #3388
- Refactor parallel_reduce fence usage #3359
- Moved Space EBO helpers to Kokkos_EBO #3357
- Add remove_cvref type trait #3340
- Adding identity type traits and update definition of identity_t alias #3339
- Add is_specialization_of type trait #3338
- Make ScratchMemorySpace semi-regular #3309
- Optimize min/max atomics with early exit on no-op case #3265
- Refactor Backend Development #2941
Fixed bugs:
- Fixup MDRangePolicy construction from Kokkos arrays #3591
- Add atomic functions for unsigned long long using gcc built-in #3588
- Fixup silent pointless comparison with zero in checked_narrow_cast (compiler workaround) #3566
- Fixes for ROCm 3.9 #3565
- Fix windows build issues which crept in for the CUDA build #3532
- HIP Fix atomics of large data types and clean up lock arrays #3529
- Pthreads fix exception resulting from 0 grain size #3510
- Fixup do not require atomic operation to be default constructible #3503
- Fix race condition in HIP backend #3467
- Replace KOKKOS_DEBUG with KOKKOS_ENABLE_DEBUG #3458
- Fix multi-stream team scratch space definition for HIP #3398
- HIP fix template deduction #3393
- Fix compiling with HIP and C++17 #3390
- Fix sigFPE in HIP blocksize deduction #3378
- Type alias change: replace CS with CTS to avoid conflicts with NVSHMEM #3348
- Clang compilation of CUDA backend on Windows #3345
- Fix HBW support #3343
- Added missing fences to unique token #3260
Incompatibilities:
- Remove unused utilities (forward, move, and expand_variadic) from Kokkos::Impl #3535
- Remove unused traits #3534
- HIP: Remove old HCC code #3301
- Prepare for deprecation of ViewAllocateWithoutInitializing #3264
- Remove ROCm backend #3148
3.2.01 (2020-11-17)
Fixed bugs:
- Disallow KOKKOS_ENABLE_CUDA_RELOCATABLE_DEVICE_CODE in shared library builds #3332
- Do not install libprinter-tool when testing is enabled #3313
- Fix restrict/alignment following refactor #3373
- Intel fix: workaround compiler issue with using statement #3383
- Fix zero-length reductions #\3364
- Fix multi-stream scratch #\3269
- Guard KOKKOS_ALL_COMPILE_OPTIONS if Cuda is not enabled #3387
- Do not include link flags for Fortran linkage #3384
- Fix NVIDIA GPU arch macro with autodetection #3473
- Fix libdl/test issues with Trilinos #3543
- Register Pthread as Tribits option to be enabled with Trilinos #3558
Implemented enhancements:
- Separate Cuda timing-based tests into their own executable #3407
3.2.00 (2020-08-19)
Implemented enhancements:
- HIP:Enable stream in HIP #3163
- HIP:Add support for shuffle reduction for the HIP backend #3154
- HIP:Add implementations of missing HIPHostPinnedSpace methods for LAMMPS #3137
- HIP:Require HIP 3.5.0 or higher #3099
- HIP:WorkGraphPolicy for HIP #3096
- OpenMPTarget: Significant update to the new experimental backend. Requires C++17, works on Intel GPUs, reference counting fixes. #3169
- Windows Cuda support #3018
- Pass
-Wext-lambda-captures-this
to NVCC when support for__host__ __device__
lambda is enabled from CUDA 11 #3241 - Use explicit staging buffer for constant memory kernel launches and cleanup host/device synchronization #3234
- Various fixup to policies including making TeamPolicy default constructible and making RangePolicy and TeamPolicy assignable: #3202 , #3203 , #3196
- Annotations for
DefaultExectutionSpace
andDefaultHostExectutionSpace
to use in static analysis #3189 - Add documentation on using Spack to install Kokkos and developing packages that depend on Kokkos #3187
- Add OpenMPTarget backend flags for NVC++ compiler #3185
- Move deep_copy/create_mirror_view on Experimental::OffsetView into Kokkos:: namespace #3166
- Allow for larger block size in HIP #3165
- View: Added names of Views to the different View initialize/free kernels #3159
- Cuda: Caching cudaFunctorAttributes and whether L1/Shmem prefer was set #3151
- BuildSystem: Improved performance in default configuration by defaulting to Release build #3131
- Cuda: Update CUDA occupancy calculation #3124
- Vector: Adding data() to Vector #3123
- BuildSystem: Add CUDA Ampere configuration support #3122
- General: Apply [[noreturn]] to Kokkos::abort when applicable #3106
- TeamPolicy: Validate storage level argument passed to TeamPolicy::set_scratch_size() #3098
- BuildSystem: Make kokkos_has_string() function in Makefile.kokkos case insensitive #3091
- Modify KOKKOS_FUNCTION macro for clang-tidy analysis #3087
- Move allocation profiling to allocate/deallocate calls #3084
- BuildSystem: FATAL_ERROR when attempting in-source build #3082
- Change enums in ScatterView to types #3076
- HIP: Changes for new compiler/runtime #3067
- Extract and use get_gpu #3061 , #3048
- Add is_allocated to View-like containers #3059
- Combined reducers for scalar references #3052
- Add configurable capacity for UniqueToken #3051
- Add installation testing #3034
- HIP: Add UniqueToken #3020
- Autodetect number of devices #3013
Fixed bugs:
- Check error code from
cudaStreamSynchronize
in CUDA fences #3255 - Fix issue with C++ standard flags when using
nvcc\_wrapper
with PGI #3254 - Add missing threadfence in lock-based atomics #3208
- Fix dedup of linker flags for shared lib on CMake <=3.12 #3176
- Fix memory leak with CUDA streams #3170
- BuildSystem: Fix OpenMP Target flags for Cray #3161
- ScatterView: fix for OpenmpTarget remove inheritance from reducers #3162
- BuildSystem: Set OpenMP flags according to host compiler #3127
- OpenMP: Fix logic for nested omp in partition_master bug #3101
- nvcc_wrapper: send --cudart to nvcc instead of host compiler #3092
- BuildSystem: Fixes for Cuda/11 and c++17 #3085
- HIP: Fix print_configuration #3080
- Conditionally define get_gpu #3072
- Fix bounds for ranges in random number generator #3069
- Fix Cuda minor arch check #3035
- BuildSystem: Add -expt-relaxed-constexpr flag to nvcc_wrapper #3021
Incompatibilities:
- Remove ETI support #3157
- Remove KOKKOS_INTERNAL_ENABLE_NON_CUDA_BACKEND #3147
- Remove core/unit_test/config #3146
- Removed the preprocessor branch for KOKKOS_ENABLE_PROFILING #3115
- Disable profiling with MSVC #3066
Closed issues:
-
Silent error (Validate storage level arg to set_scratch_size) #3097
-
Remove KOKKKOS_ENABLE_PROFILING Option #3095
-
Cuda 11 -> allow C++17 #3083
-
In source build failure not explained #3081
-
Allow naming of Views for initialization kernel #3070
-
DefaultInit tests failing when using CTest resource allocation feature #3040
-
Add installation testing. #3037
-
nvcc_wrapper needs to handle
-expt-relaxed-constexpr
flag #3017 -
CPU core oversubscription warning on macOS with OpenMP backend #2996
-
Default behavior of KOKKOS_NUM_DEVICES to use all devices available #2975
-
Assert blocksize > 0 #2974
-
Add ability to assign kokkos profile function from executable #2973
-
ScatterView Support for the pre/post increment operator #2967
-
Compiler issue: Cuda build with clang 10 has errors with the atomic unit tests #3237
-
Incompatibility of flags for C++ standard with PGI v20.4 on Power9/NVIDIA V100 system #3252
-
Error configuring as subproject #3140
-
CMake fails with Nvidia compilers when the GPU architecture option is not supplied (Fix configure with OMPT and Cuda) #3207
-
PGI compiler being passed the gcc -fopenmp flag #3125
-
Cuda: Memory leak when using CUDA stream #3167
-
RangePolicy has an implicitly deleted assignment operator #3192
-
MemorySpace::allocate needs to have memory pool counting. #3064
-
Missing write fence for lock based atomics on CUDA #3038
-
CUDA compute capability version check problem #3026
-
Make DynRankView fencing consistent #3014
-
nvcc_wrapper cant handle -Xcompiler -o out.o #2993
-
Reductions of non-trivial types of size 4 fail in CUDA shfl operations #2990
-
complex_double misalignment in reduce, clang+CUDA #2989
-
Span of degenerated (zero-length) subviews is not zero in some special cases #2979
-
Rank 1 custom layouts dont work as expected. #2840
3.1.01 (2020-04-14)
Fixed bugs:
- Fix complex_double misalignment in reduce, clang+CUDA #2989
- Fix compilation fails when profiling disabled and CUDA enabled #3001
- Fix cuda reduction of non-trivial scalars of size 4 #2990
- Configure and install version file when building in Trilinos #2957
- Fix OpenMPTarget build missing include and namespace #3000
- fix typo in KOKKOS_SET_EXE_PROPERTY() #2959
- Fix non-zero span subviews of zero sized subviews #2979
3.1.00 (2020-04-14)
Features:
- HIP Support for AMD
- OpenMPTarget Support with clang
- Windows VS19 (Serial) Support #1533
Implemented enhancements:
- generate_makefile.bash should allow tests to be disabled #2886
- clang/7+cuda/9 build -Werror-unused parameter error in nightly test #2884
- ScatterView memory space is not user settable #2826
- clang/8+cuda/10.0 build error with c++17 #2809
- warnings.... #2805
- Kokkos version in cpp define #2787
- Remove Defunct QThreads Backend #2751
- Improve Kokkos::fence behavior with multiple execution spaces #2659
- polylithic(?) initialization of Kokkos #2658
- Unnecessary(?) check for host execution space initialization from Cuda initialization #2652
- Kokkos error reporting failures with CUDA GPUs in exclusive mode #2471
- atomicMax equivalent (and other atomics) #2401
- Fix alignment for Kokkos::complex #2255
- Warnings with Cuda 10.1 #2206
- dual view with Kokkos::ViewAllocateWithoutInitializing #2188
- Check error code from cudaOccupancyMaxActiveBlocksPerMultiprocessor #2172
- Add non-member Kokkos::resize/realloc for DualView #2170
- Construct DualView without initialization #2046
- Expose is_assignable to determine if one view can be assigned to another #1936
- profiling label #1935
- team_broadcast of bool failed on CUDA backend #1908
- View static_extent #660
- Misleading Kokkos::Cuda::initialize ERROR message when compiled for wrong GPU architecture #1944
- Cryptic Error When Malloc Fails #2164
- Drop support for intermediate standards in CMake #2336
Fixed bugs:
- DualView sync_device with length zero creates cuda errors #2946
- building with nvcc and clang (or clang based XL) as host compiler: "Kokkos::atomic_fetch_min(volatile int *, int)" has already been defined #2903
- Cuda 9.1,10.1 debug builds failing due to -Werror=unused-parameter #2880
- clang -Werror: Kokkos_FixedBufferMemoryPool.hpp:140:28: error: unused parameter 'alloc_size' #2869
- intel/16.0.1, intel/17.0.1 nightly build failures with debugging enabled #2867
- intel/16.0.1 debug build errors #2863
- xl/16.1.1 with cpp14, openmp build, nightly test failures #2856
- Intel nightly test failures: team_vector #2852
- Kokkos Views with intmax/2<N<intmax can hang during construction #2850
- workgraph_fib test seg-faults with threads backend and hwloc #2797
- cuda.view_64bit test hangs on Power8+Kepler37 system - develop and 2.9.00 branches #2771
- device_type for Kokkos_Random ? #2693
- "More than one tag given" error in Experimental::require() #2608
- Segfault on Marvell from our finalization stack #2542
3.0.00 (2020-01-27)
Implemented enhancements:
- BuildSystem: Standalone Modern CMake Support #2104
- StyleFormat: ClangFormat Style #2157
- Documentation: Document build system and CMake philosophy #2263
- BuildSystem: Add Alias with Namespace Kokkos:: to Interal Libraries #2530
- BuildSystem: Universal Kokkos find_package #2099
- BuildSystem: Dropping support for Kokkos_{DEVICES,OPTIONS,ARCH} in CMake #2329
- BuildSystem: Set Kokkos_DEVICES and Kokkos_ARCH variables in exported CMake configuration #2193
- BuildSystem: Drop support for CUDA 7 and CUDA 8 #2489
- BuildSystem: Drop CMake option SEPARATE_TESTS #2266
- BuildSystem: Support expt-relaxed-constexpr same as expt-extended-lambda #2411
- BuildSystem: Add Xnvlink to command line options allowed in nvcc_wrapper #2197
- BuildSystem: Install Kokkos config files and target files to lib/cmake/Kokkos #2162
- BuildSystem: nvcc_wrappers and c++ 14 #2035
- BuildSystem: Kokkos version major/version minor (Feature request) #1930
- BuildSystem: CMake namespaces (and other modern cmake cleanup) #1924
- BuildSystem: Remove capability to install Kokkos via GNU Makefiles #2332
- Documentation: Remove PDF ProgrammingGuide in Kokkos replace with link #2244
- View: Add Method to Resize View without Initialization #2048
- Vector: implement “insert” method for Kokkos_Vector (as a serial function on host) #2437
Fixed bugs:
- ParallelScan: Kokkos::parallel\scan fix race condition seen in inter-block fence #2681
- OffsetView: Kokkos::OffsetView missing constructor which takes pointer #2247
- OffsetView: Kokkos::OffsetView: allow offset=0 #2246
- DeepCopy: Missing DeepCopy instrumentation in Kokkos #2522
- nvcc_wrapper: --host-only fails with multiple -W* flags #2484
- nvcc_wrapper: taking first -std option is counterintuitive #2553
- Subview: Error taking subviews of views with static_extents of min rank #2448
- TeamPolicy: reducers with valuetypes without += broken on CUDA #2410
- Libs: Fix inconsistency of Kokkos library names in Kokkos and Trilinos #1902
- Complex: operator>> for complex<T> uses std::ostream, not std::istream #2313
- Macros: Restrict not honored for non-intel compilers #1922
2.9.00 (2019-06-24)
Implemented enhancements:
- Capability: CUDA Streams #1723
- Capability: CUDA Stream support for parallel_reduce #2061
- Capability: Feature Request: TeamVectorRange #713
- Capability: Adding HPX backend #2080
- Capability: TaskScheduler to have multiple queues #565
- Capability: Support for additional reductions in ScatterView #1674
- Capability: Request: deep_copy within parallel regions #689
- Capability: Feature Request:
create\_mirror\_view\_without\_initializing
#1765 - View: Use SFINAE to restrict possible View type conversions #2127
- Deprecation: Deprecate ExecutionSpace::fence() as static function and make it non-static #2140
- Deprecation: Deprecate LayoutTileLeft #2122
- Macros: KOKKOS_RESTRICT defined for non-Intel compilers #2038
Fixed bugs:
- Cuda: TeamThreadRange loop count on device is passed by reference to host static constexpr #1733
- Cuda: Build error with relocatable device code with CUDA 10.1 GCC 7.3 #2134
- Cuda: cudaFuncSetCacheConfig is setting CachePreferShared too often #2066
- Cuda: TeamPolicy doesn't throw then created with non-viable vector length and also doesn't backscale to viable one #2020
- Cuda: cudaMemcpy error for large league sizes on V100 #1991
- Cuda: illegal warp sync in parallel_reduce by functor on Turing 75 #1958
- TeamThreadRange: Inconsistent results from TeamThreadRange reduction #1905
- Atomics: atomic_fetch_oper & atomic_oper_fetch don't build for complex<float> #1964
- Views: Kokkos randomread Views leak memory #2155
- ScatterView: LayoutLeft overload currently non-functional #2165
- KNL: With intel 17.2.174 illegal instruction in random number test #2078
- Bitset: Enable copy constructor on device #2094
- Examples: do not compile due to template deduction error (multi_fem) #1928
2.8.00 (2019-02-05)
Implemented enhancements:
- Capability, Tests: C++14 support and testing #1914
- Capability: Add environment variables for all command line arguments #1798
- Capability: --kokkos-ndevices not working for Slurm #1920
- View: Undefined behavior when deep copying from and to an empty unmanaged view #1967
- BuildSystem: nvcc_wrapper should stop immediately if nvcc is not in PATH #1861
Fixed bugs:
- Cuda: Fix Volta Issues 1 Non-deterministic behavior on Volta, runs fine on Pascal #1949
- Cuda: Fix Volta Issues 2 CUDA Team Scan gives wrong values on Volta with -G compile flag #1942
- Cuda: illegal warp sync in parallel_reduce by functor on Turing 75 #1958
- Threads: Pthreads backend does not handle RangePolicy with offset correctly #1976
- Atomics: atomic_fetch_oper has no case for Kokkos::complex<double> or other 16-byte types #1951
- MDRangePolicy: Fix zero-length range #1948
- TeamThreadRange: TeamThreadRange MaxLoc reduce doesnt compile #1909
2.7.24 (2018-11-04)
Implemented enhancements:
- DualView: Add non-templated functions for sync, need_sync, view, modify #1858
- DualView: Avoid needlessly allocates and initializes modify_host and modify_device flag views #1831
- DualView: Incorrect deduction of "not device type" #1659
- BuildSystem: Add KOKKOS_ENABLE_CXX14 and KOKKOS_ENABLE_CXX17 #1602
- BuildSystem: Installed kokkos_generated_settings.cmake contains build directories instead of install directories #1838
- BuildSystem: KOKKOS_ARCH: add ticks to printout of improper arch setting #1649
- BuildSystem: Make core/src/Makefile for Cuda use needed nvcc_wrapper #1296
- Build: Support PGI as host compiler for NVCC #1828
- Build: Many Warnings Fixed e.g.#1786
- Capability: OffsetView with non-zero begin index #567
- Capability: Reductions into device side view #1788
- Capability: Add max_size to Kokkos::Array #1760
- Capability: View Assignment: LayoutStride -> LayoutLeft and LayoutStride -> LayoutRight #1594
- Capability: Atomic function allow implicit conversion of update argument #1571
- Capability: Add team_size_max with tagged functors #663
- Capability: Fix allignment of views from Kokkos_ScratchSpace should use different alignment #1700
- Capabilitiy: create_mirror_view_and_copy for DynRankView #1651
- Capability: DeepCopy HBWSpace / HostSpace #548
- ROCm: support team vector scan #1645
- ROCm: Merge from rocm-hackathon2 #1636
- ROCm: Add ParallelScanWithTotal #1611
- ROCm: Implement MDRange in ROCm #1314
- ROCm: Implement Reducers for Nested Parallelism Levels #963
- ROCm: Add asynchronous deep copy #959
- Tests: Memory pool test seems to allocate 8GB #1830
- Tests: Add unit_test for team_broadcast #734
Fixed bugs:
- BuildSystem: Makefile.kokkos gets gcc-toolchain wrong if gcc is cached #1841
- BuildSystem: kokkos_generated_settings.cmake placement is inconsistent #1771
- BuildSystem: Invalid escape sequence . in kokkos_functions.cmake #1661
- BuildSystem: Problem in Kokkos generated cmake file #1770
- BuildSystem: invalid file names on windows #1671
- Tests: reducers min/max_loc test fails randomly due to multiple min values and thus multiple valid locations #1681
- Tests: cuda.scatterview unit test causes "Bus error" when force_uvm and enable_lambda are enabled #1852
- Tests: cuda.cxx11 unit test fails when force_uvm and enable_lambda are enabled #1850
- Tests: threads.reduce_device_view_range_policy failing with Cuda/8.0.44 and RDC #1836
- Build: compile error when compiling Kokkos with hwloc 2.0.1 (on OSX 10.12.6, with g++ 7.2.0) #1506
- Build: dual_view.view broken with UVM #1834
- Build: White cuda/9.2 + gcc/7.2 warnings triggering errors #1833
- Build: warning: enum constant in boolean context #1813
- Capability: Fix overly conservative max_team_size thingy #1808
- DynRankView: Ctors taking ViewAllocateWithoutInitializing broken #1783
- Cuda: Apollo cuda.team_broadcast test fail with clang-6.0 #1762
- Cuda: Clang spurious test failure in impl_view_accessible #1753
- Cuda: Kokkos::complex<double> atomic deadlocks with Clang 6 Cuda build with -O0 #1752
- Cuda: LayoutStride Test fails for UVM as default memory space #1688
- Cuda: Scan wrong values on Volta #1676
- Cuda: Kokkos::deep_copy error with CudaUVM and Kokkos::Serial spaces #1652
- Cuda: cudaErrorInvalidConfiguration with debug build #1647
- Cuda: parallel_for with TeamPolicy::team_size_recommended with launch bounds not working -- reported by Daniel Holladay #1283
- Cuda: Using KOKKOS_CLASS_LAMBDA in a class with Kokkos::Random_XorShift64_Pool member data #1696
- Long Build Times on Darwin #1721
- Capability: Typo in Kokkos_Sort.hpp - BinOp3D - wrong comparison #1720
- Buffer overflow in SharedAllocationRecord in Kokkos_HostSpace.cpp #1673
- Serial unit test failure #1632
2.7.00 (2018-05-24)
Part of the Kokkos C++ Performance Portability Programming EcoSystem 2.7
Implemented enhancements:
- Deprecate team_size auto adjusting to maximal value possible #1618
- DynamicView - remove restrictions to std::is_trivial types and value_type is power of two #1586
- Kokkos::StaticCrsGraph does not propagate memory traits (e.g., Unmanaged) #1581
- Adding ETI for DeepCopy / ViewFill etc. #1578
- Deprecate all the left over KOKKOS_HAVE_ Macros and Kokkos_OldMacros.hpp #1572
- Error if Kokkos_ARCH set in CMake #1555
- Deprecate ExecSpace::initialize / ExecSpace::finalize #1532
- New API for TeamPolicy property setting #1531
- clang 6.0 + cuda debug out-of-memory test failure #1521
- Cuda UniqueToken interface not consistent with other backends #1505
- Move Reducers out of Experimental namespace #1494
- Provide scope guard for initialize/finalize #1479
- Check Kokkos::is_initialized in SharedAllocationRecord dtor #1465
- Remove static list of allocations #1464
- Makefiles: Support single compile/link line use case #1402
- ThreadVectorRange with a range #1400
- Exclusive scan + last value API #1358
- Install kokkos_generated_settings.cmake #1348
- Kokkos arrays (not views!) don't do bounds checking in debug mode #1342
- Expose round-robin GPU assignment outside of initialize(int, char**) #1318
- DynamicView misses use_count and label function #1298
- View constructor should check arguments #1286
- False Positive on Oversubscription Warning #1207
- Allow (require) execution space for 1st arg of VerifyExecutionCanAccessMemorySpace #1192
- ROCm: Add ROCmHostPinnedSpace #958
- power of two functions #656
- CUDA 8 has 64bit __shfl #361
- Add TriBITS/CMake configure information about node types #243
Fixed bugs:
- CUDA atomic_fetch_sub for doubles is hitting CAS instead of intrinsic #1624
- Bug: use of ballot on Volta #1612
- Kokkos::deep_copy memory access failures #1583
- g++ -std option doubly set for cmake project #1548
- ViewFill for 1D Views of larger 32bit entries fails #1541
- CUDA Volta another warpsync bug #1520
- triple_nested_parallelism fails with KOKKOS_DEBUG and CUDA #1513
- Jenkins errors in Kokkos_SharedAlloc.cpp with debug build #1511
- Kokkos::Sort out-of-bounds with empty bins #1504
- Get rid of deprecated functions inside Kokkos #1484
- get_work_partition casts int64_t to int, causing a seg fault #1481
- NVCC bug with __device__ on defaulted function #1470
- CMake example broken with CUDA backend #1468
2.6.00 (2018-03-07)
Part of the Kokkos C++ Performance Portability Programming EcoSystem 2.6
Implemented enhancements:
- Support NVIDIA Volta microarchitecture #1466
- Kokkos - Define empty functions when profiling disabled #1424
- Don't use __constant__ cache for lock arrays, enable once per run update instead of once per call #1385
- task dag enhancement. #1354
- Cuda task team collectives and stack size #1353
- Replace View operator acceptance of more than rank integers with 'access' function #1333
- Interoperability: Do not shut down backend execution space runtimes upon calling finalize. #1305
- shmem_size for LayoutStride #1291
- Kokkos::resize performs poorly on 1D Views #1270
- stride() is inconsistent with dimension(), extent(), etc. #1214
- Kokkos::sort defaults to std::sort on host #1208
- DynamicView with host size grow #1206
- Unmanaged View with Anonymous Memory Space #1175
- Sort subset of Kokkos::DynamicView #1160
- MDRange policy doesn't support lambda reductions #1054
- Add ability to set hook on Kokkos::finalize #714
- Atomics with Serial Backend - Default should be Disable? #549
- KOKKOS_ENABLE_DEPRECATED_CODE #1359
Fixed bugs:
- cuda_internal_maximum_warp_count returns 8, but I believe it should return 16 for P100 #1269
- Cuda: level 1 scratch memory bug (reported by Stan Moore) #1434
- MDRangePolicy Reduction requires value_type typedef in Functor #1379
- Kokkos DeepCopy between empty views fails #1369
- Several issues with new CMake build infrastructure (reported by Eric Phipps) #1365
- deep_copy between rank-1 host/device views of differing layouts without UVM no longer works (reported by Eric Phipps) #1363
- Profiling can't be disabled in CMake, and a parallel_for is missing for tasks (reported by Kyungjoo Kim) #1349
- get_work_partition int overflow (reported by berryj5) #1327
- Kokkos::deep_copy must fence even if the two views are the same #1303
- CudaUVMSpace::allocate/deallocate must fence #1302
- ViewResize on CUDA fails in Debug because of too many resources requested #1299
- Cuda 9 and intrepid2 calls from Panzer. #1183
- Slowdown due to tracking_enabled() in 2.04.00 (found by Albany app) #1016
- Bounds checking fails with zero-span Views (reported by Stan Moore) #1411
2.5.00 (2017-12-15)
Part of the Kokkos C++ Performance Portability Programming EcoSystem 2.5
Implemented enhancements:
- Provide Makefile.kokkos logic for CMake and TriBITS #878
- Add Scatter View #825
- Drop gcc 4.7 and intel 14 from supported compiler list #603
- Enable construction of unmanaged view using common_view_alloc_prop #1170
- Unused Function Warning with XL #1267
- Add memory pool parameter check #1218
- CUDA9: Fix warning for unsupported long double #1189
- CUDA9: fix warning on defaulted function marking #1188
- CUDA9: fix warnings for deprecated warp level functions #1187
- Add CUDA 9.0 nightly testing #1174
- {OMPI,MPICH}_CXX hack breaks nvcc_wrapper use case #1166
- KOKKOS_HAVE_CUDA_LAMBDA became KOKKOS_CUDA_USE_LAMBDA #1274
Fixed bugs:
- MinMax Reducer with tagged operator doesn't compile #1251
- Reducers for Tagged operators give wrong answer #1250
- Kokkos not Compatible with Big Endian Machines? #1235
- Parallel Scan hangs forever on BG/Q #1234
- Threads backend doesn't compile with Clang on OS X #1232
- $(shell date) needs quote #1264
- Unqualified parallel_for call conflicts with user-defined parallel_for #1219
- KokkosAlgorithms: CMake issue in unit tests #1212
- Intel 18 Error: "simd pragma has been deprecated" #1210
- Memory leak in Kokkos::initialize #1194
- CUDA9: compiler error with static assert template arguments #1190
- Kokkos::Serial::is_initialized returns always true #1184
- Triple nested parallelism still fails on bowman #1093
- OpenMP openmp.range on Develop Runs Forever on POWER7+ with RHEL7 and GCC4.8.5 #995
- Rendezvous performance at global scope #985
2.04.11 (2017-10-28)
Implemented enhancements:
- Add Subview pattern. #648
- Add Kokkos "global" is_initialized #1060
- Add create_mirror_view_and_copy #1161
- Add KokkosConcepts SpaceAccessibility function #1092
- Option to Disable Initialize Warnings #1142
- Mature task-DAG capability #320
- Promote Work DAG from experimental #1126
- Implement new WorkGraph push/pop #1108
- Kokkos_ENABLE_Cuda_Lambda should default ON #1101
- Add multidimensional parallel for example and improve unit test #1064
- Fix ROCm: Performance tests not building #1038
- Make KOKKOS_ALIGN_SIZE a configure-time option #1004
- Make alignment consistent #809
- Improve subview construction on Cuda backend #615
Fixed bugs:
- Kokkos::vector fixes for application #1134
- DynamicView non-power of two value_type #1177
- Memory pool bug #1154
- Cuda launch bounds performance regression bug #1140
- Significant performance regression in LAMMPS after updating Kokkos #1139
- CUDA compile error #1128
- MDRangePolicy neg idx test failure in debug mode #1113
- subview construction on Cuda backend #615
2.04.04 (2017-09-11)
Implemented enhancements:
- OpenMP partition: set number of threads on nested level #1082
- Add StaticCrsGraph row() method #1071
- Enhance Kokkos complex operator overloading #1052
- Tell Trilinos packages about host+device lambda #1019
- Function markup for defaulted class members #952
- Add deterministic random number generator #857
Fixed bugs:
- Fix reduction_identity<T>::max for floating point numbers #1048
- Fix MD iteration policy ignores lower bound on GPUs #1041
- (Experimental) HBWSpace Linking issues in KokkosKernels #1094
- (Experimental) ROCm: algorithms/unit_tests test_sort failing with segfault #1070
2.04.00 (2017-08-16)
Implemented enhancements:
- Added ROCm backend to support AMD GPUs
- Kokkos::complex<T> behaves slightly differently from std::complex<T> #1011
- Kokkos::Experimental::Crs constructor arguments were in the wrong order #992
- Work graph construction ease-of-use (one lambda for count and fill) #991
- when_all returns pointer of futures (improved interface) #990
- Allow assignment of LayoutLeft to LayoutRight or vice versa for rank-0 Views #594
- Changed the meaning of Kokkos_ENABLE_CXX11_DISPATCH_LAMBDA #1035
Fixed bugs:
- memory pool default constructor does not properly set member variables. #1007
2.03.13 (2017-07-27)
Implemented enhancements:
- Disallow enabling both OpenMP and Threads in the same executable #406
- Make Kokkos::OpenMP respect OMP environment even if hwloc is available #630
- Improve Atomics Performance on KNL/Broadwell where PREFETCHW/RFO is Available #898
- Kokkos::resize should test whether dimensions have changed before resizing #904
- Develop performance-regression/acceptance tests #737
- Make the deep_copy Profiling hook a start/end system #890
- Add deep_copy Profiling hook #843
- Append tag name to parallel construct name for Profiling #842
- Add view label to
View bounds error
message for CUDA backend #870 - Disable printing the loaded profiling library #824
- "Declared but never referenced" warnings #853
- Warnings about lock_address_cuda_space #852
- WorkGraph execution policy #771
- Simplify makefiles by guarding compilation with appropriate KOKKOS_ENABLE_### macros #716
- Cmake build: wrong include install directory #668
- Derived View type and allocation #566
- Fix Compiler warnings when compiling core unit tests for Cuda #214
Fixed bugs:
- Out-of-bounds read in Kokkos_Layout.hpp #975
- CudaClang: Fix failing test with Clang 4.0 #941
- Respawn when memory pool allocation fails (not available memory) #940
- Memory pool aborts on zero allocation request, returns NULL for < minimum #939
- Error with TaskScheduler query of underlying memory pool #917
- Profiling::*Callee static variables declared in header #863
- calling *Space::name() causes compile error #862
- bug in Profiling::deallocateData #860
- task_depend test failing, CUDA 8.0 + Pascal + RDC #829
- [develop branch] Standalone cmake issues #826
- Kokkos CUDA failes to compile with OMPI_CXX and MPICH_CXX wrappers #776
- Task Team reduction on Pascal #767
- CUDA stack overflow with TaskDAG test #758
- TeamVector test on Cuda #670
- Clang 4.0 Cuda Build broken again #560
2.03.05 (2017-05-27)
Implemented enhancements:
- Harmonize Custom Reductions over nesting levels #802
- Prevent users directly including KokkosCore_config.h #815
- DualView aborts on concurrent host/device modify (in debug mode) #814
- Abort when running on a NVIDIA CC5.0 or higher architecture with code compiled for CC < 5.0 #813
- Add "name" function to ExecSpaces #806
- Allow null Future in task spawn dependences #795
- Add Unit Tests for Kokkos::complex #785
- Add pow function for Kokkos::complex #784
- Square root of a complex #729
- Command line processing of --threads argument prevents users from having any commandline arguments starting with --threads #760
- Protected deprecated API with appropriate macro #756
- Allow task scheduler memory pool to be used by tasks #747
- View bounds checking on host-side performance: constructing a std::string #723
- Add check for AppleClang as compiler distinct from check for Clang. #705
- Uninclude source files for specific configurations to prevent link warning. #701
- Add --small option to snapshot script #697
- CMake Standalone Support #674
- CMake build unit test and install #808
- CMake: Fix having kokkos as a subdirectory in a pure cmake project #629
- Tribits macro assumes build directory is in top level source directory #654
- Use bin/nvcc_wrapper, not config/nvcc_wrapper #562
- Allow MemoryPool::allocate() to be called from multiple threads per warp. #487
- Allow MemoryPool::allocate\(\) to be called from multiple threads per warp. #487
- Move OpenMP 4.5 OpenMPTarget backend into Develop #456
- Testing on ARM testbed #288
Fixed bugs:
- Fix label in OpenMP parallel_reduce verify_initialized #834
- TeamScratch Level 1 on Cuda hangs #820
- [bug] memory pool. #786
- Some Reduction Tests fail on Intel 18 with aggressive vectorization on #774
- Error copying dynamic view on copy of memory pool #773
- CUDA stack overflow with TaskDAG test #758
- ThreadVectorRange Customized Reduction Bug #739
- set_scratch_size overflows #726
- Get wrong results for compiler checks in Makefile on OS X. #706
- Fix check if multiple host architectures enabled. #702
- Threads Backend Does not Pass on Cray Compilers #609
- Rare bug in memory pool where allocation can finish on superblock in empty state #452
- LDFLAGS in core/unit_test/Makefile: potential "undefined reference" to pthread lib #148
2.03.00 (2017-04-25)
Implemented enhancements:
- UnorderedMap: make it accept Devices or MemorySpaces #711
- sort to accept DynamicView and [begin,end) indices #691
- ENABLE Macros should only be used via #ifdef or #if defined #675
- Remove impl/Kokkos_Synchronic_* #666
- Turning off IVDEP for Intel 14. #638
- Using an installed Kokkos in a target application using CMake #633
- Create Kokkos Bill of Materials #632
- MDRangePolicy and tagged evaluators #547
- Add PGI support #289
Fixed bugs:
- Output from PerTeam fails #733
- Cuda: architecture flag not added to link line #688
- Getting large chunks of memory for a thread team in a universal way #664
- Kokkos RNG normal() function hangs for small seed value #655
- Kokkos Tests Errors on Shepard/HSW Builds #644
2.02.15 (2017-02-10)
Implemented enhancements:
- Containers: Adding block partitioning to StaticCrsGraph #625
- Kokkos Make System can induce Errors on Cray Volta System #610
- OpenMP: error out if KOKKOS_HAVE_OPENMP is defined but not _OPENMP #605
- CMake: fix standalone build with tests #604
- Change README (that GitHub shows when opening Kokkos project page) to tell users how to submit PRs #597
- Add correctness testing for all operators of Atomic View #420
- Allow assignment of Views with compatible memory spaces #290
- Build only one version of Kokkos library for tests #213
- Clean out old KOKKOS_HAVE_CXX11 macros clauses #156
- Harmonize Macro names #150
Fixed bugs:
- Cray and PGI: Kokkos_Parallel_Reduce #634
- Kokkos Make System can induce Errors on Cray Volta System #610
- Normal() function random number generator doesn't give the expected distribution #592
2.02.07 (2016-12-16)
Implemented enhancements:
- Add CMake option to enable Cuda Lambda support #589
- Add CMake option to enable Cuda RDC support #588
- Add Initial Intel Sky Lake Xeon-HPC Compiler Support to Kokkos Make System #584
- Building Tutorial Examples #582
- Internal way for using ThreadVectorRange without TeamHandle #574
- Testing: Add testing for uvm and rdc #571
- Profiling: Add Memory Tracing and Region Markers #557
- nvcc_wrapper not installed with Kokkos built with CUDA through CMake #543
- Improve DynRankView debug check #541
- Benchmarks: Add Gather benchmark #536
- Testing: add spot_check option to test_all_sandia #535
- Deprecate Kokkos::Impl::VerifyExecutionCanAccessMemorySpace #527
- Add AtomicAdd support for 64bit float for Pascal #522
- Add Restrict and Aligned memory trait #517
- Kokkos Tests are Not Run using Compiler Optimization #501
- Add support for clang 3.7 w/ openmp backend #393
- Provide an error throw class #79
Fixed bugs:
- Cuda UVM Allocation test broken with UVM as default space #586
- Bug (develop branch only): multiple tests are now failing when forcing uvm usage. #570
- Error in generate_makefile.sh for Kokkos when Compiler is Empty String/Fails #568
- XL 13.1.4 incorrect C++11 flag #553
- Improve DynRankView debug check #541
- Installing Library on MAC broken due to cp -u #539
- Intel Nightly Testing with Debug enabled fails #534
2.02.01 (2016-11-01)
Implemented enhancements:
- Add Changelog generation to our process. #506
Fixed bugs:
- Test scratch_request fails in Serial with Debug enabled #520
- Bug In BoundsCheck for DynRankView #516
2.02.00 (2016-10-30)
Implemented enhancements:
- Add PowerPC assembly for grabbing clock register in memory pool #511
- Add GCC 6.x support #508
- Test install and build against installed library #498
- Makefile.kokkos adds expt-extended-lambda to cuda build with clang #490
- Add top-level makefile option to just test kokkos-core unit-test #485
- Split and harmonize Object Files of Core UnitTests to increase build parallelism #484
- LayoutLeft to LayoutLeft subview for 3D and 4D views #473
- Add official Cuda 8.0 support #468
- Allow C++1Z Flag for Class Lambda capture #465
- Add Clang 4.0+ compilation of Cuda code #455
- Possible Issue with Intel 17.0.098 and GCC 6.1.0 in Develop Branch #445
- Add name of view to "View bounds error" #432
- Move Sort Binning Operators into Kokkos namespace #421
- TaskPolicy - generate error when attempt to use uninitialized #396
- Import WithoutInitializing and AllowPadding into Kokkos namespace #325
- TeamThreadRange requires begin, end to be the same type #305
- CudaUVMSpace should track # allocations, due to CUDA limit on # UVM allocations #300
- Remove old View and its infrastructure #259
Fixed bugs:
- Bug in TestCuda_Other.cpp: most likely assembly inserted into Device code #515
- Cuda Compute Capability check of GPU is outdated #509
- multi_scratch test with hwloc and pthreads seg-faults. #504
- generate_makefile.bash: "make install" is broken #503
- make clean in Out of Source Build/Tests Does Not Work Correctly #502
- Makefiles for test and examples have issues in Cuda when CXX is not explicitly specified #497
- Dispatch lambda test directly inside GTEST macro doesn't work with nvcc #491
- UnitTests with HWLOC enabled fail if run with mpirun bound to a single core #489
- Failing Reducer Test on Mac with Pthreads #479
- make test Dumps Error with Clang Not Found #471
- OpenMP TeamPolicy member broadcast not using correct volatile shared variable #424
- TaskPolicy - generate error when attempt to use uninitialized #396
- New task policy implementation is pulling in old experimental code. #372
- MemoryPool unit test hangs on Power8 with GCC 6.1.0 #298
2.01.10 (2016-09-27)
Implemented enhancements:
- Enable Profiling by default in Tribits build #438
- parallel_reduce(0), parallel_scan(0) unit tests #436
- data()==NULL after realloc with LayoutStride #351
- Fix tutorials to track new Kokkos::View #323
- Rename team policy set_scratch_size. #195
Fixed bugs:
- Possible Issue with Intel 17.0.098 and GCC 6.1.0 in Develop Branch #445
- Makefile spits syntax error #435
- Kokkos::sort fails for view with all the same values #422
- Generic Reducers: can't accept inline constructed reducer #404
- data\(\)==NULL after realloc with LayoutStride #351
- const subview of const view with compile time dimensions on Cuda backend #310
- Kokkos (in Trilinos) Causes Internal Compiler Error on CUDA 8.0.21-EA on POWER8 #307
- Core Oversubscription Detection Broken? #159
2.01.06 (2016-09-02)
Implemented enhancements:
- Add "standard" reducers for lambda-supportable customized reduce #411
- TaskPolicy - single thread back-end execution #390
- Kokkos master clone tag #387
- Query memory requirements from task policy #378
- Output order of test_atomic.cpp is confusing #373
- Missing testing for atomics #341
- Feature request for Kokkos to provide Kokkos::atomic_fetch_max and atomic_fetch_min #336
- TaskPolicy<Cuda> performance requires teams mapped to warps #218
Fixed bugs:
- Reduce with Teams broken for custom initialize #407
- Failing Kokkos build on Debian #402
- Failing Tests on NVIDIA Pascal GPUs #398
- Algorithms: fill_random assumes dimensions fit in unsigned int #389
- Kokkos::subview with RandomAccess Memory Trait #385
- Build warning (signed / unsigned comparison) in Cuda implementation #365
- wrong results for a parallel_reduce with CUDA8 / Maxwell50 #352
- Hierarchical parallelism - 3 level unit test #344
- Can I allocate a View w/ both WithoutInitializing & AllowPadding? #324
- subview View layout determination #309
- Unit tests with Cuda - Maxwell #196
2.01.00 (2016-07-21)
Implemented enhancements:
- Edit ViewMapping so assigning Views with the same custom layout compiles when const casting #327
- DynRankView: Performance improvement for operator() #321
- Interoperability between static and dynamic rank views #295
- subview member function ? #280
- Inter-operatibility between View and DynRankView. #245
- (Trilinos) build warning in atomic_assign, with Kokkos::complex #177
- View<>::shmem_size should runtime check for number of arguments equal to rank #176
- Custom reduction join via lambda argument #99
- DynRankView with 0 dimensions passed in at construction #293
- Inject view_alloc and friends into Kokkos namespace #292
- Less restrictive TeamPolicy reduction on Cuda #286
- deep_copy using remap with source execution space #267
- Suggestion: Enable opt-in L1 caching via nvcc-wrapper #261
- More flexible create_mirror functions #260
- Rename View::memory_span to View::required_allocation_size #256
- Use of subviews and views with compile-time dimensions #237
- Use of subviews and views with compile-time dimensions #237
- Kokkos::Timer #234
- Fence CudaUVMSpace allocations #230
- View::operator() accept std::is_integral and std::is_enum #227
- Allocating zero size View #216
- Thread scalable memory pool #212
- Add a way to disable memory leak output #194
- Kokkos exec space init should init Kokkos profiling #192
- Runtime rank wrapper for View #189
- Profiling Interface #158
- Fix View assignment (of managed to unmanaged) #153
- Add unit test for assignment of managed View to unmanaged View #152
- Check for oversubscription of threads with MPI in Kokkos::initialize #149
- Dynamic resizeable 1dimensional view #143
- Develop TaskPolicy for CUDA #142
- New View : Test Compilation Downstream #138
- New View Implementation #135
- Add variant of subview that lets users add traits #134
- NVCC-WRAPPER: Add --host-only flag #121
- Address gtest issue with TriBITS Kokkos build outside of Trilinos #117
- Make tests pass with -expt-extended-lambda on CUDA #108
- Dynamic scheduling for parallel_for and parallel_reduce #106
- Runtime or compile time error when reduce functor's join is not properly specified as const member function or with volatile arguments #105
- Error out when the number of threads is modified after kokkos is initialized #104
- Porting to POWER and remove assumption of X86 default #103
- Dynamic scheduling option for RangePolicy #100
- SharedMemory Support for Lambdas #81
- Recommended TeamSize for Lambdas #80
- Add Aggressive Vectorization Compilation mode #72
- Dynamic scheduling team execution policy #53
- UVM allocations in multi-GPU systems #50
- Synchronic in Kokkos::Impl #44
- index and dimension types in for loops #28
- Subview assign of 1D Strided with stride 1 to LayoutLeft/Right #1
Fixed bugs:
- misspelled variable name in Kokkos_Atomic_Fetch + missing unit tests #340
- seg fault Kokkos::Impl::CudaInternal::print_configuration #338
- Clang compiler error with named parallel_reduce, tags, and TeamPolicy. #335
- Shared Memory Allocation Error at parallel_reduce #311
- DynRankView: Fix resize and realloc #303
- Scratch memory and dynamic scheduling #279
- MemoryPool infinite loop when out of memory #312
- Kokkos DynRankView changes break Sacado and Panzer #299
- MemoryPool fails to compile on non-cuda non-x86 #297
- Random Number Generator Fix #296
- View template parameter ordering Bug #282
- Serial task policy broken. #281
- deep_copy with LayoutStride should not memcpy #262
- DualView::need_sync should be a const method #248
- Arbitrary-sized atomics on GPUs broken; loop forever #238
- boolean reduction value_type changes answer #225
- Custom init() function for parallel_reduce with array value_type #210
- unit_test Makefile is Broken - Recursively Calls itself until Machine Apocalypse. #202
- nvcc_wrapper Does Not Support -Xcompiler <compiler option> #198
- Kokkos exec space init should init Kokkos profiling #192
- Kokkos Threads Backend impl_shared_alloc Broken on Intel 16.1 (Shepard Haswell) #186
- pthread back end hangs if used uninitialized #182
- parallel_reduce of size 0, not calling init/join #175
- Bug in Threads with OpenMP enabled #173
- KokkosExp_SharedAlloc, m_team_work_index inaccessible #166
- 128-bit CAS without Assembly Broken? #161
- fatal error: Cuda/Kokkos_Cuda_abort.hpp: No such file or directory #157
- Power8: Fix OpenMP backend #139
- Data race in Kokkos OpenMP initialization #131
- parallel_launch_local_memory and cuda 7.5 #125
- Resize can fail with Cuda due to asynchronous dispatch #119
- Qthread taskpolicy initialization bug. #92
- Windows: sys/mman.h #89
- Windows: atomic_fetch_sub() #88
- Windows: snprintf #87
- Parallel_Reduce with TeamPolicy and league size of 0 returns garbage #85
- Throw with Cuda when using (2D) team_policy parallel_reduce with less than a warp size #76
- Scalar views don't work with Kokkos::Atomic memory trait #69
- Reduce the number of threads per team for Cuda #63
- Named Kernels fail for reductions with CUDA #60
- Kokkos View dimension_() for long returning unsigned int #20
- atomic test hangs with LLVM #6
- OpenMP Test should set omp_set_num_threads to 1 #4
Closed issues:
- develop branch broken with CUDA 8 and --expt-extended-lambda #354
- --arch=KNL with Intel 2016 build failure #349
- Error building with Cuda when passing -DKOKKOS_CUDA_USE_LAMBDA to generate_makefile.bash #343
- Can I safely use int indices in a 2-D View with capacity > 2B? #318
- Kokkos::ViewAllocateWithoutInitializing is not working #317
- Intel build on Mac OS X #277
- deleted #271
- Broken Mira build #268
- 32-bit build #246
- parallel_reduce with RDC crashes linker #232
- build of Kokkos_Sparse_MV_impl_spmv_Serial.cpp.o fails if you use nvcc and have cuda disabled #209
- Kokkos Serial execution space is not tested with TeamPolicy. #207
- Unit test failure on Hansen KokkosCore_UnitTest_Cuda_MPI_1 #200
- nvcc compiler warning: calling a __host__ function from a __host__ __device__ function is not allowed #180
- Intel 15 build error with defaulted "move" operators #171
- missing libkokkos.a during Trilinos 12.4.2 build, yet other libkokkos*.a libs are there #165
- Tie atomic updates to execution space or even to thread team? (speculation) #144
- New View: Compiletime/size Test #137
- New View : Performance Test #136
- Signed/unsigned comparison warning in CUDA parallel #130
- Kokkos::complex: Need op* w/ std::complex & real #126
- Use uintptr_t for casting pointers #110
- Default thread mapping behavior between P and Q threads. #91
- Windows: Atomic_Fetch_Exchange() return type #90
- Synchronic unit test is way too long #84
- nvcc_wrapper -> $(NVCC_WRAPPER) #42
- Check compiler version and print helpful message #39
- Kokkos shared memory on Cuda uses a lot of registers #31
- Can not pass unit test
cuda.space
without a GT 720 #25 - Makefile.kokkos lacks bounds checking option that CMake has #24
- Kokkos can not complete unit tests with CUDA UVM enabled #23
- Simplify teams + shared memory histogram example to remove vectorization #21
- Kokkos needs to rever to ${PROJECT_NAME}_ENABLE_CXX11 not Trilinos_ENABLE_CXX11 #17
- Kokkos Base Makefile adds AVX to KNC Build #16
- MS Visual Studio 2013 Build Errors #9
- subview(X, ALL(), j) for 2-D LayoutRight View X: should it view a column? #5
End_C++98 (2015-04-15)
* This Change Log was automatically generated by github_changelog_generator