Our Interview (cont.)
It just depends on whether I have the time to build a decent app that I think people would find useful. I have naturally played with all SDKs from Palm, Windows CE to MeeGo but finishing a full-featured app (and maintaining it) would be a full-time job.
If I were to have started 5-years ago (not 15!) I would probably have written for iPhone/iPad or even Mac OS X. Perhaps one day I will ;))
What program features are you most proud of (or do you think are most useful?)
Benchmarks like Sandra's multi-core efficiency test are a great way to isolate performance metrics that matter -- even if they aren't commonly published test results
Porting the CPU benchmarks for (GP)GPU including APU testing (CPU+(GP)GPU) in all the GPGPU programming methods (CUDA, OpenCL, DirectX Compute Shader, STREAM) was a challenge. They should prove useful now that many modern and just about all future CPUs include a GPU; all modern programs, not just games, will need to harness both CPU+GPU for best performance – and measuring that should be useful.
I find client/server capability pretty cool: it’s even used when running on the same host! It’s a feature users screamed for years to be implemented and once it was I haven’t heard a pip! It must work really well and transparently that nobody notices it…
Have any vendors ever attempted to persuade you to use certain compilers (or techniques) that, in your own opinion, stepped over the line between 'Providing support' and 'Skewing results?'
I always try to see the other person’s point of view: everybody just wants their “best” – and the tools/techniques (if fair) are a way to obtain the best performance out of their product. If the results are the same and there is no artificial penalty there is no problem.
If SANDRA were a performance dependent product (e.g. game, productivity utility) you would see a benefit making it faster (i.e. more FPS, faster work completion time) but for a benchmark there is no gain whatever the score. So there is no benefit to “make it faster” for one product or another which is why I don’t use any vendor compilers.
Techniques are a different case: sometimes you may inherently optimize for an architecture simply because it was the first (e.g. Intel with SSE, AVX; AMD with x64); you may find upon testing new architectures that you have to modify it to work “well enough” for all or worst case have a different code-path using different techniques for a different product. It may or may not be from another vendor although it is more likely to be so.
We hope you enjoyed this interview with SiSoftware's Adrian Silasi. If you have any input or questions you'd like us to ask of Mr. Silasi, please let us know in the comments.