Giter Site home page Giter Site logo

Unit tests fail about deepcl HOT 12 CLOSED

hughperkins avatar hughperkins commented on June 12, 2024
Unit tests fail

from deepcl.

Comments (12)

hughperkins avatar hughperkins commented on June 12, 2024

Thanks! Ok, there are a few different test failures there. I don't have a plan for how to fix them yet, but I'll go through the probable cause of each one:

  • the -1984MB, this is actually something I can probably fix without too much effort. I'm probably using a signed int, that is too small to contain a large number. I'll have a look at this
  • error code -55, this is 'invalid work item size'. In my tests, I've been using cards with maximum work item size 512, or 1024. However, AMD devices typically have maximum work item size 256, I think. This doesnt mean that deepcl wont work for you. But it means certain specific unit tests might fail for you. I might look at modifying the test to not fail.
  • outputimage size * outputimage size > maxgroupsize size. Similar to the previous one: the test was tested on non-AMD. I can modify the test to not fail. I'm 80% sure that the test failing doesnt indicate that deepcl will fail in actual usage on an AMD device: it just means that certain kernels will be ignored when run in certain geometries, and other kernels used instead. There are multiple kernels available, and each one is tried, to see which ones work, and which one is fastest, automatically

Summary:

  • I will take a look at the -1984MB issue
  • for the maxworkgroupsize issues, I'm fairly sure these are very specific tests, and you can ignore these failures, though I should probably fix the tests to not fail on AMD

from deepcl.

hughperkins avatar hughperkins commented on June 12, 2024

Hi. It looks like I was using a long for getting device info, which is a 64-bit integer on linux, but only 32-bits on Windows. I've changed it to int64_t, which is unambiguously 64-bit, on any platform, and committed to master as 9760689 . If you pull down the changes, this might fix the issue with '-1984MB', hopefully.

from deepcl.

hughperkins avatar hughperkins commented on June 12, 2024

commited change f3f8829 , which skips kernel 2 in testforward.compare_1_n_biased_pad, if 19*19> maxworkgroupsize

from deepcl.

hughperkins avatar hughperkins commented on June 12, 2024

Ah, it looks like the errorcode -55 error is actually a bug: missing a guard, and so the kernel crashes. Thank-you for pointing this error out!

Committed e52d1a2 , which adds a guard to one of the backprop kernels. I think the test will likely still fail, but the error message might be a bit more compact now.

from deepcl.

hughperkins avatar hughperkins commented on June 12, 2024

I think that covers all the test failures you highlighted above. Can you pull down the updates, and retry please?

from deepcl.

pzawal avatar pzawal commented on June 12, 2024

The -1984MB issue is fixed. Code -55 still shows though, not sure if that's an issue.

http://pastebin.com/22Ap2Np7

from deepcl.

hughperkins avatar hughperkins commented on June 12, 2024

Hi pzawal, I'm not seeing an error -55 test failure any more. I'm seeing the following failures:

  • C++ exception with description "cannot use forward3, since outputimagesize * outputimagesize > maxworkgroupsize" thrown in the test body. => I should probably modify the test to skip this
  • error: C++ exception with description "cannot use BackwardGpuCached, since inputSize * inputSize > maxworkgroupsize" thrown in the test body. => I should probably modify the test to skip this (this was error -55 before, right?)
  • (and then an error about norb datafile not found)

I will look at making the tests skip these two kernels, for these specific geometries, on AMD. I dont think these test failures are indicating any fundamental problem with DeepCL, on your hardware/os configuration. At runtime, these kernels would simply be skipped, and other kernels used instead.

from deepcl.

hughperkins avatar hughperkins commented on June 12, 2024

Ok, I've modified the tests to modify the geometry slightly for the kernels that are failing. I think it's good for the tests to run on these kernels anyway, to check correctness, though we cant test on incompatible geometries, hence modify the geometries slightly. Commit 7634e54

from deepcl.

pzawal avatar pzawal commented on June 12, 2024

There were no unit test failures due to code -55, I meant that it still shows in output in some subtests. I guess it's all ok then :) thanks

http://pastebin.com/eE9v811x

from deepcl.

hughperkins avatar hughperkins commented on June 12, 2024

No, you're right actually, let's fix those. Committed 719e82b , which adds some guards, and hopefully removes the remaining error -55 s, from the output. Can you pull this down, and check if there are still any error -55s in the output?

from deepcl.

pzawal avatar pzawal commented on June 12, 2024

They disappeared, all nice now.

http://pastebin.com/zV9ASVqq

Btw, you should update your clBLAS fork to include
clMathLibraries/clBLAS@7877094, fixes a minor vs 2015 compilation issue. I fixed it manually, only now noticed the linked clBLAS is to a fork.

from deepcl.

hughperkins avatar hughperkins commented on June 12, 2024

They disappeared, all nice now.

Cool :-)

Btw, you should update your clBLAS fork to include clMathLibraries/clBLAS@7877094, fixes a minor vs 2015 compilation issue.

Ah, good info. Thanks! :-)

from deepcl.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.