About Me
Michael Zucchi
B.E. (Comp. Sys. Eng.)
also known as Zed
to his mates & enemies!
< notzed at gmail >
< fosstodon.org/@notzed >
Yay
Had a bit of a victory today - after a kick in the nuts or two. Finally got some of my OpenCL code running with the correct results at a reasonable clip.
I spent most of the day working out why the results were wrong - partially because of a minor bug or three, but mostly because all of the synchronisation primitives don't work when you call a kernel function from another kernel function (at least in the ATI sdk). Wish I had have known that to start with ...
I think it's roughly 100x faster than the original java or c code (although I should quantify it), so that's a pretty penny in the bank, and I think there's a bit more I can squeeze out of it - let alone using beefier hardware. One of the keys was to use a native format for most operations - I take the input data which is in a packed byte format and convert it to floats, and then operate on those. The other key is to use local memory as a programmed cache to reduce the load on global memory. And finally to utilise registers as much as possible - once i've loaded data from memory re-use the data repeatedly before needing to go back to memory or running out of registers. The OpenCL api also has some nice queuing and job management which makes it easy to let the CPU do other work whilst the GPU is busy, without having to synchronise every operation - which is the real mind killer. And it goes without saying that the data is loaded once to the graphics card memory and all operations operate there until I get a result out (converted to the format I need).
I still haven't managed to get the image datatypes to work but I will keep trying as t should fit this problem well (and nice to see that the JOCL guys were quick to implement the missing api's to support them). Using arrays is a bit of a pita tbh - i've had to split my work 'tile' into multiple slices, and keeping track of where each of the work units (threads) within the work group ('process') gets hairier than a hippies armpits. Using the texture units should let me remove all of the manual cache code and messy address arithmetic - although whether it executes faster is the real test.
Sourdough 0.3 - Crusty Loaf Edition
Well, another week another attempt at sourdough, and much more success this time.
I probably didn't let it proof quite long enough because it was so cold - I gave it a good 4 hours, but after forming a loaf it managed to rise ok - although it took about 18 hours. I went straight from creating the dough to forming the loaf without an intermediate rise and that definitely worked better.
Given the cake yesterday took an extra 30 minutes to bake at what should have been the correct temperature, I ramped the oven setting up to over 200 to try to compensate. It was probably a bit hot and I cooked it a bit too long, but after 20 minutes I ended up with a pretty decent loaf of bread.
It is a little burnt at the back, but not so much it isn't edible. I put a large frying pan with hot water in the base of the oven to provide a bit of steam and the crust turned out a little shiny, and crunchy without being hard. Fairly even texture inside, no big bubbles, and although there is not a very strong sour flavour it tastes nice and bready.
Next time I might have to try proofing and raising the bread in a warming box so it doesn't take quite so long, and lowering the oven temperature a little bit (and watching it more closely).
Pumpkin Soup
Yes, another food post ... The old lady came to visit today and dropped off a small butternut pumpkin and a small pressure cooker. After growing some pumpkins myself last year I went off pumpkins a bit, and about the only thing I could think of was pumpkin soup, and it also gave an opportunity to try out the pressure cooker.
Fried up the pumpkin, some potato, onion, garlic, chillies, some keens curry powder and oil in a separate pot since this one was too small, and then threw it into the cooker. I grabbed some frozen stock from the fridge melted those in the microwave and added another chicken stock cube and poured that all in.
Cooked it for 10 minutes under pressure - once I worked out the rate of heat to charge it up. Blended it up with a little milk and pepper, and it was done. Turns out that one of the frozen stock blocks wasn't chicken after-all but some crab stock I made from the remains of some chilly crab I couldn't let go to waste. Glad I did, it really added something quite special.
And perhaps some desert? I bought some pears to widen my diet but they were so sweet and the texture so soggy I found them unpalatable. This cake (whose recipe is suspiciously like a nice apple cake recipe I have) looks the part but it's still cooling and seems a little fragile so far.
Omlette
Spent all afternoon in the garden, mowing the lawn and nature strip, sweeping up leaves, weeding, fertilising and watering all the pots, spraying some oil on the citrus. To finish the day off I made a nice variation of a Spanish Omelette for dinner, and it turned out ok even though I forgot a few ingredients.
Bacon, eggs, capsicum, a bunch of greenery from the garden (stinging nettles and sweet potato leaves), chillies, chives, pepper, fish sauce. Fried in a hot pan and then finished under the grill topped with cheese and spices. For something different I also put in a some limequat juice and chopped up rind (kumquat hybrid) which added a nice tang and some bitterness.
Ate the whole lot in one sitting! Well it was the only meal I had today.
Beanz Meanz ...
I was going to make some refried beans. So I soaked some red beans overnight, and then put them in a pot to simmer. And simmer ... and simmer.
After about 8 hours I ended up with this brown stuff. I found out later that I should've also added some salt and onions and garlic to add some more flavour, but I missed out this time.
I realised I didn't have enough onions to do the refried beans, so instead I made a variation on a Mexican breakfast dish "huevos tirados" as suggested by an old Mexican workmate Frederico.
Onion, bacon, eggs, chillies of course, together with the cooked beans, salt and pepper, all fried up with some oil. Topped with some fresh mint and basil collected from the garden. Even with the relatively bland unadulterated beans as a base it turned out quite tasty.
Frederico also suggested a pressure cooker and I might try that next time if I get hold of one. They're not terribly common here so tend to be a bit expensive, but mum said she might have an unused one in the shed.
I ended up cooking way too much of the beans and subsequently had beans for a few meals in a row, which was probably a bit of a mistake in hindsight. Emphasis on the hind bit.
Sourdough 0.2
I have this never-ending battle to try to bake decent bread. Results are very inconsistent and mostly quite poor, but one persists. The latest chapter has been sourdough, using naturally grown yeast.
I think my first attempt was a bit premature as the starter hadn't settled down properly yet and I only used plain wholemeal baking flour. For this second attempt I had a much more active starter, but hit some cold weather which adversely affected the final rising. I got quite an active proofing although it took all night to run, and after making the dough it rose fairly well although it took all day as well. But I think I made a mistake in punching down the dough and expecting it to rise again - after a very long time it barely went anywhere and I was starting to worry the whole lot would go off so I just baked it.
It might look the part, but it's about 1/2 of the size it should be. You could build roads with this.
I had trouble getting the right moisture level using the wholegrain flour too which seems a perennial problem when I can't remember how it was last time I did it.
Cheese & Rosemary Biscuits
I did some midnight baking a couple of days ago, and tried making cheese and rosemary biscuits this time.
It's mostly butter and cheese. It was very greasy. I added more flour than the recipe called for too, although since I used cheddar rather than parmesan it probably had a lot more grease to absorb. It's not that I didn't have parmesan handy, but it was easier grating the cheddar.
I don't think my oven is the correct temperature. The recipe called for 6-8 minutes but after 10 they were still quite not yet done. I cooked them a bit more to brown them up.
Once they cooled down they were quite tasty, the rosemary sharpens the cheese taste quite well. I added some chillies too for a little bite in the after-taste.
They were a little crumbly and fragile so not really a great biscuit, although they do 'melt in your mouth'.
Cheese & Chive Biscuits
I tried making some cheese and chive biscuits.
It looks like I added a bit too much garlic chives. And the food processor over-processed them.
And the garlic was a bit overpowering. The recipe called for oil and not butter, which seems wrong.
They look a lot better than they tasted. Very tough and too heavy, with a strange flavour. It was almost like a thick tough party-pie base. Not cheesy enough either, despite using plenty of parmesan.
Copyright (C) 2019 Michael Zucchi, All Rights Reserved.
Powered by gcc & me!