Intel ISA Extensions

pin-2.14-71313 and WinSock library

Hi,
I have a problem trying to start my pintool built with WinSock library (ws2_32.lib) - it immediately exits with message "Failure to open DLL file WS2_32.dll".
I've prepared a simple pintool to illistrate the problem:

//----------------------------------------------------------
#include "pin.H"

namespace WINDOWS
{
#include <Ws2tcpip.h>
void *p = WSAStartup;
};

int main(int argc, char *argv[])
{
if (PIN_Init(argc, argv)) return 1;
PIN_StartProgram();
return 0;
}

Intel 64 documentation bug

This is for Intel 64 and IA-32 Architectures Software Developer’s Manual, Order Number: 325462-053
US January 2015. Page Vol. 1 5-29.

5.19 64-BIT MODE INSTRUCTIONS
...
MOVZX (64-bits) Move doubleword to quadword, zero-extension

In fact 32 to 64 bit zero extension isn't supported as per Vol. 2A 3-583. It is only spec'd for r/m8 and r/m16.
There is a small chance that I'm misinterpreting that but then so is NASM which disallows this.
Somebody's wrong and so I'd like an official ruling.

How to work with AVX on windows

Hi,

I am interested in AVX instructions set using in my application for speed up.But i am new to AVX.

How can i know whether my system processor is able to support AVX or not?

My System Configurations as

OS; Windows 7 with 64-bit

CPU: Inter(R) Xeon(R) CPU  W3505 @2.53GHz.

Anybody can help me..

Thanks in Advance.

 

Is profiling information running on SDE accurate and trustable?

Hi,

         I am trying to look at AVX 512 performance, currently, I wrote a simple function for evaluation as below, I configured the optimization and enabled AVX-512 etc in the project properties setting(vs2013 integrated with Intel-parallel-studio ), and I see the AVX-512 instructions are used from the asm files generated by compiler.

void complexVectorConjMpy(float *inputPtr1, float *inputPtr2, float *outputPtr, int numData)
{
    int idxData;
    float data1Re, data1Im, data2Re, data2Im;

Measuring Core Voltage

I am using an Atom N2600 processor. The intel software developer's manual says that a p-state can be requested by writing to MSR 0x199 and the locked p-state can be seen in MSR 0x198. The way to compute Core Voltage is given as MSR_PERF_STATUS[47:32] * (float) 1/(2^13).

The data that I see in MSR_PERF_STATUS (MSR 0x198) is 62d104306001045. Bits [47:32] is always 1043 irrespective of the value that I set in MSR 0x199.

When I use the formula: 0x1043 = 4163. Voltage = 4163/(2^13)=0.5 V, which is a really low voltage for the processor to operate stably at.

why does _mm_mulhrs_epi16() always do biased rounding to positive infinity?

Does anyone know why the pmulhrsw instruction or

_mm_mulhrs_epi16(x) := RoundDown((x * y + 16384) / 32768)

always rounds towards positive infinity? To me, this is terribly biased for negative numbers, because then a sequence like -0.6, 0.6, -0.6, 0.6, ... won't add up to 0 on average.

Is this behavior intentional or unintentional? If it's intentional, what could be the use? Is there an easy way to make it less biased?

Lucky for me, I can just change the order of my operations to get a less biased result (my function is a signed geometric mean):

S’abonner à Intel ISA Extensions