AP .bin headers question

Message boards : Number crunching : AP .bin headers question
Message board moderation

To post messages, you must log in.

AuthorMessage
Profile petri33
Volunteer tester

Send message
Joined: 6 Jun 02
Posts: 1668
Credit: 623,086,772
RAC: 156
Finland
Message 1480401 - Posted: 21 Feb 2014, 21:30:57 UTC

With running a/the NVIDIA GTX780 card(s) and them having compute capability sm_35 ... I'm wondering where to get an updated NV openCL compiler(whatever) to translate the AP openCl source to a more recent version/architecture?

//
// Generated by NVIDIA NVVM Compiler
// Compiler built on Mon Sep 30 04:55:00 2013 (1380516900)
// Driver 331.13
//

.version 3.0
.target sm_30, texmode_independent
.address_size 32

.visible .shared .align 4 .b8 shr_1_sMem[4160];
.visible .shared .align 4 .b8 shr_2_sMem[4096];

.entry clFFT_1DTwistInterleaved(


To overcome Heisenbergs:
"You can't always get what you want / but if you try sometimes you just might find / you get what you need." -- Rolling Stones
ID: 1480401 · Report as offensive
Profile jason_gee
Volunteer developer
Volunteer tester
Avatar

Send message
Joined: 24 Nov 06
Posts: 7489
Credit: 91,093,184
RAC: 0
Australia
Message 1480416 - Posted: 21 Feb 2014, 21:56:59 UTC - in response to Message 1480401.  
Last modified: 21 Feb 2014, 21:58:41 UTC

The OpenCL compiler is in the driver, and triggered by app first runs (usually). Depending on how Raistmer made the internal compile logic, to regenerate probably you would just need to ensure you update driver and delete the .bin files, (equivalent to Cuda's computecache files). Some things may or may not depend on compilation parameters embedded in the app code.
"Living by the wisdom of computer science doesn't sound so bad after all. And unlike most advice, it's backed up by proofs." -- Algorithms to live by: The computer science of human decisions.
ID: 1480416 · Report as offensive
Profile petri33
Volunteer tester

Send message
Joined: 6 Jun 02
Posts: 1668
Credit: 623,086,772
RAC: 156
Finland
Message 1480425 - Posted: 21 Feb 2014, 22:15:09 UTC - in response to Message 1480416.  

Thank You Jason,

I'll try that. But before that I'll turn into a pumpkin and have some sleep. .. or get some more juice from the refrigerator and then come up with the results.

I'm betting on the sleep.

--
Petri
To overcome Heisenbergs:
"You can't always get what you want / but if you try sometimes you just might find / you get what you need." -- Rolling Stones
ID: 1480425 · Report as offensive
Profile Raistmer
Volunteer developer
Volunteer tester
Avatar

Send message
Joined: 16 Jun 01
Posts: 6325
Credit: 106,370,077
RAC: 121
Russia
Message 1480580 - Posted: 22 Feb 2014, 9:44:06 UTC - in response to Message 1480425.  
Last modified: 22 Feb 2014, 9:44:50 UTC

Cause there were some issues with some of ATi drivers new apps will be versioned by driver too (i.e., driver version in file name). With them bin removal will be unneeded. But if extension just .bin then removal required indeed. App will detect binary cache missing (little complain about in into stderr ;) ) and regenerate bin files.
SETI apps news
We're not gonna fight them. We're gonna transcend them.
ID: 1480580 · Report as offensive
Profile petri33
Volunteer tester

Send message
Joined: 6 Jun 02
Posts: 1668
Credit: 623,086,772
RAC: 156
Finland
Message 1480597 - Posted: 22 Feb 2014, 11:26:43 UTC - in response to Message 1480416.  

Hello again,

I tried deleting *bin*, answered y. The bin files were gone. Restarted. The bin files appeared, but still with exactly same header as in the original message.

Could there be an environment variable or a profile file for the nv opencl compiler to force some options?
To overcome Heisenbergs:
"You can't always get what you want / but if you try sometimes you just might find / you get what you need." -- Rolling Stones
ID: 1480597 · Report as offensive
Claggy
Volunteer tester

Send message
Joined: 5 Jul 99
Posts: 4654
Credit: 47,537,079
RAC: 4
United Kingdom
Message 1480600 - Posted: 22 Feb 2014, 11:43:20 UTC - in response to Message 1480597.  
Last modified: 22 Feb 2014, 11:49:27 UTC

I tried deleting *bin*, answered y. The bin files were gone. Restarted. The bin files appeared, but still with exactly same header as in the original message.

You're running Linux Nvidia OpenCL AP apps at Rev 1844 (so that's expected behavour), not Windows Nvidia OpenCL AP apps at ~r2136 where you would expect to see versioned bin files.

Claggy
ID: 1480600 · Report as offensive
Profile petri33
Volunteer tester

Send message
Joined: 6 Jun 02
Posts: 1668
Credit: 623,086,772
RAC: 156
Finland
Message 1480619 - Posted: 22 Feb 2014, 13:17:56 UTC - in response to Message 1480600.  

Yes, I know.

I do not need versioned file names, but I'd like to manage how the AP internal compiler call compiles the .cu file to .bin file.

I'd like to experiment with compiler options to see how they effect the code generation and possibly the speed of the code.
To overcome Heisenbergs:
"You can't always get what you want / but if you try sometimes you just might find / you get what you need." -- Rolling Stones
ID: 1480619 · Report as offensive
Profile Raistmer
Volunteer developer
Volunteer tester
Avatar

Send message
Joined: 16 Jun 01
Posts: 6325
Credit: 106,370,077
RAC: 121
Russia
Message 1480724 - Posted: 22 Feb 2014, 20:03:49 UTC - in response to Message 1480619.  

