MathIsFun0 / Immolate

An OpenCL seed searcher for Balatro.
55 stars 10 forks source link

Immolate returns .\lib errors for me (Windows 10) #28

Open Thetiedyeguy opened 1 month ago

Thetiedyeguy commented 1 month ago

I tried doing everything listed in troubleshooting and anything else I could think of but I still got the same .\lib errors. I put the output from immolate --list_devices and immolate with no arguments below. I made sure to double check and I have OpenCl 3.0.1.0 installed.

immolate --list_devices Immolate Beta v1.0.1f.1 Platform ID 0, Device ID 0 Name: NVIDIA GeForce GTX 1660 Ti Vendor: NVIDIA Corporation Compute Units: 24 Clock Frequency: 1590MHz

immolate Immolate Beta v1.0.1f.1 Building program... In file included from :1: In file included from ./filters/erratic_flush_five.cl:2: In file included from .\lib/immolate.cl:10: .\lib/util.cl:37:8: error: overloaded function 'fract' must have the 'overloadable' attribute double fract(double f) { ^ cl_kernel.h:6788:27: note: previous overload of function is here double16 OVERLOADABLE fract (double16 in, double16 iptr); ^ In file included from :1: In file included from ./filters/erratic_flush_five.cl:2: In file included from .\lib/immolate.cl:10: .\lib/util.cl:60:43: error: subscripted access is not allowed for OpenCL vectors long int_part = (1.1239285023/nums[i]3.141592653589793116+3.141592653589793116(i+1))(1<<k); ^ ~ .\lib/util.cl:61:59: error: subscripted access is not allowed for OpenCL vectors double fract_part = fract(fract((1.1239285023/nums[i]3.141592653589793116)(1<<k))+fract((3.141592653589793116(i+1))(1<<k))); ^ ~ .\lib/util.cl:103:50: error: subscripted access is not allowed for OpenCL vectors mask = mask^(lsh32(mask,7)+rsh32(mask,3)+s[i]); ^ ~ .\lib/util.cl:111:9: error: subscripted access is not allowed for OpenCL vectors c16[i] = c8[i]; ^ ~ .\lib/util.cl:111:18: error: subscripted access is not allowed for OpenCL vectors c16[i] = c8[i]; ^ ~ .\lib/util.cl:130:9: error: subscripted access is not allowed for OpenCL vectors z = lr->state[0]; ^ ~ .\lib/util.cl:133:5: error: subscripted access is not allowed for OpenCL vectors lr->state[0] = z; ^ ~ .\lib/util.cl:134:9: error: subscripted access is not allowed for OpenCL vectors z = lr->state[1]; ^ ~ .\lib/util.cl:137:5: error: subscripted access is not allowed for OpenCL vectors lr->state[1] = z; ^ ~ .\lib/util.cl:138:9: error: subscripted access is not allowed for OpenCL vectors z = lr->state[2]; ^ ~ .\lib/util.cl:141:5: error: subscripted access is not allowed for OpenCL vectors lr->state[2] = z; ^ ~ .\lib/util.cl:142:9: error: subscripted access is not allowed for OpenCL vectors z = lr->state[3]; ^ ~ .\lib/util.cl:145:5: error: subscripted access is not allowed for OpenCL vectors lr->state[3] = z; ^ ~ .\lib/util.cl:169:9: error: subscripted access is not allowed for OpenCL vectors lr.state[i] = u; ^ ~ In file included from :1: In file included from ./filters/erratic_flush_five.cl:2: In file included from .\lib/immolate.cl:11: .\lib/seed.cl:20:17: error: subscripted access is not allowed for OpenCL vectors seed.data[i] = j; ^ ~ .\lib/seed.cl:31:13: error: subscripted access is not allowed for OpenCL vectors if (str_seed[i] == '\0') { ^ ~ .\lib/seed.cl:36:33: error: subscripted access is not allowed for OpenCL vectors if (SEEDCHARS[j] == str_seed[i]) { ^ ~ .\lib/seed.cl:37:17: error: subscripted access is not allowed for OpenCL vectors seed.data[i] = j; ^ ~ .\lib/seed.cl:46:22: error: subscripted access is not allowed for OpenCL vectors return SEEDCHARS[s->data[c]]; ^ ~ .\lib/seed.cl:52:16: error: subscripted access is not allowed for OpenCL vectors loc += s->data[i]*mult; ^ ~ .\lib/seed.cl:80:17: error: subscripted access is not allowed for OpenCL vectors s->data[j]++; ^ ~ .\lib/seed.cl:81:31: error: subscripted access is not allowed for OpenCL vectors if ((carry = (s->data[j]>=NUM_CHARS))) { ^ ~ .\lib/seed.cl:82:21: error: subscripted access is not allowed for OpenCL vectors s->data[j] -= NUM_CHARS; ^ ~ .\lib/seed.cl:89:21: error: subscripted access is not allowed for OpenCL vectors s->data[i] = 0; ^ ~ .\lib/seed.cl:91:17: error: subscripted access is not allowed for OpenCL vectors s->data[0] = 0; ^ ~ In file included from :1: In file included from ./filters/erratic_flush_five.cl:2: In file included from .\lib/immolate.cl:16: .\lib/functions.cl:587:16: error: unknown type name 'generic' void sort_deck(__generic item array[], int arrayLength) { ^ .\lib/functions.cl:587:31: error: expected ')' void sort_deck(generic item array[], int arrayLength) { ^ .\lib/functions.cl:587:15: note: to match this '(' void sort_deck(generic item array[], int arrayLength) { ^ .\lib/functions.cl:591:25: error: use of undeclared identifier 'arrayLength' for (int i = 0; i < arrayLength - 1; i++) { ^ .\lib/functions.cl:592:29: error: use of undeclared identifier 'arrayLength' for (int j = 0; j < arrayLength - i - 1; j++) { ^ .\lib/functions.cl:593:17: error: use of undeclared identifier 'array' if (array[j] > array[j + 1]) { ^ .\lib/functions.cl:593:28: error: use of undeclared identifier 'array' if (array[j] > array[j + 1]) { ^ .\lib/functions.cl:595:17: error: use of undeclared identifier 'array' array[j] = array[j + 1]; ^ .\lib/functions.cl:595:28: error: use of undeclared identifier 'array' array[j] = array[j + 1]; ^ .\lib/functions.cl:596:17: error: use of undeclared identifier 'array' array[j + 1] = tmp; ^ .\lib/functions.cl:596:32: error: use of undeclared identifier 'tmp' array[j + 1] = tmp; ^ .\lib/functions.cl:610:17: error: unknown type name 'generic' void copy_cards(generic item to[], constant item from[]) { ^ .\lib/functions.cl:610:32: error: expected ')' void copy_cards(generic item to[], constant item from[]) { ^ .\lib/functions.cl:610:16: note: to match this '(' void copy_cards(generic item to[], constant item from[]) { ^ .\lib/functions.cl:614:25: error: use of undeclared identifier 'from' for (int i = 0; i < from[0]; i++) { ^ .\lib/functions.cl:615:9: error: use of undeclared identifier 'to' to[i] = from[i+1]; ^ .\lib/functions.cl:615:17: error: use of undeclared identifier 'from' to[i] = from[i+1]; ^

Fatal CL Error -45 when trying to execute clCreateKernel - Creating OpenCL kernel

dev-asya commented 1 month ago

Do you have an AMD CPU? It seems to be the same issue as #9. MathIsFun0 is looking into it

MathIsFun0 commented 1 month ago

I would try to see if you can upgrade your OpenCL drivers, I know for me NVIDIA drivers have worked fine. If that fails you may be able to run Immolate by installing OpenCL CPU drivers. There is also a rewrite in the pipeline that runs on CPU and shouldn't run into any compatibility issues, so I haven't really been digging as deep into these sorts of issues lately.