sudden6 / m-queens Goto Github PK
View Code? Open in Web Editor NEWVery fast n-queens solver with OpenMP support
License: GNU General Public License v3.0
Very fast n-queens solver with OpenMP support
License: GNU General Public License v3.0
hey! I've just tested the v0.3 version on Radeon 7900 xtx and here's the result:
Platform name: AMD Accelerated Parallel Processing
Platform version: OpenCL 2.1 AMD-APP (3516.0)
Device: gfx1100
Device version: OpenCL 2.0 AMD-APP (3516.0)
OpenCL 2.x supported
Device events: 1024
Device memory: 24560MB
Allocation limit: 24560MB
Launching reduction sum kernels, count: 6144, workspace_size: 50331648, SUM_REDUCTION_FACTOR: 8192
PASS N 5, Solutions 10, Expected 10, Time 0.896884, Solutions/s 11.1
Launching reduction sum kernels, count: 6144, workspace_size: 50331648, SUM_REDUCTION_FACTOR: 8192
FAIL N 6, Solutions 32, Expected 4, Time 15.170354, Solutions/s 2.11
Launching reduction sum kernels, count: 6144, workspace_size: 50331648, SUM_REDUCTION_FACTOR: 8192
FAIL N 7, Solutions 74, Expected 40, Time 12.819202, Solutions/s 5.77
Launching reduction sum kernels, count: 6144, workspace_size: 50331648, SUM_REDUCTION_FACTOR: 8192
PASS N 8, Solutions 92, Expected 92, Time 0.955100, Solutions/s 96.3
Launching reduction sum kernels, count: 6144, workspace_size: 50331648, SUM_REDUCTION_FACTOR: 8192
PASS N 9, Solutions 352, Expected 352, Time 0.831018, Solutions/s 424
Launching reduction sum kernels, count: 6144, workspace_size: 50331648, SUM_REDUCTION_FACTOR: 8192
FAIL N 10, Solutions 364, Expected 724, Time 12.739464, Solutions/s 28.6
Launching reduction sum kernels, count: 6144, workspace_size: 50331648, SUM_REDUCTION_FACTOR: 8192
FAIL N 11, Solutions 536, Expected 2680, Time 12.865021, Solutions/s 41.7
Launching reduction sum kernels, count: 6144, workspace_size: 50331648, SUM_REDUCTION_FACTOR: 8192
FAIL N 12, Solutions 756, Expected 14200, Time 12.939747, Solutions/s 58.4
Launching reduction sum kernels, count: 6144, workspace_size: 50331648, SUM_REDUCTION_FACTOR: 8192
FAIL N 13, Solutions 1030, Expected 73712, Time 12.558832, Solutions/s 82
Launching reduction sum kernels, count: 6144, workspace_size: 50331648, SUM_REDUCTION_FACTOR: 8192
FAIL N 14, Solutions 1364, Expected 365596, Time 12.777974, Solutions/s 107
Launching reduction sum kernels, count: 6144, workspace_size: 50331648, SUM_REDUCTION_FACTOR: 8192
FAIL N 15, Solutions 13980, Expected 2279184, Time 12.678566, Solutions/s 1.1e+03
Launching reduction sum kernels, count: 6144, workspace_size: 50331648, SUM_REDUCTION_FACTOR: 8192
FAIL N 16, Solutions 141812, Expected 14772512, Time 12.827804, Solutions/s 1.11e+04
there're errors and I know this card isn't officially supported, but maybe there's something evident from the pattern? I can't probably fix it by myself, but I can help test it, provide logs etc..
Hello Sir/ Madam
We are from a research group at Iowa State University, USA. We want to do a survey on Github developers on the methods they used for paralleling their code. To do the survey, We want to ask three questions about this for loop:
Can you briefly explain the purpose of using pragma for this case? If the pragma contained reduction and private clauses, can you briefly mention the purposes of variables in those clauses?
How much confidence do you have about the correctness of this implementation? You can choose from 1-5 with 1 as the lowest confidence score and 5 as the highest confidence score.
(Optional) Do you actually run (interpret the code with compilation and pass input/get output) the code and see the optimization of parallelization? Yes/No
The for loop is from line 136 of file https:/github.com/sudden6/m-queens/blob/master//main.c
Here is a part of the code:
omp parallel for reduction(+ : num) schedule(dynamic)
for (uint_fast32_t cnt = 0; cnt < start_level3_cnt; cnt++)
{
uint_fast32_t cols[29];
uint_fast32_t posibs[29];
uint_fast32_t diagl[29];
uint_fast32_t diagr[29];
int8_t rest[29];
int_fast16_t d = 1;
cols[d] = start_level3[cnt][0];
diagl[d] = start_level3[cnt][1];
diagr[d] = start_level3[cnt][2];
rest[d] = ((n - 2) - 3) - 1;
uint_fast32_t posib = (cols[d] | diagl[d]) | diagr[d];
diagl[d] <<= 1;
diagr[d] >>= 1;
while (d > 0)
{
int8_t l_rest = rest[d];
while (po
Sincerely thanks
My gpu reports
OpenCL: NVIDIA GPU 0: NVIDIA GeForce GTX 1650 (driver version 466.11, device version OpenCL 3.0 CUDA, 4096MB, 3327MB available, 2849 GFLOPS peak)
Hello,
how about RX 6600 XT?
error log:
<stderr_out>
<core_client_version>7.16.20</core_client_version>
Hello,
Recently I acquired a XFX RX 580 since it was cheap and I wanted to help push the yoyo mqueens project to completion. I imaged a PC with a fresh Win 10 home install yesterday (02/04) and did the update dance. I got BOINC installed, downloaded the compiled 0.3 package, and followed the readme to drop the exe along with the appconfig and libOpenCL in the proper ProgramData folder, as my install follows yours. However, it does not seem to work correctly.
When I look in the BOINC logs, it looks like it is asking for both CPU and ATI tasks. No issue. However, it will only download CPU workunits and not the ATI ones. It says it requests, then gets 0 units. Since yoyo@home has never run GPU projects in the past, there is no way in the project itself to force the GPU.
However, when I run 0.2 doing the same steps, it works perfectly fine. It no longer downloads CPU units which is fine, and the GPU is kept fed. The tasks are also carrying to completion without issue.
Not exactly sure what is happening with 0.3 since the appconfig is basically the same between the 2. Please let me know what else you would need from me. I assume I must be doing something wrong. I would like to try and use the latest version of the software if possible just to see if it runs faster for me.
I'm trying out the binaries in https://github.com/sudden6/m-queens/releases/tag/m-queens-ocl-v0.3
Is it possible to recompile without the printf() without loss of functionality?
Output:
m-queens2.exe -m ocl -s 18
Platform version: OpenCL 3.0 CUDA 12.1.109
Device: NVIDIA GeForce RTX 4090
Device version: OpenCL 3.0 CUDA
OpenCL 3.x supported
Device events: 0
Device memory: 24563MB
Allocation limit: 6140MB
Aligning to SUM_REDUCTION_FACTOR: 50331648
OPTIONS: -cl-std=CL2.0 -DBOARDSIZE=18 -DGPU_DEPTH=11 -DWORKSPACE_SIZE=50331648 -DWORKGROUP_SIZE=64 -DSUM_REDUCTION_FACTOR=8192 -DDEBUG_PRINT=0
1 error generated.
1 error generated.
OpenCL build log:
<kernel>:25:16: error: variadic macros not supported in OpenCL
#define printf(...)
^
program.build failed: -11
Solver init failed
On a side-note, I'm trying to figure out how to compile this project on Windows. I'm not sure what to change "BOINC_DIR = ../../static_boinc" in the Makefile to, since I couldn't find a static_boinc directory anywhere.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.