Skip to content
Merged
Changes from 1 commit
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
12e4f9d
Add SVD API
klemmster Jul 4, 2015
369013c
Add SVD Cuda backend
klemmster Jul 4, 2015
2969c73
Add SVD CPU Backend
klemmster Jul 4, 2015
82d039f
Add SVD OpenCL Stump
klemmster Jul 4, 2015
864c51d
Add SVD example
klemmster Jul 4, 2015
71da964
Merge pull request #882 from klemmster/cusolver_svd
pavanky Jul 13, 2015
3794c80
Merge branch 'devel' into svd
pavanky Aug 13, 2015
bdbf30e
Changes to style and fix compile errors
pavanky Aug 13, 2015
20b5f51
Cleaning up cpu blas / lapack in OpenCL backend
pavanky Aug 20, 2015
e7e38b5
Fixes to supress annoying compiler warnings in OpenCL backend
pavanky Aug 20, 2015
fde6380
Adding functions from clMagma necessary for OpenCL SVD:
pavanky Aug 20, 2015
73b8081
Initial support for SVD in OpenCL backend
pavanky Aug 21, 2015
163ab37
Adding proper error checking in magma
pavanky Aug 21, 2015
eb66094
Fixing svd params to reflect clmagma
pavanky Aug 24, 2015
c265948
Merge remote-tracking branch 'upstream/devel' into svd
pavanky Aug 25, 2015
549f6b5
Work around for issues in OpenCL svd
pavanky Aug 25, 2015
5fc32dc
API clean up and adding support for complex numbers for SVD
pavanky Aug 25, 2015
4118733
Fixing various typos and bug fixes for SVD in CUDA and OpenCL
pavanky Aug 25, 2015
b3c5f0f
TEST: for SVD
pavanky Aug 25, 2015
974856b
DOCS: Updating the documentation for SVD
pavanky Aug 25, 2015
9ef664c
Adding version guards for svd
pavanky Aug 25, 2015
73717c1
Adding more pragma directives to supress GCC warnings
pavanky Aug 25, 2015
083f6b8
TEST: updating SVD tests to contain all four floating point data types
pavanky Aug 25, 2015
25975bb
Fixing svd example to reflect the change in API
pavanky Aug 25, 2015
0b76aa3
Revert "Updated boost compute version tags"
pavanky Aug 25, 2015
ed9e1be
Compilation fixes for OSX
pavanky Aug 25, 2015
8bcbf98
Use xGESVD instead of xGESDD for ARM platforms
pavanky Aug 25, 2015
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Add SVD example
  • Loading branch information
klemmster committed Jul 9, 2015
commit 864c51d79966e37c17b440d9ed247b3886b4daef
51 changes: 51 additions & 0 deletions examples/lin_algebra/svd.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
/*******************************************************
* Copyright (c) 2014, ArrayFire
* All rights reserved.
*
* This file is distributed under 3-clause BSD license.
* The complete license agreement can be obtained at:
* http://arrayfire.com/licenses/BSD-3-Clause
********************************************************/

#include <arrayfire.h>
#include <cstdio>
#include <cstdlib>

using namespace af;

int main(int argc, char* argv[])
{
try {
// Select a device and display arrayfire info
int device = argc > 1 ? atoi(argv[1]) : 0;
af::setDevice(device);
af::info();

float h_buffer[] = {1, 4, 2, 5, 3, 6 }; // host array
array in(2, 3, h_buffer); // copy host data to device
print("in", in);

array s;
array u;
array vt;
printf("Running svd");
svd(s, u, vt, in);
print("in", in);
print("s", s);
print("u", u);
print("vt", vt);

} catch (af::exception& e) {
fprintf(stderr, "%s\n", e.what());
throw;
}

#ifdef WIN32 // pause in Windows
if (!(argc == 2 && argv[1][0] == '-')) {
printf("hit [enter]...");
fflush(stdout);
getchar();
}
#endif
return 0;
}