Integration of transactional memory support into a data-flow extension of OpenMP
ismail
aptaliso@gmail.com
Thu May 5 23:07:00 GMT 2011
On Wed, 2011-05-04 at 12:03 +0200, Patrick Marlier wrote:
---Sorry for the late response.
> Dear Ismail,
>
> On 05/03/2011 11:18 PM, ismail wrote:
> >> ++ First of all, MEMCPY and MEMSET functions do not include any
> >> transaction identifier (id) and transactions inside the LeeTM fails
> >> during transactional access to the memory. I think this case is also
> >> for tinySTM-0.9.9 and tinySTM-1.0.
> >>
> >> ++ tinySTM-0.9.9 has mem access functions with transaction handlers as
> >> the following
> >> ++stm_word_t stm_load(stm_tx_t *tx, volatile stm_word_t *addr);
> >> ++void stm_store(stm_tx_t *tx, volatile stm_word_t *addr, stm_word_t
> >> value);
> >> ++void stm_store2(stm_tx_t *tx, volatile stm_word_t *addr, stm_word_t
> >> value, stm_word_t mask);
> >>
> >>
> >> ++but tinySTM-1.0 does not . Your opinions on these different version
> >> of mem-access functions would be great.
>
> TinySTM 1.0 uses implicit transaction descriptor by default (same as
> 0.9.9) but you can compile it with EXPLICIT_TX_PARAMETER (Makefile) and
> then the transaction descriptor is explicit.
> But functions are the same from 0.9.9 to 1.0.0 so I don't really see the
> problem.
--- Yes . thanks for update , I remembered . Also I wrote the version wrong it is "0.9.0b1 release". There should be a parameter like EXPLICIT_TX_PARAMETER in trans-mem. Did you need a kind of parameter
--- while compiling the trans-mem branch ? For example to use trans-mem to transactify LeeTM (I am especially talking about the MEMSET and MEMCPY funcs. of trans-mem do not have transaction identifier while accessing to the mem.).
--- I am currently using the explicit function calls when I need transaction identifier as the following.
> >> ++My idea to convert from one version of mem-access function to
> >> another is as the following:
> >>
> >>
> >> ++ I think I have to make some explicit function calls as the
> >> following:
> >> ++ _ITM_transaction * td = _ITM_getTransaction();
> >> ++ int doWhat =
> >> _ITM_beginTransaction(td,pr_instrumentedCode,&txn_start_loc);
> >> ++ .....
> >> ++_ITM_transactionId cur_id = _ITM_getTransactionId();
>
> I do not understand that...
>
--- I tried to get transaction handler which does not ---have explicit
---descriptor where another function needs transaction ---descriptor as
---a parameter.
> >> ++ Of course , It would be great to share the study and results with
> >> you when I organize my study and all other things.
>
> I guess we will meet together at the EuroTM meeting in Paris.
>
---Yes that will be great for me to have a chance to talk and discuss
topics with you
> Patrick Marlier.
---Ismail KURU
More information about the Gcc
mailing list