Hi Namik,

 > I've made some progress on the MatrixMarket front:
> -Extracting .tar.gz files is working fine now. I made my own class
> (ArchiveExtractor), utilizing Libarchive, for easier extraction
> procedures. I'm shipping Libarchive together with the project so there's
> no additional external dependencies. It's basically only three
> additional files ( 2 include headers and one .dll ). My concern is if
> the .dll is going to work on other platforms. I've compiled it on my
> machine from Libarchive's source code so there might be some problems on
> other systems.

.dll is Windows-only. However, compiling libarchive from source is 
pretty smooth, I had no problems doing so on my Linux machine. For the 
precompiled executable we just link statically, so we don't have to 
worry about this.



> - Extracted files are placed into the current user's home folder. On my
> machine, for example, that would be the C:\Users\Namik\ViennaCL
> Benchmark\MatrixMarket folder. Is it ok to store the matrix files into
> this folder?

That should be okay. How do you retrieve the home directory?



> - I've only managed to set  up Libarchive with QMake. I couldn't get it
> to work with CMake. Here's what I tried:
>
> #  Include  Libarchive
>
> include_directories(  ${CMAKE_CURRENT_SOURCE_DIR}/libarchive/include)
>
> set(LIBARCHIVE_LIBRARY  
> ${CMAKE_CURRENT_SOURCE_DIR}/libarchive/bin/libarchive.dll)
>
> message(${LIBARCHIVE_LIBRARY})
>
> set(CMAKE_CXX_FLAGS  "${CMAKE_CXX_FLAGS}  -llibarchive")
>
> and then add${LIBARCHIVE_LIBRARY}  to target_link_libraries. But I'm getting: 
> cannot find -llibarchive. Any suggestions?

I fixed that that partially and managed to get a build done with both 
static and dynamic linking. However, when running the program I hit

"Error: Failed to open 'MatrixMarket/gearbox.tar.gz'Error: INTERNAL 
ERROR: Function 'archive_read_next_header' invoked with archive 
structure in state 'new', should be in state 'header/data'Detected files 
in archive:"

which suggests that something isn't working yet at the benchmark GUI. 
Unfortunately I cannot comment on the GUI with this, as it never pops up.



> -I'm currently working on creating customized static html pages from the
> Florida's Matrix Market web page. These are my current concerns with the
> static html approach:
> 1. I've managed to cut down the size to less than 2MB. Even though this
> is better than I originally thought, it's quite a lot to put into the
> executable.

2 MB is nothing ;-)

> So my question is: should I just go ahead and place the
> static html into the executable(making it 2MB larger) OR should I copy
> the files into the program's install folder upon installation OR place
> them into the user's home folder(where MatrixMarket files are put) OR
> use the QStandardPaths feature of *Qt5 *allowing me to place app data
> into AppData/Local (on Windows; don't know for other OSs) folder? These
> html files represent one of the program's core functionalities, so users
> shouldn't be able to easily access and modify them.

I opt for just integrating it into the executable. One source less of an 
error.



> 2. So far I've targeted these web pages to be converted to static html:
> - http://www.cise.ufl.edu/research/sparse/matrices/index.html - as the
> MatrixMarket's home page
> - http://www.cise.ufl.edu/research/sparse/matrices/list_by_id.html - the
> list of all available matrices. They have some 7 different links for
> that order these matrices (by id, name, size, etc..). Each of these
> links is a new html page with the same matrices, ordered in a different
> way. Loading a new page just to re-order the matrix list is a bad
> solution, so I added some JavaScript and enabled dynamic re-ordering
> without loading any new html.
> - http://localhost/MatrixMarket/groups.html - list of matrix groups. The
> issue here is that there is a lot of groups and making a separate static
> html file for each group isn't a very good idea. I'm going to try and
> make a work-around with JavaScript. The idea is to put info on all
> matrices into a file, and only hold a list of which matrices belong to
> which group. Then I can dynamically load matrix info from the file, and
> put it into each of the group pages.

If a user wants to look around in the MatrixMarket, (s)he can still open 
up the webbrowser. For our purposes it's enough if there's a list of 
matrices with some basic information. So, do we need the grouping?



> Now comes the tricky part:
> - http://yifanhu.net/GALLERY/GRAPHS/search.html - they have a custom
> search form that uses JavaScript (I think) to query their matrix
> database and provide results. I haven't played with it too much, but it
> seems that it might be difficult implement a static version of it. That
> is, results are collected asynchronously and shown dynamically. Which
> means I can't really do much to customize it. The best I can do is maybe
> modify that dynamic link filtering I previously used to remove links to
> mat and rb files, so that users at least can't download and run files of
> the wrong format.

If we have a static list of matrices (which can be generated 
automatically from the HTML), we can do all kinds of searching 
ourselves, can't we? ;-)



> - each matrix entry can be examined to show full details about it. Among
> these details there are links to other web sites. Obviously, we can't
>   provide static pages for 2700 entries.

I think we can safely mirror these without any problems.

> I could expand my link
> filtering to remove(modify) the links, but the result won't be pretty.
> Alternatively, I might try and extract the data from entries upon load,
> and dynamically construct customized fresh html pages. It would get
> quite complicated, but it might work.

Different thought:
Instead of all these complicated HTML transformations, isn't it simpler 
to extract the most relevant informations for each matrix and populate 
an internal (stripped-down) list with that? One you have this basic data 
set up, you can do everything with it: Regenerate the HTML page, use 
widgets to display a list, searching, etc. At the same time, it will be 
much faster than any JavaScript modifications. What am I missing?

Best regards,
Karli


------------------------------------------------------------------------------
Want fast and easy access to all the code in your enterprise? Index and
search up to 200,000 lines of code with a free copy of Black Duck
Code Sight - the same software that powers the world's largest code
search on Ohloh, the Black Duck Open Hub! Try it now.
http://p.sf.net/sfu/bds
_______________________________________________
ViennaCL-devel mailing list
ViennaCL-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/viennacl-devel

Reply via email to