20 Replies Latest reply on Feb 25, 2009 1:18 PM by Ceq

    amdcalrt.dll not found

    Louis_Coder
      I installed Stream SDK 1.3 beta and no app runs because dll missing

      Hi,

       

      I installed both CAL and Brook+. When I want to run any sample app, I get the message "amdcalrt.dll missing". I searched my whole hard disks for that file, but didn't find it, nowhere

       

      Where do I get this file from?

      I also tried 'repairing' the SDK installation, but this didn't help.

       

      Thanks in advance!

        • amdcalrt.dll not found
          Ceq
          Umh, looks like you didn't install Radeon driver 8.12, did you? It's required for the new version to run.
            • amdcalrt.dll not found
              Louis_Coder

              Ok I checked the version I downloaded. It was 6.11.

              There seems not to be any better version.

              I have a Radeon 9250. Maybe there isn't a better version for that junk card.

              In an other PC I have an X1650 Pro.

              Will it work with this one?

               

              Thanks!

            • amdcalrt.dll not found
              Ceq
              I'm afraid it won't work, It has to be at least a Radeon 2xxx.
              If you have such old card or a nVidia card you can't install driver 8.12

              In previous versions you could use a special software backend for testing purposes
              setting the environment variable BRT_RUNTIME=CPU.

              Using Radeon 1650 you'll be able to install the driver, but won't get hardware acceleration.


              Question for AMD:
              ------------------------------------------------------------------------------------------------
              Is there any way to install SDK 1.3 and use software backend having a nVidia card?
                • amdcalrt.dll not found
                  Louis_Coder

                  Ok thanks but tell me why won't I get 'hardware acceleration' with an X1650 Pro? I bought the computer with this card 22 month ago, that's not THAT a long time. I'm sorry, but when even my existing X1650 Pro isn't supported, why should I still buy ATI cards? There's a competitor of ATI (I won't tell the name here ) which has CUDA, which is (at the current time) much better than ATI Stream I think. Sorry, ATI

                   

                  Do you see? Even their forum doesn't work right (you should have seen this message before I re-posted it to get it right)

                  • amdcalrt.dll not found
                    gaurav.garg

                     

                    Originally posted by: Ceq Question for AMD: ------------------------------------------------------------------------------------------------ Is there any way to install SDK 1.3 and use software backend having a nVidia card?


                    1.3 too supports CPU backend and can be used if you set BRT_RUNTIME=cpu or selected automatically if runtime is failed to initialize CAL backend.

                  • amdcalrt.dll not found
                    Ceq
                    Well, I don't find surprising that x1650 pro is not supported, take into account that
                    the first 1x00 series card were launched in 2005 and they were DirectX 9 products.

                    In comparation the minimum card required to run CUDA is from 8x00 series,
                    first launched in late 2006 and was a DirectX 10 product.

                    Certainly CUDA is a good product, but Brook+ has improved a lot and last version
                    is quite good too, I was able to get more than 150x speedup for my application.


                    From FAQs:
                    ---------------
                    Q: Will the AMD FireStream SDK work on previous generation hardware?
                    A: To run the CAL/Brook+ SDK, you need a platform based on the AMD R600 GPU or later. R600 and newer GPUs are found with ATI Radeon tm HD2400, HD2600, HD2900 and HD3800 graphics board.
                      • amdcalrt.dll not found
                        Louis_Coder

                        Ok, I don't want to prefer nVidia or ATI, I think it's good when there's competition, this increases the general product quality and decreases the price for the end-user.

                        But somehow Brook+ and CAL don't convince me that much

                        Somehow this looks like a big hack to me - quickly released to avoid that nVidia spreads.

                        Somehow CUDA (and also the nVidia website) looks more planned and well-deviced to me.

                         

                        One advantage of ATI is the much lower price.

                          • amdcalrt.dll not found
                            Louis_Coder

                            You know, I'm new to GPU computing. But here in the ATI Stream forum I read this:

                             

                            >>>

                             

                            Brook 1.3 does not support multple gather streams

                            so that is illegal to write:

                            ------------------


                            kernel void multiscatter(double input<>, out double output1[], out double output2[])
                            {
                                int index = 33;
                                output1[index] = input * 2.0;
                                output2[index] = input * 3.0;
                            }
                            -----------------

                            Unfortunately, this can be quite common requiring the programmer

                            to split the code above into multiple kernels and doing

                            duplicate work.

                            <<<

                             

                            Ok, so I have to do the duplicate work. What am I doing this whole GPU stuff for? To get my app faster. And then, because of lacking software features I must do the duplicate work with ATI Stream.

                            Not that great

                             

                        • amdcalrt.dll not found
                          Ceq
                          BrookGPU was previous to nVidia's CUDA, Brook+ is a version improved by AMD.

                          Brook+ does support multiple gather streams, what may not work is multiple scatter streams.
                          In general you should try to use a stream programming model, and avoid using scatter
                          because it performs uncached writes that are quite slow. Many applications can be rewritten
                          so scatter isn't really needed.

                          The example you wrote will cause massive race conditions, as all processors would try
                          to write a different value to the same location.
                          If you want to use scatter anyway you can use a double2 output
                          stream so it isn't required to use two scatter outputs.

                          In your Brook+ installation directory you have some documentation and several examples
                          that can help to understand stream programming model.
                          • amdcalrt.dll not found
                            Ceq
                            No, I'm just a normal user like you. I have been working with Brook+ since version 1.0.

                            I didn't work on CUDA, I just read the user guide and some samples.
                            CUDA software has evolved more, however I think which one is better depends on the application.
                            On the other hand ATI's hardware is really impressive, you can have 1 TFlop supercomputer for a small price.

                            I'm a college student who have been assigned to parallelize a Shallow Water Simulator using Brook+, there
                            are two classmates that have been asigned to do the same on CUDA and PS3 Cell. When finished in a few
                            months maybe I would be able to give you a more accurate answer


                              • amdcalrt.dll not found
                                Louis_Coder

                                Aha. But in the nVidia forum there was a guy that said he didn't like Brook+ any more when he tried out CUDA. Here's the quote what he said:

                                 

                                >>>

                                Yes, this is the Stanford implementation of Brook, a C-language extension for data-parallel calculations. The original Stanford compiler (called BrookGPU) generated code which used OpenGL/DirectX calls and shader languages to control the GPU, rather than a more direct layer, like PTX or CAL. BrookGPU was a great environment, but the implementation was limited by the capabilities of graphics cards at the time. There is nothing like shared memory, scatter/gather operations are very awkward, and you have to use vector-operations to get maximum performance.

                                If you are stuck with some older cards (not sure if the Radeon 9 is too old) and feel like experimenting, you might want to play with the original BrookGPU to get an appreciation for how revolutionary the GeForce 8 and CUDA were. (or not, you could just take our word for it...) I programmed in BrookGPU for a few weeks, then the 8800 GTX and CUDA came out, and I never looked back. smile.gif

                                <<<

                                 

                                But I just checked the prices. nVidia GTX260: ~270€, ATI Radeon 4870: ~220€. I don't know exactly which one is faster, but I think they are comparable. Hmm I don't know, I must buy a new card anyway. Now I face the decision ATI or nVidia.

                                No idea. What do you think?

                                Happy coding and again a happy new year (here there are only 5 hours left of 2008...)

                              • amdcalrt.dll not found
                                Ceq
                                Radeon 4850 costs only about 150€.
                                It has great performance as long as your application isn't memory bandwidth limited.

                                Happy new year
                                • amdcalrt.dll not found
                                  Ceq
                                  Thanks Gaurav, I know it should be that way, however if you use an old ATI card like
                                  Radeon 9250 or you have a nVidia card you can't install Catalyst driver 8.12
                                  In the new SDK, even if you set the environment variable you'll get the same error
                                  about amdcalcl.dll missing, that was the reason I was asking.
                                  • amdcalrt.dll not found
                                    Ceq
                                    That way the program just aborts with error 0xc000001d
                                    • amdcalrt.dll not found
                                      Ceq
                                      Yes, I did set it. In order to make sure I tested in a clean virtual machine but that way it
                                      worked right, maybe it is a problem related to previous installations, so don't worry.

                                      Thanks
                                        • amdcalrt.dll not found
                                          plaicy

                                          I'm using a 4870.

                                          Yesterday I installed Catalyst 9.2 (9-2_xp32_dd_ccc_wdm_enu_75974.exe) and I got an error for missing amdcalcl.dll and it was really not I stalled (I searched the whole hard disk).

                                           

                                          Now I installed 8.12 (the seperate package version) and everything works fine. Have I downloaded the wrong 9.2 Version?

                                            • amdcalrt.dll not found
                                              Ceq

                                              It's just a library renaming issue.

                                              Don't worry, they're already aware and it will be fixed in SDK 1.4.

                                               

                                              Previous thread:

                                              Different name for CAL libraries in Cat 9.2

                                              amdcal*.dll got renamed to atical*.dll