| --- Log opened Tue May 31 00:00:19 2016 | ||
| -!- HeikoS [~heiko@host-92-0-162-192.as43234.net] has joined #shogun | 00:24 | |
| -!- mode/#shogun [+o HeikoS] by ChanServ | 00:24 | |
| -!- HeikoS [~heiko@host-92-0-162-192.as43234.net] has quit [Quit: Leaving.] | 00:48 | |
| -!- HeikoS [~heiko@host-92-0-162-192.as43234.net] has joined #shogun | 00:55 | |
| -!- mode/#shogun [+o HeikoS] by ChanServ | 00:55 | |
| -!- HeikoS [~heiko@host-92-0-162-192.as43234.net] has quit [Quit: Leaving.] | 01:30 | |
| shogun-buildbot | build #2889 of bsd1 - libshogun is complete: Failure [failed configure] Build details are at http://buildbot.shogun-toolbox.org/builders/bsd1%20-%20libshogun/builds/2889 blamelist: Heiko Strathmann <heiko.strathmann@gmail.com>, OXPHOS <engelzora@gmail.com> | 01:32 | 
|---|---|---|
| shogun-buildbot | build #27 of xenial - libshogun is complete: Failure [failed compile] Build details are at http://buildbot.shogun-toolbox.org/builders/xenial%20-%20libshogun/builds/27 blamelist: Heiko Strathmann <heiko.strathmann@gmail.com>, OXPHOS <engelzora@gmail.com> | 01:35 | 
| -!- besser82 [~besser82@fedora/besser82] has joined #shogun | 02:16 | |
| -!- mode/#shogun [+o besser82] by ChanServ | 02:16 | |
| shogun-buildbot | build #18 of FC23 - libshogun - aarch64 is complete: Failure [failed test] Build details are at http://buildbot.shogun-toolbox.org/builders/FC23%20-%20libshogun%20-%20aarch64/builds/18 blamelist: Heiko Strathmann <heiko.strathmann@gmail.com>, OXPHOS <engelzora@gmail.com> | 02:28 | 
| -!- besser82 [~besser82@fedora/besser82] has quit [Ping timeout: 244 seconds] | 02:36 | |
| -!- mizari [~mizari@95-174-213-100.nts.su] has joined #shogun | 03:33 | |
| shogun-buildbot | build #10 of clang - thread analysis is complete: Failure [failed compile] Build details are at http://buildbot.shogun-toolbox.org/builders/clang%20-%20thread%20analysis/builds/10 blamelist: Heiko Strathmann <heiko.strathmann@gmail.com>, Sanuj <sanuj.sharma.in@gmail.com>, Saurabh7 <saurabh.mahindre@gmail.com>, OXPHOS <engelzora@gmail.com> | 03:45 | 
| shogun-buildbot | build #9 of clang - undefined behaviour analysis is complete: Failure [failed compile] Build details are at http://buildbot.shogun-toolbox.org/builders/clang%20-%20undefined%20behaviour%20analysis/builds/9 blamelist: Heiko Strathmann <heiko.strathmann@gmail.com>, Sanuj <sanuj.sharma.in@gmail.com>, Saurabh7 <saurabh.mahindre@gmail.com>, OXPHOS <engelzora@gmail.com> | 03:49 | 
| shogun-buildbot | build #10 of memleak - valgrind is complete: Failure [failed memory check] Build details are at http://buildbot.shogun-toolbox.org/builders/memleak%20-%20valgrind/builds/10 blamelist: Heiko Strathmann <heiko.strathmann@gmail.com>, Sanuj <sanuj.sharma.in@gmail.com>, Saurabh7 <saurabh.mahindre@gmail.com>, OXPHOS <engelzora@gmail.com> | 06:19 | 
| -!- mizari [~mizari@95-174-213-100.nts.su] has quit [Ping timeout: 244 seconds] | 06:22 | |
| shogun-buildbot | build #1012 of nightly_none is complete: Failure [failed test] Build details are at http://buildbot.shogun-toolbox.org/builders/nightly_none/builds/1012 blamelist: Heiko Strathmann <heiko.strathmann@gmail.com>, Sanuj <sanuj.sharma.in@gmail.com>, Saurabh7 <saurabh.mahindre@gmail.com>, OXPHOS <engelzora@gmail.com> | 06:31 | 
| shogun-buildbot | build #1141 of nightly_default is complete: Failure [failed test notebooks] Build details are at http://buildbot.shogun-toolbox.org/builders/nightly_default/builds/1141 blamelist: Heiko Strathmann <heiko.strathmann@gmail.com>, Sanuj <sanuj.sharma.in@gmail.com>, Saurabh7 <saurabh.mahindre@gmail.com>, OXPHOS <engelzora@gmail.com> | 07:45 | 
| -!- c4goldsw [5da420e6@gateway/web/cgi-irc/kiwiirc.com/ip.93.164.32.230] has joined #shogun | 09:35 | |
| -!- c4goldsw [5da420e6@gateway/web/cgi-irc/kiwiirc.com/ip.93.164.32.230] has quit [Client Quit] | 09:38 | |
| -!- c4goldsw [5da420e6@gateway/web/cgi-irc/kiwiirc.com/ip.93.164.32.230] has joined #shogun | 09:52 | |
| -!- sanuj [~sanuj@117.204.240.143] has joined #shogun | 10:00 | |
| -!- sanuj [~sanuj@117.204.240.143] has quit [Ping timeout: 272 seconds] | 10:06 | |
| -!- HeikoS [~heiko@host-92-0-162-192.as43234.net] has joined #shogun | 10:12 | |
| -!- mode/#shogun [+o HeikoS] by ChanServ | 10:12 | |
| @HeikoS | wiking: jo | 10:21 | 
| @HeikoS | lisitsyn: jo | 10:21 | 
| lisitsyn | HeikoS: h | 10:21 | 
| @HeikoS | lisitsyn: you think its a good idea to fix seeds in the integraiton tests with random output? | 10:21 | 
| @HeikoS | or just not test in that case (and rely on unit tests) | 10:21 | 
| @HeikoS | lisitsyn: such a test is a bit of a nop | 10:21 | 
| @HeikoS | but not sure | 10:21 | 
| @HeikoS | what do you think? | 10:21 | 
| lisitsyn | not sure I get it | 10:22 | 
| @HeikoS | lisitsyn: imagine I have class X | 10:22 | 
| lisitsyn | ah | 10:22 | 
| @HeikoS | X.classify() is random | 10:22 | 
| lisitsyn | yeah ok so you fix a seed when something is random | 10:22 | 
| @HeikoS | yeah | 10:22 | 
| @HeikoS | but is that a meaningful test? | 10:22 | 
| lisitsyn | apart from being possibly not cross-platfom | 10:22 | 
| lisitsyn | it should be ok | 10:22 | 
| @HeikoS | lisitsyn: no it is | 10:22 | 
| @HeikoS | we have our own random generator | 10:22 | 
| lisitsyn | okie | 10:22 | 
| @HeikoS | wiking: wrote it | 10:22 | 
| lisitsyn | then it depends what you check | 10:23 | 
| lisitsyn | I am not sure it is a good idea to check exact values | 10:23 | 
| lisitsyn | but whether it worked - why not | 10:23 | 
| @HeikoS | lisitsyn: so say kmeans centers | 10:24 | 
| @HeikoS | yeah thats the thing, is it really a good idea to check exact values in that case? | 10:24 | 
| @HeikoS | or just no integration test but rather a unit test that somehow deals with this differently | 10:24 | 
| lisitsyn | well I see no danger yet | 10:24 | 
| lisitsyn | but for some reason not a fan | 10:25 | 
| @HeikoS | lisitsyn: the decision is now | 10:27 | 
| @HeikoS | did not do that yet | 10:27 | 
| @HeikoS | have to decide | 10:27 | 
| lisitsyn | HeikoS: well good test should probably check more reasonable things | 10:28 | 
| lisitsyn | like objective of k-means | 10:28 | 
| shogun-buildbot | build #2890 of bsd1 - libshogun is complete: Failure [failed configure] Build details are at http://buildbot.shogun-toolbox.org/builders/bsd1%20-%20libshogun/builds/2890 blamelist: Heiko Strathmann <heiko.strathmann@gmail.com>, OXPHOS <engelzora@gmail.com> | 10:28 | 
| @HeikoS | lisitsyn: but that is unit | 10:30 | 
| @HeikoS | lisitsyn: not integration | 10:30 | 
| @HeikoS | right? | 10:30 | 
| @HeikoS | lisitsyn: ok then | 10:30 | 
| lisitsyn | HeikoS: yeah | 10:30 | 
| @HeikoS | lisitsyn: on the other hand | 10:30 | 
| shogun-buildbot | build #28 of xenial - libshogun is complete: Failure [failed compile] Build details are at http://buildbot.shogun-toolbox.org/builders/xenial%20-%20libshogun/builds/28 blamelist: Heiko Strathmann <heiko.strathmann@gmail.com>, OXPHOS <engelzora@gmail.com> | 10:30 | 
| @HeikoS | purpose of integration in some way is "did things change" | 10:30 | 
| @HeikoS | lisitsyn: then, lets only store deterministic stuff | 10:31 | 
| @HeikoS | thanks | 10:31 | 
| lisitsyn | HeikoS: I see value in integration tests | 10:31 | 
| @HeikoS | lisitsyn: mmh | 10:31 | 
| @HeikoS | lisitsyn: so what would you do? | 10:31 | 
| @HeikoS | store or not store? | 10:31 | 
| @HeikoS | lisitsyn: its much better now | 10:32 | 
| lisitsyn | well probably | 10:32 | 
| lisitsyn | we could store | 10:32 | 
| @HeikoS | we had the seeds fixed before | 10:32 | 
| lisitsyn | but automatically | 10:32 | 
| @HeikoS | but also stored things like class instances | 10:32 | 
| lisitsyn | like in generated tests | 10:32 | 
| @HeikoS | lisitsyn: yeah that is what I talk about | 10:32 | 
| lisitsyn | but not manually using 3.142342 | 10:32 | 
| @HeikoS | oh yeah sure | 10:32 | 
| @HeikoS | it is just that | 10:32 | 
| @HeikoS | I am talking about | 10:32 | 
| @HeikoS | meta example output | 10:32 | 
| lisitsyn | ok then lets keep it | 10:32 | 
| lisitsyn | it is cheap | 10:32 | 
| @HeikoS | kk | 10:33 | 
| -!- sanuj [~sanuj@117.204.240.143] has joined #shogun | 10:34 | |
| sanuj | HeikoS, hi! | 10:34 | 
| @HeikoS | sanuj: hi | 10:34 | 
| @HeikoS | your did the gmm cookbook right? | 10:34 | 
| @HeikoS | you | 10:34 | 
| sanuj | yes | 10:35 | 
| sanuj | what happened | 10:35 | 
| @HeikoS | sanuj: nothing :) | 10:35 | 
| @HeikoS | I just want to ask you to do something | 10:35 | 
| @HeikoS | that is, put a Math.init_random(0) in the front of it | 10:35 | 
| @HeikoS | and then put the generated output as integration test | 10:35 | 
| @HeikoS | Saurabh7: hi | 10:36 | 
| sanuj | HeikoS, yes, i'll do that | 10:36 | 
| Saurabh7 | HeikoS: hi! | 10:36 | 
| @HeikoS | Saurabh7: about the x-validation, I would really like to get this out of the way quikly. SO nevermind the locked case for now | 10:36 | 
| Saurabh7 | HeikoS: its working | 10:36 | 
| @HeikoS | Saurabh7: just the unlocked case, simplest possible | 10:36 | 
| @HeikoS | Saurabh7: locked as well?= | 10:37 | 
| Saurabh7 | ok i will remove then | 10:37 | 
| @HeikoS | Saurabh7: for the PR, remove for now | 10:37 | 
| Saurabh7 | HeikoS: yes | 10:37 | 
| @HeikoS | want to merge | 10:37 | 
| @HeikoS | and then we can incrementally increase complexity | 10:37 | 
| Saurabh7 | HeikoS: ok | 10:37 | 
| @HeikoS | but I want to keep the patch simple and also merge this very soon | 10:37 | 
| Saurabh7 | HeikoS: ok then i remvoe | 10:37 | 
| @HeikoS | Saurabh7: great | 10:37 | 
| Saurabh7 | unlcoked is working for everything runs folds no leaks | 10:38 | 
| Saurabh7 | after teh changes | 10:38 | 
| @HeikoS | Saurabh7: great | 10:38 | 
| sanuj | HeikoS, for the svr cookbook | 10:39 | 
| @HeikoS | Saurabh7: also remove the parallel runs for now, only folds | 10:39 | 
| sanuj | you want me to add the objective function | 10:39 | 
| @HeikoS | and what we need is a unit test | 10:39 | 
| @HeikoS | that compares output of both | 10:39 | 
| sanuj | HeikoS, shall i add the one from here http://www.shogun-toolbox.org/doc/en/latest/classshogun_1_1CLibSVR.html#details | 10:39 | 
| @HeikoS | Saurabh7: for a single machine, can you add that to the PR and then polish? | 10:39 | 
| sanuj | but it's lot of math for a cookbook page i think | 10:40 | 
| Saurabh7 | HeikoS: yep | 10:40 | 
| @HeikoS | sanuj: yeah thats too much | 10:40 | 
| @HeikoS | sanuj: then just leave it as it was, i.e. only write how the final function looks like | 10:40 | 
| @HeikoS | There is a link to that doc anyways | 10:40 | 
| sanuj | alright | 10:41 | 
| sanuj | lisitsyn, hello! | 10:41 | 
| lisitsyn | sanuj: hey | 10:41 | 
| sanuj | got time? | 10:41 | 
| sanuj | wanted to discuss about the hash function | 10:42 | 
| lisitsyn | a little bit | 10:42 | 
| lisitsyn | yes ok | 10:42 | 
| sanuj | lisitsyn, BaseTag has only one member | 10:42 | 
| sanuj | i.e. name | 10:42 | 
| lisitsyn | yeah probably | 10:42 | 
| sanuj | so i use the name to generate the hash | 10:42 | 
| sanuj | i read this http://stackoverflow.com/questions/17016175/c-unordered-map-using-a-custom-class-type-as-the-key | 10:42 | 
| lisitsyn | yes | 10:42 | 
| sanuj | then there will be collision because of same names | 10:43 | 
| lisitsyn | yeah I think it makes sense to make them collide | 10:43 | 
| lisitsyn | implement *both* operator== and hash | 10:43 | 
| lisitsyn | then hash collisions won't cause trouble | 10:44 | 
| lisitsyn | but the same name = the same parameter | 10:44 | 
| lisitsyn | this sounds reasonable | 10:44 | 
| sanuj | lisitsyn, but in whole shogun there can be multiple parameters with the same name | 10:44 | 
| sanuj | because the map will be stored in SGObject | 10:44 | 
| sanuj | but there are many classes derived from SGObject | 10:45 | 
| lisitsyn | ?? :) | 10:45 | 
| sanuj | and each class shall have different parameters with the same name | 10:45 | 
| lisitsyn | object | 10:45 | 
| lisitsyn | not class | 10:45 | 
| sanuj | yeah | 10:45 | 
| sanuj | object | 10:45 | 
| sanuj | sorry | 10:45 | 
| lisitsyn | so no problem | 10:45 | 
| sanuj | so suppose object A and B | 10:46 | 
| lisitsyn | different objects would have the same parameter name | 10:46 | 
| sanuj | but the same name parameters will collide | 10:46 | 
| lisitsyn | how? | 10:46 | 
| sanuj | because same name will generate same hash | 10:47 | 
| lisitsyn | yes but how's that bad if you have different objects | 10:47 | 
| sanuj | lisitsyn, A("width") B("width") | 10:48 | 
| sanuj | can have diff values | 10:48 | 
| lisitsyn | yes exactly, what is wrong with that | 10:48 | 
| sanuj | lisitsyn, oh i thought that if they have same key(name) then one will overwrite the other | 10:49 | 
| lisitsyn | how? :) | 10:49 | 
| lisitsyn | different objects | 10:49 | 
| sanuj | oh | 10:49 | 
| sanuj | now i get it | 10:49 | 
| sanuj | :D | 10:49 | 
| sanuj | haha | 10:50 | 
| lisitsyn | sanuj: as basetag is immutable (you can't change name) | 10:50 | 
| sanuj | lisitsyn, then why do we need BaseTag | 10:50 | 
| sanuj | lisitsyn, can't we use just name as hash | 10:50 | 
| sanuj | as key i mean | 10:50 | 
| lisitsyn | sanuj: nah that could be better | 10:50 | 
| lisitsyn | essentially the same | 10:51 | 
| lisitsyn | but | 10:51 | 
| lisitsyn | sanuj: BaseTag is immutable | 10:51 | 
| lisitsyn | you can't change its name | 10:51 | 
| lisitsyn | just precompute hash in its ctor | 10:51 | 
| lisitsyn | compute and store it once | 10:51 | 
| lisitsyn | then in hash function just access it | 10:51 | 
| sanuj | lisitsyn, i see | 10:51 | 
| sanuj | lisitsyn, to compute hash from it's name | 10:52 | 
| sanuj | shall i use std::hash? | 10:52 | 
| lisitsyn | yes sure | 10:52 | 
| lisitsyn | we can change that later if needed | 10:52 | 
| lisitsyn | just std hash would suffice | 10:52 | 
| sanuj | lisitsyn, okay, so this should happen in BaseTag constructor | 10:53 | 
| lisitsyn | yes | 10:53 | 
| sanuj | lisitsyn, and one more thing | 10:53 | 
| sanuj | lisitsyn, we are making BaseTag immutable by adding const | 10:53 | 
| lisitsyn | yes | 10:53 | 
| lisitsyn | const everything up there | 10:53 | 
| sanuj | can't we do that for string also? | 10:53 | 
| lisitsyn | const std::string? | 10:53 | 
| sanuj | yeah | 10:53 | 
| lisitsyn | yeah why not | 10:54 | 
| sanuj | lisitsyn, then why do we need BaseTag | 10:54 | 
| sanuj | we could have used name in Tag itself | 10:54 | 
| sanuj | just make it const if we want to make it immutable | 10:54 | 
| lisitsyn | map<Tag<T>, Any> | 10:54 | 
| lisitsyn | which T? | 10:54 | 
| lisitsyn | :) | 10:54 | 
| sanuj | lisitsyn, map<std::string, Any> | 10:55 | 
| lisitsyn | no precomputed hash then | 10:55 | 
| lisitsyn | multiple access would lead to recomputing hashes | 10:55 | 
| sanuj | lisitsyn, compute hash for tag._name in constructor | 10:55 | 
| sanuj | okay | 10:55 | 
| sanuj | lisitsyn, i see | 10:56 | 
| sanuj | what you mean | 10:56 | 
| sanuj | :) | 10:56 | 
| sanuj | lisitsyn, by using BaseTag as key, we are storing the hash in BaseTag as a member so it's only computed once (in the constructor)? | 10:57 | 
| lisitsyn | yes | 10:58 | 
| sanuj | oh, i finally got it right :) | 10:58 | 
| lisitsyn | yeah its getting a bit complex | 10:59 | 
| lisitsyn | once we get it to work should look easy | 11:00 | 
| sanuj | lisitsyn, yes | 11:00 | 
| sanuj | lisitsyn, so just to confirm | 11:01 | 
| sanuj | there are 2 members in BaseTag | 11:01 | 
| sanuj | _hash | 11:01 | 
| sanuj | and _name | 11:01 | 
| lisitsyn | sanuj: yeah fair enough | 11:07 | 
| sanuj | cool | 11:07 | 
| shogun-buildbot | build #19 of FC23 - libshogun - aarch64 is complete: Failure [failed test] Build details are at http://buildbot.shogun-toolbox.org/builders/FC23%20-%20libshogun%20-%20aarch64/builds/19 blamelist: Heiko Strathmann <heiko.strathmann@gmail.com>, OXPHOS <engelzora@gmail.com> | 11:09 | 
| @HeikoS | Saurabh7: and? | 11:15 | 
| Saurabh7 | hey | 11:50 | 
| Saurabh7 | HeikoS: removed everything | 11:50 | 
| @HeikoS | Saurabh7: hi | 11:50 | 
| Saurabh7 | still cant see how we can unit test before and after | 11:51 | 
| @HeikoS | Saurabh7: you need to distinguish the case in the code | 11:52 | 
| @HeikoS | that is | 11:52 | 
| @HeikoS | if (get_global_parallel()->get_num_threads()) == 1) { initialise machine and features in old way } else {the new way} | 11:52 | 
| @HeikoS | but that is super simple as all you need to do is to remember whether you have to clone or not | 11:53 | 
| @HeikoS | and then change all machine assignments | 11:53 | 
| @HeikoS | so if no threads are available, the code does *exactly* the same as before you started editing it | 11:53 | 
| Saurabh7 | yes i understand it, didnt knwo about we had get_global_parallel tho | 11:54 | 
| Saurabh7 | let me ad quickly | 11:54 | 
| @HeikoS | Saurabh7: should be easy | 11:54 | 
| Saurabh7 | yes only if else | 11:54 | 
| @HeikoS | yep | 11:54 | 
| @HeikoS | and then you can set the number of threads to 1 in the unit test | 11:54 | 
| @HeikoS | and then back to num_cpus | 11:55 | 
| c4goldsw | What time does OXPHOS usually come on? | 12:13 | 
| c4goldsw | HeikoS ^ | 12:13 | 
| Saurabh7 | c4goldsw: i think shes arnd utc-8 | 12:21 | 
| -!- sanuj [~sanuj@117.204.240.143] has quit [Ping timeout: 276 seconds] | 12:21 | |
| c4goldsw | Saurabh7 Thanks | 12:22 | 
| -!- sanuj [~sanuj@117.204.240.143] has joined #shogun | 12:38 | |
| @HeikoS | c4goldsw: she is NY time | 12:54 | 
| c4goldsw | HeikoS Ah, good to know. I won't have to stay up late then. | 12:56 | 
| -!- lambday [8028b10a@gateway/web/freenode/ip.128.40.177.10] has joined #shogun | 13:07 | |
| -!- mode/#shogun [+o lambday] by ChanServ | 13:07 | |
| @HeikoS | lambday: hi! could you send a PR for the omp parallel thread setter? | 13:07 | 
| @HeikoS | Saurabh7: needs to use it | 13:08 | 
| @lambday | HeikoS: yeah let me add that.. | 13:08 | 
| @lambday | HeikoS: too much rain :( | 13:09 | 
| @HeikoS | lambday: ha! indeed | 13:22 | 
| @HeikoS | thats why I am currently working from here | 13:22 | 
| -!- travis-ci [~travis-ci@ec2-54-224-204-201.compute-1.amazonaws.com] has joined #shogun | 13:30 | |
| travis-ci | it's Heiko Strathmann's turn to pay the next round of drinks for the massacre he caused in shogun-toolbox/shogun: https://travis-ci.org/shogun-toolbox/shogun/builds/134105657 | 13:30 | 
| -!- travis-ci [~travis-ci@ec2-54-224-204-201.compute-1.amazonaws.com] has left #shogun [] | 13:30 | |
| sanuj | HeikoS, regarding Gaussian Kernel cache size | 13:41 | 
| sanuj | shall i use the default cache size | 13:41 | 
| sanuj | which is 10 | 13:41 | 
| @HeikoS | sanuj: yes | 13:48 | 
| @HeikoS | thats good | 13:48 | 
| sanuj | HeikoS, what is cache size | 13:51 | 
| sanuj | is it in bytes? | 13:52 | 
| @HeikoS | no I think mbytes | 13:52 | 
| @HeikoS | check the code | 13:52 | 
| @HeikoS | sanuj: if a kernel cache is used (say kernel computation is very expensive) | 13:52 | 
| @HeikoS | and the kernel matrix is huge | 13:52 | 
| @HeikoS | i.e. cannnot be stored | 13:52 | 
| @HeikoS | the kernel cache is something for in between | 13:52 | 
| @HeikoS | not storing the full matrix | 13:53 | 
| @HeikoS | but not re-computing everything | 13:53 | 
| @HeikoS | only makes sense for very expensiv ekernel functions | 13:53 | 
| sanuj | i see | 13:55 | 
| -!- c4goldsw [5da420e6@gateway/web/cgi-irc/kiwiirc.com/ip.93.164.32.230] has quit [Quit: http://www.kiwiirc.com/ - A hand crafted IRC client] | 14:02 | |
| -!- mizari [~mizari@95-174-213-100.nts.su] has joined #shogun | 14:06 | |
| @HeikoS | Saurabh7: jo | 14:22 | 
| @HeikoS | how is it going? | 14:22 | 
| @HeikoS | lets get this thing out of the way soon, it shouldnt take that long to write simple test | 14:22 | 
| @HeikoS | matter of minutes | 14:22 | 
| Saurabh7 | HeikoS: done sending | 14:23 | 
| @HeikoS | Saurabh7: ah cool :) | 14:23 | 
| Saurabh7 | it was segfaulting for some reason when i assign directly | 14:23 | 
| @HeikoS | Saurabh7: did you valgrind it? | 14:25 | 
| @HeikoS | null pointer? | 14:25 | 
| Saurabh7 | got it i had to disable parallel and ref only when num_thread==1 | 14:26 | 
| @HeikoS | not sure I get that, but Ill see in the pr | 14:28 | 
| @HeikoS | Saurabh7: I see no | 14:41 | 
| @HeikoS | w | 14:41 | 
| @HeikoS | I would do the other way around | 14:41 | 
| @HeikoS | not put extra REF/UNREF for m_machine | 14:41 | 
| @HeikoS | but DO put REF and UNREF for the cloned ones (in case num_threads>1=) | 14:42 | 
| Saurabh7 | HeikoS: ah yes you are right | 14:44 | 
| @HeikoS | Saurabh7: did you valgrind the unit test? | 14:45 | 
| Saurabh7 | HeikoS: not the unit test but similar example | 14:45 | 
| @HeikoS | valgrind ./shogun-unit-test --gtest_filter=CrossValidation_multithread.LibSVM_unlocked | 14:46 | 
| Saurabh7 | how to ge | 14:46 | 
| Saurabh7 | HeikoS: ok :) | 14:46 | 
| @HeikoS | Saurabh7: please always do that for such critial use cases :) | 14:46 | 
| @HeikoS | run that in the build/tests/unit dir | 14:46 | 
| @HeikoS | you can run a make before | 14:46 | 
| @HeikoS | (will only compile things needed for the unit tests) | 14:46 | 
| @HeikoS | Saurabh7: how many cpu do you have? | 14:48 | 
| Saurabh7 | HeikoS: 4 | 14:49 | 
| Saurabh7 | but for some reason when i was debugging i see 3 threads with omp | 14:49 | 
| @HeikoS | yeah there are some problems with omp setup | 14:50 | 
| @HeikoS | https://github.com/shogun-toolbox/shogun/pull/3236/files | 14:50 | 
| @HeikoS | this fixes it | 14:50 | 
| @HeikoS | we have to wait for that to be merged, otherwise the set_num_threads doesnt affect omp | 14:50 | 
| @HeikoS | Saurabh7: ok, there are some minor clean ups | 14:53 | 
| @HeikoS | Saurabh7: then rebase against 3236, and then we are done first first step | 14:53 | 
| Saurabh7 | HeikoS: ok | 14:56 | 
| @HeikoS | Saurabh7: so that is good | 14:57 | 
| @HeikoS | Saurabh7: with this stuff in place | 14:57 | 
| @HeikoS | can you do a benchmark | 14:57 | 
| @HeikoS | for say liblinear? | 14:57 | 
| Saurabh7 | HeikoS: yes | 14:59 | 
| @HeikoS | Saurabh7: any algorithm that doesnt run multicore on its own | 14:59 | 
| @HeikoS | Saurabh7: let me know how it compares | 15:01 | 
| @HeikoS | curios | 15:01 | 
| @HeikoS | also memory usage is interesting as we clone the features | 15:01 | 
| Saurabh7 | clone has overhead with runtime tooo i think | 15:01 | 
| Saurabh7 | i profiled this libsvm | 15:01 | 
| Saurabh7 | HeikoS: https://gist.github.com/Saurabh7/19637ab52d0d595016ac2820a9e87d4b | 15:02 | 
| Saurabh7 | but i will compare lets see | 15:02 | 
| @HeikoS | need debug symbols | 15:02 | 
| sanuj | lisitsyn, hey | 15:04 | 
| @HeikoS | Saurabh7: ok cool. So we need to wait for the other patch to be merged before you can tell openml to only use 1 thread from shogun | 15:10 | 
| @HeikoS | Saurabh7: lets benchmark (and test again) once it is merged | 15:10 | 
| @HeikoS | Saurabh7: I suggest you start with the LARS in the mean time? | 15:11 | 
| Saurabh7 | HeikoS: ok will start with profiling that too | 15:12 | 
| Saurabh7 | have a benchmark for taht i think already | 15:12 | 
| @HeikoS | Saurabh7: to get familiar with the code, it might be good to write a few unit tests (or extend existing ones) and then eigen3-ize the code | 15:12 | 
| @HeikoS | Saurabh7: they key routines are the low rank updates of cholesky factors or matrix inverses | 15:13 | 
| @HeikoS | arianepaola: hi | 15:13 | 
| @HeikoS | arianepaola: what are you up to ? | 15:13 | 
| Saurabh7 | HeikoS: i see thanks keeping in mind | 15:13 | 
| @HeikoS | Saurabh7: again, share things early, this allows us to proceed much faster :) | 15:14 | 
| @HeikoS | Saurabh7: we can continue to incrementaly improve the x-validation over the next days | 15:14 | 
| @HeikoS | Saurabh7: would like to add: parallel locked training (not sure how yet) | 15:14 | 
| @HeikoS | then parallel runs | 15:14 | 
| @HeikoS | and sharing the feature matrix | 15:14 | 
| -!- HeikoS [~heiko@host-92-0-162-192.as43234.net] has quit [Quit: Leaving.] | 15:19 | |
| -!- HeikoS [~heiko@host-92-0-162-192.as43234.net] has joined #shogun | 15:20 | |
| -!- mode/#shogun [+o HeikoS] by ChanServ | 15:20 | |
| sanuj | lisitsyn, there? | 15:25 | 
| Saurabh7 | HeikoS: yes i will | 15:25 | 
| Saurabh7 | HeikoS: parallel locked works with clone but i think it will be slower | 15:26 | 
| @HeikoS | Saurabh7: actually | 15:26 | 
| @HeikoS | thining about it | 15:26 | 
| @HeikoS | if we clone everything after the locking | 15:27 | 
| @HeikoS | then that would easily work in parallel | 15:27 | 
| @HeikoS | without being slower in fact | 15:27 | 
| Saurabh7 | HeikoS: thats what i did | 15:27 | 
| @HeikoS | Saurabh7: locking simply precoimputes the kernel matrix | 15:27 | 
| @HeikoS | I see | 15:27 | 
| @HeikoS | mmh | 15:27 | 
| Saurabh7 | but there we assert CustomKernel == kernel | 15:27 | 
| @HeikoS | so then sharing the kernel matrix | 15:27 | 
| @HeikoS | is exactly the same as sharing features | 15:27 | 
| Saurabh7 | so i made that change | 15:27 | 
| @HeikoS | if things are cloned | 15:27 | 
| @HeikoS | Saurabh7: assert as in the same pointer? | 15:28 | 
| Saurabh7 | HeikoS: yes | 15:28 | 
| @HeikoS | Saurabh7: I see | 15:28 | 
| Saurabh7 | but clone makes different ones | 15:28 | 
| @HeikoS | I see | 15:28 | 
| Saurabh7 | for both m_custom_kernel and kernel | 15:28 | 
| @HeikoS | ok then | 15:28 | 
| Saurabh7 | after lock | 15:28 | 
| @HeikoS | maybe re-add it after all | 15:28 | 
| Saurabh7 | HeikoS: but i checked the speed too | 15:29 | 
| @HeikoS | and? | 15:29 | 
| Saurabh7 | parallel was slower this way for some reason | 15:29 | 
| @HeikoS | mmh | 15:29 | 
| @HeikoS | slower as in? | 15:29 | 
| Saurabh7 | parallel locked + clone vs seq locked | 15:29 | 
| @HeikoS | Saurabh7: it depends where the kernel matrix is precomputed | 15:30 | 
| @HeikoS | well lets do things incremental anyways, let's stay with the simple case for now | 15:30 | 
| @HeikoS | it needs benchmarking and testing | 15:30 | 
| @HeikoS | and then data sharing | 15:30 | 
| @HeikoS | THEN we can do locked case | 15:30 | 
| Saurabh7 | precompute happens in CCustomkernel init | 15:30 | 
| Saurabh7 | ok | 15:30 | 
| @HeikoS | interesting that is is slower | 15:31 | 
| Saurabh7 | yup I will make a reproduceable example later | 15:32 | 
| Saurabh7 | let u know | 15:32 | 
| arianepaola | Hello everyone :-) | 15:35 | 
| sanuj | arianepaola, Hi! | 15:35 | 
| arianepaola | hi sanuj | 15:35 | 
| sanuj | lambday, there? | 15:37 | 
| sanuj | HeikoS, there? | 15:38 | 
| @lambday | sanuj: yo | 15:40 | 
| sanuj | lambday, whatsup :) | 15:41 | 
| sanuj | did the rain end? ;) | 15:41 | 
| @lambday | sanuj: not really :| | 15:41 | 
| sanuj | oh sad | 15:41 | 
| @lambday | this whole week it's gonna be rainy | 15:41 | 
| @lambday | :'( | 15:41 | 
| sanuj | haha | 15:41 | 
| sanuj | it's sunny here | 15:41 | 
| sanuj | 40 degrees | 15:42 | 
| @lambday | haha | 15:42 | 
| sanuj | lambday, i wanted to to know how to print private variables in shogun | 15:42 | 
| sanuj | for debugging | 15:42 | 
| @lambday | sanuj: you want to just test it for your local use or commit it? | 15:43 | 
| sanuj | lambday, just want to test it for local use | 15:43 | 
| @lambday | sanuj: just use SG_PRINT/SPRINT/cout/printf whatever then :D | 15:43 | 
| sanuj | lambday, will that print while i build it or from the unit test? | 15:44 | 
| sanuj | oh it will print while i run the unit test | 15:44 | 
| sanuj | got it | 15:44 | 
| @lambday | yes | 15:44 | 
| @HeikoS | sanuj: hi | 15:52 | 
| @HeikoS | arianepaola: hi | 15:55 | 
| arianepaola | hi HeikoS | 15:57 | 
| @HeikoS | arianepaola: how are things going? | 15:57 | 
| arianepaola | good | 15:57 | 
| @HeikoS | arianepaola: wanted to hear what things you are currently doing and planning to do for the wekk | 15:58 | 
| @HeikoS | week | 15:58 | 
| arianepaola | I will be looking into the rest of the unit tests required to pass for the debian package | 15:59 | 
| arianepaola | I have some linking errors with lapack | 16:00 | 
| -!- travis-ci [~travis-ci@ec2-54-146-36-34.compute-1.amazonaws.com] has joined #shogun | 16:00 | |
| travis-ci | it's Heiko Strathmann's turn to pay the next round of drinks for the massacre he caused in shogun-toolbox/shogun: https://travis-ci.org/shogun-toolbox/shogun/builds/134117813 | 16:00 | 
| -!- travis-ci [~travis-ci@ec2-54-146-36-34.compute-1.amazonaws.com] has left #shogun [] | 16:00 | |
| arianepaola | do you have an idea on #3213? | 16:00 | 
| arianepaola | this is related to the lapack part in the cmake files | 16:01 | 
| @HeikoS | arianepaola: not really, sorry | 16:01 | 
| @HeikoS | weird error | 16:01 | 
| @HeikoS | btw in terms of building the package | 16:02 | 
| @HeikoS | I guess there is quite a few things that can be done even if the tests dont pass yet? | 16:02 | 
| @HeikoS | arianepaola: so if you say you are looking into the unit tests, what exactly does that mean? Any particular problems? | 16:04 | 
| arianepaola | what wiking suggested in approach of the debian package was to make things more modular by separating libshogun and the modular interfaces | 16:06 | 
| -!- sanuj [~sanuj@117.204.240.143] has quit [Ping timeout: 276 seconds] | 16:07 | |
| @HeikoS | arianepaola: yeah thats a god idea, we had that in the past in fact | 16:07 | 
| @HeikoS | and does that work easily? | 16:07 | 
| arianepaola | and improve the parts that he did on the cmake config branch | 16:07 | 
| arianepaola | the lapack error hinders to build the interfaces | 16:08 | 
| @HeikoS | arianepaola: on your ubuntu? | 16:08 | 
| @HeikoS | arianepaola: well if it blocks, why not continue somewhere else until it is figured out? | 16:09 | 
| -!- sanuj [~sanuj@117.204.240.143] has joined #shogun | 16:09 | |
| arianepaola | it is in a vm | 16:09 | 
| arianepaola | have tried both 14.04 and 16.04, get the same | 16:09 | 
| @HeikoS | wiking is probably on holiday for this long weekend and he will be able to help sorting that out later I guess | 16:09 | 
| @HeikoS | e.g. the cookbook you sent is still incomplete | 16:10 | 
| -!- OXPHOS [9d8b131c@gateway/web/freenode/ip.157.139.19.28] has joined #shogun | 16:10 | |
| @HeikoS | it would be good to get a few more | 16:10 | 
| @HeikoS | python install | 16:10 | 
| arianepaola | yes, I was going to work on it today | 16:10 | 
| @HeikoS | tons of stuff | 16:10 | 
| @HeikoS | no need to get blocked by one thing :) | 16:10 | 
| @HeikoS | OXPHOS: good orning :) | 16:10 | 
| arianepaola | sure HeikoS :-) | 16:10 | 
| OXPHOS | HeikoS: hello :) | 16:11 | 
| @HeikoS | OXPHOS: all good? | 16:12 | 
| OXPHOS | HeikoS: yes. reading logs - so try to fix seeds for integration tests | 16:14 | 
| @HeikoS | OXPHOS: yeah | 16:14 | 
| @HeikoS | just adding a single call | 16:14 | 
| @HeikoS | in the .sg listing | 16:14 | 
| @HeikoS | no need to mention it in the cookbook rst | 16:15 | 
| OXPHOS | HeikoS Lemme try | 16:15 | 
| OXPHOS | Also here's a gist for opaque pointer of Vector wrapper class, I can open a separate PR for now but it'll be overlapped with the currently one finally. | 16:19 | 
| OXPHOS | https://gist.github.com/OXPHOS/42f06dfc38325399982faf2f9468b7fa | 16:20 | 
| OXPHOS | Do u want to have a look now? HeikoS, lambday, wiking | 16:20 | 
| OXPHOS | ^ | 16:20 | 
| @HeikoS | OXPHOS: lambday should check | 16:20 | 
| OXPHOS | kk | 16:20 | 
| -!- travis-ci [~travis-ci@ec2-54-224-204-201.compute-1.amazonaws.com] has joined #shogun | 16:23 | |
| travis-ci | it's Heiko Strathmann's turn to pay the next round of drinks for the massacre he caused in shogun-toolbox/shogun: https://travis-ci.org/shogun-toolbox/shogun/builds/134139132 | 16:23 | 
| -!- travis-ci [~travis-ci@ec2-54-224-204-201.compute-1.amazonaws.com] has left #shogun [] | 16:23 | |
| @lambday | OXPHOS: hey | 16:27 | 
| @lambday | checking | 16:27 | 
| OXPHOS | lambday: thx! | 16:27 | 
| @lambday | OXPHOS: can you please add this in the PR? we can't really comment inline in gist | 16:28 | 
| OXPHOS | lambday: sure. So I'll push from the same branch? Or should I open a new PR? it'll be quite different from yesterday's | 16:29 | 
| @lambday | OXPHOS: actually, don't bother.. let me have a look and let's discuss here a bit first | 16:30 | 
| OXPHOS | lambday: thx. and for the name, I prefer to do BaseDataPtr/CPUDataPtr/GPUDataPtr, instead of BaseVector/CPUVector. Since Matrix will be in | 16:31 | 
| @lambday | OXPHOS: CPUVector shouldn't have a ptr to SGVector, maybe just the underlying T* and len? | 16:31 | 
| @lambday | or just a reference | 16:32 | 
| OXPHOS | lambday: good point | 16:32 | 
| @lambday | OXPHOS: how do you plan to put the matrix classes in this? | 16:33 | 
| @lambday | OXPHOS: using the same class for both? | 16:33 | 
| @lambday | or create a subclass of this C(G)PUDataPtr | 16:34 | 
| OXPHOS | lambday: use the same class, and overload constructor | 16:34 | 
| @lambday | OXPHOS: maybe using the same class is not the best idea.. one can then pass a matrix to a method that is supposed to work only with vectors | 16:35 | 
| @lambday | see the issue? | 16:35 | 
| @lambday | if you want to use the similar underlying array structure, | 16:36 | 
| @lambday | then maybe we have something like BaseDataPtr (maybe call it BaseMemArray) <-- CPUMemArray <-- CPUVector | CPUMatrix | 16:37 | 
| @lambday | CPUMemArray has the underlying array | 16:37 | 
| OXPHOS | lambday: I see. | 16:37 | 
| @lambday | then CPUVector has an extra field "len", and then CPUMatrix has "num_rows" and "num_cols" | 16:37 | 
| @lambday | but doesn't matter.. I'd rather just keep two different ptrs for the data for vectors and matrices and remove the CPUMemArray class in between.. | 16:39 | 
| @lambday | and make CPUvec CPUmat directly inherit from basememarrya | 16:39 | 
| OXPHOS | So the user just send whatever to factory and get a basearray back | 16:40 | 
| @lambday | OXPHOS: yes.. factory creates the appropriate instance and returns that instance, casting to base type | 16:41 | 
| @lambday | and, basememarray shouldn't be the base class for both matrices and vectors | 16:42 | 
| @lambday | then we face the same problem.. | 16:42 | 
| @lambday | imagine this | 16:42 | 
| @lambday | auto vec = factory(a) // a --> SGVector<T> type | 16:43 | 
| @lambday | vec is of BaseVector<T>* type | 16:43 | 
| @lambday | if a was SGMatrix<T>, the factory should return BaseMatrix<T>* type or something | 16:43 | 
| OXPHOS | lambday: I think I got you - but we can throw error if let's say dot(matrix a, b)? This might be too expensive | 16:45 | 
| @lambday | if we get the same base ptr in both the cases, there is no way we can differentiate whether we have a vector or matrix | 16:45 | 
| @lambday | OXPHOS: no.. if someone tries to do dot(matrix a, b), this should not even compile :) | 16:45 | 
| OXPHOS | lambday: haha okay | 16:45 | 
| OXPHOS | so completely separate | 16:46 | 
| @lambday | catching these things at compile time is better :) specially the "illegal operations" cases like this | 16:46 | 
| @lambday | OXPHOS: yeah.. check SGVector and SGMatrix.. they are totally independent .. | 16:46 | 
| @lambday | yes they both depend on SGReferenceData but that is only for the ref-counting | 16:46 | 
| OXPHOS | lambday: sure! also, I saw people use unique_ptr for opaque pointer. But it failed for me. We're suppose to switch to smart pointer for this right? | 16:48 | 
| @lambday | OXPHOS: it is a good idea to use unique_ptr for the opaque ptr.. | 16:48 | 
| @lambday | OXPHOS: what errors did you get? | 16:48 | 
| OXPHOS | kind of, not known how much space to allocate for the pointer as the struct is incomplete | 16:49 | 
| @lambday | OXPHOS: shouldn't be a problem if you allocate in the cpp.. | 16:50 | 
| @lambday | there the compiler knows what exactly the struct is.. | 16:50 | 
| @lambday | OXPHOS: let me show you something | 16:50 | 
| @lambday | OXPHOS: https://github.com/shogun-toolbox/shogun/blob/feature/bigtest/src/shogun/statistical_testing/HypothesisTest.h | 16:51 | 
| @lambday | https://github.com/shogun-toolbox/shogun/blob/feature/bigtest/src/shogun/statistical_testing/HypothesisTest.cpp | 16:51 | 
| @lambday | OXPHOS: another comment - we probably won't need this thing : https://gist.github.com/OXPHOS/42f06dfc38325399982faf2f9468b7fa#file-linalg-cpp-L21 | 16:52 | 
| @lambday | OXPHOS: okay let's try one thing.. the PR you sent, it works, right? | 16:54 | 
| @lambday | as in, it does compile and we can run it | 16:54 | 
| OXPHOS | lambday: thx! I did similar thing..but now I think I might have screwed up some details, like namespace.. | 16:54 | 
| OXPHOS | lambday: yes | 16:54 | 
| @lambday | OXPHOS: okay.. next step: make the PR work with the d-ptr.. that compiles and works.. | 16:55 | 
| @lambday | baby steps | 16:55 | 
| @lambday | first, split the basevector into header and cpp | 16:55 | 
| @lambday | (you don't need to add all the template instantiations.. just add float64_t for now.. if it works with that, all other primitive types would work) | 16:56 | 
| @lambday | when that works, split the CPUvector into header and cpp | 16:56 | 
| @lambday | then cpu | 16:56 | 
| @lambday | gpu* | 16:56 | 
| @lambday | iteratively | 16:56 | 
| OXPHOS | lambday: there's nothing to split for base vector? | 16:56 | 
| @lambday | if you update the PR itself, it would be easier to see what works and what doesn't | 16:56 | 
| @lambday | OXPHOS: well, you can add the instantiations in the cpp :) | 16:57 | 
| @lambday | OXPHOS: anyway, not too imp now.. maybe keep the basevector in the header for now | 16:58 | 
| @lambday | but split the children | 16:58 | 
| OXPHOS | lambday: sure | 16:59 | 
| @lambday | OXPHOS: let me know when you update the PR :) | 17:00 | 
| @HeikoS | Saurabh7: the parallel thing is merged | 17:00 | 
| OXPHOS | lambday: np. thx! | 17:00 | 
| @HeikoS | OXPHOS: hey | 17:06 | 
| @HeikoS | just looking at the cereal thing you sent | 17:06 | 
| OXPHOS | HeikoS: yep | 17:06 | 
| @HeikoS | OXPHOS: so that save and load pair seems to work fine | 17:06 | 
| @HeikoS | OXPHOS: is the design you have in mind based on having such save/load pairs for all SG* types? | 17:07 | 
| @HeikoS | OXPHOS: because currently, all this is done in TParameter.h | 17:07 | 
| @HeikoS | OXPHOS: can you maybe clean up this PR? | 17:09 | 
| @HeikoS | OXPHOS: so that only the necessary bits of SGVector are there | 17:09 | 
| OXPHOS | HeikoS: yes. if I understood correctly, save method in TParameter.h will fall back to the original type. So If SG*type works, all other class should | 17:09 | 
| OXPHOS | HeikoS: sure | 17:09 | 
| @HeikoS | OXPHOS: yeah this is a good idea | 17:09 | 
| @HeikoS | OXPHOS: *though* | 17:09 | 
| @HeikoS | there is one thing | 17:09 | 
| shogun-buildbot | build #2891 of bsd1 - libshogun is complete: Failure [failed configure] Build details are at http://buildbot.shogun-toolbox.org/builders/bsd1%20-%20libshogun/builds/2891 blamelist: Heiko Strathmann <heiko.strathmann@gmail.com>, lambday <heavensdevil6909@gmail.com> | 17:10 | 
| @HeikoS | this will only work for SG* that have basic types in them | 17:10 | 
| OXPHOS | lambday: ((I'm wating for the making | 17:10 | 
| @HeikoS | OXPHOS: like int, float etc | 17:10 | 
| @HeikoS | there are two more cases | 17:10 | 
| @HeikoS | 1.) CSGOBject | 17:10 | 
| @HeikoS | that should be easy as we just call CSGOBject::save there | 17:11 | 
| @HeikoS | 2.) SG* | 17:11 | 
| @HeikoS | an example would be a SGMatrix<SGMatrix> | 17:11 | 
| @HeikoS | Shogun can currently serialize this | 17:11 | 
| @HeikoS | but I suggest we drop that | 17:12 | 
| @HeikoS | and only allow for basic and CSGOBject | 17:12 | 
| @HeikoS | then your approach would work | 17:12 | 
| OXPHOS | for SGObject, I had kmeans (SGObject?) implemented, which saves a SGVector<> and an int. It worked. | 17:13 | 
| OXPHOS | HeikoS: I saw only these two params are serialized (Added to param list) now | 17:14 | 
| @HeikoS | yeah sure, that falls under the first cases | 17:14 | 
| @HeikoS | OXPHOS: wait | 17:14 | 
| @HeikoS | how did you implement that for kmeans? | 17:14 | 
| @HeikoS | have a gist? | 17:15 | 
| OXPHOS | digging | 17:16 | 
| -!- sanuj [~sanuj@117.204.240.143] has quit [Ping timeout: 276 seconds] | 17:16 | |
| OXPHOS | HeikoS: in this ugly PR: https://github.com/shogun-toolbox/shogun/pull/3199/files#diff-40b41b5eecabf9f724506e7e80fe5419 | 17:17 | 
| OXPHOS | if you jump to kmeans.h, it's there. | 17:17 | 
| @HeikoS | ok | 17:17 | 
| @HeikoS | OXPHOS: can you send another PR with just the kmeans thing? and mention that its just to show? | 17:17 | 
| @HeikoS | OXPHOS: but ok | 17:18 | 
| @HeikoS | reading it | 17:18 | 
| @HeikoS | OXPHOS: so the thing here is | 17:18 | 
| @HeikoS | OXPHOS: you are implementing the save method explicitly | 17:18 | 
| @HeikoS | OXPHOS: so far so good | 17:18 | 
| @HeikoS | BUT, the save method is implemented in the base class CSGObject | 17:18 | 
| @HeikoS | which means in that code, you dont have access to members directly | 17:19 | 
| OXPHOS | HeikoS: Sure. they're all public? | 17:19 | 
| @HeikoS | OXPHOS: how would you access them? | 17:19 | 
| @HeikoS | the method is in CSGObject.cpp itself | 17:19 | 
| @HeikoS | OXPHOS: the only way to access things is through m_parameters | 17:20 | 
| OXPHOS | HeikoS: ahh I got it | 17:20 | 
| @HeikoS | OXPHOS: so you need to iterate through m_parameters | 17:20 | 
| @HeikoS | and the distinguish all the cases | 17:20 | 
| @HeikoS | 1.) single (basic & CSGObject=) | 17:21 | 
| @HeikoS | 2.) SG* (T=basic or CSGOBject) | 17:21 | 
| @HeikoS | OXPHOS: have a look at CSGObject::save_serializable | 17:22 | 
| @HeikoS | which calls | 17:22 | 
| @HeikoS | TParameter::save | 17:22 | 
| @HeikoS | and TParameter::save is the juicy one, where all the cases are at | 17:23 | 
| @HeikoS | you need to do something similar to this | 17:23 | 
| @HeikoS | and we should simplify on the fly | 17:23 | 
| @HeikoS | you will see that this method is pretty much doing the same as you kmeans version, but in the general case | 17:24 | 
| OXPHOS | HeikoS: sure. so I shall 1). clean up SGVectorCerealTest and 2). jump to SGObject/parameter? Or try kmeans first? | 17:25 | 
| @HeikoS | OXPHOS: not really a point in doing things explicit | 17:26 | 
| @HeikoS | as you see, if you can serialize kmean | 17:26 | 
| @HeikoS | thats it, you can only serialize that class | 17:26 | 
| @HeikoS | but we dont want to do this by hand for all the classes | 17:26 | 
| @HeikoS | Also check TSGDataType in DataType.h | 17:26 | 
| @HeikoS | there you have these 3 things | 17:27 | 
| @HeikoS | primitive type | 17:27 | 
| @HeikoS | structure type | 17:27 | 
| @HeikoS | container type | 17:27 | 
| @HeikoS | so I think the first step is to implement the save method for SGVector using cereal (you got that more or less already) | 17:28 | 
| @HeikoS | the next step is to read and understand the existing code a bit | 17:28 | 
| @HeikoS | and ask many questions :) | 17:28 | 
| @HeikoS | we should also talk to wiking soon on this | 17:29 | 
| @HeikoS | I gotta leave now, see you later | 17:29 | 
| OXPHOS | HeikoS: right..thx! I'll check closer | 17:29 | 
| OXPHOS | HeikoS: too sophisticated. But I guess I have to read through | 17:30 | 
| @HeikoS | OXPHOS: dont spend too much time in details | 17:30 | 
| @HeikoS | try to understand the TSGDataType thing | 17:30 | 
| OXPHOS | kk | 17:30 | 
| @HeikoS | its essentially just goes through all the cases | 17:30 | 
| @HeikoS | no container, no structure, only primitive | 17:30 | 
| @HeikoS | vector/matrix container, no structure, all primitives | 17:31 | 
| @HeikoS | and then sparse etc | 17:31 | 
| @HeikoS | so check the function calls | 17:31 | 
| OXPHOS | okay thx! | 17:32 | 
| @wiking | HeikoS: yo | 17:36 | 
| @HeikoS | wiking: ah jojo welcome back | 17:36 | 
| @HeikoS | wiking: was about to leave, but maybe we should discuss a few things | 17:37 | 
| @HeikoS | wiking: how are things? | 17:37 | 
| @HeikoS | look what I just found, hahaha http://www.demiurge.technology/ | 17:37 | 
| @HeikoS | wiking: lets talk later | 17:38 | 
| @HeikoS | really gotta go | 17:38 | 
| @HeikoS | ill be back in 2 hrs or so | 17:38 | 
| @wiking | ok | 17:38 | 
| @wiking | HeikoS: i'm UTC+8 | 17:38 | 
| @wiking | so i probably wont be online anyore :( | 17:38 | 
| @wiking | so from now on i'm again singapore timezone | 17:38 | 
| @wiking | OXPHOS: since i've got a lot of unread emails (as well from you) do you have a preference of list of pr/issues you want me to check on? | 17:39 | 
| @HeikoS | wiking: can talk tomorrow then | 17:39 | 
| @wiking | kk | 17:40 | 
| @wiking | sent you an email | 17:40 | 
| @wiking | plz answer that asap | 17:40 | 
| shogun-buildbot | build #29 of xenial - libshogun is complete: Failure [failed compile] Build details are at http://buildbot.shogun-toolbox.org/builders/xenial%20-%20libshogun/builds/29 blamelist: Heiko Strathmann <heiko.strathmann@gmail.com>, lambday <heavensdevil6909@gmail.com> | 17:41 | 
| OXPHOS | wiking: I'm good for now. I'll work sth out today and ping you again. :) | 17:41 | 
| @wiking | btw | 17:41 | 
| @wiking | have we merged the cmake detection to the branch? | 17:41 | 
| OXPHOS | wiking: yes | 17:42 | 
| @wiking | ah yeah we did cool! | 17:42 | 
| @wiking | thnx for doing the squashing | 17:42 | 
| -!- sanuj [~sanuj@117.204.240.143] has joined #shogun | 17:42 | |
| OXPHOS | wiking: np. I have an open pr but I'll clean it up first and show you. | 17:42 | 
| OXPHOS | lambday: there? unique_ptr still fails. | 17:43 | 
| @wiking | src/shogun/lib/CerealTest.h | 17:43 | 
| OXPHOS | https://gist.github.com/OXPHOS/89ad25db040852b5ea1add46d122a795 | 17:43 | 
| @wiking | thi sis still a test? | 17:43 | 
| @wiking | i mean i suppose you are moving this .h somewhere later? | 17:43 | 
| @lambday | OXPHOS: let me check | 17:44 | 
| OXPHOS | wiking: It's supposed to be in SGVector later. | 17:44 | 
| OXPHOS | lambday: thx | 17:44 | 
| @wiking | kk | 17:44 | 
| OXPHOS | wiking: somehow Math.h or whatever confused current load and this one | 17:44 | 
| OXPHOS | during compiling | 17:44 | 
| sanuj | lisitsyn, there? | 17:45 | 
| lisitsyn | yes | 17:45 | 
| @lambday | OXPHOS: try adding the instantiation for int in base? | 17:45 | 
| @lambday | as well as for gpuvector? | 17:45 | 
| sanuj | lisitsyn, i got the hashing work exactly the way we want in a dummy | 17:45 | 
| sanuj | was trying to do it in shogun | 17:45 | 
| sanuj | getting an error | 17:45 | 
| lisitsyn | what error? | 17:46 | 
| OXPHOS | lambday: just to be sure - you mean the template struct GPU_Vector<int32_t> right? | 17:46 | 
| @HeikoS | wiking: replied | 17:46 | 
| @lambday | OXPHOS: yeah | 17:46 | 
| sanuj | lisitsyn, http://pastebin.com/D6di2Ka1 | 17:47 | 
| OXPHOS | lambday: it is there..so lemme move base to cpp too | 17:47 | 
| @lambday | OXPHOS: let me try this in my machine | 17:47 | 
| lisitsyn | sanuj: C++ exception with description "Bad cast toint but the type is shogun::Any::Empty" thrown in the test body. | 17:48 | 
| sanuj | lisitsyn, yes | 17:48 | 
| sanuj | lisitsyn, happened while doing EXPECT_EQ(gauss_kernel->get(distance), 10); | 17:48 | 
| lisitsyn | sanuj: well need to check your code | 17:49 | 
| -!- HeikoS [~heiko@host-92-0-162-192.as43234.net] has quit [Quit: Leaving.] | 17:49 | |
| sanuj | lisitsyn, i'll push it on the pr | 17:49 | 
| arianepaola | hi wiking | 17:49 | 
| -!- HeikoS [~heiko@host-92-0-162-192.as43234.net] has joined #shogun | 17:49 | |
| -!- mode/#shogun [+o HeikoS] by ChanServ | 17:49 | |
| -!- HeikoS [~heiko@host-92-0-162-192.as43234.net] has quit [Client Quit] | 17:50 | |
| OXPHOS | lambday: I got the same error even if I had template struct BaseVector<int32_t> and BaseVector in .cpp | 17:52 | 
| -!- leagoetz [~leagoetz@nat-221-122.internal.eduroam.ucl.ac.uk] has joined #shogun | 17:55 | |
| @lambday | OXPHOS: works fine here - https://gist.github.com/lambday/123b97bfe6f15f98d0f7d24ce8dd35b5 | 17:56 | 
| @lambday | OXPHOS: please paste working code in gist | 17:56 | 
| sanuj | lisitsyn, https://github.com/shogun-toolbox/shogun/pull/3221 | 17:57 | 
| @lambday | OXPHOS: did it work? | 17:59 | 
| lisitsyn | sanuj: you didn't copy the hash | 17:59 | 
| lisitsyn | neither in copy ctor, nor in assignment | 17:59 | 
| sanuj | lisitsyn, oh, i'll fix it | 18:00 | 
| sanuj | missed them by mistake | 18:01 | 
| OXPHOS | lambday: on it | 18:01 | 
| sanuj | didn't have a copy and assignment constructor in my dummy | 18:01 | 
| OXPHOS | lambday: yes.. | 18:03 | 
| @lambday | OXPHOS: what was the issue :) | 18:03 | 
| OXPHOS | OXPHOS: how..Is there a difference between clang and g++? | 18:04 | 
| OXPHOS | lambday:^ | 18:04 | 
| @lambday | OXPHOS: I just checked with clang++ and even then it worked! | 18:05 | 
| OXPHOS | lambday: Yeah me too..so I'll remove all other stuff and put them back in bit by bit | 18:06 | 
| @lambday | OXPHOS: yeah that sounds good | 18:07 | 
| -!- travis-ci [~travis-ci@ec2-54-163-137-83.compute-1.amazonaws.com] has joined #shogun | 18:08 | |
| travis-ci | it's Heiko Strathmann's turn to pay the next round of drinks for the massacre he caused in shogun-toolbox/shogun: https://travis-ci.org/shogun-toolbox/shogun/builds/134158086 | 18:08 | 
| -!- travis-ci [~travis-ci@ec2-54-163-137-83.compute-1.amazonaws.com] has left #shogun [] | 18:08 | |
| shogun-buildbot | build #20 of FC23 - libshogun - aarch64 is complete: Failure [failed test] Build details are at http://buildbot.shogun-toolbox.org/builders/FC23%20-%20libshogun%20-%20aarch64/builds/20 blamelist: Heiko Strathmann <heiko.strathmann@gmail.com>, lambday <heavensdevil6909@gmail.com> | 18:28 | 
| -!- shogun-buildbot [~shogun-bu@7nn.de] has quit [Quit: buildmaster reconfigured: bot disconnecting] | 18:30 | |
| -!- shogun-buildbot [~shogun-bu@7nn.de] has joined #shogun | 18:31 | |
| -!- leagoetz [~leagoetz@nat-221-122.internal.eduroam.ucl.ac.uk] has quit [] | 18:42 | |
| -!- OXPHOS [9d8b131c@gateway/web/freenode/ip.157.139.19.28] has quit [Ping timeout: 250 seconds] | 18:50 | |
| -!- mizari [~mizari@95-174-213-100.nts.su] has quit [Quit: Leaving] | 18:53 | |
| -!- HeikoS [~heiko@host-92-0-162-192.as43234.net] has joined #shogun | 18:59 | |
| -!- mode/#shogun [+o HeikoS] by ChanServ | 18:59 | |
| @wiking | HeikoS: so how's ccache? | 19:35 | 
| @HeikoS | wiking: jo | 19:35 | 
| @HeikoS | it is better | 19:36 | 
| @HeikoS | BUT still annoys me | 19:36 | 
| @HeikoS | that I cannot isolate my unit tests | 19:36 | 
| @wiking | what's the output of ccache -s ? | 19:36 | 
| @HeikoS | eats like 10s time everytime I check something | 19:36 | 
| @HeikoS | 1. relinking of shogun 2. re-linking of unit tests | 19:36 | 
| lisitsyn | HeikoS: is it about runtime | 19:36 | 
| lisitsyn | or compile time | 19:36 | 
| @HeikoS | compiling is fine now due to ccache | 19:36 | 
| @HeikoS | even if I switch Debug/Release | 19:36 | 
| @HeikoS | cache size 4.0 Gbytes | 19:37 | 
| @HeikoS | max cache size 10.0 Gbytes | 19:37 | 
| @HeikoS | wiking: so all good with that | 19:37 | 
| lisitsyn | is it about running just a few tests? | 19:37 | 
| @HeikoS | lisitsyn: no I do that | 19:37 | 
| lisitsyn | is it about linking all tests? | 19:37 | 
| @HeikoS | it is about the fact that I cannot isolate my stuff: my classes and my tests | 19:37 | 
| lisitsyn | plugins | 19:37 | 
| lisitsyn | :D | 19:37 | 
| @HeikoS | but I think classes will be resoilved with plugiuns | 19:38 | 
| @HeikoS | yeah | 19:38 | 
| @HeikoS | and unit tests hopefully once the serialization is out | 19:38 | 
| @HeikoS | though I dont see that yet tbh | 19:38 | 
| @HeikoS | wiking: as we still need to test serialization right? | 19:38 | 
| @HeikoS | wiking: another thought I had about this was if we had two unit test binaries: one with automatically generated tests for all shogun classes (serialization, clone, etc) and one for the manually written ones | 19:39 | 
| @HeikoS | that would help | 19:39 | 
| @HeikoS | lol my shogun code is 1000x faster than my "clever" python code | 19:40 | 
| @HeikoS | lisitsyn: how are the plugins going? | 19:40 | 
| lisitsyn | HeikoS: well it is about parameters yet | 19:41 | 
| @HeikoS | parameters as in? | 19:41 | 
| @HeikoS | btw you should also tell OXPHOS how the serialization will be done once the parameter maps are ready | 19:41 | 
| lisitsyn | sure | 19:43 | 
| lisitsyn | HeikoS: well sanuj on his way to integrate generic parameters into sgobject | 19:43 | 
| lisitsyn | via map | 19:43 | 
| lisitsyn | and tags | 19:43 | 
| sanuj | lisitsyn, it's working now | 19:43 | 
| sanuj | :) | 19:43 | 
| lisitsyn | cool | 19:43 | 
| sanuj | i'm testing them with T = SGVector | 19:43 | 
| @HeikoS | lisitsyn: ah sooo good :) | 19:44 | 
| @HeikoS | sanuj: lisitsyn please tell OXPHOS that | 19:44 | 
| @HeikoS | because I told her to check Parameter.h | 19:44 | 
| -!- lambday [8028b10a@gateway/web/freenode/ip.128.40.177.10] has quit [Quit: Page closed] | 19:44 | |
| sanuj | HeikoS, yes i'll | 19:44 | 
| @HeikoS | sanuj: and you have a prototype right? | 19:45 | 
| @HeikoS | share it | 19:45 | 
| @HeikoS | and tell her that she can already think about cereal on this | 19:45 | 
| sanuj | HeikoS, yes but i used aer | 19:45 | 
| @HeikoS | thats fine | 19:45 | 
| sanuj | The PR is enough for the prototype now | 19:45 | 
| @HeikoS | just how the interface is | 19:45 | 
| sanuj | I need to add swig interface | 19:45 | 
| sanuj | which i will do tomorrow | 19:46 | 
| sanuj | which i will do tomorrow | 19:46 | 
| sanuj | oh sorry | 19:46 | 
| sanuj | lisitsyn, i think sgvector is causing some trouble | 19:49 | 
| sanuj | i'll look into this tomorrow | 19:49 | 
| lisitsyn | ok | 19:49 | 
| sanuj | gotta sleep | 19:49 | 
| sanuj | lisitsyn, what time will you be here tomorrow | 19:49 | 
| lisitsyn | probably starting from 8-9 UTC | 19:50 | 
| sanuj | okay | 19:50 | 
| sanuj | goodnight :) | 19:50 | 
| -!- sanuj [~sanuj@117.204.240.143] has quit [Remote host closed the connection] | 19:51 | |
| -!- HeikoS [~heiko@host-92-0-162-192.as43234.net] has quit [Quit: Leaving.] | 19:56 | |
| -!- travis-ci [~travis-ci@ec2-54-224-204-201.compute-1.amazonaws.com] has joined #shogun | 19:58 | |
| travis-ci | it's Heiko Strathmann's turn to pay the next round of drinks for the massacre he caused in shogun-toolbox/shogun: https://travis-ci.org/shogun-toolbox/shogun/builds/134191379 | 19:58 | 
| -!- travis-ci [~travis-ci@ec2-54-224-204-201.compute-1.amazonaws.com] has left #shogun [] | 19:58 | |
| -!- OXPHOS [9d8b1501@gateway/web/freenode/ip.157.139.21.1] has joined #shogun | 21:18 | |
| -!- lambday [56a397da@gateway/web/freenode/ip.86.163.151.218] has joined #shogun | 21:18 | |
| -!- mode/#shogun [+o lambday] by ChanServ | 21:18 | |
| OXPHOS | lambday: hey | 21:41 | 
| @lambday | OXPHOS: yo | 21:41 | 
| OXPHOS | lambday: aha you're still here! | 21:42 | 
| OXPHOS | lambday: so I changed the constructor you wrote to GPUVector(int a); | 21:42 | 
| OXPHOS | and did int main() { GPUVector<int> vec(5); return 0; } | 21:43 | 
| OXPHOS | got error: error: no matching function for call to 'std::unique_ptr<shogun::GPUVector<int>, std::default_delete<shogun::GPUVector<int> > >::unique_ptr(std::unique_ptr<shogun::GPUVector<int>::GPUArray, std::default_delete<shogun::GPUVector<int>::GPUArray> >)' | 21:43 | 
| @lambday | OXPHOS: as in, vector length 5 | 21:43 | 
| @lambday | ? | 21:43 | 
| -!- OXPHOS_ [9d8b1501@gateway/web/freenode/ip.157.139.21.1] has joined #shogun | 21:45 | |
| -!- lambday [56a397da@gateway/web/freenode/ip.86.163.151.218] has quit [Ping timeout: 250 seconds] | 21:48 | |
| -!- OXPHOS [9d8b1501@gateway/web/freenode/ip.157.139.21.1] has quit [Ping timeout: 250 seconds] | 21:48 | |
| OXPHOS_ | test | 21:49 | 
| -!- lambday [56a397da@gateway/web/freenode/ip.86.163.151.218] has joined #shogun | 21:49 | |
| -!- mode/#shogun [+o lambday] by ChanServ | 21:49 | |
| @lambday | OXPHOS_: works fine here | 21:49 | 
| OXPHOS_ | lambday: can I send you the exact scripts I'm trying to run and you try again? | 21:50 | 
| @lambday | OXPHOS_: yes.. | 21:51 | 
| @lambday | that's what I have been saying :D | 21:51 | 
| @lambday | upload/send exact thing :D | 21:51 | 
| OXPHOS_ | lambday: my bad .. https://gist.github.com/a70af5c8945befc8915d143e5c5d4b8e.git | 21:53 | 
| @lambday | OXPHOS_: you haven't instantiated GPUVector<int> yet | 21:55 | 
| @lambday | OXPHOS_: try this: put the main function in a separate file | 21:55 | 
| @lambday | instantiate the templates (maybe just for int/double) - put those within shogun namespace | 21:55 | 
| @lambday | instantiate the templates (maybe just for int/double) - put those within shogun namespace | 21:57 | 
| -!- lambday_ [56a397da@gateway/web/freenode/ip.86.163.151.218] has joined #shogun | 21:58 | |
| -!- mode/#shogun [+o lambday_] by ChanServ | 21:59 | |
| OXPHOS_ | lambday: done. | 21:59 | 
| @lambday_ | OXPHOS_: and? | 21:59 | 
| OXPHOS_ | lambday: sry 1sec | 22:00 | 
| -!- lambday [56a397da@gateway/web/freenode/ip.86.163.151.218] has quit [Ping timeout: 250 seconds] | 22:01 | |
| OXPHOS_ | lambday_: okay I updated the gist. Now I have the same error I had for the dot linalg | 22:02 | 
| @lambday_ | OXPHOS_: the instantiations have to be within the namespace :) | 22:04 | 
| @lambday_ | i.e., inside namespace shogun { .... } | 22:05 | 
| OXPHOS_ | I just threw the .cpp in namespace shogun{...} and updated the gist | 22:07 | 
| @lambday_ | OXPHOS_: works? | 22:07 | 
| OXPHOS_ | doesn't seem to help | 22:07 | 
| OXPHOS_ | the same error | 22:07 | 
| @lambday_ | strange! | 22:08 | 
| @lambday_ | let me download your code | 22:08 | 
| OXPHOS_ | thx | 22:10 | 
| @lambday_ | okay your version has an error.. my version didn't have.. | 22:12 | 
| @lambday_ | checking | 22:12 | 
| @lambday_ | OXPHOS_: https://gist.github.com/OXPHOS/a70af5c8945befc8915d143e5c5d4b8e#file-linalg-h-L22 | 22:17 | 
| @lambday_ | this should be std::unique_ptr<GPUArray> :P | 22:17 | 
| OXPHOS_ | ... | 22:18 | 
| OXPHOS_ | so sorry about this | 22:18 | 
| @lambday_ | OXPHOS_: don't worry | 22:18 | 
| @lambday_ | OXPHOS_: make sure it works | 22:18 | 
| OXPHOS_ | But in the "real" linalg code the unique_ptr was correct, and it still gave error.. lemme check again | 22:19 | 
| @lambday_ | OXPHOS_: yeah... | 22:20 | 
| @lambday_ | refactor one class (split into header+cpp), update the PR, repeat | 22:20 | 
| @lambday_ | make one changes at a time.. | 22:20 | 
| @lambday_ | should work | 22:20 | 
| OXPHOS_ | lambday_: do you want me to pull a new PR even if it doesn't work for me now? | 22:35 | 
| OXPHOS_ | lambday_: sorry a huge mistake. I didn't run main.cpp for the test case. | 22:40 | 
| OXPHOS_ | lambday_: https://gist.github.com/a70af5c8945befc8915d143e5c5d4b8e.git | 22:43 | 
| OXPHOS_ | error: invalid application of 'sizeof' to incomplete type 'shogun::GPUVector<int>::GPUArray' static_assert(sizeof(_Tp)>0, | 22:43 | 
| -!- travis-ci [~travis-ci@ec2-54-224-204-201.compute-1.amazonaws.com] has joined #shogun | 23:01 | |
| travis-ci | it's Heiko Strathmann's turn to pay the next round of drinks for the massacre he caused in shogun-toolbox/shogun: https://travis-ci.org/shogun-toolbox/shogun/builds/134233169 | 23:01 | 
| -!- travis-ci [~travis-ci@ec2-54-224-204-201.compute-1.amazonaws.com] has left #shogun [] | 23:01 | |
| @lambday_ | OXPHOS_: no it's better to update the existing PR for this one | 23:03 | 
| @lambday_ | OXPHOS_: why does the main function has to be within shogun namespace? | 23:04 | 
| OXPHOS_ | lambday_: it doesn't | 23:04 | 
| @lambday_ | OXPHOS_: https://gist.github.com/OXPHOS/a70af5c8945befc8915d143e5c5d4b8e#file-main-cpp-L2 | 23:05 | 
| OXPHOS_ | lambday_: yeah I know.. I just did copy-paste. will this harm anything? I'll change it now. | 23:07 | 
| @lambday_ | OXPHOS_: I don't think it will compile :/ | 23:07 | 
| OXPHOS_ | done. still the same error | 23:08 | 
| @lambday_ | OXPHOS_: anyway.. what do you mean by opening a new PR? | 23:08 | 
| @lambday_ | OXPHOS_: the current PR works, no? | 23:08 | 
| @lambday_ | whatever stuff that is there | 23:08 | 
| @lambday_ | so make a small change, compile and make sure it still works, commit, repeat | 23:09 | 
| OXPHOS_ | I just feel the current working PR and the opaque pointer I'm writing now is too different | 23:09 | 
| OXPHOS_ | i mean, if it works, there's no diff | 23:09 | 
| OXPHOS_ | but now for some reason it doesn't. so I have only the 'opaque pointer' part | 23:09 | 
| @lambday_ | OXPHOS_: the opaque ptr gists that we have been discussing is more or less a proof of concept thing.. the actual stuff has to go inside the PR :) | 23:10 | 
| OXPHOS_ | yes..but it still doesn't work.. | 23:10 | 
| @lambday_ | OXPHOS_: before making the opaque ptr change in the original PR you had, split the files first | 23:10 | 
| @lambday_ | make sure at least that works | 23:10 | 
| @lambday_ | because the original PR works, right? | 23:11 | 
| OXPHOS_ | right | 23:11 | 
| @lambday_ | so, split the file... | 23:11 | 
| @lambday_ | works? good.. no? check what went wrong.. | 23:11 | 
| OXPHOS_ | okay I didn't take that as a step. will do. | 23:11 | 
| @lambday_ | then make use of the dptr in the gpuptr | 23:11 | 
| @lambday_ | hehe don't worry the about the steps.. since you said it doesn't work.. I am just saying that doing things in small steps help us find out what is actually going wrong.. | 23:12 | 
| @lambday_ | and how to pinpoint the source of it | 23:13 | 
| @lambday_ | :) | 23:13 | 
| OXPHOS_ | sure. the raw pointer worked for me and I'll put it back for now. can you try the updated gist if you have time? | 23:13 | 
| lisitsyn | I heard raw pointer! | 23:14 | 
| @lambday_ | lisitsyn: sleep :P | 23:14 | 
| lisitsyn | sorry | 23:14 | 
| @lambday_ | lisitsyn: hehehe | 23:14 | 
| OXPHOS_ | bugged | 23:14 | 
| lisitsyn | raw pointer police | 23:14 | 
| OXPHOS_ | lisitsyn: they won't be merged | 23:15 | 
| @lambday_ | lisitsyn: don't hate 'em so much.. herb said they are perfectly good :D | 23:15 | 
| @lambday_ | OXPHOS_: which one you want me to try? | 23:15 | 
| lisitsyn | yes inside some functions | 23:15 | 
| @lambday_ | lisitsyn: yes | 23:15 | 
| @lambday_ | don't worry she's gonna use unique_ptr :) | 23:15 | 
| OXPHOS_ | lambday_: https://gist.github.com/a70af5c8945befc8915d143e5c5d4b8e.git | 23:15 | 
| OXPHOS_ | thx | 23:15 | 
| OXPHOS_ | now I kinda hate unique_ptr | 23:15 | 
| @lambday_ | OXPHOS_: noooooooo :'( | 23:16 | 
| lisitsyn | why so | 23:16 | 
| @lambday_ | don't hate | 23:16 | 
| lisitsyn | you gonna hate everything debugging your pointers :D | 23:16 | 
| @lambday_ | OXPHOS_: well, this is the previous code, with just main function, right? | 23:16 | 
| @lambday_ | or did you change anything else? | 23:16 | 
| OXPHOS_ | they're too "smart" | 23:16 | 
| OXPHOS_ | lambday_: I changed g++. nothing else | 23:17 | 
| @lambday_ | OXPHOS_: so this doesn't work with g++ ? | 23:17 | 
| OXPHOS_ | lambyday_: no I mean last time though I had main.cpp I was still running linalg.cpp... that's why there's no error | 23:18 | 
| OXPHOS_ | for the moment | 23:18 | 
| OXPHOS_ | I didn't change linalg.h / linalg.cpp. Just add a main function. | 23:18 | 
| @lambday_ | so why doesn't it work? you compile linalg.cpp, you compile main.cpp, you link both objects, voila | 23:19 | 
| OXPHOS_ | I did g++ -c -std=c++11 -I. main.cpp -lshogun | 23:19 | 
| @lambday_ | it didn't work? | 23:20 | 
| @lambday_ | interesting | 23:20 | 
| OXPHOS_ | got the error: invalid application of 'sizeof' to incomplete type 'shogun::GPUVector<int>::GPUArray' static_assert(sizeof(_Tp)>0, | 23:20 | 
| @lambday_ | okay let me check | 23:20 | 
| -!- travis-ci [~travis-ci@ec2-54-224-204-201.compute-1.amazonaws.com] has joined #shogun | 23:27 | |
| travis-ci | it's Heiko Strathmann's turn to pay the next round of drinks for the massacre he caused in shogun-toolbox/shogun: https://travis-ci.org/shogun-toolbox/shogun/builds/134236526 | 23:27 | 
| -!- travis-ci [~travis-ci@ec2-54-224-204-201.compute-1.amazonaws.com] has left #shogun [] | 23:27 | |
| @lambday_ | OXPHOS_: yeah there is an error.. let me check why.. | 23:33 | 
| -!- sonne|osx [~sonne@x5ce5a1c4.dyn.telefonica.de] has joined #shogun | 23:34 | |
| OXPHOS_ | lambday_: is it the same one? I shouldn't be glad about this, but kinda..relieved.. | 23:34 | 
| @lambday_ | OXPHOS_: yeah same error (downloaded your gist) :) | 23:35 | 
| OXPHOS_ | lambday_: Hope it's not caused by a stupid typo again..I did see that error from 15h ago | 23:36 | 
| OXPHOS_ | 17h | 23:36 | 
| @lambday_ | OXPHOS_: usually it is something stupid like that | 23:37 | 
| OXPHOS_ | :( | 23:38 | 
| @lambday_ | OXPHOS_: don't worry.. check a bit | 23:38 | 
| OXPHOS_ | thx | 23:39 | 
| --- Log closed Wed Jun 01 00:00:20 2016 | ||
Generated by irclog2html.py 2.10.0 by Marius Gedminas - find it at mg.pov.lt!