Will "Haswell" TSX instructions help chess program

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

tano-urayoan
Posts: 638
Joined: Thu Aug 30, 2007 8:23 pm
Location: San Juan, Puerto Rico

Will "Haswell" TSX instructions help chess program

Post by tano-urayoan »

"These new synchronization extensions are useful in shared-memory multithreaded applications that employ lock-based synchronization mechanisms. Thanks to TSX, specially written applications will run faster on multi-core/multi-threaded chips.

Intel TSX provides a set of instruction set extensions that allow programmers to specify regions of code for transactional synchronization. Programmers can use these extensions to achieve the performance of fine-grain locking while actually programming using coarse-grain locks. With transactional synchronization, the hardware can determine dynamically whether threads need to serialize through lock-protected critical sections, and perform serialization only when required. This lets the processor expose and exploit concurrency that would otherwise be hidden due to dynamically unnecessary synchronization."

Source: here

More: info
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: Will "Haswell" TSX instructions help chess pro

Post by bob »

tano-urayoan wrote:"These new synchronization extensions are useful in shared-memory multithreaded applications that employ lock-based synchronization mechanisms. Thanks to TSX, specially written applications will run faster on multi-core/multi-threaded chips.

Intel TSX provides a set of instruction set extensions that allow programmers to specify regions of code for transactional synchronization. Programmers can use these extensions to achieve the performance of fine-grain locking while actually programming using coarse-grain locks. With transactional synchronization, the hardware can determine dynamically whether threads need to serialize through lock-protected critical sections, and perform serialization only when required. This lets the processor expose and exploit concurrency that would otherwise be hidden due to dynamically unnecessary synchronization."

Source: here

More: info
My initial thought is "no". Chess programs do not share memory in the same way as other types of computations. In fact, we have to avoid it because each thread needs its own board and stuff to conduct its own private search...

It won't hurt, and might, on occasion, make something slightly more efficient. But no huge gain.