Slashdot Mirror


User: loufoque

loufoque's activity in the archive.

Stories
0
Comments
3,170
First seen
Last seen
Profile
(view on slashdot.org)

Comments · 3,170

  1. Re: Good bye source compatibility on Apple Announces New Programming Language Called Swift · · Score: 1

    None of the software your described requires more work on the UI than the rest.

    Image processing, simulation and spatialization in particular are domains requiring intensive computing, potentially involving some advanced algorithmics and math, which are much more challenging to engineer than writing glue code for user interaction.

  2. Re: Good bye source compatibility on Apple Announces New Programming Language Called Swift · · Score: 0, Troll

    You, sir, are part of the cancer destroying the UI of perfectly fine applications.

  3. Re: Good bye source compatibility on Apple Announces New Programming Language Called Swift · · Score: 1, Insightful

    If your frontend requires more work than your backend, then your app doesn't do anything useful.

  4. Re:Can Cyborg Tech End Human Disability By 2064? on Can Cyborg Tech End Human Disability By 2064? · · Score: 1

    Maybe in the USA, but don't forget other countries have a sane healthcare system.

  5. A decent laptop costs $3,000, not $300, especially if you intend to use it 8+ hours/day.

  6. How many errors with General Practitioners? on Wikipedia Medical Articles Found To Have High Error Rate · · Score: 0

    How is the error rate compared to General Practitioners? Surely you don't believe those guys never say any inaccuracy do you?

  7. Re: Blizzard Shizzard on Blizzard Sues Starcraft II Cheat Creators · · Score: 1

    That approach requires synchronous processing, all messages must be handled and they must be handled in order. It is extremely latency sensitive and would lead to lags.

  8. Shitty summary on Chrome 35 Launches With New APIs and JavaScript Features · · Score: 1

    Seriously, I don't think I could have made a worse one even if I tried.
    How about giving some useful information, or maybe something that would actually be newsworthy?

    "New Chrome version with new features"
    OMG! Who knew this version thingies meant they added features!?

  9. Re: PS3 Optimization: Parallelizing code 7 ways on The Technical Difficulty In Porting a PS3 Game To the PS4 · · Score: 1

    It's not fundamentally different than programming DSPs but for floating point. The Cell isn't that exotic.

  10. Re: Humans Can Not on US Navy Wants Smart Robots With Morals, Ethics · · Score: 1

    Killer robots allow to solve conflicts without sacrifice.

  11. Re: Not normally a social gamer, but ... on Ouya's Unsung Strength: Multiplayer For Parties · · Score: 1

    Even for simple games, skilled players do all of the winning. I consistently win at Mario Party for example.

  12. Re: Some people think split screen is obsolete on Ouya's Unsung Strength: Multiplayer For Parties · · Score: 1

    Playing online with consoles requires a dedicated subscription. I never quite understood why I should pay to be allowed to use my internet connection, and I suppose a lot of other people like me cannot play online with their console.

  13. Re: Is Diffie Hellman at risk? on Discrete Logarithm Problem Partly Solved -- Time To Drop Some Crypto Methods? · · Score: 1

    Knapsack is NP-complete.

  14. Confidentiality on Don't Be a Server Hugger! (Video) · · Score: 1

    Is the thing that prevents from going to cloud

  15. Re: Any material? on Autodesk Unveils 3d Printer As It Aims To Become Industry's Android · · Score: 1

    Printing with food has actually some pretty interesting applications: arbitrary shapes and sculptures that are edible + new dishes that are not possible with traditional techniques.

  16. Re:Just a decade ago. on WebKit Unifies JavaScript Compilation With LLVM Optimizer · · Score: 1

    If you have:

    out[i] = in[i]

    If out and in don't alias, it can batch them up and e.g. use some SSE things to copy faster.

    I didn't realize this sort of thing prevented vectorization, that might indeed be true.

    You still avoid the problem by writing it as this: (verbose, you might want to investigate another option)


    T in0 = in[i];
    T in1 = in[i+1];
    T in2 = in[i+2];
    T in3 = in[i+3];
    out[i] = in0;
    out[i+1] = in1;
    out[i+2] = in2;
    out[i+3] = in3;

    Why? often the compiler does a decent job, and I'd rather not do the compiler's job for it.

    It's my opinion that for algorithms to vectorize well, you need to design them with vectorization in mind. It's easier to do that when you program it explicitly.

    What do you recommend?

    I contribute to a library that provides an abstraction layer for SIMD (SSE, AVX, Altivec, etc.) called Boost.SIMD and that is currently part of the larger NT2 library, with plans of getting it included into Boost.
    There are other C++ libraries which provide similar abstraction layers.

  17. Re:Just a decade ago. on WebKit Unifies JavaScript Compilation With LLVM Optimizer · · Score: 1

    It's not just that: even without redundant loads, the optimizer needs to know about aliasing.

    Just write your code in a way where the compiler does not need to make guesses about who aliases who.
    Just load it once explicitly, problem solved.

    i.e. instead of


    out1[i] = in[i];
    out2[i] = in[i];

    write


    T value = in[i];
    out1[i] = value;
    out2[i] = value;

    This way, even if the compiler doesn't know that in and out1 don't alias, you only load once and not twice.
    This is the kind of optimization (it's called scalarization) that FORTRAN compilers will be able to perform reliably, and people have been using it to justify that FORTRAN is a superior language to C++.

    For the autovectorizer, the only way of getting around that is to do explicit loads with intrinsics, but that gets into non-portable and irritating territory. It's also necessary for any order altering stuff like autoblocking and strip mining.

    You should vectorize, unroll and pipeline explicitly if you really want it to happen. In C++ it's not hard with the proper tools, and it can be done generically and portably.

  18. Re:Just a decade ago. on WebKit Unifies JavaScript Compilation With LLVM Optimizer · · Score: 1

    I gather the $$$ commercial compilers are quite a bit ahead of GCC

    Of course when I'm speaking of FORTRAN compilers, I mean Intel and SGI.
    And they're not even really better than GCC or Clang in many cases.

    FORTRAN wins (last time I checked) more of the funny language shootout benchmarks than any other single language.

    It wins when you compare trivial syntactically equivalent code.
    The point in that when you use C++, you can do more than that.

    However, I do sometimes notice missing optimizations in C++. Especially if you're working with two float containers, e.g. an image of floats and a vector for storing stuff. There's no easy way of telling C++ that the two don't alias which is deeply irritating. I would love to be able to annotate the language to tell it about aliasing more precisely. You can see sometimes it's missed opportunities by examining the emitted asm code.

    There is a mechanism to annotate aliasing, it's the restrict keyword. It's not usable in all scenarios though. C++ compilers are pretty good at aliasing analysis now, so they should manage to deal with it without any annotation.
      Nevertheless if you really care about this, just perform memory loads and stores explicitly in your code instead of relying on optimizations removing the redundant memory loads you shouldn't have performed in the first place.

  19. Re: LOL on Microsoft Finally Selling Xbox One Without Kinect · · Score: 1

    This is literally the first time I hear of 'backpeddling', so your statement appears unfounded.

  20. Re:Or you could just you know... on Do Embedded Systems Need a Time To Die? · · Score: -1, Troll

    Why weren't you running Openwrt?

  21. Re:Just a decade ago. on WebKit Unifies JavaScript Compilation With LLVM Optimizer · · Score: 1

    Interestingly, there's one language out there which regularly benchmarks better than C++, and it's called FORTRAN

    It doesn't in real life.
    In practice, most of the production code written in C++ performs better than code written to solve the same problems in FORTRAN.

    I own a business dedicated to optimizing numerical and scientific code (including computer vision, your job), and we can beat FORTRAN any day. For naive code, it might be slightly better, but when you care about performance, you're going to want to be able to describe precisely how to maximize usage of the hardware. FORTRAN lacks both the low-level access needed for low-level optimization and the high-level access necessary to build higher-order parallelization and work distribution algorithms.

    FORTRAN capabilities to make the most of modern hardware are relatively poor, in spite of OpenMP or OpenACC solutions.

  22. Re:Additional benchmarks? on WebKit Unifies JavaScript Compilation With LLVM Optimizer · · Score: -1

    Huh? Webkit *is* Chrome.

  23. Re: Article just not true on Why Scientists Are Still Using FORTRAN in 2014 · · Score: 1

    R&D software engineers are not subject to IT managers.

  24. Re: Legacy Programmers on Why Scientists Are Still Using FORTRAN in 2014 · · Score: 1

    Not all scientific computing is governed by LAPACK. Even for the cases where it is, there are better numerical methods and parallelization schemes out there, it's actually possible to beat MKL in special cases.

  25. Re: Q: Why Are Scientists Still Using FORTRAN in 2 on Why Scientists Are Still Using FORTRAN in 2014 · · Score: 2

    Pretty much all scientific computing benefits from vectorization. All that's needed to use it is that the code performs the same operation on multiple values of data (SIMD).