Author Topic: Hardware INFO wishlist  (Read 1365 times)

Raistlin

  • Member
  • ***
  • Posts: 259
Hardware INFO wishlist
« on: October 11, 2016, 05:22:42 PM »
Hiya - so I'am knee deep in my grid super-scalar and need to get a "developers wishlist" for what
information is generic/generalized enough for a professional programmer to target for maximum parallelism.
Short of rewriting commercial packages like CPUID/CPU-Z; oh wait - I did, in less than 12kb (Assembly ROCKS ! :P),
here's what I got so far, feel free to add to the wish list. Data structure size overhead for your application is foreseen
to be at implementation time = 300 bytes at present (currently reported).

1) Approximated CPU speed
2) CPU manufacturers string (supports all from 586 and up AMD/Intel/Cyrix/Texas Instruments etc)
3) CPU family related OEM codes (all)
4) CPU Physical Packages (NUMA support)
5) CPU Physical Cores
6) CPU Hardware threads
7) Windows Hardware threads reported (HT aware)
8.) APIC / x2APIC count and decomposition
9) Timing instructions supported
10) SSE1-SSE 4 /MMX /FPU / 3DNOW / AES / AVX-AVX512 Foundation / etc. <- generic computational importance (can't remember them all right now)
11) CPU Cache sizes from L1 Data/instruction split per core, down to L3 with all associations / cache line sizes
12) Windows OS version incl anything from 2000 to server 2016 tech beta - and all in between, server and workstation
13) Windows OS additional back end package codes and minor/major version numbers and service packs
14) NIC MAC address / IP address / Domain & FQDN / Gateway / DNS  <- targets first reported "cable connected"
15) HDD free space / HDD size <- only primary disk enumeration envisioned
16) Memory physical / utilized and available / max page sizes
17) Instanced software thread is "Run as Admin" or not
18) Dot(crap)NET version installed

And that is it...Please let me know. I'll post the DLL as soon as reasonably complete for beta testing. Code is subject to
ethics/copyright consideration as it forms part of a thesis (sorry). May-hap they will release me from such after I'am done.

sinsi

  • Member
  • *****
  • Posts: 1007
Re: Hardware INFO wishlist
« Reply #1 on: October 11, 2016, 07:43:33 PM »
Video? Monitor(s)?
I can walk on water but stagger on beer.

GuruSR

  • Member
  • **
  • Posts: 116
  • Assembler (6500, 68k, Intel), C(all), VB6, no .Net
Re: Hardware INFO wishlist
« Reply #2 on: October 12, 2016, 11:36:18 AM »
Just a thought, core temps, perhaps if available (now or in the future), core speed (forget if thats even exposed, I know unused cores on some processors do dial down to minimum to avoid temp increase, not sure if the m series on Intel do that or not, believe so).  SpeedStep is also annoying, good luck!   :badgrin:

Hard to find an ACCRATE core temp (all the one's I've tried, pretty much all of them, give varied results as apposed to the ASUS mainboard one that lists the core temps of the 4, been a while, not sure if it listed the clock per core though).

GuruSR.
Learned 68k Motorola Asm instruction set in 30 minutes on the way to an Amiga Developer's Forum meeting.
Following week wrote a kernel level memory pool manager in 68k assembler for fun.

Zen

  • Member
  • ****
  • Posts: 962
  • slightly red-shifted
Re: Hardware INFO wishlist
« Reply #3 on: October 13, 2016, 08:43:51 AM »
Quote from: RAISTLIN
...professional programmer to target for maximum parallelism,...
...Not quite sure what you're thinking here,...but,...the COM interfaces (WMI) that normally would provide such information could be a LOT MORE RELIABLE. The configuration data that populates the Registry, can be altered or deleted by ANY FOOL,...and, so,...it could be more reliably secured (something other than the standard Windows security mechanisms, How Security Descriptors and Access Control Lists Work, Technet).
Zen

Raistlin

  • Member
  • ***
  • Posts: 259
Re: Hardware INFO wishlist
« Reply #4 on: October 13, 2016, 04:55:11 PM »
Thanks Guys

I'am looking into:

Video display(s) + Monitor(s) attached <- per Sinsi  - probably a D3D9 lib call

RE: Speed Step = done !
RE: Core Temp = trying to avoid WMI & COM objects, maybe I'am a woos,
       saw something here someplace about interrogating an API to dump
       BIOS data into a data-structure and then derive such?

sinsi

  • Member
  • *****
  • Posts: 1007
Re: Hardware INFO wishlist
« Reply #5 on: October 13, 2016, 05:34:43 PM »
ATI/AMD and NVidia have SDKs to get all sorts of info from installed adapters and monitors.
NVAPI and ADL (AMD Display Library), free downloads.
I can walk on water but stagger on beer.

Siekmanski

  • Member
  • *****
  • Posts: 1145
Re: Hardware INFO wishlist
« Reply #6 on: October 13, 2016, 10:26:31 PM »
Maybe this is something you can use.
press F2 for video display info.

I'll have the sources on a computer not at home right now.
If you want the sources I can upload them tomorrow.

Raistlin

  • Member
  • ***
  • Posts: 259
Re: Hardware INFO wishlist
« Reply #7 on: October 13, 2016, 11:19:11 PM »
VERY nice as per usual Siekmanski !

I think I found the MSDN API reference for this - but would love to see what D3D9 code looks like
anyway. So code is always a good thing if you're not too attached to it. :icon_eek:

Siekmanski

  • Member
  • *****
  • Posts: 1145
Re: Hardware INFO wishlist
« Reply #8 on: October 13, 2016, 11:31:02 PM »
but would love to see what D3D9 code looks like anyway. So code is always a good thing if you're not too attached to it. :icon_eek:

No, my motto is Share & Enjoy.  :biggrin:

Siekmanski

  • Member
  • *****
  • Posts: 1145
Re: Hardware INFO wishlist
« Reply #9 on: October 14, 2016, 12:00:55 AM »
Found them,
The DirectX9 sources are 12 years old....
I personally don't use the bloating d3dx9.lib anymore but only the d3d9.lib and my own texture and math libs.

Here you can download all includes and libs plus some code examples:
http://members.home.nl/siekmanski/d3dx9_asm.zip

The D3d9_init sources see attachment

Gunther

  • Member
  • *****
  • Posts: 3518
  • Forgive your enemies, but never forget their names
Re: Hardware INFO wishlist
« Reply #10 on: October 14, 2016, 12:06:58 AM »
Hi Marinus,

Here you can download all includes and libs plus some code examples:
http://members.home.nl/siekmanski/d3dx9_asm.zip

The D3d9_init sources see attachment

impressive. :t Thank you for sharing the code and sources.

Gunther
Get your facts first, and then you can distort them.

Siekmanski

  • Member
  • *****
  • Posts: 1145
Re: Hardware INFO wishlist
« Reply #11 on: October 14, 2016, 12:12:17 AM »
Thank you Gunther,

SHARE & ENJOY !!!!

Gunther

  • Member
  • *****
  • Posts: 3518
  • Forgive your enemies, but never forget their names
Re: Hardware INFO wishlist
« Reply #12 on: October 14, 2016, 01:06:36 AM »
Marinus,

Thank you Gunther,

SHARE & ENJOY !!!!

oh yes, I will, I will.

Gunther
Get your facts first, and then you can distort them.