Log in

izard's Journal

Recent Entries

You are viewing the most recent 25 entries.

31st May 2019

10:08am: This blog
I'm writing the blog in English because I type twice as fast this way than in Russian (yes I am improving...), and 90% of my friends and friends can read English any way. I answer comments in the same language they are posted.

I am trying not to post anything related to my employer, but if I do so, this expresses only my own views and does not represent an official position of my employer.

When I post about some technical topic which seems non trivial and is related to my employer's product, don't expect it to be inside information. If I post about it, it means that this info is already public. Usually I do not post any personal information or anything that is related to my family.

All photos are mine, and I allow anyone to copy, change, do anything you please with them. I don't post "friends only".

Useful tags are: software , idea , Deutschland, freediving and trip report

18th August 2016

3:27pm: Just not to forget
To create a cuda/tensorflow docker image that works on cuda8/1070, get cuda docker image, and run a script:
Read more...Collapse )
I am too lazy to turn it into a proper docker config.

17th August 2016

5:33pm: А чо, так можно было?
I just had the best experience ever in optimizing stuff for customers. If I measure by ROI, it greatly exceeds anything I did in my ~11 years of full time software performance work..

I got a customer call about a performance issue yesterday. A s/w engineer told me that he has a benchmark that uses his library and he absolutely needs to make it faster by N%. He used Intel Vtune to profile it, found that one of the functions in his library is the worst hotspot; it has CPI of 10+ and all kinds of stalls. Unfortunately the function is a big one so he does not know where to look. So I told him - "If you have Vtune results opened, double click on the function name.". So he did, and promised to call me today after he meditates a bit over results.

Today he called me back and told there is no issue any more - he had fixed everything.
So estimating the ROI: R - performance issue is resolved. I - nearly 0 (10 minutes phone call with a trivial suggestion ;) Of course I'll still report it to my boss as a "helped customer X to fix performance issue that helped project Y".

16th August 2016

10:41am: Рыжики.
Рыжики в лесу есть, но мы нашли только ежевику, малину, много белых груздей (собирать не стали), и, на фото -

Заячьи ушки.

3rd August 2016

1:02pm: Performance fix
Here is a simple patch I made at work last week (the code below is not real):

int insert_packet_hdr_to_ring_buffer(ring_buffer *buf, packet_hdr *pkt)
// here goes a complex logic for lock-free ringbuffer,
// in the end we have ringbuffer pointers updated and in *pkt_ptr there is a pointer
// to store the packet header
- *pkt_ptr = *pkt;
+ memcpy(pkt_ptr, pkt, packet_len);

return 0;

This change brought ~5% speedup to the benchmark, replacing copying structure that spans on 2 cache lines element by element to SIMD copy from libc.

28th July 2016

8:00pm: Этнографическое
Cool stats! Way to go.
Originally posted by vit_r at Этнографическое
Пришёл журнал германского общества информатиков. В статье, описывающей рынок труда диаграмма.

В индустрии с немецким паспортом 636 тысяч работников и 51 тысяча - без. Из них 51% не из ЕС.
5500 - Индия
2800 - Турция
2000 - Китай
8800 - прочие

Но первой идёт одна великолепная строчка:

7100 - Asylzugangsländer*

(Страны из которых приезжают беженцы)

А теперь смотрим список этих стран по сноске (*)
- Афганистан
- Албания
- Босния-Герцеговина
- Эритрея
- Ирак
- Иран
- Косово
- Македония
- Нигерия
- Пакистан
- Российская Федерация
- Сербия
- Сомали
- Сирия
- Украина

Короче, поздравляю всех отмеченных. (Беларуси нет. Видимо, попала в «прочие»)

22nd July 2016

4:12pm: A good cyberpunk book in Russin
"Бинарная плащаница" is a nice cyberpunk novel. It is a sequel/fanfic for "The enclaves" series by Panov. I think it is almost better than original series because it does not focus on a wrong kind of mysticism. I highly recommend it but only if you liked the originals. Unfortunately, it is impossible to read the book w/o good understanding of "The enclaves" universe and a plot of at least 2 last books of the series.

