Comments (16)
Trying this for classes with partial specializations but can't seem to get it right.
from datatransferkit.
Assigning this to Damien. We can work on this together to speed up recompilation
from datatransferkit.
Ross Bartlett has add Trilinos ETI to the DTK configure. This has dramatically improved recompilation as we no longer need to rebuild all of the Tpetra objects.
from datatransferkit.
Remove all template types in classic unit tests that don't match internal types.
from datatransferkit.
We should have an ETI configure option that automatically turns on the right Tpetra instantiations. Several people have emailed with build errors regarding this.
Also need to revisit point cloud operator ETI.
from datatransferkit.
Looking at this first for point cloud operators as part of speeding up builds. Here is the first time on my laptop on 4 corse for building just DTK with the classic adapters (no other mesh adapters): 9m13.835s
Will report times after ETI added to point cloud operators
from datatransferkit.
Added ETI for a lot of point cloud and build times increased a bunch: 15m3.224s
What happened?
from datatransferkit.
weird
from datatransferkit.
Is it possible that you instantiate too many templates? Maybe you are instantiating templates that were not created before. Something else that you can do if one file takes a lot longer than the others is to split the instantiations so that several processors can work on it at the same time.
from datatransferkit.
Did you remember to hide the definitions when ETI is enabled (except for the .cpp file)? Otherwise you are just adding more builds of the same object. That's the only way I could see the times increasing with ETI.
from datatransferkit.
I did include the definitions in the CMake header list. Could this be the issue then?
from datatransferkit.
OK tried turning off more of the ETI and am getting this:
/Users/uy7/software/Trilinos/packages/tpetra/core/src/Tpetra_ConfigDefs.hpp:168:4: error: "Tpetra: No global ordinal types in the set {int, long long, long, unsigned long, unsigned} have been enabled."
error "Tpetra: No global ordinal types in the set {int, long long, long, unsigned long, unsigned} have been enabled."
However, we have unsigned long explicitly set...
from datatransferkit.
There is something weird with global ordinal and unsigned / unsigned long Try again with long long and see if it works
from datatransferkit.
I let it turn on LO=int and GO=int on its own. I'm sure that will work and this is just a bug in their default types from that Tpetra_ConfigDefs message. This should have been caught at configuration.
from datatransferkit.
Looking at Tpetra_ConfigDefs.hpp:164 I don't think that macro is getting set without input from the user configure
from datatransferkit.
Pull request #48 added ETI to the point cloud operators. We are planning future work for templating the code further and using ETI to manage that. Therefore I think we are done for now but we should review. Going to assign to @dalg24 for the review.
from datatransferkit.
Related Issues (20)
- Update copyright HOT 1
- Interface does not support gcc 8.2
- Update RTD hooks HOT 1
- Add Kokkos profiling regions to BVH HOT 3
- Tree visualization HOT 1
- Installing DTK with Libmesh Adapters HOT 19
- Are there any basic DTK example problems? HOT 2
- Using mesh-to-geometry integral assembly mapping HOT 1
- Compilation error when building DTK as part of Trilinos with DTK 3.1 HOT 17
- NearestNeighborOperator indexing error HOT 3
- NearestNeighborOperator_def.hpp search tree use inconsistent with ArborX_DistributedSearchTree.hpp HOT 3
- Spline Operator HOT 1
- MPI communicators and the least squares and nearest neighbor operators HOT 3
- Moving least square operator problem... HOT 9
- Update copyright year: 2019 -> 2020
- Decide on version to use for xSDK release HOT 9
- Compile error in DTK_SplineOperator_SERIAL.cpp HOT 2
- Compile error in ExodusProblemGenerator_def.hpp HOT 1
- Archive creation error - OSX 10.13.6 HOT 3
- Compile issue with Fortran bindings using IBM XL HOT 6
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 datatransferkit.