--- Log opened Mon Sep 12 00:00:22 2011 | ||
-!- in3xes [~in3xes@180.149.49.227] has joined #shogun | 04:43 | |
-!- in3xes [~in3xes@180.149.49.227] has quit [Remote host closed the connection] | 05:17 | |
-!- sonne|work [~sonnenbu@194.78.35.195] has joined #shogun | 09:00 | |
sonne|work | someone remind we that we should reduce compile time and resources needed | 09:00 |
---|---|---|
-!- sonne|work [~sonnenbu@194.78.35.195] has quit [Ping timeout: 258 seconds] | 16:07 | |
-!- sonne|work [~sonnenbu@194.78.35.195] has joined #shogun | 16:22 | |
-!- sonne|work [~sonnenbu@194.78.35.195] has left #shogun [] | 16:25 | |
-!- blackburn [~blackburn@188.168.2.14] has joined #shogun | 18:57 | |
blackburn | sonney2k: have you any sparse matrix experience? | 18:58 |
@sonney2k | blackburn, ? | 19:05 |
@sonney2k | black hole experience too | 19:05 |
blackburn | sonney2k: I have troubles with understanding sparse format in superlu | 19:06 |
blackburn | may be you can help me somehow? | 19:06 |
@sonney2k | is it ccs or crs ? | 19:07 |
blackburn | sonney2k: do you realize I don't know anything about sparse matrices? | 19:07 |
@sonney2k | http://en.wikipedia.org/wiki/Sparse_matrix | 19:08 |
blackburn | column | 19:08 |
@sonney2k | basically you can either compress the column or the row index or both | 19:08 |
blackburn | https://gist.github.com/1211788 | 19:09 |
@sonney2k | so what is your question now? | 19:09 |
@sonney2k | you put in the number of non-zero values into nnz | 19:10 |
@sonney2k | all the values into nzval | 19:10 |
@sonney2k | (array that is nnz long) | 19:10 |
blackburn | yeah it is simple | 19:10 |
blackburn | but two last ones | 19:10 |
@sonney2k | rowptr is nrow+1 entries | 19:11 |
@sonney2k | and has indices into colind | 19:11 |
blackburn | so col_ind stores indexes of non zeros | 19:11 |
blackburn | but what stores rowptr | 19:12 |
@sonney2k | telling where each rows starts | 19:12 |
blackburn | oh | 19:12 |
@sonney2k | seems like this is crs | 19:13 |
blackburn | yeah sure | 19:13 |
blackburn | sonney2k: I've found http://netlib.org/linalg/html_templates/node91.html#SECTION00931100000000000000 | 19:14 |
blackburn | not it is more clear, thanks | 19:14 |
blackburn | now* | 19:14 |
@sonney2k | yes | 19:14 |
@sonney2k | blackburn, I tried to compile shogun at work today | 19:17 |
@sonney2k | and it was sooo slow | 19:17 |
@sonney2k | this is really the big downside now :/ | 19:18 |
blackburn | sonney2k: no idea how to avoid this | 19:18 |
@sonney2k | otherwise it is pretty handy when analysing data | 19:18 |
@sonney2k | we have to avoid inline if it is not really really required | 19:18 |
blackburn | do you think it makes compilation so slow? | 19:20 |
@sonney2k | blackburn, I think the biggest share have the templates and the typemaps | 19:29 |
@sonney2k | blackburn, the only workaround I see is to reduce the typemap code by creating a number of local (static) functions that the typemap code is calling for everything | 19:30 |
@sonney2k | such that there is basically only a function call in each typemap | 19:30 |
@sonney2k | regarding templates I don't know what we could improve | 19:31 |
@sonney2k | mabye get rid of CArray* and just use SGVector etc | 19:31 |
blackburn | sonney2k: yeah Streaming* features with 20 or so variants slowed down compilation | 19:32 |
blackburn | every time we add something template-based it gives us ~20 classes more :) | 19:33 |
blackburn | sonney2k: didn't understand about static | 19:33 |
@sonney2k | blackburn, btw for IIRC swig 2.0.4 and above we can use -builtin to swig | 20:01 |
@sonney2k | so it should be faster / no need for .py files | 20:02 |
@sonney2k | blackburn, yeah great code size increased from 608255 lines to 516771 | 20:05 |
blackburn | INcreased? | 20:05 |
@sonney2k | increased from 516771 to 608255 | 20:09 |
@sonney2k | yes | 20:09 |
blackburn | .cxx? | 20:09 |
@sonney2k | yes | 20:09 |
blackburn | so compilation time is increased too, right? | 20:09 |
@sonney2k | with -modern and -modernargs it went down a little to 605776 | 20:09 |
@sonney2k | I dont' know it feels faster but that can be idealistic thinking | 20:11 |
* sonney2k recompiles | 20:11 | |
@sonney2k | 3 minutes | 20:14 |
@sonney2k | for python_modular w/o optimizations | 20:14 |
@sonney2k | 3 minutes 25 sec with the old thing (500kLoC) and 3 minutes with the new one (600kLoC) | 20:19 |
@sonney2k | weird huh? | 20:19 |
blackburn | sonney2k: very | 20:20 |
@sonney2k | and the old one needs a 2MB big modshogun.py | 20:20 |
@sonney2k | the new one not | 20:20 |
@sonney2k | blackburn, try yourself | 20:23 |
blackburn | sonney2k: try what? | 20:23 |
@sonney2k | just add -builtin -modern -modernargs to SWIGFLAGS in configure | 20:23 |
@sonney2k | and then measure compilation time | 20:23 |
blackburn | sonney2k: I have old swig | 20:23 |
@sonney2k | pffh | 20:24 |
blackburn | I get lazy to install new one :) | 20:24 |
@sonney2k | blackburn, shall I force you by making it mandatory? | 20:39 |
@sonney2k | seriously, I would love to get rid of the modshogun.py | 20:39 |
blackburn | sonney2k: why you want to check on different machine? | 20:40 |
@sonney2k | I don't trust myself | 20:40 |
@sonney2k | blackburn, I had a look at the generated wrapper code. it is really tough to reduce it at all | 20:41 |
blackburn | sonney2k: installing swig 2.0.4 | 20:42 |
@sonney2k | I guess we can only reduce it by supporting fewer types / or merging a few classes | 20:42 |
@sonney2k | like the array / sgvector one | 20:42 |
blackburn | sonney2k: what have you measured? | 21:19 |
@sonney2k | time make | 21:19 |
@sonney2k | not the configure | 21:20 |
blackburn | okay | 21:20 |
blackburn | ????! I forgot to measure with old swig | 21:20 |
--- Log closed Mon Sep 12 21:24:23 2011 | ||
--- Log opened Mon Sep 12 21:24:39 2011 | ||
-!- shogun-irclog [~shogun@7nn.de] has joined #shogun | 21:24 | |
-!- Irssi: #shogun: Total of 5 nicks [0 ops, 0 halfops, 0 voices, 5 normal] | 21:24 | |
-!- Irssi: Join to #shogun was synced in 7 secs | 21:24 | |
-!- sonney2k [~shogun@7nn.de] has joined #shogun | 21:24 | |
blackburn | took forever | 21:32 |
sonney2k | blackburn, what took forever? | 21:46 |
blackburn | sonney2k: compilation | 21:46 |
blackburn | sonney2k: | 21:46 |
blackburn | real14m32.816s | 21:46 |
blackburn | user16m25.566s | 21:46 |
blackburn | sys0m33.222s | 21:46 |
sonney2k | how can real be lower than user?!? ahh multi core | 21:46 |
sonney2k | ok and is this with -builtin -modern -modernargs | 21:46 |
sonney2k | or without? | 21:46 |
blackburn | it is w/o | 21:47 |
sonney2k | then do w/ | 21:47 |
blackburn | in progress | 21:47 |
sonney2k | blackburn, what is you machine btw? | 21:47 |
sonney2k | core 2 duo? | 21:47 |
blackburn | sonney2k: intel pentium T4300 | 21:47 |
sonney2k | I see | 21:48 |
sonney2k | blackburn, but you did disable optimizations did you? | 21:48 |
blackburn | sonney2k: not | 21:48 |
blackburn | :D | 21:48 |
sonney2k | --disable-optimization --enable-debug ? | 21:48 |
sonney2k | ok then let me try w/ optimizations enabled | 21:48 |
sonney2k | blackburn, btw https://plus.google.com/114765095157367281222/posts | 21:50 |
sonney2k | looks like our blog post got reshared by chris dibona :-)) | 21:50 |
blackburn | wow | 21:50 |
sonney2k | hope that give the project some more attention | 21:51 |
blackburn | MUCH improves our chances to dive into next gsoc | 21:51 |
blackburn | 8 shares more | 21:51 |
sonney2k | preprocessor/LocallyLinearEmbedding.cpp: In member function ‘shogun::SGMatrix<double> shogun::CLocallyLinearEmbedding::find_null_space(shogun::SGMatrix<double>, int, bool)’: | 21:51 |
sonney2k | preprocessor/LocallyLinearEmbedding.cpp:327: warning: ‘eigenvectors’ may be used uninitialized in this function | 21:51 |
sonney2k | do you have that too? | 21:52 |
sonney2k | a new warning | 21:52 |
blackburn | sonney2k: yes I will fix it soon | 21:52 |
blackburn | everyone says we did a great job | 21:54 |
blackburn | and only I know I fucked up being too lazy :D | 21:54 |
sonney2k | now it compiles much longer it seems ... | 21:55 |
sonney2k | blackburn, that is because you are extremely critical ... | 21:55 |
blackburn | not so extremely | 21:56 |
sonney2k | http://www.youtube.com/watch?v=zfTmpKmLRjM&feature=youtu.be - fun | 21:56 |
blackburn | :) | 21:59 |
blackburn | sonney2k: are markov models used for classification? | 21:59 |
sonney2k | blackburn, 7 minutes 48s | 22:04 |
blackburn | real15m15.059s | 22:04 |
blackburn | user16m42.483s | 22:04 |
blackburn | sys0m37.406s | 22:04 |
sonney2k | so it is slower | 22:05 |
sonney2k | bah | 22:05 |
blackburn | sonney2k: I guess the same, I was watching youtube, etc | 22:05 |
blackburn | 20s of difference doesn't really mean | 22:05 |
sonney2k | yeah but 45 seconds? | 22:05 |
sonney2k | argh forgot the time infront of the make | 22:13 |
sonney2k | about 8 minutes | 22:13 |
sonney2k | so very similar | 22:14 |
sonney2k | but no longer a .py monster of 2mb hanging around | 22:14 |
blackburn | yeah | 22:14 |
sonney2k | probably now all the documentation is in the .cxx file | 22:14 |
sonney2k | I guess that explains why it grew by 100kLoC | 22:14 |
blackburn | ah | 22:15 |
blackburn | I see | 22:15 |
sonney2k | this should indeed not really increase compile time | 22:18 |
sonney2k | I guess it is worth to require swig 2.0.4 and python2.6 for the next version and enable that feature | 22:19 |
blackburn | sure | 22:19 |
sonney2k | alright | 22:24 |
sonney2k | bed time - will train some GNB tomorrow btw :) | 22:24 |
sonney2k | so I need to be prepared to fix your code ;-) | 22:24 |
blackburn | sonney2k: uhh | 22:24 |
blackburn | sonney2k: have you saved my python gnb code? | 22:25 |
sonney2k | I don't have it | 22:25 |
sonney2k | seems like you implemented it for N classes even... | 22:25 |
blackburn | sonney2k: hmm a minute | 22:25 |
sonney2k | I am really going to bed now - please email thanks! | 22:26 |
blackburn | okay | 22:26 |
blackburn | see you | 22:26 |
-!- blackburn [~blackburn@188.168.2.14] has quit [Quit: Leaving.] | 23:13 | |
--- Log closed Tue Sep 13 00:00:26 2011 |
Generated by irclog2html.py 2.10.0 by Marius Gedminas - find it at mg.pov.lt!