![]() |
[QUOTE=Madpoo;494064]The raw results text gets stored as a varchar(1024) so if we keep it under that length, it would be okay in theory. I haven't seen how James implemented the parsing when a result comes in (I'd assume using some native PHP json parsing), but on the SQL side I'm using the native json features so it will essentially ignore anything I'm not specifically looking for. There would be certain *required* fields, for sure, but as far as including extra info, I guess we'd just want to test it and make sure.[/QUOTE]
Can we increase that column width? I just coded up a res2048 JSON field which adds ~520 characters to a PRP JSON message. |
[QUOTE=Prime95;494065]Can we increase that column width? I just coded up a res2048 JSON field which adds ~520 characters to a PRP JSON message.[/QUOTE]
George, how are you generating the res2048, at what iteration? what's the field called in JSON? and, did you settle on 2048 for size? |
[QUOTE=Prime95;494065]Can we increase that column width? I just coded up a res2048 JSON field which adds ~520 characters to a PRP JSON message.[/QUOTE]
You could reduce size to ~350 chars by using base64 instead of hex. Since this is a completely new thing, we don't have to worry about conventions. |
[QUOTE=preda;494066]George, how are you generating the res2048, at what iteration? what's the field called in JSON? and, did you settle on 2048 for size?[/QUOTE]
It is only generated at the end of the PRP test. I suppose I should generate it only for type 1 & 5 PRP tests. The field is called "res2048". |
V3.6 and worktodo-tmp.tmp
This was first reported in an earlier version (~1.9?). It's also occurring in other versions including V3.6, on gpuOwL-OpenCL on Windows.
On completing a primality test, while worktodo.txt still exists, a new worktodo-tmp.tmp is created without the just-completed assignment. Then instead of: 1) deleting worktodo.txt 2) renaming worktodo-tmp.tmp to worktodo.txt 3) testing the next assignment the program terminates, resulting in lost gpu computing time. User must 1) detect stoppage 2 delete worktodo.txt 3) rename worktodo-tmp worktodo.txt 4) relaunch gpuOwL Note, the program termination does not happen every single time a primality test is completed; occasionally it progresses to the next exponent. |
openowl v38-a7ef0e5 build attempt
[CODE]ken@condorella MINGW64 ~/v38test
$ g++ -O2 -c OpenGpu.cpp -o OpenGpu.o In file included from OpenGpu.cpp:2: OpenTF.h:17:16: error: 'uint' was not declared in this scope bool q1or7mod8(uint exp, uint c) { return !(c & 3) || ((c & 3) + (exp & 3) == 4); } ^~~~ OpenTF.h:17:16: note: suggested alternative: 'uint2' bool q1or7mod8(uint exp, uint c) { return !(c & 3) || ((c & 3) + (exp & 3) == 4); } ^~~~ uint2 OpenTF.h:17:26: error: 'uint' was not declared in this scope bool q1or7mod8(uint exp, uint c) { return !(c & 3) || ((c & 3) + (exp & 3) == 4); } ^~~~ OpenTF.h:17:26: note: suggested alternative: 'uint2' bool q1or7mod8(uint exp, uint c) { return !(c & 3) || ((c & 3) + (exp & 3) == 4); } ^~~~ uint2 OpenTF.h:17:32: error: expression list treated as compound expression in initializer [-fpermissive] bool q1or7mod8(uint exp, uint c) { return !(c & 3) || ((c & 3) + (exp & 3) == 4); } ^ OpenTF.h: In function 'bool isGoodClass(u32, u32)': OpenTF.h:22:26: error: 'q1or7mod8' cannot be used as a function return q1or7mod8(exp, c) ^ In file included from OpenGpu.cpp:2: OpenTF.h: In function 'float ghzDays(u64)': OpenTF.h:139:64: warning: left shift count >= width of type [-Wshift-count-overflow] float ghzDays(u64 ks) { return ks * (0.016968 * 1680 / (1ul << 46)); } [/CODE]so no OpenGpu.o, so no link to create an exe |
[QUOTE=kriesel;494085]This was first reported in an earlier version (~1.9?). It's also occurring in other versions including V3.6, on gpuOwL-OpenCL on Windows.
On completing a primality test, while worktodo.txt still exists, a new worktodo-tmp.tmp is created without the just-completed assignment. Then instead of: 1) deleting worktodo.txt 2) renaming worktodo-tmp.tmp to worktodo.txt 3) testing the next assignment the program terminates, resulting in lost gpu computing time. User must 1) detect stoppage 2 delete worktodo.txt 3) rename worktodo-tmp worktodo.txt 4) relaunch gpuOwL Note, the program termination does not happen every single time a primality test is completed; occasionally it progresses to the next exponent.[/QUOTE] Thanks for reminding me -- somehow I forgot about this issue. But now it should be fixed, please re-checkout the latest commit. And the other compilation issue too. |
First CUDA attempt on gpuowl V3.8
My first attempted cudaowl build, after a long battle to get a compatible set of VS and NVIDIA SDK downloaded and installed, on gpuOwL V3.8, MS Visual Studio 2017 (15.8), Win7 x64, CUDA toolkit v9.2, yielded the following[CODE]C:\users\ken\documents\gpuowl-cuda-build>nvcc -O2 -DREV=\"3aa5452\" -o cudaowl-V38-3aa5452-W64.exe CudaGpu.cu Gpu.cpp common.cpp gpuowl.cpp -lcufft
c:\users\ken\documents\gpuowl-cuda-build\common.h(12): error: expected a ";" c:\users\ken\documents\gpuowl-cuda-build\LowGpu.h(53): error: identifier "u128" is undefined c:\users\ken\documents\gpuowl-cuda-build\CudaGpu.h(18): error: identifier "uint" is undefined c:\users\ken\documents\gpuowl-cuda-build\CudaGpu.h(18): error: identifier "uint" is undefined c:\users\ken\documents\gpuowl-cuda-build\CudaGpu.h(45): error: identifier "uint" is undefined c:\users\ken\documents\gpuowl-cuda-build\CudaGpu.h(46): error: identifier "uint" is undefined c:\users\ken\documents\gpuowl-cuda-build\CudaGpu.h(46): error: identifier "uint" is undefined c:\users\ken\documents\gpuowl-cuda-build\CudaGpu.h(52): error: identifier "uint" is undefined c:\users\ken\documents\gpuowl-cuda-build\CudaGpu.h(53): error: identifier "uint" is undefined c:\users\ken\documents\gpuowl-cuda-build\CudaGpu.h(71): error: identifier "uint" is undefined c:\users\ken\documents\gpuowl-cuda-build\CudaGpu.h(75): error: identifier "uint" is undefined c:\users\ken\documents\gpuowl-cuda-build\CudaGpu.h(76): error: identifier "uint" is undefined c:\users\ken\documents\gpuowl-cuda-build\CudaGpu.h(91): error: identifier "uint" is undefined c:\users\ken\documents\gpuowl-cuda-build\CudaGpu.h(102): error: identifier "uint" is undefined c:\users\ken\documents\gpuowl-cuda-build\CudaGpu.h(107): error: identifier "uint" is undefined c:\users\ken\documents\gpuowl-cuda-build\CudaGpu.h(111): error: identifier "uint" is undefined c:\users\ken\documents\gpuowl-cuda-build\CudaGpu.h(220): error: no instance of function template "carryA" matches the argument list argument types are: (u32, double4 *, int4 *, long *, double4 *) c:\users\ken\documents\gpuowl-cuda-build\CudaGpu.h(238): error: no instance of function template "carryA" matches the argument list argument types are: (u32, double4 *, int4 *, long *, double4 *) c:\users\ken\documents\gpuowl-cuda-build\CudaGpu.h(240): error: no instance of function template "carryA" matches the argument list argument types are: (u32, double4 *, int4 *, long *, double4 *) c:\users\ken\documents\gpuowl-cuda-build\CudaGpu.h(260): error: no instance of function template "carryA" matches the argument list argument types are: (u32, double4 *, int4 *, long *, double4 *) c:\users\ken\documents\gpuowl-cuda-build\CudaGpu.h(262): error: no instance of function template "carryA" matches the argument list argument types are: (u32, double4 *, int4 *, long *, double4 *) c:\users\ken\documents\gpuowl-cuda-build\LowGpu.h(60): error: identifier "u128" is undefined detected during instantiation of "<error-type> LowGpu<Buffer>::residue FromRaw(const std::vector<int, std::allocator<int>> &, int) [with Buffer=int *]" c:\users\ken\documents\gpuowl-cuda-build\CudaGpu.h(379): here c:\users\ken\documents\gpuowl-cuda-build\LowGpu.h(68): error: identifier "u128" is undefined detected during instantiation of "<error-type> LowGpu<Buffer>::residue FromRaw(const std::vector<int, std::allocator<int>> &, int) [with Buffer=int *]" c:\users\ken\documents\gpuowl-cuda-build\CudaGpu.h(379): here 23 errors detected in the compilation of "C:/Users/Ken/AppData/Local/Temp/tmpxft_00003e88_00000000-12_CudaGpu.cpp1.ii".[/CODE] |
OpenCl gpuOwL V3.8-3aa5452 build for Win x64
1 Attachment(s)
[QUOTE=preda;494107]Thanks for reminding me -- somehow I forgot about this issue. But now it should be fixed, please re-checkout the latest commit. And the other compilation issue too.[/QUOTE]
[CODE]#!/bin/sh # build openowl in msys2/mingw64 on Win7 x64 g++ -DREV=\"3aa5452\" -O2 -c gpuowl.cpp -o gpuowl.o g++ -O2 -c OpenGpu.cpp -o OpenGpu.o g++ -O2 -c common.cpp -o common.o g++ -o openowl-V38-3aa5452-W64.exe OpenGpu.o common.o gpuowl.o -lOpenCL -static #optional cleanup of .exe file for unneeded linked material follows strip openowl-V38-3aa5452-W64.exe [/CODE]Compile issue resolved, thanks. Help output available by -h (but not by -?) is [CODE]C:\msys64\home\ken\v38test>openowl-V38-3aa5452-W64.exe -h Command line options: -user <name> : specify the user name. -cpu <name> : specify the hardware name. -time : display kernel profiling information. -fft <size> : specify FFT size, such as: 5000K, 4M, +2, -1. -block 100|200|400 : select PRP-check block size. Smaller block is slower but detects errors earlier. -carry long|short : force carry type. Short carry may be faster, but requires high bits/word. -list fft : display a list of available FFT configurations. -tf <bit-offset> : enable auto trial factoring before PRP. Pass 0 to bit-offset for default TF depth. -device <N> : select a specific device: 0 : Ellesmere-36x1266-@28:0.0 Radeon (TM) RX 480 Graphics 1 : gfx804-8x1203-@3:0.0 Radeon 550 Series 2 : Intel(R) Xeon(R) CPU E5645 @ 2.40GHz-12x2394-@0:0.0[/CODE]Apparently -tf 0 will do nothing for a worktodo record that's only the exponent value, or maybe for an exponent already under way in primality testing. V3.8 iteration timing on a single case run was same as for V3.6 within measurement error probable. A PRP double check is under way now to quickly (<1 day left) test continuation on completion of a primality test on Win7. An executable for Win7 x64 is attached, in 7z form, with a few other useful files from the git set. |
Oops on preceding post's 7z
1 Attachment(s)
It's too little by far, contains shared.h and read.md only.
Second try, four files including also gpuowl.cl and the Windows exe in one 7z file |
[QUOTE=kriesel;494136]My first attempted cudaowl build, after a long battle to get a compatible set of VS and NVIDIA SDK downloaded and installed, on gpuOwL V3.8, MS Visual Studio 2017 (15.8), Win7 x64, CUDA toolkit v9.2, yielded the following[CODE]C:\users\ken\documents\gpuowl-cuda-build>nvcc -O2 -DREV=\"3aa5452\" -o cudaowl-V38-3aa5452-W64.exe CudaGpu.cu Gpu.cpp common.cpp gpuowl.cpp -lcufft
c:\users\ken\documents\gpuowl-cuda-build\common.h(12): error: expected a ";" c:\users\ken\documents\gpuowl-cuda-build\LowGpu.h(53): error: identifier "u128" is undefined c:\users\ken\documents\gpuowl-cuda-build\CudaGpu.h(18): error: identifier "uint" is undefined [/CODE][/QUOTE] I fixed those concerned with "uint". OTOH I don't have an easy fix the u128 one -- I do use the 128-bit integer in the host code. I added a couple of alternative definitions in common.h [CODE]// try one of these for a 128bit integer. typedef unsigned __int128 u128; // typedef uint128_t u128; // typedef __uint128_t u128; [/CODE] If at least one of those is supported by the compiler.. -- otherwise, I don't have a simple solution. |
| All times are UTC. The time now is 23:05. |
Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.