bryancatanzaro / trove Goto Github PK
View Code? Open in Web Editor NEWFull-speed Array of Structures access
License: BSD 3-Clause "New" or "Revised" License
Full-speed Array of Structures access
License: BSD 3-Clause "New" or "Revised" License
Hi everyone,
i am trying to use array of structure in my project in cuda and to increase the performance i would like to use the trove-library.
Unfortunately i could not find much example on how the library can be use.
could you please provide some example on how to use it.
It would be very helpfull.
many thanks
Best regards
Fab
Hi,
I am working at warp level to use shfl intrinsics but I sometimes end up using less than 32 threads per warp. Since the bottleneck of my GPU Kernels is always the bandwidth, I was wondering if it is possible to use Trove to load the 2D data with 32 threads but distribute it to a smaller number of threads.
Thank you in advance for your help,
Sincerely,
Yohann
The following code crashes nvcc5. Compile with
nvcc main.cu -Itrove-master -arch=compute_35
struct WU32
{
unsigned int data[32];
};
global void kernel(WU32* in, WU32* out)
{
int tid = blockIdx.x*blockDim.x + threadIdx.x;
trove::coalesced_ptr p(in);
WU32 r = p[tid];
trove::store_warp_contiguous(r, out+tid);
}
int main(int argc, char** argv)
{
return 0;
}
Hi Bryan,
I just realized that trove breaks with C++11 compilation, even the simple tests are failing to compile:
e.g., modify the Makefiles, appending -std=c++11
../trove/utility.h(82): error: type name is not allowed
../trove/utility.h(82): error: the global scope has no "value"
Trove is a great utility and greatly simplifies CUDA programming for a bunch of codes. Any chance you can get this fixed for C++11?
First, thanks so much for making this library! It's been a huge performance win for a lot of my kernels. Recently, I'm seeing a handful of warnings (from the CUDA 9 changes to __ballot(), __shfl(), etc.) when compiling projects with Trove. Is it feasible to update these calls appropriately, or would that break compatibility with older versions of nvcc?
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2017 NVIDIA Corporation
Built on Fri_Sep__1_21:08:03_CDT_2017
Cuda compilation tools, release 9.0, V9.0.176
can you provide some detailed samples for actual use? Thanks.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.