হারমেটিক CUDA, CUDNN, NCCL এবং NVSHMEM ওভারভিউ

ওভারভিউ এবং ব্যবহারের উদাহরণগুলি rules_ml_toolchain প্রকল্পে দেওয়া হয়েছে।

অপ্রচলিত: অ-হারমেটিক CUDA/CUDNN ব্যবহার

যদিও নন-হার্মেটিক CUDA/CUDNN ব্যবহার অবমূল্যায়িত করা হয়েছে, এটি কিছু পরীক্ষা-নিরীক্ষার জন্য ব্যবহার করা হতে পারে যা বর্তমানে আনুষ্ঠানিকভাবে অসমর্থিত (উদাহরণস্বরূপ, CUDA-এর সাথে উইন্ডোজে চাকা তৈরি করা)।

Google ML প্রকল্পগুলিতে স্থানীয়ভাবে ইনস্টল করা নন-হার্মেটিক CUDA ব্যবহার করার পদক্ষেপগুলি এখানে রয়েছে:

  1. XLA এর উপর নির্ভরশীল প্রকল্পের WORKSPACE ফাইল থেকে hermetic CUDA সংগ্রহস্থলের নিয়মে কলগুলি মুছুন৷

  2. WORKSPACE ফাইলের নীচে নন-হারমেটিক CUDA সংগ্রহস্থলের নিয়মগুলিতে কলগুলি যুক্ত করুন৷

    XLA এবং JAX এর জন্য:

    load("@xla//third_party/gpus:cuda_configure.bzl", "cuda_configure")
    cuda_configure(name = "local_config_cuda")
    load("@xla//third_party/nccl:nccl_configure.bzl", "nccl_configure")
    nccl_configure(name = "local_config_nccl")
    

    Tensorflow এর জন্য:

    load("@local_xla//third_party/gpus:cuda_configure.bzl", "cuda_configure")
    cuda_configure(name = "local_config_cuda")
    load("@local_xla//third_party/nccl:nccl_configure.bzl", "nccl_configure")
    nccl_configure(name = "local_config_nccl")
    
  3. নীচের দেখানো হিসাবে আপনার শেল বা .bazelrc ফাইলে সরাসরি নিম্নলিখিত পরিবেশ ভেরিয়েবল সেট করুন:

    build:cuda --action_env=TF_CUDA_VERSION=<locally installed cuda version>
    build:cuda --action_env=TF_CUDNN_VERSION=<locally installed cudnn version>
    build:cuda --action_env=TF_CUDA_COMPUTE_CAPABILITIES=<CUDA compute capabilities>
    build:cuda --action_env=LD_LIBRARY_PATH=<CUDA/CUDNN libraries folder locations divided by : sign>
    build:cuda --action_env=CUDA_TOOLKIT_PATH=<preinstalled CUDA folder location>
    build:cuda --action_env=TF_CUDA_PATHS=<preinstalled CUDA/CUDNN folder locations divided by , sign>
    build:cuda --action_env=NCCL_INSTALL_PATH=<preinstalled NCCL library folder location>
    

    মনে রাখবেন যে TF_CUDA_VERSION এবং TF_CUDNN_VERSION শুধুমাত্র প্রধান এবং ছোট সংস্করণগুলি নিয়ে গঠিত হওয়া উচিত (যেমন CUDA এর জন্য 12.3 এবং CUDNN এর জন্য 9.1 )।

  4. এখন আপনি স্থানীয়ভাবে ইনস্টল করা CUDA এবং CUDNN ব্যবহার করতে bazel কমান্ড চালাতে পারেন।

    XLA এর জন্য, কমান্ড অপশনে কোন পরিবর্তনের প্রয়োজন নেই।

    JAX-এর জন্য, Bazel কমান্ড অপশনে --override_repository=tsl=<tsl_path> পতাকা ব্যবহার করুন।

    Tensorflow এর জন্য, Bazel কমান্ড অপশনে --override_repository=local_tsl=<tsl_path> পতাকা ব্যবহার করুন।