View Full Version : Wilbur vs. Thuban

Michael Morris
08-04-2010, 10:02 AM
Last night I fired Wilbur up on my new computer, a 6 core AMD Thuban processor OC'ed to 3.6 ghz and 8 gig of RAM. I tried to crash it by creating a huge map, but it happily worked with a map measuring 4096x2048 pixels. This works out to 6 pixels = 1 mile for the scale of that map and I don't think I want or need to see if it will work with a base size any larger. Getting an artpad this evening but it's been quite fun. Program seems much more stable than the last time I had free time to play with it about this time last year.

Also, does Wilbur make use of the GPU any? (I have a ATI 5087 chipset in it with 1 gig DDR 5 vram)

Steel General
08-04-2010, 01:50 PM
I can't answer this myself, but I'm sure Waldronate will be along shortly to provide an answer for you.

08-04-2010, 11:54 PM
4096x2048 isn't really that large. The 64-bit Wilbur version will go much, much larger than that (pretty much up to the limits of your patience). Wilbur doesn't use any GPU-specific elements at this time and probably won't unless I'm willing to abandon support for the older Intel chipsets that don't support at least OpenGL 2.0. It also doesn't support SSE2 yet because I didn't want o jettison the users still stuck with older Athlon XPs. However, I think it's about time to at least make the SSE2 transition.

08-05-2010, 06:50 AM
I may be wrong but if you compile for x64 then I thought you got SSE 1-2 or 3 by default - i.e. its not optional any more. So am I correct in saying that you only need to code SSE 1/2 for old x86 in 32 bit ?

Michael Morris
08-05-2010, 09:04 AM
Well, increased it up to where I was looking at 10px per mile, about 8000 wide and 4000 down. Fireworks screamed in pain and died having maxed it's 32 bit paging file out at 3.76 GB handling the file. I switched to Photoshop to get it to that size and Wilbur took it happily.

It's going to be a long redraw though, but this world is very old and very overdue for new maps.

08-05-2010, 10:55 AM
x64 does have SSE2 available, but the programmer has to enable the extended instruction set in the compiler. I think that there are few enough machines prior to Pentium 4 and Athlon 64 out there that lack of SSE2 won't be missed. I vaguely recall that using the Intel compiler would let me generate an executable that would work on any x86 feature set, but it's been a while and I have a foggy notion that some of the Wilbur code was doing things that caused that particular compiler to generate the wrong output.

The best overall option is to use OpenCL, but that's a lot of code and Intel's CPU-only and CPU/GPU implementations won't be out until next year at the earliest according to some discussions at SIGGRAPH this year. Plus, it's a lot of work to convert the code base and some of the algorithms (the precipiton erosion algorithm, for example) aren't particularly amenable to parallelization. I have lots of things to do already in terms of fixing code and adding certain useful features without working on performance.

08-05-2010, 01:58 PM
You sure - I know x86 you had to enable it and then it tied it to certain processors so it would fault on early x86 ones but I was fairly sure the x64 instruction set includes by default the SSE1 and 2 so there is no option on an MS compiler to enable them. I think the SSE3 is optional. I was under the impression that if you compile for x64 then you get the compiler speed up from the use of SSE 1 & 2 instructions with no options. Thats why I have not been all that interested in doing any SSE optimizations.

It was a shame that they binned the Larrabee cos that was supposed to be x86 in an array programmed under OpenCL which would have been perfect. So at mo were stuck with CUDA and AMDs OpenCL. I think I saw that nVidia has released OpenCL drivers without having to sign up to their dev program now. I agree that its a bit of a chore tho and too much hassle unless your real dedicated to making it work or its your day job / funded job to do it.

08-05-2010, 10:51 PM
The Wilbur VS 2010 solution doesn't have the "Enable Enhanced Instruction Set" option set by default; I had to go in and set it to "Streaming SIMD Extensions 2 (/arch:SSE2)". Whether the compiler is actually using this flag or not isn't something I checked into.

08-06-2010, 02:51 AM
Yeah, I've done 8192x4096 regularly in Photoshop in my mac. I've not been able to get up to that size in Wilbur. Perhaps that owes in part to the fact that I'm stuck with 32-bit Windows XP. Perhaps, someday, when I have more wealth and I've, you know, bought everything I want, I'll consider an upgrade to Win7.

08-06-2010, 02:54 AM
By the way, the Wilbur site appears to be down. I'm hoping that's because Mr. Slayton has it all bogged down uploading the latest upgrade of Wilbur. Doesn't hurt to hope.

08-06-2010, 07:39 AM
The Wilbur VS 2010 solution doesn't have the "Enable Enhanced Instruction Set" option set by default; I had to go in and set it to "Streaming SIMD Extensions 2 (/arch:SSE2)". Whether the compiler is actually using this flag or not isn't something I checked into.

Ok fair enough then. My VS compiler x86 has the option my x64 one does not. I just assumed that it didnt because it was mandatory. Im now wondering whether my x64 is using those instructions...