Comments (7)
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.
@ekluzek We have another variable for testing with NTHRDS==1, FORCE_BUILD_SMP.
from cime.
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.
I can make it BUILD_THREADED.
from cime.
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.
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.
And thank you @jedwards4b for taking on this cleanup!
from cime.
Related Issues (20)
- tag head of maint-5.8_5.8.32 HOT 1
- Set mpirun to None when a single MPI task is being used (similar to handling of mpi-serial) HOT 6
- 'use --append' is not a valid value of the atomic type 'xs:NCName' for the cime w/t e3sm/maint-2.1 (2.0) HOT 3
- query_config --grids needs grid longname.
- query_config --components is broken
- Increase standard_name length in entry_id_pg.xsd HOT 5
- Where did one-letter case names come from? HOT 2
- list_e3sm_tests is partly broken
- regression test test_d_create_clone_new_user FAILS HOT 3
- testlist hangs when it should exit HOT 2
- Special characters in SRCROOT sometimes lead to build failures HOT 1
- Enhancement request: Use realpath when comparing namelists HOT 4
- error in timing makefile HOT 6
- --xml-test-list not working? HOT 1
- pelayout changes no longer working HOT 2
- xmlquery issue when values are set to match another variable HOT 25
- Create a set of helper functions for running customized functional tests/heuristics
- CIME 6.1.9 6.1.10 (current master) failing test_d_create_clone_new_user HOT 3
- REST_N specification in env_tests.xml
- dist_utils is depricated
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cime.