Comments (4)
That is an interesting question. I have not yet tried it myself. By default rsmpi
is dynamically linked to the system MPI library, so I suspect that the usual mechanism of LD_PRELOAD
ing a profiling library that intercepts the MPI performance tool interface would work.
Other forms of instrumentation that require certain compiler features or do source transformations are not likely to work.
As for what the actual results of the profiling would look like, I honestly could not say.
I will investigate further.
from rsmpi.
I just did some experiments and was able to successfully link mpiP into some of my examples. It seemed to pick up the MPI function calls performed by Rust code.
To build the examples with mpiP, I did
cargo rustc --verbose --example vector -- -L native=/directory/containing/libmpiP.so/ -l dylib=mpiP
I guess other profilers might achieve similar amounts of success. Does this answer your question?
from rsmpi.
Yes, thank you. I've tried Callgrind and VampirTrace with dynamic instrumentation, which seems to work. It would be interesting, if tools would work, that do the instrumentation on a binary level.
I probably will investigate this further. For now, I'll close this issue.
from rsmpi.
Good to know, thanks for reporting this. I would be interested to hear about the results of your further investigations also.
from rsmpi.
Related Issues (20)
- Add cargo-semver-checks
- Type Mismatch Safety HOT 18
- immediate_receive and count? HOT 1
- Error running example in docs HOT 2
- How to define my own structs from someone in my program for communication of MPI? HOT 12
- Add `#[inline(always)]` mark for common functions HOT 7
- `barrier()` not synchronizing correctly HOT 5
- macOS compiling error HOT 2
- Worlds and Universes: MPI_FINALIZE HOT 5
- Support for unit testing HOT 4
- Immediate send/recvs hang when the packets being sent are large HOT 16
- Can I send heap allocated data structures with the UserDataType API?
- Using dynamic reference to communicator HOT 12
- Implement Equivalence trait for complex types HOT 2
- Incorrect parsing of `-L` and `-I` paths in build-probe-mpi
- Support `MaybeUninit` HOT 3
- Why I can not compile “mpi-sys”? HOT 2
- Unstable with openmpi in Arch Linux, yet stable with MPICH from conda HOT 4
- clippy lint for derived `Equivalence` of struct with tuple fields HOT 2
- Cannot open include file: 'fficonfig.h' while building with msvc and ms-mpi HOT 10
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 rsmpi.