I just got it to work with MSVC10 & Qt5.3.1. Changed uint64_t to uint. Don't think there'll be any precision loss there.

I also had to add a line to the qmake build file, and manually copy libarchive libs. That copying part is rather interesting:
-first it complained about not finding libarchive.lib, meaning it wanted to compile it statically even it is instructed to do it dynamically (msvc:QMAKE_CXXFLAGS += /MD)... so I had to manually copy libarchive.lib into external/libarchive/bin where it usually looks for the dll. That fixed compiling.
-next, it crashed when started by QtCreator indicating its missing some libs. So I tried to manually run the .exe and guess what happened: it was missing libarchive.DLL... so I copied both libarchive.dll and libzlib.dll into exe's folder and tried starting it manually. Crashed with unknown reference to some dynamic Qt5 lib... Switched back to see if QtCreator can run it and guess what: it can...

I have no idea why is this so unnecessarily complicated (borderline broken) and why does MSVC persist on being ridiculous.

I'll now see if the same mysteries happen with the CMake build.

Regards, Namik

On Mon, Aug 18, 2014 at 4:12 AM, Matthew Musto <matthew.musto@gmail.com> wrote:
Yeah, MSVC 12.  I'll look into it and submit a pull request.


On Sun, Aug 17, 2014 at 10:09 PM, Namik Karovic <namik.karovic@gmail.com> wrote:
Hey Matt,

'uint64_t' : undeclared identifier

This looks like a compiler hick-up. I suppose this occured with MSVC? Feel free to submit a fix.

Regards, Namik

On Mon, Aug 18, 2014 at 3:54 AM, Matthew Musto <matthew.musto@gmail.com> wrote:

I just tried to build it and got a couple errors.  I made sure to run 'git submodule update --init' and I started with a fresh build folder for cmake.  Since I know this is in active development, I thought I would ask first before trying to fix it and submitting a pull request.

Here are the current build errors:

Error    24    error C2059: syntax error : ')'    C:\viennacl-benchmark-gui-master\viennacl-benchmark-gui\src\ui\homescreen.cpp    89    1    ViennaCL_Benchmark
Error    22    error C2065: 'uint64_t' : undeclared identifier    C:\viennacl-benchmark-gui-master\viennacl-benchmark-gui\src\ui\homescreen.cpp    89    1    ViennaCL_Benchmark
Error    23    error C2146: syntax error : missing ')' before identifier 'iter'    C:\viennacl-benchmark-gui-master\viennacl-benchmark-gui\src\ui\homescreen.cpp    89    1    ViennaCL_Benchmark
    30    IntelliSense: expected a ')'    c:\viennacl-benchmark-gui-master\viennacl-benchmark-gui\src\ui\homescreen.cpp    89    80    ViennaCL_Benchmark
    29    IntelliSense: identifier "uint64_t" is undefined    c:\viennacl-benchmark-gui-master\viennacl-benchmark-gui\src\ui\homescreen.cpp    89    71    ViennaCL_Benchmark
Warning    3    warning C4018: '<' : signed/unsigned mismatch    C:\viennacl-benchmark-gui-master\viennacl-benchmark-gui\src\benchmarks\benchmark_blas3.cpp    78    1    ViennaCL_Benchmark
Warning    1    warning C4996: 'getenv': This function or variable may be unsafe. Consider using _dupenv_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.    C:\viennacl-benchmark-gui-master\viennacl-benchmark-gui\external\viennacl-dev\viennacl\ocl\context.hpp    66    1    ViennaCL_Benchmark


On Sun, Aug 17, 2014 at 5:28 PM, Namik Karovic <namik.karovic@gmail.com> wrote:
Hi all,

I just pushed the first working version of expert(custom) benchmark mode. Selecting custom sparse matrices is yet to be implemented, but all other benchmark configs are working. 

Except blas3, that is. I think I got the sizes wrong. I'd appreciate it if someone could check if I did it right:

//blas3MatrixSizeA,B = size1,2
//blas3MatrixSizeB,C = size2,3
  viennacl::matrix<ScalarType> vcl_A(blas3MatrixSizeA, blas3MatrixSizeB);
  viennacl::matrix<ScalarType> vcl_B(blas3MatrixSizeB, blas3MatrixSizeC);
  viennacl::matrix<ScalarType> vcl_C(blas3MatrixSizeA, blas3MatrixSizeC);

// Fill the matrix
  for (unsigned int i = 0; i < blas3MatrixSizeA; ++i)
    for (unsigned int j = 0; j < blas3MatrixSizeB; ++j)
      stl_A[i*blas3MatrixSizeA + j] = random<ScalarType>();

  for (unsigned int i = 0; i < blas3MatrixSizeB; ++i)
    for (unsigned int j = 0; j < blas3MatrixSizeC; ++j)
      stl_B[i + j*blas3MatrixSizeC] = random<ScalarType>();

//using ranges
  viennacl::range r(blas3MatrixSizeB/4, 3 * blas3MatrixSizeB/4);

//using slices
  viennacl::slice s(0, 2, blas3MatrixSizeB/2);

The benchmark crashes on test 4 (LU factorization). I don't know if I messed up somewhere before test 4 (in the code written above), or somewhere else.

Regards, Namik


ViennaCL-devel mailing list

Matthew Musto

Matthew Musto