NVidia #CUDA deviceQuery on 13″ Macbook Pro Mid 2009: 16 cores

Just in case you wondered, here is what CUDA can give you on a 13 inch MBP from 2009. I am interested in your results PhilMac:release philippeback$ ./deviceQuery [deviceQuery] starting... ./deviceQuery Starting... CUDA Device Query (Runtime API) version (CUDART static linking) Found 1 CUDA Capable device(s) Device 0: "GeForce 9400M" CUDA Driver Version / Runtime Version 4.2 / 4.2 CUDA Capability Major/Minor version number: 1.1 Total amount of global memory: 254 MBytes (265945088 bytes) ( 2) Multiprocessors x ( 8) CUDA Cores/MP: 16 CUDA Cores GPU Clock rate: 1100 MHz (1.10 GHz) Memory Clock rate: 1064 Mhz Memory Bus Width: 128-bit Max Texture Dimension Size (x,y,z) 1D=(8192), 2D=(65536,32768), 3D=(2048,2048,2048) Max Layered Texture Size (dim) x layers 1D=(8192) x 512, 2D=(8192,8192) x 512 Total amount of constant memory: 65536 bytes Total amount of shared memory per block: 16384 bytes Total number of registers available per block: 8192 Warp size: 32 Maximum number of threads per multiprocessor: 768 Maximum number of threads per block: 512 Maximum sizes of each dimension of a block: 512 x 512 x 64 Maximum sizes of each dimension of a grid: 65535 x 65535 x 1 Maximum memory pitch: 2147483647 bytes Texture alignment: 256 bytes Concurrent copy and execution: No with 0 copy engine(s) Run time limit on kernels: Yes Integrated GPU sharing Host Memory: Yes Support host page-locked memory mapping: Yes Concurrent kernel execution: No Alignment requirement for Surfaces: Yes Device has ECC support enabled: No Device is using TCC driver mode: No Device supports Unified Addressing (UVA): No Device PCI Bus ID / PCI location ID: 2 / 0 Compute Mode: < Default (multiple host threads can use ::cudaSetDevice() with device simultaneously) > deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 4.2, CUDA Runtime Version = 4.2, NumDevs = 1, Device = GeForce 9400M [deviceQuery] test results... PASSED > exiting in 3 seconds: 3...2...1...done! While we are at it, here is the bandwidth test.   PhilMac:release philippeback$ ./bandwidthTest [bandwidthTest] starting... ./bandwidthTest Starting... Running on... Device 0: GeForce 9400M Quick Mode Host to Device Bandwidth, 1 Device(s), Paged memory Transfer Size (Bytes) Bandwidth(MB/s) 33554432 1563.6 Device to Host Bandwidth, 1 Device(s), Paged memory Transfer Size (Bytes) Bandwidth(MB/s) 33554432 1391.7 Device to Device Bandwidth, 1 Device(s) Transfer Size (Bytes) Bandwidth(MB/s) 33554432 5061.8 [bandwidthTest] test results... PASSED > exiting in 3 seconds: 3...2...1...done!  

Featured in SPaMCAST 198: Culture and Organizational Change

I've been interviewed by Thomas Cagley (@tcagley on Twitter) about culture and organizational change. Have a go at listening to the interview over here

Execution is everything. Ideas are nothing.

ID 10070171 Well, okay, an idea may be worth EUR 0.01, or $0.01. Given the EURUSD swings, it is hard to say with precision but it is sure not that much. Everyone has ideas. I’ve got a ton of ideas. My wife has truckloads of ideas. Great ideas, workable ideas, ideas that could be planned, ideas that could generate a lot of money, ideas that could change the world. Yeah. Great. Awesome.

But not worth much if not executed.

I’d already be a billionaire if I got paid based on how many ideas I can generate. But that’s not what counts. Just consider that an idea is worth zilch, zero, nada. You’ll be better off. You’ll be able to focus on the ideas that do matter to you. And then maybe execute them. But then, they shouldn’t be ideas.

They should be opportunities.

ID 10048934 An opportunity is something that has the potential to accrue value at a point in time. Once the opportunity is identified, now you have better chance on shaping something called “a business.” Until then, that’s just a bunch of ideas in la-la-land.

Now, here comes the hard part.

ID 10057422 You know the 99% chunk full of perspiration, the endless nights of rework, the moments when you just hate yourself for having embarked on that damn execution of your idea. The risk containment you’ll face, the cash-flow nightmares, the hard decisions. Because that’s a completely different territory over here. At the small scale, just something as this newsletter issue has to move from the idea down to the opportunity and then to the execution where it gets materialized. Things are going through your brain when you do this. In fact when you do anything. Things like asking yourself about what to write, about how to shape it. And getting it out of the door in due time (I’ve not always been stellar on this but if you stop after having missed the boat once, I can tell you that you’ll get stranded very fast!). Execution makes one face the harsh realities of a limited world that works in its own way. Ideas don’t face that. That’s why they aren’t that worth much if not executed. You know this guy, Steve Jobs? People call him “a genius.” Sure.

