Exemple #1
0
int main( int argc, char** argv )
{
	arch_t id = bli_cpuid_query_id();
	char*  s  = bli_arch_string( id );

	printf( "%s\n", s );

	return 0;
}
Exemple #2
0
void bli_arch_set_id( void )
{
	// Architecture families.
#if defined BLIS_FAMILY_INTEL64 || \
    defined BLIS_FAMILY_AMD64   || \
    defined BLIS_FAMILY_X86_64  || \
    defined BLIS_FAMILY_ARM64   || \
    defined BLIS_FAMILY_ARM32
	id = bli_cpuid_query_id();
#endif

	// Intel microarchitectures.
#ifdef BLIS_FAMILY_SKX
	id = BLIS_ARCH_SKX;
#endif
#ifdef BLIS_FAMILY_KNL
	id = BLIS_ARCH_KNL;
#endif
#ifdef BLIS_FAMILY_KNC
	id = BLIS_ARCH_KNC;
#endif
#ifdef BLIS_FAMILY_HASWELL
	id = BLIS_ARCH_HASWELL;
#endif
#ifdef BLIS_FAMILY_SANDYBRIDGE
	id = BLIS_ARCH_SANDYBRIDGE;
#endif
#ifdef BLIS_FAMILY_PENRYN
	id = BLIS_ARCH_PENRYN;
#endif

	// AMD microarchitectures.
#ifdef BLIS_FAMILY_ZEN
	id = BLIS_ARCH_ZEN;
#endif
#ifdef BLIS_FAMILY_EXCAVATOR
	id = BLIS_ARCH_EXCAVATOR;
#endif
#ifdef BLIS_FAMILY_STEAMROLLER
	id = BLIS_ARCH_STEAMROLLER;
#endif
#ifdef BLIS_FAMILY_PILEDRIVER
	id = BLIS_ARCH_PILEDRIVER;
#endif
#ifdef BLIS_FAMILY_BULLDOZER
	id = BLIS_ARCH_BULLDOZER;
#endif

	// ARM microarchitectures.
#ifdef BLIS_FAMILY_THUNDERX2
	id = BLIS_ARCH_THUNDERX2;
#endif
#ifdef BLIS_FAMILY_CORTEXA57
	id = BLIS_ARCH_CORTEXA57;
#endif
#ifdef BLIS_FAMILY_CORTEXA53
	id = BLIS_ARCH_CORTEXA53;
#endif
#ifdef BLIS_FAMILY_CORTEXA15
	id = BLIS_ARCH_CORTEXA15;
#endif
#ifdef BLIS_FAMILY_CORTEXA9
	id = BLIS_ARCH_CORTEXA9;
#endif

	// IBM microarchitectures.
#ifdef BLIS_FAMILY_POWER7
	id = BLIS_ARCH_POWER7;
#endif
#ifdef BLIS_FAMILY_BGQ
	id = BLIS_ARCH_BGQ;
#endif
#ifdef BLIS_FAMILY_POWER9
        id = BLIS_ARCH_POWER9;
#endif

	// Generic microarchitecture.
#ifdef BLIS_FAMILY_GENERIC
	id = BLIS_ARCH_GENERIC;
#endif

	//printf( "blis_arch_query_id(): id = %u\n", id );
	//exit(1);
}