Are you sure there are .cu files generated ?

I would need to check with latest OpenCL manual from NV but last time I read it there was no options to chose particular architecture.
OpenCL runtime on NV much more limited than CUDA runtime/compiler.
It's a way nVidia goes - to promote own proprietary interface.

OpenCL 1.1 only for FERMI and Kepler... nonsense... but reality.
SETI apps news
We're not gonna fight them. We're gonna transcend them.
ID: 1480724 · Report as offensive
Profile petri33
Volunteer tester

Send message
Joined: 6 Jun 02
Posts: 1668
Credit: 623,086,772
RAC: 156
Finland
Message 1480734 - Posted: 22 Feb 2014, 20:39:54 UTC - in response to Message 1480724.  
Last modified: 22 Feb 2014, 20:43:11 UTC

Are you sure there are .cu files generated ?

I would need to check with latest OpenCL manual from NV but last time I read it there was no options to chose particular architecture.
OpenCL runtime on NV much more limited than CUDA runtime/compiler.
It's a way nVidia goes - to promote own proprietary interface.

OpenCL 1.1 only for FERMI and Kepler... nonsense... but reality.


I'm sorry. There is the .cl file that I can modify (and have done that).

The executable reads the .cl and produces the *bin* file.

What I'd like to control or interfere with is the production of the *bin*.

I'm asking "is there a way" to tell whatever pre/post/internal/middle compiler that "I want to change something"?

I'd like to do that by a) setting an environment variable or b) modifying a .profile file.

My machine is tweaked out to the max. My .cl, .cu and .cpp are modified as well.

How can I control the *bin* generation sequence?
To overcome Heisenbergs:
"You can't always get what you want / but if you try sometimes you just might find / you get what you need." -- Rolling Stones
ID: 1480734 · Report as offensive
Profile Raistmer
Volunteer developer
Volunteer tester
Avatar

Send message
Joined: 16 Jun 01
Posts: 6325
Credit: 106,370,077
RAC: 121
Russia
Message 1480772 - Posted: 22 Feb 2014, 22:01:12 UTC - in response to Message 1480734.  
Last modified: 22 Feb 2014, 22:01:20 UTC



My machine is tweaked out to the max. My .cl, .cu and .cpp are modified as well.

How can I control the *bin* generation sequence?


You have full access to code, look into GPUlock.cpp file.
There is part that responsible for kernels building.
There are options can be passed to OpenCL runtime compiler. Just add options you need there (requires executable rebuild now).
Cause there is not too much options to tweak I don;t feel it's worth to create some external interface to this via additional profile file or smth alike.
SETI apps news
We're not gonna fight them. We're gonna transcend them.
ID: 1480772 · Report as offensive
Profile petri33
Volunteer tester

Send message
Joined: 6 Jun 02
Posts: 1668
Credit: 623,086,772
RAC: 156
Finland
Message 1480857 - Posted: 23 Feb 2014, 6:55:10 UTC - in response to Message 1480772.  



My machine is tweaked out to the max. My .cl, .cu and .cpp are modified as well.

How can I control the *bin* generation sequence?


You have full access to code, look into GPUlock.cpp file.
There is part that responsible for kernels building.
There are options can be passed to OpenCL runtime compiler. Just add options you need there (requires executable rebuild now).
Cause there is not too much options to tweak I don;t feel it's worth to create some external interface to this via additional profile file or smth alike.



Thank You, now i know where to look.
To overcome Heisenbergs:
"You can't always get what you want / but if you try sometimes you just might find / you get what you need." -- Rolling Stones
ID: 1480857 · Report as offensive
Profile Raistmer
Volunteer developer
Volunteer tester
Avatar

Send message
Joined: 16 Jun 01
Posts: 6325
Credit: 106,370,077
RAC: 121
Russia
Message 1480866 - Posted: 23 Feb 2014, 7:49:08 UTC - in response to Message 1480857.  




Thank You, now i know where to look.


Please post your finding in this area if any will be. Your prev findings still pending in my list (now I'm in CPU AP as you could notice) but they definitely will be evaluated finally, thanks you again for sharing them.
SETI apps news
We're not gonna fight them. We're gonna transcend them.
ID: 1480866 · Report as offensive
Profile jason_gee
Volunteer developer
Volunteer tester
Avatar

Send message
Joined: 24 Nov 06
Posts: 7489
Credit: 91,093,184
RAC: 0
Australia
Message 1480867 - Posted: 23 Feb 2014, 7:52:16 UTC - in response to Message 1480866.  

Please post your finding in this area if any will be. Your prev findings still pending in my list (now I'm in CPU AP as you could notice) but they definitely will be evaluated finally, thanks you again for sharing them.


Petri33's a good one alright :) While I'm bogged down with Berkeley, NV and Mac stuff you can have him. I want him back after getting a few things sorted though :P
"Living by the wisdom of computer science doesn't sound so bad after all. And unlike most advice, it's backed up by proofs." -- Algorithms to live by: The computer science of human decisions.
ID: 1480867 · Report as offensive
Profile Raistmer
Volunteer developer
Volunteer tester
Avatar

Send message
Joined: 16 Jun 01
Posts: 6325
Credit: 106,370,077
RAC: 121
Russia
Message 1480869 - Posted: 23 Feb 2014, 7:58:11 UTC - in response to Message 1480867.  

LoL, come in list, only "live queue" (живая очередь) accepted :D
SETI apps news
We're not gonna fight them. We're gonna transcend them.
ID: 1480869 · Report as offensive

Message boards : Number crunching : AP .bin headers question


 
©2024 University of California
 
SETI@home and Astropulse are funded by grants from the National Science Foundation, NASA, and donations from SETI@home volunteers. AstroPulse is funded in part by the NSF through grant AST-0307956.