smvorwerk / xlstm-cuda

Cuda implementation of Extended Long Short Term Memory (xLSTM) with C++ and PyTorch ports
55 stars 9 forks source link

i FIND IT DIFFICULT TO SET IT UP #3

Open RasheedOlaleye opened 2 weeks ago

codeautopilot[bot] commented 2 weeks ago

To help you set up the xLSTM project, I'll provide a step-by-step guide based on the information available in the codebase. This guide will cover the installation and setup process for both the C++ and Python components of the project.

Step 1: Prerequisites

Ensure you have the following prerequisites installed on your system:

Step 2: Clone the Repository

If you haven't already, clone the xLSTM repository to your local machine:

git clone <repository_url>
cd xlstm

Step 3: Build the C++ Components

The project includes a shell script build.sh that automates the build process for the C++ components. Run the following command to build and install the xLSTM library:

./build.sh

This script will:

Step 4: Install Python Dependencies

Navigate to the python directory and install the required Python dependencies using pip:

cd python
pip install -r requirements.txt

Step 5: Build and Install the Python Package

Still in the python directory, build and install the xLSTM Python package:

python setup.py install

Step 6: Verify the Installation

To verify that the installation was successful, you can run one of the provided Python examples. For instance, to run the language model example:

python examples/example_llm.py

This script will:

Additional Information

For more detailed information on the xLSTM architecture, usage examples, and contributing guidelines, refer to the README.md and OVERVIEW.md files.

Troubleshooting

If you encounter any issues during the setup process, consider the following:

By following these steps, you should be able to set up the xLSTM project successfully. If you have any further questions or run into specific issues, feel free to ask!

jabowery commented 1 week ago

Sadly, whenever specifying "CUDA Toolkit" one must specify "cuda-toolkit". This is because there is something called "cudatoolkit" that silently poison's one's environment and people often confuse the two.

jabowery commented 1 week ago

(xLSTM) jabowery@jaboweryML:~/devel/xLSTM$ ./build.sh -- Configuring done CMake Error in CMakeLists.txt: CUDA_ARCHITECTURES is empty for target "xlstm_cuda".

CMake Error in CMakeLists.txt: CUDA_ARCHITECTURES is empty for target "xlstm_cuda".

jabowery commented 1 week ago

Addressing CUDA_ARCHITECTURES problem by altering build.sh to contain this cmake call:

(xLSTM) jabowery@jaboweryML:~/devel/xLSTM/cuda/build$ cmake .. -DUSE_CUDA=ON -DCMAKE_CUDA_ARCHITECTURES=86 -DCMAKE_BUILD_TYPE=Release
-- Configuring done
-- Generating done
CMake Warning:
  Manually-specified variables were not used by the project:

    USE_CUDA

-- Build files have been written to: /home/jabowery/devel/xLSTM/cuda/build
(xLSTM) jabowery@jaboweryML:~/devel/xLSTM/cuda/build$ ls
CMakeCache.txt  CMakeFiles  cmake_install.cmake  Makefile
(xLSTM) jabowery@jaboweryML:~/devel/xLSTM/cuda/build$ make
[ 25%] Building CUDA object CMakeFiles/xlstm_cuda.dir/kernels/slstm_kernels.cu.o
/home/jabowery/devel/xLSTM/cuda/kernels/slstm_kernels.cu(111): error: identifier "b_i" is undefined
                             b_i[hidx]);
                             ^

/home/jabowery/devel/xLSTM/cuda/kernels/slstm_kernels.cu(114): error: identifier "b_f" is undefined
                             b_f[hidx]);
                             ^

/home/jabowery/devel/xLSTM/cuda/kernels/slstm_kernels.cu(117): error: identifier "b_z" is undefined
                          b_z[hidx]);
                          ^

/home/jabowery/devel/xLSTM/cuda/kernels/slstm_kernels.cu(120): error: identifier "b_o" is undefined
                             b_o[hidx]);
                             ^

4 errors detected in the compilation of "/home/jabowery/devel/xLSTM/cuda/kernels/slstm_kernels.cu".
make[2]: *** [CMakeFiles/xlstm_cuda.dir/build.make:77: CMakeFiles/xlstm_cuda.dir/kernels/slstm_kernels.cu.o] Error 2
make[1]: *** [CMakeFiles/Makefile2:83: CMakeFiles/xlstm_cuda.dir/all] Error 2
make: *** [Makefile:91: all] Error 2