A genius in transforming ideas into finished, brilliant products.

Watch a bit of all of this in this video of Jobs and team at NeXT. I am typing this on a MacBook Pro, and switched my interest on OSX/iOS and Open Source away from Windows technology when it comes to software development. It is just better. Better in style, better in experience, developer of otherwise. Look in the video when he says that psychological and market realities are more important than what *he* wants. Windows has its space in the corporate environment, sure. But for innovative work, that’s not going to happen there. There are just too many internal turf wars inside Microsoft. It shows outside. And I don’t like what I see.

I vote with my attention.

Windows now is running inside a VM on the OSX box. As a subsystem. Ever remember Silverlight? It’s dead. .NET? Given the push on Windows 8 and tablets and WinRT, well, you just got the rug taken from under your feet. Again. Like with VS6, MFC, and ATL. No problem per se with .NET. Just that I am not going to commit my attention on that. I do have perfect partners for taking care of that should you need it (let’s get in touch if you need some BTW). Interestingly, earlier this week, I’ve been involved as an expert at the Microsoft Innovation Center in Mons for the Boostcamp initiative. I spent a while with two aspiring entrepreneurs with interesting ideas. We chitchatted about their project and I helped them with new angles and views, and some technological options that they could leverage. I wish them the best.

They are about to decide if they are going to cross the Rubicon.

In fact, they have their idea, materialized it somewhat. And now, they’ll have to decide if they commit to the execution. It is no wonder to me that they key word here is “execution.” There is a risk of getting a solid chunk of your assets killed in the process. Are you ready to take the plunge on the execution? If you are, I hope you are able to ask for help when you’ll need it. Because nobody has all the answers when it comes to execution. Before this rant runs for too long, let’s just remember what Aristotle said:
“We are what we repeatedly do. Excellence, then, is not an act, but a habit.”
As a consequence, extraordinary execution (and products/services/results coming out of such an execution) are merely the side effects of good habits. Habits of taking the high road and getting things done. What are you repeatedly doing? --Philippe       Images courtesy of http://www.freedigitalphotos.net

Insights into what #bigdata is and how to deal with it (by Sogeti’s VINT)

I attended Sogeti's event yesterday and it was a great. Lots of insights. Watch this vid that covers some of the discussed ground. I'd rather name all this "Big Insights" since that's what we are interested in as outcomes. Data is meaningless per se. My body is full of information but I don't need that at all, it handles itself. Maybe that's what we should target. Recorded Future from Sogeti VINT on Vimeo.

Improve your time management abilities with this simple realization

There are just too many things that are competing for your available attention. As a consequence, they cannot all win. That's why someone must be in charge to deal with who wins and who doesn't. It'd better be you if you want some sense of control against the ever mounting army.

Applying this to the swarm of objects coming down

Junk Did you ever had a solid and heated argument with your significant other or whoever you share a space with? Like in "Rhhaaa, there is your stuff invading the space again!" "Can't you just stop that?!" yada yada... Well, today's society is pushing stuff down to you all the time. So, instead of pushing all of the issues against other people, just realize that they are also in the same boat. Instead of complaining about someone else, just notice that the enemy is not the other person, but rather that you are both battling against "the stuff." There is just not enough time, don't spend it in unproductive battles. The true battle is against the ever mounting stuff.

Applying this to the task list

Headache Are you fond of task lists? I truly hate tasks lists. I used to do a ton of task lists. I even had software helping me put "scores" on things I had completed. But you know what? It never worked. No matter how hard I tried. Why so? Because tasks lists can just become endless. Ever heard of GTD? A lot of people using this are just shuffling lists like mad, and never get anything done anyway. That's the pinnacle of procrastination: being sucked in the tools that are meant to help you be productive. So what? Get rid of the tasks lists altogether. Use something much simpler: the  3 tasks that matter a day principle.

How does that work?

First of all, stop focusing on tasks and switch to goals. Focus on the goals, forget the tasks. You need to be clear on your goals. They give meaning, and meaning usually translates into energy. Energy that can get you out of the procrastination trap. Completing tasks is of course still important to do but there are many ways to reach a given goal, and keeping the goal first helps in being adaptable to circumstances. If you insists on tasks being done your way in a stubborn manner, well, forget about things going well for long, especially if you have to deal with other people.

Yeah, goals... what goals?

Don't overstretch yourself on this. Otherwise, you'll recreate the same problem. Just work along the lines of what usually matters and needs to be balanced to keep you alive and well. Get a task that matter for each of the following generic lines of goals:
  • Personal
  • Interpersonal
  • Business

Do that daily and plan at the end of the day

At the end of the day, just sit down at your desk and write down a task for each of the three lines of goals. Stick to one for each in order to keep a balance. Not taking care of personal tasks will make you a dull person very fast.

Do that on paper

Yes, do that on paper. It is much easier to redo, scratch over, and throw into the bin if you aren't satisfied. Computers and smartphones just lead you to do that much too neatly, to the point that you end up being afraid to trash it and restart. Paper and Coffee

