|[eigen] Merging NVCC support branch|
[ Thread Index |
| More lists.tuxfamily.org/eigen Archives
- To: eigen <eigen@xxxxxxxxxxxxxxxxxxx>
- Subject: [eigen] Merging NVCC support branch
- From: Gael Guennebaud <gael.guennebaud@xxxxxxxxx>
- Date: Tue, 5 Nov 2013 16:14:13 +0100
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:from:date:message-id:subject:to:content-type; bh=U3xtWR9uJ1NPueWDgztiqhX/oIgMjIsH1UaGqSsef58=; b=CdXihlJWj6vOMAjd/Gi2yMBw0S/N6KM89VKmO4D6CYVF941hJUTp0Z/tLLH2v+CdV8 WarbvojG9qE31U+O44/16iUnevkUODNm4HOM+SNGTKXu/NhjQy4nN9UNSxwEQT3Ey3nW 9YQ40nCktFJMrNpNtUIMY+s/mte7aQ8BLsFivBg1dLOyH9pB0lwZwlFsqsCdKGjK3d3m DEK74CU9hhWPpPvg8/0cAhkrl2fxrTvEqJBkiZ1YQiTpXUGU+fMV5WvRfUAlQ00pzGZ7 DUYdW/FksJvjUn3IZwOzhUaNFpHDwX0lx/WZAxsCltHpWs8PHQyysomTQ8t5NDDOAiLJ JtOg==
I already presented the nvcc support fork:
which allows to call Eigen routines from CUDA kernels. This is also a first and necessary step if one day we want to evaluate expressions on the GPU.
Even though this fork is still experimental I'd like to merge it into the default branch before the merge become impossible:
Indeed, it mainly consists in adding EIGEN_DEVICE_FUNC in front of all functions that we consider callable from a device kernel, i..e., all functions but the ones leading to system calls in general (allocation, I/O). There are of course a few more subtleties, but nothing more intrusive.
Doing the merge now will allow me to work on the refactoring of _expression_ templates this month without loosing all the efforts in the nvcc port.
For the 3.3 release, it will be very easy to disable this experimental support of NVCC through a big search and replace script.
Are there any objections? Objections could be for instance that we don't want to see any support of NVCC in Eigen in a foreseeable future.