AMD OpenCL vs Nvidia OpenCL

Hello everyone. For the lasts days Im been working on OpenCL. I have installed on my system two opencl platforms ,amd and nvidia. I realize that are some different between the two api’s. My first question actually are two, what the different we all be aware of the differences, and why?

My next question if you allow me is, when we compile any opencl program what the difference when we link nvidia library or amd? I mean, there are some lost when we link with one or other library? clearly they are not equal!

Thanks everyone and sorry for the trouble.