![]() ![]() THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" ANDĪNY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED Names of its contributors may be used to endorse or promote productsĭerived from this software without specific prior written permission. * Neither the name of the NVIDIA CORPORATION nor the Notice, this list of conditions and the following disclaimer in theĭocumentation and/or other materials provided with the distribution. * Redistributions in binary form must reproduce the above copyright Notice, this list of conditions and the following disclaimer. * Redistributions of source code must retain the above copyright Modification, are permitted provided that the following conditions are met: Redistribution and use in source and binary forms, with or without All rights reserved.Ĭopyright (c) 2011-2018, NVIDIA CORPORATION. To build CUB as a developer, the followingĬopyright (c) 2010-2011, Duane Merrill. It is recommended to clone ThrustĬUB uses the CMake build system to build unit tests,Įxamples, and header tests. CUB ReleaseĬUB and Thrust depend on each other. See the changelog for details about specific releases. Silenced by defining CUB_IGNORE_DEPRECATED_COMPILER during compilation.ĬUB is distributed with the NVIDIA HPC SDK and the CUDA Toolkit in addition Unsupported versions may emit deprecation warnings, which can be (Alternatively these storage typesĬould be aliased to global memory allocations).ĬUB is regularly tested using the specified versions of the followingĬompilers. Shared memory needed by the thread block. The thread block uses these storage types to statically allocate the union of Once specialized, these classes expose opaque TempStorage member types. Simultaneously access consecutive items) and then transpose the keys intoĪ blocked arrangement of elements across threads. The cub::BlockLoad and cub::BlockStore classes are similarly specialized.įurthermore, to provide coalesced accesses to device memory, these primitives areĬonfigured to access memory using a striped access pattern (where consecutive threads Keys per thread, and implicitly by the targeted compilation architecture. ![]() The class is specialized by theĭata type being sorted, by the number of threads per block, by the number of Store(d_out + block_offset, thread_keys) Įach thread block uses cub::BlockRadixSort to collectively sort Store the sorted segment BlockStore(temp_storage. Collectively sort the keys BlockRadixSort(temp_storage. x * ( 128 * 16) // OffsetT for this block's ment // Obtain a segment of 2048 consecutive keys that are blocked across threads int thread_keys īlockLoad(temp_storage. Typename BlockRadixSort::TempStorage sort Using namespace cub // Specialize BlockRadixSort, BlockLoad, and BlockStore for 128 threads // owning 16 integer items each typedef BlockRadixSort BlockRadixSort _global_ void BlockSortKernel( int *d_in, int *d_out) ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |