--- Log opened Fri Jan 04 00:00:38 2013 |
00:19 | | Orthia is now known as Reiv |
00:42 | | You're now known as TheWatcher[T-2] |
00:45 | | You're now known as TheWatcher[zZzZ] |
01:08 | | Reiv is now known as Orthia |
01:19 | | Derakon[AFK] is now known as Derakon |
01:31 | | Thrae [ircuser@Nightstar-7fbd3546.fios.verizon.net] has quit [[NS] Quit: Restarting client or something...] |
01:49 | | Derakon [Derakon@Nightstar-a3b183ae.ca.comcast.net] has quit [Client exited] |
02:02 | | mac [mac@Nightstar-fe8a1f12.il.comcast.net] has left #code ["Leaving"] |
02:04 | | Attilla [Obsolete@Nightstar-9e7fa2b2.range86-162.btcentralplus.com] has quit [Ping timeout: 121 seconds] |
02:47 | | ErikMesoy|sleep [Erik@Nightstar-be32adc8.80-203-17.nextgentel.com] has quit [Ping timeout: 121 seconds] |
03:20 | | Kindamoody[zZz] is now known as Kindamoody |
03:33 | | VirusJTG [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has quit [[NS] Quit: night all] |
03:47 | | Derakon [Derakon@Nightstar-a3b183ae.ca.comcast.net] has joined #code |
03:47 | | mode/#code [+ao Derakon Derakon] by ChanServ |
04:33 | | syksleep [the@Nightstar-7d752098.lnk.telstra.net] has quit [Ping timeout: 121 seconds] |
04:40 | <&Derakon> | https://github.com/munificent/vigil |
04:40 | <&Derakon> | "Infinitely more important than mere syntax and semantics are its addition of supreme moral vigilance. This is similar to contracts, but less legal and more medieval." |
04:40 | <&Derakon> | "Often, a function will require that parameters have certain desireable properties. A function in Vigil can state what it requires by using "implore". If a caller fails to provide valid arguments, it is wrong and must be punished." |
04:40 | <&McMartin> | Linked that earlier today |
04:40 | <&Derakon> | Ah, I missed it. |
04:41 | <&McMartin> | It's pretty pro |
04:41 | <&McMartin> | Keep reading if you haven't finished yet |
04:41 | <&Derakon> | I'm working my way through. |
04:41 | <&Derakon> | ...yep. |
04:42 | <&Derakon> | Every program can eventually be reduced to one line of code, that doesn't work. And then Vigil will delete it. |
04:43 | <&Derakon> | Hee. And when it runs, it appends a comment to the end of the source file with the crimes committed by various functions. |
05:28 | <~Vornicus> | that's 103% batshit |
06:31 | | ErikMesoy [Erik@A08927.B4421D.FE7332.A86588] has joined #code |
06:53 | | Derakon is now known as Derakon[AFK] |
08:46 | | Kindamoody is now known as Kindamoody|out |
09:14 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds] |
09:20 | | Vornicus [vorn@Nightstar-221158c7.sd.cox.net] has quit [[NS] Quit: ] |
09:21 | | Attilla [Obsolete@Nightstar-9e7fa2b2.range86-162.btcentralplus.com] has joined #code |
09:28 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code |
09:28 | | mode/#code [+o himi] by ChanServ |
09:33 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds] |
09:54 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code |
09:54 | | mode/#code [+o himi] by ChanServ |
10:01 | | Thalass is now known as Thalass|werk |
10:05 | | Thalass|werk [thalass@Nightstar-724ec5eb.bigpond.net.au] has quit [[NS] Quit: asplodey] |
10:07 | | RichyB [richardb@Nightstar-3b2c2db2.bethere.co.uk] has joined #code |
10:11 | | You're now known as TheWatcher |
14:52 | | celticminstrel [celticminst@Nightstar-e83b3651.cable.rogers.com] has joined #code |
14:52 | | mode/#code [+o celticminstrel] by ChanServ |
14:53 | <@iospace> | huzzah, broke the board! |
14:55 | <@Tamber> | Let out the magic smoke? |
15:10 | <@iospace> | no |
15:10 | <@iospace> | broke the BIOS |
15:11 | <@Tamber> | oops |
15:11 | <@iospace> | (intentionally of course) |
15:11 | <@Tamber> | oh |
15:12 | <@iospace> | yeah :P |
15:35 | | RichyB [richardb@Nightstar-3b2c2db2.bethere.co.uk] has quit [Ping timeout: 121 seconds] |
16:10 | | RichyB [richardb@Nightstar-3b2c2db2.bethere.co.uk] has joined #code |
17:23 | | Courage [Moltare@583787.FF2A18.190FE2.4D81A1] has quit [Ping timeout: 121 seconds] |
17:26 | | Courage [Moltare@583787.FF2A18.190FE2.4D81A1] has joined #code |
17:26 | | mode/#code [+o Courage] by ChanServ |
17:29 | | ErikMesoy1 [Erik@Nightstar-be32adc8.80-203-17.nextgentel.com] has joined #code |
17:29 | | ErikMesoy [Erik@A08927.B4421D.FE7332.A86588] has quit [Ping timeout: 121 seconds] |
18:45 | | Kindamoody|out is now known as Kindamoody |
18:54 | < ErikMesoy1> | Help, my mother has bought Windows 8. Yes, I know I should secretly replace it with Ubuntu and rename things :-P, but she's also bought a copy of Microsoft Office Professional Plus Pwhatever and I think there are limits to how much stuff I can switch without her noticing. What should I do to retain my sanity? |
18:54 | <@Tamber> | Run away. |
18:54 | <&McMartin> | What do *you* have to do with it? |
18:55 | < ErikMesoy1> | I have familial obligations. |
18:57 | <&McMartin> | ...to... |
18:57 | <&McMartin> | Like, are you also going to be a primary user or what |
18:57 | <&McMartin> | Or just required to help troubleshoot |
18:58 | <&McMartin> | "Use the Desktop mode all the time, it's basically Win7 but not quite as good, and Not Quite As Good As Win7 is actually still Very Much Pretty OK" |
18:58 | < ErikMesoy1> | Troubleshoot. I have my own computer. |
18:58 | < ErikMesoy1> | I guess I'll see about putting shortcuts to everything on the desktop, then, to avoid the Ipod Mode. |
18:58 | <&McMartin> | Well |
18:59 | <&McMartin> | The ipod mode start screen is actually pretty OK, and stuff in the start menu tends to Just Show Up Where You Need It if you use it alot. |
18:59 | <&McMartin> | If it doesn't, just start typing and it does the Win7 spotlight-a-like thing. |
18:59 | <&McMartin> | Except better, because for whatever reason, all imitations of spotlight are better than the original |
19:00 | < ErikMesoy1> | "stuff in the start menu" - how do I get that back? |
19:00 | < ErikMesoy1> | It has a power button where the start menu used to be, and no "Classic Mode" or anything on the start panel. |
19:01 | <@Tamber> | You don't, IIRC. |
19:01 | <&McMartin> | Wat |
19:01 | <&McMartin> | The power button is in the lower right |
19:01 | <&McMartin> | The start menu is in the lower left |
19:01 | < ErikMesoy1> | This Windows 8 has a power button in the lower left. |
19:01 | <&McMartin> | o_O |
19:01 | <&McMartin> | OK |
19:01 | < ErikMesoy1> | (in desktop mode) |
19:02 | < ErikMesoy1> | The lower left *single pixel* goes to the start *panel*. |
19:02 | <&McMartin> | In the Windows 8 *I* used clicking the lower left kicked you to the Start Screen |
19:02 | <&McMartin> | Yeah, it was a larger target when I used it |
19:02 | <&McMartin> | I'm saying the start panel is an improvement, with two caveats |
19:02 | <&McMartin> | (a) I use spotlight for damn near everything |
19:03 | <&McMartin> | (b) What I don't use spotlight for I use via the automatically maintained "recently used" buttons, and upping that from 4 entries to like 32 is a strict improvement in my book |
19:03 | <&McMartin> | In your setup I guess I suggest using the Windows key, but you might be able to convince yoru mom to put that power button shift-over thing on the right side instead where it was on my stock Win8 install |
19:04 | <&McMartin> | Having it on the right side is also better because IIRC that's where the wireless-connectino menu goes |
19:04 | <&McMartin> | That is different from Win7 but I can't meaningfully call it better or worse because it's just a wireless connection menu |
19:11 | | Kindamoody is now known as Kindamoody[zZz] |
19:15 | < ErikMesoy1> | Thanks. |
19:15 | <&McMartin> | If you're mostly going to be troubleshooting you're actually not in much trouble |
19:15 | <&McMartin> | Win8 under the hood is just a minor release on top of Win7 |
19:16 | | ErikMesoy1 is now known as ErikMesoy |
20:38 | <@Pandemic> | Windows 8 does have some improvements in infromation output of taskmanager |
20:38 | <@Pandemic> | I'll give it that much |
20:39 | <&McMartin> | The file-copy dialog is pretty neat too, with real-time performance graphs |
20:40 | | * Pandemic likes real time performance graphs |
20:40 | <@Pandemic> | now if we could just get installers to use them...... |
20:40 | <@Pandemic> | >.> |
20:42 | <&McMartin> | hmmm |
20:42 | <&McMartin> | I bet the NSIS CopyFiles command (which forwards to shell copy) would end up inheriting that |
20:42 | <@Pandemic> | hrm.... an interesting idea |
20:42 | <@Pandemic> | I do have a windows 8 test box I could monkey around with. |
20:43 | <@Pandemic> | now all I need is time to do said monkeying |
20:47 | <&McMartin> | Note that CopyFiles is relatively rare in installers; normally an NSIS installer instead decompresses data out of its own executable and just writes it directly to the target location. |
20:48 | <@Pandemic> | point |
20:58 | | Courage [Moltare@583787.FF2A18.190FE2.4D81A1] has quit [Ping timeout: 121 seconds] |
21:34 | | Alek [omegaboot@Nightstar-56dbba0f.in.comcast.net] has quit [Ping timeout: 121 seconds] |
21:36 | | Alek [omegaboot@Nightstar-56dbba0f.in.comcast.net] has joined #code |
21:36 | | mode/#code [+o Alek] by ChanServ |
22:02 | | * ToxicFrog returns from campus, where the other half of his defence committee has been unstinting with praise regarding the thesis |
22:02 | < ToxicFrog> | I'm feeling pretty good right now. |
22:06 | | VirusJTG [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has joined #code |
22:09 | <@TheWatcher> | \o/ |
22:16 | < ToxicFrog> | He said it was one of the best written theses he's ever read and he's greatly enjoying it. |
22:25 | < ErikMesoy> | Congratulations. |
22:26 | <@TheWatcher> | Lucky bugger >.> I just get the raeg inducing ones... |
22:39 | | ErikMesoy is now known as ErikMesoy|sleep |
22:40 | | Vornicus [vorn@ServerAdministrator.Nightstar.Net] has joined #code |
22:40 | | mode/#code [+qo Vornicus Vornicus] by ChanServ |
22:42 | < ToxicFrog> | TheWatcher: I can send you a copy of mine once it's done if you like~ |
22:43 | < ToxicFrog> | (he also said he thought most students here would not be able to accomplish a project of this magnitude, on an architecture this unfamiliar. That I think unlikely.) |
22:59 | <@himi> | What's it on? |
23:14 | < RichyB> | http://tinyurl.com/abbv6ex <- is a neat looking Turing machine. |
23:15 | < ToxicFrog> | himi: a port of the Pilot cluster computing API to a reconfigurable embedded image processing architecture without cache coherency |
23:17 | <@TheWatcher> | ToxicFrog: I'd love to see it, yes. |
23:18 | < RichyB> | ToxicFrog: Pilot is... CSP primitives implemented on top of MPI? |
23:19 | < ToxicFrog> | RichyB: yes |
23:19 | < RichyB> | What did you port it to? |
23:20 | < ToxicFrog> | With runtime deadlock detection and call tracing and other useful debugging features. |
23:20 | < RichyB> | Ooh |
23:20 | | * RichyB would not call implementing that anywhere a small feat. |
23:20 | < ToxicFrog> | (the port does not include the "on top of MPI" part. It's API-compatible but there is almost no shared code) |
23:20 | < ToxicFrog> | The IMAPCAR2, which you have probably never heard of. |
23:22 | < ToxicFrog> | 256MB of memory (in 16MB pages), 8MB of program EEPROM, one 133MHz processor with a 128-way SIMD array with 2k of on-chip memory per SIMD PE, reconfigurable at runtime to be 17-core/64-way SIMD or 33-core/no SIMD instead. |
23:22 | < RichyB> | I hadn't heard of Pilot either, and there didn't seem to much a great richness of google results for "pilot cluster api". |
23:22 | < ToxicFrog> | Yeah, sorry, "pilot mpi" is the best search key to use |
23:23 | < ToxicFrog> | It is relatively recent and does not see a lot of use outside the university (although it sees rather a lot of use inside, given that we are part of SHARCNET) |
23:23 | < RichyB> | Conversely, there's a wealth of information about IMAPCAR2 online because the vendor, NEC, seem to be pretty free about publishing its data sheets far and wide. ;) |
23:24 | < ToxicFrog> | Anyways, the cool part is the runtime reconfiguration - the SIMD PEs are arranged into 4-PE tiles which can switch between being four PEs or one secondary processor core |
23:24 | < ToxicFrog> | The ALUs of three of them become part of the FPU, the directly attached image memory becomes the data and instruction caches, etc |
23:24 | < RichyB> | Wow. |
23:25 | < ToxicFrog> | However, the part that makes you really want a message-passing API for concurrency is the fact that there is no coherency between caches and the cache line resolution is (if you want anything approximating useful performance) 512bytes. |
23:25 | < RichyB> | So you either have 17 units which each execute one ALU instruction on 64-wide SIMD registers, or 33 units which you just use as ordinary MIMD cores? |
23:25 | < ToxicFrog> | So you pretty much have to treat it as a local-memory system |
23:25 | < ToxicFrog> | (and use the interprocessor message ring for communication) |
23:26 | < ToxicFrog> | Not quite, in mixed mode only the CP, the "original" code, can access the array |
23:26 | < ToxicFrog> | So you get 1 core with 128 way SIMD, or 1 core with 64-way and 16 secondary cores with no SIMD instructions, or 33 cores without SIMD capabilities. |
23:26 | < RichyB> | ohhh |
23:27 | < ToxicFrog> | s/original code/original core/ |
23:27 | < RichyB> | Right, that makes much more sense. Thought you meant 17 cores with 64-ways each, which would be pretty impressive - rivalling many modern GPUs. |
23:27 | < ToxicFrog> | That would be badass but sadly is not the case |
23:27 | < ToxicFrog> | Anyways, I don't actually care about the SIMD array, I'm just here to make MIMD mode usable~ |
23:27 | < ToxicFrog> | But it's really cool nonetheless. |
23:28 | < ToxicFrog> | TheWatcher: I can upload the current version right now if you like, there's a bunch of edits pending from Dr. Grewal but not, it seems, anything particularly major |
23:28 | < RichyB> | Hah. |
23:30 | < RichyB> | ToxicFrog: so in full SIMD mode, you get one ordinary core (single instruction, single data) plus one SIMD (each instruction operates on 128 registers in parallel)? |
23:31 | < RichyB> | And the MIMD mode gets you 33 cores, with mixed mode giving you some SIMD and some MIMD? |
23:31 | < RichyB> | Egh anyway |
23:32 | < ToxicFrog> | Kiiiind of. You get one ordinary core, which directly controls the SIMD array and has multiple instruction dispatch units, so you can execute one instruction "inside" the core and another on the entire array at once |
23:32 | < ToxicFrog> | You can't treat them as independent cores, though, it's a single VLIW instruction stream being consumed by a single decoder |
23:32 | < RichyB> | the instruction streams for the single-core and the SIMD array are mixed? |
23:33 | < ToxicFrog> | Yes, think of it like a modern desktop processor where some instructions use internal SIMD hardware and some don't |
23:33 | < RichyB> | So it's VLIW, where each fetch-execute cycle executes one scalar and one vector instruction? |
23:34 | < ToxicFrog> | I think it's actually two scalar and one vector, but I'd have to double check |
23:34 | < ToxicFrog> | I didn't do much work at the assembly language level on this architecture |
23:35 | < ToxicFrog> | Anyways, as a practical matter, you treat SIMD mode like a platform with a C compiler that has some extensions for concisely expressing SIMD operations (which are then compiled into instructions for the SIMD array) |
23:35 | < RichyB> | The scalar bit is in-order pipelined, I guess? |
23:36 | < RichyB> | *nodnod* |
23:36 | < ToxicFrog> | In MIMD mode you get a bunch of processors that look mostly the same (and attempting to execute SIMD instructions at all is a runtime hardware exception) |
23:36 | < ToxicFrog> | In mixed mode you get pretty much the same thing, but SIMD instructions on the CP will actually work rather than aborting |
23:37 | < RichyB> | SIMD code looks something like, "vec128_t a, b, c; a = b + c;", right? |
23:43 | < ToxicFrog> | (there are #pragmas to tell it which mode you're in, so it won't try to emit SIMD instructions for a PU) |
23:43 | < ToxicFrog> | They have actually extended the language with new operators and type qualifiers, actually |
23:43 | < RichyB> | How does the no-cache-coherency thing work? |
23:43 | < ToxicFrog> | But something like that, yes. |
23:44 | < RichyB> | So, in a cache-coherent architecture, if two different cores try to touch the same address in memory, they play cache pong as they trade it back and forth. |
23:44 | < ToxicFrog> | Exactly as it says on the box. If PU0 updates a value in cache, it's not automatically written back to main memory until cache pressure requires that, and other processors with that value cached are not informed and continue to use the old value. |
23:45 | < RichyB> | If two different cores try to touch the same piece of memory on an incoherent arch, you get undefined behaviour because there's no telling when things get flushed? |
23:45 | < ToxicFrog> | When a cache writeback occurs, no attempt to reconcile edits is made; whichever processor writes last wins, even if no edits in that cache line actually conflict. |
23:45 | < ToxicFrog> | Well, as long as no-one is ever doing anything but reading it it's fine, but yeah, if someone's writing it's undefined when (if ever) other processors will see those writes |
23:46 | < RichyB> | How do you do synchronisations? Memory barrier instructions? |
23:47 | < ToxicFrog> | Depends. There's a few low-level instructions you can use to do things like wait for other cores to halt. Apart from that, you use messages - there's a 16-bit message ring connecting all of the cores. |
23:47 | < ToxicFrog> | Er |
23:47 | < ToxicFrog> | 16 bye |
23:47 | < ToxicFrog> | *byte |
23:47 | < ToxicFrog> | Each message is 4 bytes header + 12 bytes payload |
--- Log closed Sat Jan 05 00:00:53 2013 |