Write down the time investment you are ready to commit to for each task

For each of the three entries, write down the time investment (use hours and half-hours as the maximum granularity). Like: Personal: get a haircut, 1 hour. Interpersonal: talk about holidays with significant other, 2 hours. Business: get proposal written down and sent to prospect: 2.5 hours. This all amounts to 5.5 hours. Given all the usual interruptions and chores to fit into the remaining time, you'll be happy to achieve such stuff, especially if you repeat it day after day.

Cross off tasks when done

Don't underestimate the power of slashing a task with your pen. Physically.  There. Done. Works for me, may work for you!

What to do with all the other tasks? I don't want to forget them!

Depends on what they are. For business related tasks that are related to each other, I would recommend that they belong to some project or recurring thing to do. But what matters is not the tasks, but rather what you want to achieve. Check out my sorting out the mess with a PBS video on YouTube for a view on things. So, I am using tools to deal with the projects. Things like Mantis for bug and new features on projects, Project Pier for following up projects and milestones. But there is really close to nothing on tasks. I am interested in bugs, and solve them. So, I'll plan a business "bug kill session" for a given day. Or I'll plan something like progress towards milestone "X": release candidate done. Milestones are a great thing since they are really geared towards results, outputs, and not focused on inputs and tasks. This gives a feeling of moving towards a goal instead of being overwhelmed under a sea of tasks you can only drown into.

Get into action

Take Action Easy enough right? Start today. This evening, write according to the 3 tasks that matter a day principle. You'll come a long way in no time. And as an added benefit, sticking to three will force you to work on them. No excuses. And once you become great at this, you can always make the tasks more challenging, or add more to each line of objectives. But first, prove to yourself that you can do the simple thing. Simple things are quite powerful: you cannot hide and must do.        

Images courtesy of FreeDigitalPhotos.net

Improving the performance of my Mac Book Pro with 8GB

Since I upgraded to OSX Lion, my machine just felt slow. Snow Leopard was running as smooth as silk with 4GB. I do a bit of Final Cut Express and this really didn't worked well at all anymore for example. Same story with Xcode once upgraded to 4.3. I checked my options and it turned out that I wasn't alone experiencing that issue. Two weeks ago, at the Pharo Conference in Lille, I saw how much better the same kind of machine performed with 8GB. So, time to upgrade.

Let's go shopping

First of all, let's get the hardware we need. As a preferred source, I use MemoryC. Delivery is ultra fast through their DHL Express option. I was pleased with my orders of an RunCore SSD when upgrading my Dell D430 and another OCZ SSD for upgrading my Acer Laptop. They do have a pretty easy to use memory configurator: MemoryC Configurator So, I ordered a pair of integral 4GB modules. ref IV3V4GNYBGX DDR3 4GB 1066MHz SODIMM. These were the ones I needed based on the About this Mac window. Make sure you get the right specced RAM or you'll be in for some nasty surprises. And don't buy direct from Apple, their RAM is just outrageously overpriced. Integral 4GB Modules Next step, get those in the box.

Opening the beast

Okay, we have to open the Mac. On that 2009 model, it is just a matter of removing some screws from the bottom of the case. The only thing is that you need a pretty fine screwdriver. And make sure your box is switched off before doing any of this. Mac Bottom Here it is, ready for some surgery. RAMLocation

Getting rid of the old

So, let's get rid of the old 2GB SODIMMs. Make sure you aren't loaded with static electricity when doing this. Here, you see the second SODIMM being removed. Removing RAM Here are the empty slots: Empty Slots

Fitting in the new

Just a matter of putting them in. Notice the shorted side of the connectors goes to the left. When taking the RAM out of their boxes, this means you need to turn them over. So, insert one... First SODIMM goes in and gently push it down. OneDown And two. Second goes in There is some springy feel to it. No worries, it will work smoothly. Second Goes In There, it is done! While I was at it, I just took a pic of the HDD of 250GB since it is becoming quite small. HardDisk250Apple I just happened to have a replacement but this will be for another time. Some people say that the 7200RPM Seagate Momentus 500GB is making the system vibrate. I'll be able to confirm if this is true or not in a future surgery of the system. Seagate 500 7200 RPM I was also wondering how the heat went out the Mac and this is how the grille looks from the bottom cover. By the way, there is a reason why 3 screws are bigger: they need to keep this grille in place. See the small hole on the left? Cover Grille

Reassembly time

Putting the cover back in please is super easy thanks to the fine engineering of Apple. Cover Back Just screw everything back in place and it is done. I used the packages to save the original 2x2GB modules. Save Modules Rebooting the Mac was all right. It took quite a while (don't know what this was doing) but got the screen back. And it runs with 8GB: 8GB And the Mac runs much more smoothly now. No matter how many apps I do open. MemoryMap I am not used to having so much green in the pie! So, basically a succesful upgrade for a fair price and very little time investment. A dramatic improvement indeed.