20th July 2016

11:25am: Freediving in Croatia
The weather was terrible and I caught cold, so I was only able to go freediving 3 times during last week in Pula.

Ppl were having fun. I was just passing this place on my way to reefs and caves.
Read more...Collapse )
All pics are in the album, not many this time.

19th July 2016

10:09am: VR experience.
Now I had more time to play with my new Rift.
1. Order of magnitude better immersion than with smartphone VR. With good content, immersion is nearly perfect.
2. When using WASD/controller for movement, I get sick quickly. For other means of transportations (teleports), it is all fine.
3. SDK works flawlessly, but even basic code in C++ seems too bloated.
4. It is very annoying that the controller works in SDK and "shell", but not in applications. It is a known problem everyone complains about, there are tons of workarounds but none works for me.
5. One thing that is missing is a generic 3-d world visualisation framework/API. There are some file system browsers, and that is it.
P.S. It is still an NBT. Not a huge one, but very important.

11th July 2016

8:06am: Zurich
Just got back from Zurich. It was my third time there, and the first time when I actually liked the city. Small detail: they seed numerous kinds of wild weeds and flowers all over tiny spots in the city center.

We went there for our friend's wedding actually.

That was my first experience as a wedding photographer and I managed to make ~10 decent pics (not including one above). It was especially difficult to be both a photographer and a wedding witness in a city hall ;)

5th July 2016

5:58pm: Putin is unser Freund - sagt..
Just a coincidence - I read this post and took this picture on Marienplatz:

30th June 2016

2:35pm: Неаккуратненько.
Julia just told me about an encounter with a typical german gentleman, ~50 y.o. She parked near his house (parking was allowed there), and he was staring at the car. She asked if everything is alright, and told him she will drive away in 10 minutes, and that she can park elsewhere if he needs this parking place.

His answer was: "No, it is ok for you to park here. But you see, you wheels are not perfectly aligned! Not good." Front right wheel was about 10cm further from a curb than rear right wheel...

20th June 2016

9:13am: Jacob - Kazanova
Jacob always liked girls.

This weekend, he was playing with a little girl (G) - 2.5 y.o. (Jacob (J) is now 2.0 y.o)
(J) - Пойдем туда, в комнату!
(G) - Нет!
(J) - Пойдем туда, в комнату! (Берет девочку за руку, тащит, та упирается, не идет.)
(Мама) - Зачем в комнату?
(J) - Массаж! (Девочка перестает упираться, заинтересовано идет с Яшей в комнату.)

17th June 2016

11:33am: Skylake news
Skylake is the currently selling CPU, and it is a good one. (I have it in my home desktop too).
But there is a small undocumented regression. It should not bother anyone, unless in very specific settings.

Here is the code to test it:
Read more...Collapse )
The code just reads RTC (but does not parse the output). On Broadwell, previous gen, it takes less than 1k cycles. On Skylake, it takes 200k-500k cycles. Why? If you would read MSR 0x34 (SMIs handled since boot) before and after the test on Broadwell, the increment will be 0. On Skylake, it would be 2.

So any IN or OUT operation on ports below 0xff are now handled in SMI. This is legacy IO that is rarely used in a modern OS, and even if it is occasionally used, ~10 microseconds delay would not affect performance. Unless you are trying to control equipment with 31.25 microsecond response time ;)

12th June 2016

1:05pm: Jacob speaks, 2yo
Jacob is few days short from 2 years old. Here is his thinking about future:
- Яша будет врач.
- А не инженер?
- Нет. Яша будет строитель.
- Что будет строить Яша, домики?
- Нет, Яша строить завод!
- А что за завод? Что будет производить завод, который ты построишь?
- Мотоциклы! .... И вертолеты.

9th June 2016

10:01am: Be right back!
Until end of 2016 (at least) I am back as the main realtime performance issues solver in Europe in our org.

Only in 50% capacity - the rest stays with NFV performance on Intel servers.

