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