Giter Site home page Giter Site logo

BUILD_THREADED or SMP_PRESENT about cime HOT 7 CLOSED

jedwards4b avatar jedwards4b commented on September 18, 2024
BUILD_THREADED or SMP_PRESENT

from cime.

Comments (7)

cacraigucar avatar cacraigucar commented on September 18, 2024 1

CAM does not appear to currently use either of these. I do second the current thinking of using BUILD_THREADED as the the variable moving forward.

from cime.

jedwards4b avatar jedwards4b commented on September 18, 2024 1

@ekluzek We have another variable for testing with NTHRDS==1, FORCE_BUILD_SMP.

from cime.

billsacks avatar billsacks commented on September 18, 2024

I like the idea of consolidating these into a single variable. Would it be reasonable to keep BUILD_THREADED instead of SMP_PRESENT? I feel like BUILD_THREADED is a much more intuitive variable name – for me anyway.

from cime.

jedwards4b avatar jedwards4b commented on September 18, 2024

I can make it BUILD_THREADED.

from cime.

ekluzek avatar ekluzek commented on September 18, 2024

I certainly endorse reducing this to one. The CS side of me thinks that SMP (Shared Memory Parallelism) is more correct and general. But, I think that @cacraigucar and @billsacks are correct in that BUILD_THREADED is more understandable at first glance. I also think that one of the things you want to be able to do is to have BUILD_THREADED==TRUE even with NTHRDS==1, for certain types of debugging. So as long as you can do that.

Is there any history of why there are two? Is there some small difference between them? Not that you shouldn't consolidate, but always good to check if there was some reason for this, so it doesn't come back...

from cime.

billsacks avatar billsacks commented on September 18, 2024

Part of why I suggested BUILD_THREADED is that I always thought SMP stood for Symmetric MultiProcessing (e.g., see the top hits when you search for "computer science smp"). I don't actually know what that means, but it seems to have something to do with threading, so I convinced myself that there was some connection between Symmetric MultiProcessing and OpenMP-based threading, and never understood why we use this weird term. Erik's spell-out of Shared Memory Parallelism makes so much more sense... but then I'd still argue that this illustrates the problem with using SMP, in that it doesn't really tell you what it is and is open to misinterpretation.

from cime.

billsacks avatar billsacks commented on September 18, 2024

And thank you @jedwards4b for taking on this cleanup!

from cime.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.