OAuth for Twitter HTTP requests in VB.NET: send tweets programmatically

Following a previous post, we share a new VB.NET class that uses OAuth  authentication to programmatically send tweets on an user's page. Comments have been provided within the class, that you may download here; after the import in your project you can use it as follows:   Dim myReq = New statusUpdate(oauth_consumer_key, consumer_secret, oauth_token, oauth_token_secret) myReq.makeRequest("My twitter test")   You can get all the authorization tokens following the Twitter Tokens page ...
More

Matrix transposition in CUDA

Matrix transposition is a very common operation in linear algebra. From a numerical point of view, it is a memory bound problem since there is practically no arithmetics in it and the operation essentially consists of rearranging the layout of the matrix in memory. Due to the particular architecture of a GPU and to the cost of performing global memory operations, matrix transposition admits no naive implementation if performance is of interest. We here compare two different possibilities of pe...
More

Tricks and Tips: Compiling CUDA mex files with Visual Studio – The case of dynamic parallelism

With the recent development of CUDA 5.0 and the release of the Kepler architecture, dynamic parallelism makes it possible to call kernels within kernels. The use of dynamic parallelism requires the generation of relocatable code and the linking of the cudadevrt.lib library. In the framework of linking CUDA routines under Matlab by mexfiles, the new procedure at  Mathworks Help does not seem to make it possible to link external libraries. The  downloadable Visual Studio 2010 project shows how t...
More

Gaussian elimination with CUDA

The VS project Gaussian elimination with CUDA, that you may find in download section, contains CPU and GPU routines for solving a linear system of equations by Gaussian elimination without pivoting. Besides providing standard CPU Gaussian elimination and solution of an upper triangular system, sequential and parallel codes have been developed based on the paper: Manuel Carcenac, "From tile algorithm to stripe algorithm: a CUBLAS-based parallel implementation on GPUs of Gauss method for the resol...
More

CUDA Texture memory fetches vs global memory fetches: the complex case

At the time of compute capability 1.x, memory fetches could benefit of texture cache to accelerate the accesses. Since compute capability 2.0, global memory fetches can benefit of L1 and L2 caches, so that texture memory has reduced its relative importance [1]. The question then naturally arises on whether texture memory is still worth using with newer GPU generations or not. Answering this question is highly application-dependent. Below, we focus on the particular test-case of 1D linear interp...
More

Bluebird Library – New Features: Stand-alone components for Complex Type management

Orange Owl Solutions introduces new stand-alone components for Complex Type management in the Bluebird library: Thanks to the power of CUDA/C++ metaprogramming, you will be able to develope high performance solutions in a easy and intuitive way. Main features The main features of current beta version (0.5) are: C++/CUDA Metaprogramming Simple (Matlab/Octave-like) ways to manage vectors and matrices Stand-alone components for Complex Type management Peer-to-Peer (P2P) communication betwee...
More

OAuth for HTTP requests in VB.NET – Twitter Example

OAuth is an open authorization protocol; it provides a method for clients to access HTTP server resources by orchestrating an approval interaction between the resource owner and the HTTP service. The OAuth method permits to access APIs from Google, Twitter, Facebook, etc. without sharing users private passwords or identities. Understand the Oauth authorization method is the first step to develop a data-mining application for social web. In our downloadable example we show a simple software that ...
More

CUDA tiled matrix-matrix multiplication with matrix dimensions not multiple of the tile dimensions

 The CUDA SDK offer a tiled matrix-matrix multiplication example using the shared memory. However, it is limited to the case when the matrix dimensions are multiples of the tile dimension. When, on the contrary, the matrix dimensions are not-multiples of the tile dimensions, then some tiles will only partially overlap the matrices. The elements of the tiles partially overlapping the matrices should be properly zeroed. Below, a kernel function for the general case of tiled matrix-matrix multipl...
More

Bluebird library

Orange Owl Solutions introduces the new Bluebird library for the fast coding of scientific computing on GPUs and CPUs. Thanks to the power of CUDA/C++ metaprogramming, you will be able to develope high performance solutions in a easy and intuitive way. Main features The main features of current beta version are: C++/CUDA Metaprogramming; simple (Matlab/Octave-like) ways to manage vectors and matrices; We are working to release extensive function library (e.g., interpolation, special funct...
More