I am a newbie in the area of parallel programming and different models. I was wondering what is the difference between operations like "put" and "store" in languages that follow the PGAS model. Also, it would be very helpful for me if you can direct me to any appropriate resources. The ones I have been reviewing is not answering all my queries.
What are the differences between "put" and "store" in Partitioned Global Address Space Languages (PGAS) like UPC?
81 Views Asked by Mr. Nobody At
1
There are 1 best solutions below
Related Questions in UPC
- Compiling hybrid CUDA/MPI and CUDA/UPC
- UPC shared arrays
- UPC allocating dynamic array and sorting
- UPC error when running (reason: unable to open any HCA ports)
- Is there a way to get Visual Studio code to recognize the .upc file format?
- How to solve UPC Runtime error: out of shared memory
- Berkeley UPC compiler error upcc: error running '/bin/gmake --no-print-directory' to link application
- which network type should i use in UPC
- Unified Parallel C - examples and list of extensions
- MPI error due to Timeout in making connection to a remote process
- Problem running UPC code over a network : connecion refused
- Array of private pointers to shared array in UPC
- UPC Runtime error: out-of-range size for UPC_SHARED_HEAP_SIZE
- What are the differences between "put" and "store" in Partitioned Global Address Space Languages (PGAS) like UPC?
- can we instrument UPC code with PAPI API calls
Related Questions in GASNET
- Chapel - Problems With Multilocale Configuration of GASNET MPI substrate
- How to Configure Chapel/GASNet for running multilocale codes on MXM Infiniband network with Partition Key?
- Gathering info about GASNet communicative operations in Cray Chapel
- Chapel Gasnet unexpected EOF while looking for matching `''
- What are the differences between "put" and "store" in Partitioned Global Address Space Languages (PGAS) like UPC?
- How to compile the PMI support for running Chapel/GASNet on Omni-Path networks?
- Problems when using Chapel 1.19 along with GASNet PSM (OmniPath) substrate
- Multilocale Chapel: make check fails (GASNet: Invalid number of nodes: -nl)
- Where can I find documentation of gasnet collectives
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
In the PGAS model, a "put" operation generally moves data from memory with affinity to the caller (aka local memory), to shared memory (possibly with affinity to a remote peer). A "get" operation moves data in the opposite direction; from possibly remote shared memory to local memory. Together these operations are also referred to under the umbrella of Remote Memory Access (RMA).
There are a variety of mechanisms for synchronizing the completion of PGAS RMA operations (ie finding out when the operation is "done", for some appropriate definition of "done"); these range from "fully blocking" (ie the RMA injection call stalls the initiating thread until it is "done"), to various mechanisms for synchronizing non-blocking RMA operations (that enable overlap of unrelated work). Assuming a "one-sided" PGAS model, these usually share the property that the completion of the operation is accomplished by action of, or signal to, the caller (the initiating rank).
The term "store" is not used in a normative way by either UPC or GASNet (the tagged models). Other PGAS models may have specific meanings for "store". In particular, Split-C had a "signalling store" operation with the data movement semantics of a "put" but different in that the completion is signalled to the (possibly remote) rank with affinity to the target memory, instead of the initiating rank.