I already got a very nice embedded Skylake board on my desk, and a pipeline of performance issues to investigate and hopefully to resolve. Last 2 days I spent at customer factory wearing white doctor's coat, doing what I described to Jacob as "папа у клиента чинит робота. папа - инженер."

4th June 2016

2:59pm: PC troubles
No wonder PC sales are going down for 8 years in a row (I hope VR would change this trend, if not in units but in revenue)

But in my experience today high end PCs are less robust than in 90s and 2000s.

First, a motherboard of my new PC broke down after 1 week of operations. There were no apparent burns, and if I manually short PC_ON it starts CPU fan, but nothing else. Anyway, the board I got from US, it was cheap and it was not practical to return it.

So I went to south of Hauptbahnhof to buy a new MB: this time, MSI with Z170 chipset. I assembled it, and POST failed because of DRAM. OK, then I successfully booted with single DRAM module. Then with two DRAM modules. Then with all four modules, but I had to manually switch DRAM frequency from 2.6Ghz to 2.1Ghz. So now it works, but I am bitter as I paid premium for faster DRAM and can't use it at the marked speed.

30th May 2016

1:04pm: My new desktop.
My last desktop was Pentium 4 (Northwood) based, Gygabyte motherboard with Intel chipset, Nvidia graphics. I used it in 2002-2004.

Since that time, I never used desktops at home. (I had access to too many "fresher than new" dekstops at work, with maxed specs and stuff.)

But now I just got another one at home:

CPU is i7 6700K at 4.4Ghz (I bought it with a very big discount, unfortunately I am not allowed to disclose it).
The motherboard is GIGABYTE H170M-D3H. It is very cheap, and I don't mind the limitations of H170 chipset: having just one full speed PCIe slot (so no SLI) and limited overclocking (6700K is unlocked anyway).
Graphics card: waiting when 1070 is available...

The config is for VR, and also I noticed that even my trivial experiments with tensorflow take too long on my Macbook pro 2012; and I don't want to abuse my servers in a datacenter.

Upd: On overclocking, I am not a big fan, because reliability drops and desktop SKUs are already less reliable than server and embedded. Still, I installed a liquid cooler from Intel (value deal $ too, he-he) because Yulia asked me to make the system quiet, and with good cooling I have some headroom in CPU freq.

23rd May 2016

11:52am: Autobahns are great?
I am not very fond of driving. So next time we go north we can just take a train... with our car ;

Like this gentleman on a Porsche who took a train from Berlin or Hamburg and arrived to Munich in the morning. Cool service, is it?

21st May 2016

9:04am: Jacob speaks, again
Now at 1 year and 11 months, still zoo is the favourite subject to talk about.
- А в зоопарке.. Там лев! Придет к Яше. Опасно! Укусит Яшу лев! Папа расстроится... А мама придет и спасет!
- Ага, мама спасет от льва, и хобот ему оторвет.

19th May 2016

9:20am: Good article on V8
Here is a good one from mr_aleph, also some links in the comments. I am not interested in JS at all, but will look into Dartino.

17th May 2016

3:38pm: NBTs
There is nothing else around but VR, IOT and deep learning. And combinations of thereof like IOT+5G+Deep learning+autonomous driving.
Any additions?

13th May 2016

7:06am: Positive discrimination in the airport
I am in MUC airport now, waiting for my flight to Duesseldorf. Just had a funny moment recently.

When I was standing in a line for security control, two lines were merging before the X-ray machine. It was zip merge, as usual, and ppl in the end of the line were standing behind each other, located slightly closer towards a line they were coming from. When I was first in the line, I was invited to the X-ray machine, and then immediately a member of security stuff asked me to step back and give way to a passenger who was standing behind me in the line. I complied, and eventually asked why break a zip merge?

The answer was, I quote: "yes it is zip merge, but men should yield for wifes, so wifes have priority." Needless to say, my wife was not with me at the moment ;)

p.s. confusing "woman" and "wife" word is very common for German native speakers, even when their English is good.
Powered by LiveJournal.com